ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

120
ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN SERVICIOS WEB GABRIEL JOSE GIRALDO NAVARRO UNIVERSIDAD DE LOS ANDES DEPARTAMENTO DE INGENIERIA DE SISTEMAS Y COMPUTACION MAGISTER EN INGENIERIA DE SISTEMAS Y COMPUTACION BOGOTA D.C. 2004

Transcript of ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

Page 1: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

ARQUITECTURA DISTRIBUIDA DE E-LEARNING

BASADA EN SERVICIOS WEB

GABRIEL JOSE GIRALDO NAVARRO

UNIVERSIDAD DE LOS ANDES DEPARTAMENTO DE INGENIERIA DE SISTEMAS Y COMPUTACION

MAGISTER EN INGENIERIA DE SISTEMAS Y COMPUTACION BOGOTA D.C.

2004

Page 2: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

ARQUITECTURA DISTRIBUIDA DE E-LEARNING

BASADA EN SERVICIOS WEB

GABRIEL JOSE GIRALDO NAVARRO

Proyecto de grado para optar al título de Magíster en Ingeniería de Sistemas y Computación

Director FRANCISCO RUEDA

UNIVERSIDAD DE LOS ANDES DEPARTAMENTO DE INGENIERIA DE SISTEMAS Y COMPUTACION

MAGISTER EN INGENIERIA DE SISTEMAS Y COMPUTACION BOGOTA D.C.

2004

Page 3: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

Nota de aceptación:

El presente documento cumple con los

requisitos académicos y metodológicosexigidos por el programa de Magíster en

Ingeniería de Sistemas y Computaciónde la Universidad de los Andes

Francisco Rueda Director

Claudia Jiménez Jurado

Luz Adriana Osorio Jurado

Alfredo Hernández Jurado Externo

Bogotá D.C., 5 de Febrero de 2004

Page 4: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

A Gabriel y Leonor, mis padres, a quienes debo todo lo que soy.

A Dayana, mi novia, mi fuente diaria de inspiración.

Page 5: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

AGRADECIMIENTOS

El autor expresa su más sincero agradecimiento a su familia, por todo el apoyo brindado

durante toda la maestría; a Francisco Rueda, Claudia Jiménez y Luz Adriana Osorio,

quienes como Director y Jurados en la Universidad de los Andes de este proyecto de

grado contribuyeron con sus valiosos aportes con el feliz término del mismo; a Alfredo

Hernández y a la empresa AprendaHaciendo, por toda la colaboración prestada durante el

desarrollo de esta tesis.

Page 6: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

TABLA DE CONTENIDO

INTRODUCCION..................................................................................................................1 OBJETIVOS .........................................................................................................................5 1. MARCO TEORICO...........................................................................................................6

1.1. LAS SOLUCIONES DE E-LEARNING .................................................................6 1.1.1. Características principales............................................................................8 1.1.2. Componentes básicos de una solución de e-Learning .................................9 1.1.3. Evolución Tecnológica ................................................................................11 1.1.4. Los objetos de aprendizaje (Learning Objects) ..........................................13 1.1.5. Los ambientes LMS (Learning Management System)................................16

1.2. LA INICIATIVA ADL Y EL MODELO DE REFERENCIA SCORM......................18 1.2.1. El Modelo de Agregación de Contenido .....................................................20 1.2.2. El Ambiente de Ejecución de SCORM........................................................30

1.3. LOS SERVICIOS WEB.......................................................................................31 1.3.1. Antecedentes ..............................................................................................31 1.3.2. ¿Qué son los servicios web? ......................................................................34 1.3.3. Arquitectura de los servicios web ...............................................................36 1.3.4. Estándares de los servicios web.................................................................39 1.3.5. Los Servicios Web Interactivos...................................................................41

2. LOS SERVICIOS WEB DE E-LEARNING.....................................................................47 2.1. MOTIVACION .....................................................................................................47 2.2. DEL PAQUETE DE CONTENIDO SCORM AL SERVICIO WEB.......................51 2.3. BENEFICIOS......................................................................................................53 2.4. CARACTERISTICAS DE UNA ARQUITECTURA DE SERVICIOS WEB DE E-LEARNING..................................................................................................................55

2.4.1. Los proveedores de soluciones de e-Learning como servicios Web..........56 2.4.2. Los intermediarios o servicios de directorio................................................62 2.4.3. Los consumidores de los servicios web de e-Learning ..............................68

3. DISEÑO E IMPLEMENTACION..................................................................................77 3.1. DISEÑO DE LA SOLUCION...............................................................................77

3.1.1. Diseño de la arquitectura de los proveedores de e-Learning .....................77 3.1.2. Diseño de la arquitectura del directorio de servicios de e-Learning ...........82 3.1.3. Diagrama de Deployment ...........................................................................89

3.2. IMPLEMENTACION DE LOS SERVICIOS WEB DE E-LEARNING...................90 3.2.1. Ambiente de Desarrollo ..............................................................................91 3.2.2. Implementación de un servicio web de contenido ......................................92 3.2.3. Implementación de un servicio web interactivo de evaluación ...................94 3.2.4. Implementación de un Curso Dinámico de Excel basado en Servicios Web .............................................................................................................96 3.2.5. Implementación de un servicio de directorio de e-Learning .......................98

4. CONCLUSIONES .....................................................................................................101 BIBLIOGRAFIA ................................................................................................................103 ANEXOS ..........................................................................................................................106

Page 7: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

TABLA DE FIGURAS

Figura 1. Evolución Tecnológica del e-Learning ...............................................................12 Figura 2. Elementos interdependientes de una arquitectura de Learning Objects.............15 Figura 3. Modelo Generalizado de un Sistema de Administración de Aprendizaje............17 Figura 4. Ejemplos de activos (assets)...............................................................................21 Figura 5. Agregación de Contenido en SCORM ................................................................22 Figura 6. Metadatos XML de un SCO ................................................................................26 Figura 7. Diagrama conceptual de un paquete de contenido SCORM ..............................27 Figura 8. Ejemplo de un manifiesto XML de un paquete de contenido SCORM................29 Figura 9. Arquitectura Orientada al Servicio.......................................................................38 Figura 10. Servicios Web Orientados a la Presentación vs. Servicios Web Orientados a los Datos .................................................................................................................................43 Figura 11. Proceso de creación y distribución de SCOs....................................................48 Figura 12. Evolución del paquete de contenido SCORM al Servicio Web........................52 Figura 13. Soluciones globales de e-Learning ...................................................................54 Figura 14. Ejemplo del uso de un servicio web interativo de evaluaciones .......................60 Figura 15. ¿Cómo funciona UDDI? ....................................................................................63 Figura 16. Uso de un motor de búsqueda sobre UDDI especializado para facilitar la ubicación de servicios web de e-Learning..........................................................................66 Figura 17. Búsqueda dinámica de contenido e-Learning...................................................70 Figura 18. Integración a Sistemas de Información Organizacionales ................................72 Figura 19. Necesidad de aplicaciones auxiliares para LMS, durante la fase de introducción de los servicios de e-Learning............................................................................................75 Figura 20. Escenario futuro de los LMS con funcionalidades para consumir directamente servicios web y ensamblar soluciones personalizadas bajo demanda ..............................75 Figura 21. Arquitectura lógica por capas del Proveedor de e-Learning .............................79 Figura 22. Paquetes Metadata y ServicioWebContenido...................................................81 Figura 23. Diagrama de clases del Paquete ServicioWebContenido.................................81 Figura 24. Diagrama de clases del Paquete Metadata ......................................................82 Figura 25. Arquitectura lógica por capas del Directorio de Servicios Web de e-Learning .83 Figura 26. Paquetes principales del directorio de servicios de e-Learning ........................84 Figura 27. Diagrama de clases del Paquete Registro ........................................................85 Figura 28. Diagrama de clases del Paquete Indexacion ....................................................86 Figura 29. Diagrama de clases del Paquete Crawler .........................................................86 Figura 30. Diagrama de clases del Paquete ServicioWebConsulta ...................................87 Figura 31. Diagrama de secuencia del "crawling" de servicios web de e-Learning ...........88 Figura 32. Diagrama de despliegue físico de los componentes participantes en la arquitectura de servicios web de e-Learning......................................................................89 Figura 33. Arquitectura de la Plataforma WebCollage Syndicator for Portlets.................109

Page 8: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

TABLA DE ANEXOS

ANEXO 1. CARACTERÍSTICAS TECNICAS DE LA HERRAMIENTA WEBCOLLAGE SYNDICATOR..................................................................................................................107 ANEXO 2. ¿QUÉ ES APRENDAHACIENDO?.................................................................110 ANEXO 3. DESCRIPCIÓN DEL CONTENIDO DEL CD QUE ACOMPAÑA A ESTE DOCUMENTO..................................................................................................................111

Page 9: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

1

INTRODUCCION

El e-Learning, o el aprendizaje a través de tecnologías de información, ha venido

evolucionado con grandes pasos en los últimos años y su potencial de capacitación o

entrenamiento de individuos de una manera flexible, independiente del lugar y del tiempo,

ha sido visto con buen interés por parte de organizaciones con actividades de negocio de

diversa naturaleza, además de las instituciones académicas, como universidades y

colegios, como complemento a la enseñanza guiada por un profesor en un aula de clases.

A lo largo de esta evolución, se han desarrollado diferentes metodologías y tecnologías

para llevar los contenidos instruccionales a los estudiantes: desde un sencillo CD-ROM

que contiene la aplicación de e-Learning con la que el individuo debe interactuar, hasta

los ambientes LMS1 existentes en la actualidad en los que, a través de interfaces web, se

ha permitido la administración de los procesos de capacitación de los individuos de una

organización, permitiendo gestionar tanto el contenido de los cursos de e-Learning que se

deben tomar, como la participación de los estudiantes alrededor de los mismos a través

de actividades como la inscripción a cursos, evaluaciones de conocimiento, seguimiento

de los participaciones, etc.

Estas soluciones de e-Learning son generalmente desarrolladas por diferentes

proveedores con herramientas especializadas para la generación de contenido

instruccional, y luego distribuidas a las organizaciones interesadas: un CD-ROM es

enviado, una dirección de un sitio web es suministrada o un paquete de un LMS es

facilitado, por ejemplo.

Sin embargo, hoy en día, debido a la movilidad y dinámica de los negocios, se requiere de

soluciones novedosas de aprendizaje: disponibles en el instante y lugar en que sean

necesarias, adaptadas a las necesidades particulares de los individuos en ese preciso

momento y preferiblemente integradas a los sistemas con que las personas se

1 Learning Management System: Sistemas de Administración del Aprendizaje

Page 10: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

2

desenvuelven con el fin de hacer la experiencia de aprendizaje, en lo posible,

transparente y natural para el o ella.

En su mayoría, las soluciones de aprendizaje actuales son construidas con una estructura

de contenido estática, sin capacidades de adaptación a las necesidades particulares de

los estudiantes en un determinado momento, y mucho menos de integración con los

sistemas corporativos.

Por lo tanto, para satisfacer las necesidades de los negocios de soluciones novedosas de

aprendizaje mencionadas, es necesaria la descripción de una arquitectura de e-Learning

que cumpla con las siguientes características:

• Los elementos de una solución deben poder ser ensamblados de acuerdo con las

necesidades particulares de los individuos en un determinado instante.

• Las soluciones de e-Learning deben poder ser descritas de una manera estándar

para poder garantizar el entendimiento de su estructura desde cualquier

aplicación, sin importar sus características tecnológicas.

• Las soluciones de e-Learning deben poder ser integradas a diversos sistemas o

aplicaciones con el fin de hacer transparente y natural la experiencia de

aprendizaje al estudiante

• Los mecanismos de distribución de las soluciones de e-Learning deben ser

flexibles para adaptarse a la dinámica actual de los negocios

Además, es importante que la descripción de una arquitectura que satisfaga las anteriores

necesidades sea independiente de cualquier metodología de diseño instruccional, con el

fin de hacerla adaptable a diferentes escenarios pedagógicos.

La primera inquietud sobre la adaptación de las soluciones de aprendizaje a las

necesidades del individuo ya ha sido analizada por expertos en la materia y ha dado

nacimiento al concepto de los Learning Objects2 [EDUWORKS, 03], una estrategia en la

cual el contenido es dividido en elementos más pequeños, con el fin de que puedan ser

2 Objetos de Aprendizaje

Page 11: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

3

separados y unidos de muchas maneras diferentes (dependiendo del contexto en que se

necesiten).

La segunda inquietud también ha sido tratada por la industria del e-Learning.

Precisamente, en noviembre de 1997, el Departamento de Defensa de Estados Unidos y

la White House Office of Science and Technology Policy (OSTP) dieron inicio a la

iniciativa de aprendizaje distribuido avanzado ADL 3 con el propósito de “asegurar el

acceso a materiales educativos y de entrenamiento de alta calidad, que pudieran ser

construidos de acuerdo con las necesidades individuales de cada estudiante y estuvieran

disponibles en el momento y lugar en que fueran necesarios…[Con este pensamiento en

mente, su objetivo fue lograr una estandarización del e-Learning:] desarrollar un conjunto

de especificaciones que permitan la reutilización, accesibilidad, durabilidad e

interoperabilidad del contenido de las soluciones de aprendizaje” [ADL, 2001]. Este

conjunto de especificaciones es lo que se conoce hoy en día como el modelo de

referencia SCORM4, creado con el fin de garantizar que las soluciones de e-Learning, sin

importar las herramientas con las que sean creadas, puedan ser utilizadas a través de

diferentes ambientes de aprendizaje LMS.

Las últimas dos inquietudes (facilidad de integración y flexibilidad de distribución) han sido

tradicionalmente parte de la problemática del desarrollo de aplicaciones distribuidas en

Internet. Ni el concepto de los objetos de aprendizaje, ni la estandarización lograda con

SCORM brindan alguna aproximación a la solución de esta problemática en lo que refiere

a las soluciones de e-Learning. Sin embargo, Internet se ha ido transformando y gracias a

la necesidad de interoperabilidad en los procesos de negocios entre diferentes

organizaciones a través de la web, así como la evolución de tecnologías relacionadas con

la computación distribuida, han sido definidos un grupo de estándares y una arquitectura

que ha dado origen a un nuevo modelo conocido como servicios web (o Web Services):

servicios interoperables que pueden ser invocados desde cualquier aplicación,

independiente de la plataforma, en cualquier momento y lugar.

3 Advanced Distributed Learning (http://www.adlnet.org) 4 Shareable Content Object Reference Model (Modelo de Referencia de Objetos de Contenido Compartibles) (http://www.adlnet.org/index.cfm?fuseaction=scormabt)

Page 12: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

4

¿Cómo pueden ser aplicados los servicios web en el e-Learning para la creación de estas

soluciones novedosas de aprendizaje necesitadas por los negocios de hoy en día?

Este documento pretende mostrar que, como aproximación para la solución de las dos

últimas inquietudes mencionadas, los servicios web constituyen la pieza restante para el

nuevo modelo de aplicaciones de e-Learning requerido.

Esta tesis pretende recoger los esfuerzos de estandarización desarrollados alrededor de

los servicios web y el modelo de referencia SCORM (junto al concepto de los objetos de

aprendizaje), y presentar un nuevo enfoque de una arquitectura de e-Learning basada en

los anteriores elementos para la creación de soluciones innovadoras de e-Learning que

permitan que los usuarios obtengan experiencias de aprendizaje ubicuas, dinámicas,

transparentes y adaptadas a sus necesidades.

Page 13: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

5

OBJETIVOS

Objetivo General

• Identificar y describir los principales componentes de una arquitectura de Servicios

Web en Internet como una nueva alternativa tecnológica para el desarrollo de

soluciones de e-Learning.

Objetivos Específicos

• Investigar las principales características del nuevo modelo de los Servicios Web

para el desarrollo de aplicaciones distribuidas sobre Internet.

• Conceptualizar sobre los ambientes de e-Learning y sus características.

• Investigar sobre los esfuerzos de estandarización que la industria del e-Learning

ha llevado a cabo en los últimos años.

• Basado en las anteriores investigaciones, describir una propuesta basada en

servicios web que ilustre un nuevo enfoque para la creación de aplicaciones o

soluciones de e-Learning.

• Implementar un prototipo que ejemplifique un ambiente de e-Learning basado en

servicios web, de acuerdo con la propuesta realizada.

Page 14: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

6

1. MARCO TEORICO

1.1. LAS SOLUCIONES DE E-LEARNING El surgimiento de Internet y los posteriores avances alrededor del mismo han creado un

ambiente bastante prometedor para la tecnología y la educación. Los contenidos en línea

ofrecen un ambiente instruccional basado en la tecnología que permite que las

oportunidades de aprendizaje se expandan y que se mejore la calidad de la educación a

través de una variedad de formatos y modalidades. Con las necesidades actuales de los

individuos, que necesitan un ambiente continuo de educación o capacitación, los

programas de e-Learning ofrecen una solución a los conflictos entre el trabajo, la familia y

el estudio, entre otros.

Por e-Learning se entiende la “aplicación de las tecnologías de información y de

comunicación al aprendizaje formal e informal” [ALIN, 03]: un ambiente en el cual el

contenido instruccional o las experiencias de aprendizaje son distribuidas o habilitadas por

las tecnologías electrónicas [CTAL, 01]. Puede incluir una amplia variedad de estrategias

y tecnologías de aprendizaje, desde CD-ROM y CBT5 hasta videoconferencias, difusión

satelital y redes educativas virtuales. El objetivo principal es el “intercambio de

información y la obtención de conocimiento” [CTAL, 01].

Estos ambientes en línea ofrecen oportunidades sin precedentes para personas que de

otra forma tendrían un acceso limitado a los diferentes contenidos, así como un nuevo

paradigma en el cual cursos dinámicos y de una mejor calidad pueden ser desarrollados.

Entre los beneficios que tienen las soluciones de e-Learning se encuentran [THEBOARD,

01]:

5 Computer Based Training (Entrenamiento basado en Computador)

Page 15: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

7

• Independencia de Lugar y Tiempo: La primera ventaja del e-Learning es que

permite a los individuos ser partícipes de los diferentes contenidos, sin importar los

problemas de distancia ni de tiempo existentes. El e-Learning proporciona el

entrenamiento necesario para los estudiantes cuando y donde lo necesiten.

• Centrado al estudiante: En algunas propuestas pedagógicas, los mismos

individuos partícipes del contenido tienen el control sobre su proceso de

aprendizaje, extrayendo de manera personalizada la información que más se

ajusta a sus necesidades.

• Énfasis en las soluciones y los resultados: En el área laboral, el entrenamiento

está dando paso a soluciones de aprendizaje, en las cuales el acceso a la

información en el instante deseado es de gran importancia. Esta integración del e-

Learning con el trabajo permite mejorar el desempeño en una forma interactiva y

dinámica.

• Enseñanza creativa: La naturaleza autónoma y autodirigida de estos ambientes de

aprendizaje permiten y necesitan de enfoques innovadores y creativos en los

procesos de enseñanza.

Sin embargo, también existen algunas debilidades dentro de las mismas soluciones de e-

Learning [THEBOARD, 01]:

• En los estudiantes: La flexibilidad y el control sobre el proceso de aprendizaje que

los individuos adquieren gracias al e-Learning, coloca una gran responsabilidad

sobre los mismos. El aprendizaje en línea requiere generalmente de organización,

auto-motivación y buena administración del tiempo con el fin de cumplir los

objetivos de los cursos.

• En las instituciones: La falta de presencia física (como en la enseñanza tradicional)

debe ser compensada por un ambiente en el cual los individuos se sientan

motivados a participar y conozcan claramente en dónde acceder el contenido que

Page 16: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

8

necesitan. El éxito en la enseñaza tradicional no garantiza el mismo en la

instrucción en línea.

• No todos los temas son aptos: El estado actual de desarrollo del medio y las

herramientas de difusión del contenido no permiten que temas como la cirugía, la

expresión oral, los deportes, entre otros donde el movimiento físico y la práctica

constituyen los objetivos del aprendizaje, puedan ser enseñados en línea. Sin

embargo, si bien lo anterior es cierto en el campo práctico, en un concepto más

amplio de aprendizaje el e-Learning si puede brindar un espacio de aprendizaje

adecuado en cualquier área del conocimiento, por ejemplo para la

conceptualización de sus contenidos.

• En el contenido: Con el fin de que un programa de aprendizaje en línea sea

exitoso, el contenido debe ser cuidadosamente considerado y desarrollado.

Además, este no necesariamente es el único componente de un ambiente de

aprendizaje exitoso, como se mencionará más adelante.

Como se menciona en [OBRINGER, 02], de estos beneficios y debilidades se puede

concluir que “la calidad del entrenamiento electrónico, al igual que todas las formas de

entrenamiento, se basa en su contenido y su distribución. El e-Learning puede sufrir de

los mismos males de la enseñanza en el salón de clases…Sin embargo, la belleza del e-

Learning es que cada nuevo software permite la creación de ambientes efectivos de

aprendizaje“, siempre y cuando este software esté apoyando un propósito o una

motivación de enseñanza, una propuesta pedagógica, una metodología instruccional,

brinde diversos medios para la exploración de los recursos de aprendizaje desarrollados,

y permita la evaluación y retroalimentación de los objetivos propuestos.

1.1.1. Características principales Dentro de las principales características de los ambientes o soluciones de e-Learning

podemos enumerar las siguientes:

Page 17: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

9

• Constituyen un mecanismo de aprendizaje no lineal: Los usuarios (estudiantes)

pueden navegar por los diferentes temas del contenido dependiendo de sus

requerimientos, experiencia o contexto [ELEARNING, 03].

• El proceso de aprendizaje es auto-administrable: lo cual da origen al concepto de

aprendizaje justo a tiempo (Just-In-Time), es decir, el estudiante hace uso de los

contenidos instruccionales en el momento que desee y cuando sea necesario

[ELEARNING, 03].

• Crean nuevos modelos para la provisión del aprendizaje, diferentes a los utilizados

tradicionalmente en el aula de clases. “Un ambiente de e-Learning exitoso, lo es

técnica y pedagógicamente” [MARTINEZ, 02].

• Generalmente los contenidos pueden ser personalizados y el progreso posterior

puede ser monitoreado, soportado y evaluado, en parte gracias a la Web pues

ofrece la tecnología perfecta y un ambiente de aprendizaje en el que los individuos

pueden ser identificados de manera única [MARTINEZ, 02].

• Buscan la construcción de ambientes de aprendizaje que se adapten a las

diferencias individuales, asimismo como “el diseño y presentación de contenidos

instruccionales que reconozcan, concuerden y soporten la forma como los

individuos quieran y pretendan aprender de manera diferente” [MARTINEZ, 02].

1.1.2. Componentes básicos de una solución de e-Learning

Un ambiente efectivo de aprendizaje está basado en objetivos medibles que impacten las

habilidades del individuo usando contenido, interacción y retroalimentación. Por lo tanto,

en general todas las soluciones de e-Learning están conformadas por los siguientes tres

elementos básicos:

Page 18: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

10

• Contenido Instruccional: Es la propiedad intelectual y el conocimiento que va a ser

impartido a los estudiantes. Puede ser representado en un número diferente de

formatos: texto, imágenes, animaciones, audio, video o simulaciones, entre otros

[ELEARNING, 03]. Es quizás el componente principal de todo ambiente de e-

Learning, El diseño del contenido de e-Learning debe ser articulado y coherente

con el modelo pedagógico seleccionado y tener significado para el estudiante,

sobre todo cuando este puede ser distraído por múltiples obligaciones (trabajo y

familia)

• Actividades colaborativas: La colaboración es un proceso para compartir

información entre partes interesadas de tal forma que ambas se beneficien

teniendo una comprensión más global de sus problemas e inquietudes. En su

forma más simple, puede ser simplemente el intercambio de información. En un

nivel más avanzado, incluye la unificación de contenido y procesos comunicativos,

y el establecimiento de foros para el acceso de recursos y la construcción de

contenido de valor agregado [SIEMENS2, 03].

El conjunto de métodos instruccionales que conforman el aprendizaje colaborativo

busca motivar a los estudiantes a trabajar en grupo en tareas académicas. Por lo

tanto, además del contenido se incluyen preguntas para discusión y respuestas

entre grupos de estudiantes. “Las estrategias de aprendizaje colaborativo…son

necesarias con el fin de que los cursos en línea sean tan efectivos como los

tradicionales” [HILTZ, 03].

En materia tecnológica, existen diferentes herramientas que facilitan la provisión

de un ambiente colaborativo fácil de utilizar: herramientas síncronas como las

audioconferencias, videoconferencias, chat, mensajería instantánea, tableros

electrónicos; y herramientas asíncronas como los foros de discusión, los anuncios

de grupo o el e-mail [KAPLAN, 02].

• Assessment y evaluaciones: Estos dos elementos deben ser diseñados de

manera diferente al enfoque utilizado tradicionalmente en los salones de clase, en

Page 19: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

11

el que los exámenes y ensayos tienen una mayor preferencia. Con un ambiente de

enseñanza en línea se tienen nuevas alternativas de evaluación, a su vez más

efectivas y flexibles a la hora de requerir la demostración de aprendizaje por parte

de los estudiantes. “El enfoque de la evaluación y el assessment en línea es

asegurar que el aprendizaje ha ocurrido. Si el método utilizado es tal que obstruye

una evaluación efectiva del aprendizaje, enfoques diferentes necesitan ser

considerados” [SIEMENS, 03]

Adicionalmente, una gran cantidad de proveedores de e-Learning están comenzando a

incorporar un nuevo componente a sus soluciones, que no podría categorizarse

completamente dentro de alguno de los tres tipos de elementos mencionados: la

simulación. “El concepto detrás de la simulación basada en computador en el e-Learning

es simple, pero convincente: La práctica hace al maestro.” [DAVIES, 03]. La posibilidad

de incorporar simuladores como estrategia de enseñanza en las soluciones de

aprendizaje ha sido facilitada gracias la disponibilidad cada vez mayor tanto de hardware

(procesadores y tarjetas gráficas) y de software (herramientas de animación como

Macromedia Flash) al alcance de los proveedores de e-Learning, y no solamente de

industrias más ostentosas como la aviación o la militar en donde la simulación ha sido

parte importante del entrenamiento de los individuos.

Todos estos componentes mencionados no son en general elementos independientes

dentro de un ambiente de aprendizaje. Las consideraciones pedagógicas y pedagógicas

en el diseño de cada uno de estos, y de las relaciones entre los mismos, es vital para

lograr un todo coherente.

1.1.3. Evolución Tecnológica

Desde el punto de vista tecnológico, como se menciona en [BARRON, 02], “el e-Learning

es quizás una de las áreas más beneficiadas con los diferentes avances experimentados,

posibilitando la creación de nuevos productos y servicios, permitiéndole evolucionar desde

un modelo inicial basado en contenidos visualizados en computadoras hasta abarcar un

amplio rango de tecnologías para el trabajo colaborativo y la distribución y administración

de contenido, innovaciones que han mejorado las capacidades iniciales del e-Learning”.

Page 20: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

12

Los avances en redes de computadoras y el advenimiento de Internet a principios de los

90s introdujeron un conjunto innovaciones tecnológicas que permitieron al e-Learning

expandirse de modelos de negocio iniciales, orientados al desarrollo de contenidos

personalizados, a un conjunto de productos y servicios, cuya evolución en el tiempo se

puede observar en la figura 1.

Uno de los avances principales fue el surgimiento de los Sistemas de Administración de

Aprendizaje (LMS, Learning Management Systems) que “permitieron satisfacer las

necesidades de enseñanza tradicionales de los salones de clases y la administración de

contenido e-Learning” [BARRON, 02].

Figura 1. Evolución Tecnológica del e-Learning

Fuente: [BARRON, 02]

Otro progreso importante mencionado en [BARRON, 02] fue el surgimiento de

herramientas colaborativas sincrónicas, que permitieron a estudiantes distantes entre si

compartir una misma “aula virtual” a través de Internet. Su bajo costo, frente a soluciones

Page 21: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

13

de videoconferencia satelital, ha permitido la difusión de esta modalidad de aprendizaje.

Asimismo, surgieron un conjunto de herramientas para la creación de contenido en línea,

de trabajo colaborativo asíncrono (el estudiante puede consultar el material disponible

cuando lo desee) y sistemas de evaluación a estudiantes, que han permitido dar un valor

agregado al e-Learning.

En la figura 1 puede apreciarse como el concepto de los Learning Objects (Objetos de

Aprendizaje) constituye una de las últimas tendencias en el e-Learning, así como el

intercambio de estos objetos (para poder distribuir contenidos instruccionales). También,

han surgido los LCMS6, los cuales permiten la creación y administración de contenido

instruccional en la forma de objetos de aprendizaje y ofrecen una forma granular de

enseñanza que los usuarios pueden personalizar a través de los LMS dependiendo de la

audiencia o del estudiante.

Entre otras tecnologías que han encontrado aplicación en el área del e-Learning se

encuentran la difusión de contenido multimedia, los juegos, las herramientas de

simulación, las cuales han permitido el surgimiento de nuevos proveedores de soluciones

de e-Learning basados en un ambiente tecnológico determinado.

1.1.4. Los objetos de aprendizaje (Learning Objects)

Como se pudo observar en la figura 1, que muestra una visión sobre la evolución

tecnológica del e-Learning, dos de las tendencias existentes en la actualidad son los

objetos de aprendizaje (Learning Objects) y el intercambio de estos objetos (entre

diferentes sistemas LMS o LCMS).

El concepto en sí de los objetos de aprendizaje constituye un “enfoque en el cuál el

contenido (de un curso, por ejemplo) es dividido en elementos o pedazos más pequeños,

[por un lado con el fin de que] puedan ser reutilizados, creados y mantenidos de manera

independiente, [pero también para poder ser] separados y recopilados o unidos

nuevamente de muchas formas diferentes” [EDUWORKS, 03] .

Page 22: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

14

Debido a que el contenido de aprendizaje debe ser desarrollado centrado en los

estudiantes (sabiendo quiénes son y llevando un seguimiento de sus actividades), este

generalmente es construido dentro de un ambiente LMS que se encarga de administrar

todo el proceso de aprendizaje de cada estudiante [EDUWORKS, 03]. En la práctica,

generalmente los responsables por la creación del contenido de una solución de e-

Learning y los de la administración de un LMS son dos personas u organizaciones

diferentes: una empresa X es productora de soluciones de e-Learning y le provee a otra

empresa Y su solución para que pueda ser administrada a través del LMS que esta última

posee. Por lo tanto, para los desarrolladores de soluciones de e-Learning, son

importantes los siguientes factores [EDUWORKS, 03]:

• Interoperabilidad: Es bastante deseable que su contenido pueda trabajar en

múltiples ambientes de aprendizaje. De lo contrario, tendría que realizar procesos

adaptativos de sus soluciones por cada cliente interesado en ellas.

• Reutilización: Poder usar el contenido ya desarrollado, que había sido utilizado

previamente en un contexto diferente.

Estas necesidades brindan las bases para el concepto de Objeto de Aprendizaje

Reutilizable (RLO: Reusable Learning Object), en el cuál “el contenido es dividido en

pedazos con las siguientes características:

• Cada pedazo está en completa capacidad de comunicarse con un sistema de

aprendizaje (LMS, por ejemplo). Para esto es necesario basarse en métodos

estándares, con el fin de hacer el proceso independiente a las características

propias de cada sistema.

• Independencia lógica y funcional entre pedazos.

6 Learning Content Management Systems: Sistemas de Administración de Contenido de Aprendizaje

Page 23: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

15

• Dado que un curso puede estar formados por muchos pedazos, la forma cómo

cada usuario navega o recorre cada uno de estos en un orden en particular es

controlada por el sistema de aprendizaje

• Cada pedazo debe contar con una completa descripción que facilite al sistema

localizar el pedazo apropiado en un determinado contexto” [EDUWORKS, 03].

Los objetos de aprendizaje son independientes de la técnica de diseño instruccional que

se siga, lo cuál permite que este enfoque pueda ser utilizado en diferentes metodologías

pedagógicas de los desarrolladores de soluciones o contenido de e-Learning.

Por consiguiente, según [MORTIMER, 02], son tres los componentes de una arquitectura

de e-Learning basada en Learning Objects: Los objetos de aprendizaje en sí, los

metadatos que describen estos objetos y los sistemas de aprendizaje, tal como se

muestra en la siguiente figura.

Figura 2. Elementos interdependientes de una arquitectura de Learning Objects

Fuente: [MORTIMER, 02] Los metadatos constituyen la descripción completa de cada objeto de aprendizaje. En la

gráfica es claro el papel de cada sistema de aprendizaje como administrador de los

objetos y de sus descripciones con el fin de facilitar la localización de cada objeto cuando

sea necesario, así como llevar al usuario la experiencia de aprendizaje que este necesita.

Sistemas de Aprendizaje

(LMS)

Objetos de Aprendizaje

Metadatos

Page 24: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

16

Dos aseveraciones importantes se pueden extraer del anterior gráfico: Tanto la necesidad

de estándares que permitan describir de manera uniforme los objetos de aprendizaje, los

cuales pueden ser desarrollados con herramientas heterogéneas y por organizaciones

distintas, como la necesidad de una especificación que permita la comunicación entre los

sistemas de aprendizaje y los objetos instruccionales (tanto para cargar un objeto en el

ambiente instruccional del sistema, cómo para hacer un seguimiento de las experiencias

de aprendizaje de los usuarios, por ejemplo).

Algunas aproximaciones se han hecho ya en el pasado con respecto a estos estándares

necesarios para los metadatos del contenido de e-Learning y el intercambio de los objetos

de aprendizaje. Los conjuntos de especificaciones AICC7 e IMS8 son una prueba de ello.

Con la misma motivación, la iniciativa ADL (Advanced Distributed Learning, Aprendizaje

Distribuido Avanzado) del Departamento de Defensa de los Estados Unidos, alimentado

de estas experiencias anteriores, produjo el Modelo de Referencia para Objetos de

Contenido Compartibles (SCORM, por las siglas en inglés de Shareable Content Object Reference Model), que definiendo un modelo de agregación de contenido y un ambiente

de ejecución, ha brindado las bases para la interoperabilidad entre objetos y sistemas de

aprendizaje, y la reutilización de estos objetos en diferentes ambientes.

1.1.5. Los ambientes LMS (Learning Management System)

Como lo describe [GREENBERG, 02], “un LMS es una solución estratégica de alto nivel

para la planeación, distribución y administración de todos los eventos de aprendizaje

dentro de una organización, incluyendo cursos en línea, aulas virtuales y guiados por

instructor…remplazando programas de aprendizaje aislados y fragmentados con un

medio sistemático de evaluar y mejorar los niveles de competencia y desempeño a través

de la organización…El objetivo de un LMS es administrar a los estudiantes, llevando un

seguimiento de su progreso y desempeño en todos los tipos de actividades

7 Aviation Industry CBT (Computer Based Training) Committee (http://www.aicc.org) 8 IMS Global Learning Consortium, Inc (http://www.imsglobal.org)

Page 25: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

17

En [ADL, 01] se muestra un modelo generalizado de los componentes o servicios de un

LMS, descrito como un “conjunto de servicios que administran el envío y seguimiento de

contenido instruccional a un estudiante”. Este modelo es ilustrado en la figura 3.

Figura 3. Modelo Generalizado de un Sistema de Administración de Aprendizaje (o LMS) Fuente: [ADL, 01]

Entre las capacidades de un LMS, mencionadas en [GREENBERG, 02], se pueden

mencionar

• Soporte a aprendizaje mixto: Debido a que los individuos aprenden de diferentes

maneras, los LMS deben ofrecer un currículo que mezcle salones de clase y aulas

virtuales fácilmente

• Herramientas de administración: A los administradores se les debe permitir

gestionar el registro y perfiles de los usuarios, definir roles, asignar currículos,

tutores, administrar el contenido, entre otras actividades. Todas estas

características deben ser administrables utilizando interfaces gráficas amigables

• Integración del contenido: El LMS debe estar en capacidad de trabajar con

material de cursos desarrollados por diferentes proveedores de la industria.

Perfiles de Estudiantes

Administración de Cursos

Evaluaciones Assessments Navegación

Administración de Contenido

Seguimiento (Tracking)

Despliegue de Contenido

Repositorio Local de

Contenido

Page 26: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

18

• Adherencia a estándares: Es importante el soporte de estándares como SCORM

con el fin de permitir la interoperabilidad con soluciones de e-Learning

desarrolladas con diferentes herramientas.

• Evaluación de capacidades: Es importante que existan herramientas que permitan

crear evaluaciones dentro de los mismos cursos, con el fin de conocer el nivel de

competencias y conocimientos adquiridos por los individuos.

1.2. LA INICIATIVA ADL Y EL MODELO DE REFERENCIA SCORM

En [ADL, 01] se brinda una descripción de la iniciativa ADL y una introducción al conjunto

de especificaciones de SCORM9. En esta sección se comentan algunos apartes de dicho

documento, con el fin de lograr una visión clara sobre la forma en que a través de dichas

especificaciones se posibilitan la descripción de objetos instruccionales a través de

metadatos y la interoperabilidad entre objetos y sistemas de aprendizaje.

En 1997, el Departamento de Defensa de los Estados Unidos creó la iniciativa ADL

(Advanced Distributed Learning) con el fin de desarrollar una estrategia para el uso del

aprendizaje y las tecnologías de información para la modernización de la educación y el

entrenamiento y para promover la cooperación entre el gobierno, la academia y los

negocios en el desarrollo de una estandarización el e-Learning.

Con ADL, se busca el desarrollo de un entorno técnico común para el aprendizaje basado

en computador o en la web, que fomente la creación de contenidos instruccionales

reutilizables como objetos de aprendizaje (Learning Objects). El enfoque es hacia el

diseño de objetos instruccionales compartibles y el desarrollo de una economía de objetos

de aprendizajes.

9 Shareable Content Object Referente Model

Page 27: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

19

Con esa visión, la iniciativa ADL definió un conjunto de requerimientos de alto nivel para el

contenido de aprendizaje para apalancar las prácticas existentes y promover el uso del

aprendizaje basado en tecnologías [ADL, 01]:

• Accesibilidad: La capacidad de localizar y acceder elementos instruccionales en

alguna ubicación remota y distribuirlos a otras ubicaciones.

• Interoperabilidad: La capacidad de poder utilizar elementos instruccionales

desarrollados con un conjunto de herramientas y bajo una plataforma específica,

en otros ambientes bajo otras plataformas o que utilicen otras herramientas.

• Durabilidad: La capacidad de lograr una independencia a los cambios

tecnológicos, sin necesidad de rediseño o reconfiguración de los elementos

instruccionales.

• Capacidad de reutilización: Poder incorporar o utilizar un mismo componente

instruccional en múltiples aplicaciones o contextos.

Cómo lo menciona el documento The SCORM Overview [ADL, 01], estos requerimientos

pueden ser puestos también como:

• La capacidad de un LMS para cargar el contenido desarrollado con herramientas

de diferentes proveedores e intercambiar datos con ese contenido.

• La habilidad de que varios LMS de diferentes proveedores puedan administrar el

mismo contenido.

• La habilidad de que múltiples productos LMS puedan acceder a un repositorio

común de contenido y cargarlo en su ambiente.

Con estos requerimientos en mente, se creó un modelo de referencia para los objetos de

aprendizaje compartibles: SCORM.

Page 28: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

20

SCORM (Shareable Content Object Reference Model), brevemente, es un modelo que

referencia un conjunto de especificaciones y recomendaciones técnicas interrelacionadas,

diseñadas para satisfacer los requerimientos de alto nivel de la iniciativa ADL

mencionados anteriormente.

En su esfuerzo, SCORM ha aplicado desarrollos tecnológicos de diferentes grupos, como:

• IMS Global Learning Consortium, Inc. (http://www.imsglobal.org)

• AICC: Aviation Industry CBT (Computer Based Training) Comitee

(http://www.aicc.org)

• ARIADNE: Alliance of Remote Instructional Authoring & Distribution Networks for

Europe (http://www.ariadne-eu.org); y,

• IEEE LTSC: Institute of Electrical and Electronics Engineers Learning Technology

Standards Comitee (http://ltsc.ieee.org)

A partir de las anteriores aproximaciones se ha creado un conjunto de recomendaciones

para lograr implementaciones consistentes en toda la industria. Cabe mencionar que

SCORM se enfoca a la interfaz entre el contenido y los LMS. La funcionalidad y

capacidades particulares de cada LMS no son tratadas dentro de las especificaciones de

SCORM.

Este conjunto de especificaciones de SCORM se encuentra dividido en dos: El Modelo de

Agregación de Contenido (Content Aggregation Model) y el Ambiente de Ejecución

(Run-Time Environment)

1.2.1. El Modelo de Agregación de Contenido

Como se describe también en [ADL, 01], el propósito del SCORM CAM (Content Aggregation Model) es proporcionar una forma común para construir contenido para el

aprendizaje a partir de diferentes fuentes localizables, reutilizables, compartibles e

interoperables. Adicionalmente, el CAM define cómo el contenido puede ser identificado y

descrito, agregado en un curso (o una parte de este) y movido entre sistemas como los

Page 29: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

21

LMS o repositorios de objetos instruccionales; además, define los métodos técnicos para

lograr estos procesos. El modelo también incluye las especificaciones para agregar

contenido y la definición de metadatos que describan detalladamente este contenido.

Como se describe exhaustivamente en [ADL2, 01], el CAM está compuesto de:

• Modelo de Contenido: Define los componentes SCORM que son utilizados para

construir una experiencia de aprendizaje a partir de recursos instruccionales

reutilizables, así como la forma en que son agregados estos recursos de bajo nivel

para formar unidades de instrucción de alto nivel. Dentro de la nomenclatura del

Modelo de Contenido se identifican los siguientes tres componentes:

o Assets (Activos): Son representaciones electrónicas de medios, texto,

imágenes, sonido, páginas web, objetos y cualquier otro elemento que

pueda ser enviado a un cliente Web. Puede ser descrito con metadatos

para permitir búsquedas dentro de repositorios con el fin de facilitar su

reutilización.

Figura 4. Ejemplos de activos (assets)

o Shareable Content Object (Objetos de Contenido - o Instruccionales-

Compartibles): Es la colección de uno o más assets, donde uno de ellos

está en capacidad de ser cargado por un LMS y comunicarse con este (a

través del Ambiente de Ejecución de SCORM). Un SCO es el recurso de

aprendizaje con el menor nivel de granularidad al que se le puede hacer un

seguimiento a través de un LMS utilizando el ambiente de ejecución de

SCORM. Al igual que los assets, y con la misma finalidad, un SCO puede

Página HTML

Archivo Audio

Archivo XML

Imagen JPEG

Funciones JavaScript

Animación Flash

Page 30: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

22

ser descrito con metadatos. Para que un SCO pueda ser reutilizado, se

recomienda que sea diseñado independiente de un contexto en particular y

que sea pensado para ser unidades “pequeñas” de aprendizaje (en donde

lo pequeño se mira de manera subjetiva).

o Content Aggregation (Agregación de Contenido): Es un “mapa” que

puede ser utilizado para agregar los recursos de aprendizaje en una unidad

cohesiva de instrucción (curso, capítulo, módulo, etc.). Define la estructura

del contenido que proporciona el mecanismo para definir la secuencia en

que los recursos de aprendizaje (SCOs y Assets) son mostrados al usuario

o estudiante. También pueden ser descritos con metadatos.

Figura 5. Agregación de Contenido en SCORM

Fuente: [ADL2, 01]

• Metadatos: Define los mecanismos para describir instancias específicas de los

componentes del Modelo de Contenido (Asset Metadata, SCO Metadata y

Content Aggregation Metadata) de acuerdo con las recomendaciones para

metadatos de objetos de aprendizaje definidas por la IEEE LTSC10. Sus principales

componentes son:

10 Institute of Electrical and Electronics Engineers Learning Technology Standards Comitee (http://ltsc.ieee.org)

Page 31: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

23

o Modelo de Información: Define el conjunto de elementos para describir

metadatos. Es esencialmente el diccionario de etiquetas para metadatos

que define el uso apropiado para cada elemento. El modelo de información

de metadatos de SCORM está dividido en nueve categorías [ADL2, 01]:

General: Información general que describe el recurso como un todo.

Ciclo de Vida (Lifecycle): Características relacionadas con la

historia y el estado actual del recurso

Meta-Metadatos: Información sobre los mismos registros de

metadatos

Técnica: Requerimientos y características técnicas del recurso.

Educativa: Características educativas y pedagógicas del recurso.

Derechos: Derechos de propiedad intelectual y condiciones de uso.

Relaciones: Define relaciones entre el recurso descrito y otros

recursos.

Anotaciones: Comentarios sobre el uso educativo del recurso

Clasificación: Ubicación del recurso dentro de algún sistema de

clasificación

o Representación XML (XML Binding): Define como representar en XML los

elementos del diccionario definido en el Modelo de Información.

o Perfiles de Aplicación (Application Profiles): Proporciona una guía de

cómo implementar metadatos en un ambiente SCORM: qué elementos del

modelo de información son obligatorios y cómo deben ser codificados para

ser compatibles con SCORM.

La siguiente figura muestra un fragmento de un documento XML que constituye los

metadatos de un SCO. En él se pueden identificar algunos de los elementos

pertenecientes al modelo de información de los metadatos de SCORM.

Page 32: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

24

?xml version="1.0"?> <lom xmlns="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imsmd_rootv1p2p1 imsmd_rootv1p2p1.xsd"> <general> <title> <langstring>Inland Maritime Navigation Signals</langstring> </title> <catalogentry> <catalog>ADL Sample Courses Catalog</catalog> <entry> <langstring>1000-01-06</langstring> </entry> </catalogentry> <language>en</language> <description> <langstring>Sound and Light Signals</langstring> </description> <keyword> <langstring>Signals</langstring> </keyword> <keyword> <langstring>Audiable Indications</langstring> </keyword> <keyword> <langstring>Visual Indications</langstring> </keyword> <aggregationlevel> <source> <langstring xml:lang="x-none">LOMv1.0</langstring> </source> <value> <langstring xml:lang="x-none">1</langstring> </value> </aggregationlevel> </general> <lifecycle> <version> <langstring>1.1</langstring> </version> <status> <source> <langstring xml:lang="x-none">LOMv1.0</langstring> </source> <value> <langstring xml:lang="x-none">Final</langstring> </value> </status> <contribute> <role> <source> <langstring xml:lang="x-none">LOMv1.0</langstring> </source> <value> <langstring xml:lang="x-none">Author</langstring> </value> </role> <centity>

Título del Recurso

Categoría General

Palabras Claves

Versión del Recurso

Descripción del Recurso

Estado de Desarrollo(puede ser, por ejemplo,

Borrador –Draft- )

Categoría Ciclo de

Vida

Page 33: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

25

<vcard>BEGIN:vCard ORG:ADL Co-Lab END:vCard</vcard> </centity> <date> <datetime>2000-01-27</datetime> </date> </contribute> </lifecycle> <metametadata> <metadatascheme>ADL SCORM 1.2</metadatascheme> </metametadata> <technical> <format>text/html</format> <size>13671</size> <location>Course01/Lesson01/sco06.htm</location> <requirement> <type> <source> <langstring xml:lang="x-none">LOMv1.0</langstring> </source> <value> <langstring xml:lang="x-none">Browser</langstring> </value> </type> <name> <source> <langstring xml:lang="x-none">LOMv1.0</langstring> </source> <value> <langstring xml:lang="x-none">Microsoft Internet Explorer</langstring> </value> </name> <minimumversion>5.0</minimumversion> </requirement> </technical> <educational> <learningresourcetype> <source> <langstring xml:lang="x-none">LOMv1.0</langstring> </source> <value> <langstring xml:lang="x-none">Narrative Text</langstring> </value> </learningresourcetype> <typicallearningtime> <datetime>0000-00-00T00:14:00</datetime> </typicallearningtime> </educational> <rights> <cost> <source> <langstring xml:lang="x-none">LOMv1.0</langstring> </source> <value> <langstring xml:lang="x-none">no</langstring> </value>

Categoría Meta-Metadatos

Categoría Técnica

Categoría Educativa

Versión de SCORM de los metadatos utilizados

¿Tiene costo el recurso?

Formato del archivo del recurso

Requerimiento TécnicoTipo, Nombre, Versión Mínima

Tipo de Recurso Instruccional

Categoría Derechos

Page 34: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

26

</cost> <copyrightandotherrestrictions> <source> <langstring xml:lang="x-none">LOMv1.0</langstring> </source> <value> <langstring xml:lang="x-none">no</langstring> </value> </copyrightandotherrestrictions> </rights> <classification> <purpose> <source> <langstring xml:lang="x-none">LOMv1.0</langstring> </source> <value> <langstring xml:lang="x-none">Educational Objective</langstring> </value> </purpose> <description> <langstring>This Sharable Content Object will give the student a basic understanding of inland maritime navigation signals.</langstring> </description> <keyword> <langstring>Inland Navigation</langstring> </keyword> </classification> </lom>

Figura 6. Metadatos XML de un SCO

• Empaquetamiento de Contenido (Content Packaging): Su propósito es

proporcionar una forma estándar para intercambiar recursos de aprendizaje

digitales entre diferentes sistemas o herramientas. Un paquete de contenido

también puede definir la estructura (u organización) y el comportamiento esperado

de un conjunto de recursos de aprendizaje. Las especificaciones de

empaquetamiento de contenido definen entre otras cosas:

o El manifiesto: un archivo que describe el paquete en sí, y contiene

metadatos sobre el paquete, una sección opcional de organización que

define la estructura del contenido, y una lista de referencias a los recursos

que conforman el paquete.

o Cómo crear un manifiesto XML de un paquete

¿Existen otras restricciones de uso?

Categoría Clasificación

Nombre del sistema de clasificación(en este ejemplo, de acuerdo con su objetivo instruccional)

Page 35: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

27

o Recomendaciones para empaquetar el manifiesto, los metadatos y todos

los archivos físicos (recursos instruccionales) relacionados, en un archivo

de intercambio de paquete (Package Interchange File), por ejemplo un

archivo comprimido ZIP.

Figura 7. Diagrama conceptual de un paquete de contenido SCORM Fuente: [ADL2, 01]

Page 36: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

28

La siguiente figura ilustra un ejemplo del manifiesto XML de un paquete de contenido

SCORM.

<?xml version="1.0"?> <manifest identifier="SingleCourseManifest" version="1.1" xmlns="http://www.imsproject.org/xsd/imscp_rootv1p1p2" xmlns:adlcp="http://www.adlnet.org/xsd/adlcp_rootv1p2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsproject.org/xsd/imscp_rootv1p1p2 imscp_rootv1p1p2.xsd http://www.imsglobal.org/xsd/imsmd_rootv1p2p1 imsmd_rootv1p2p1.xsd http://www.adlnet.org/xsd/adlcp_rootv1p2 adlcp_rootv1p2.xsd"> <metadata/> <organizations default="B0"> <organization identifier="B0"> <title>Maritime Navigation</title> <item identifier="B100" isvisible="true"> <title>Inland Rules of the Road (HTML Format)</title> <item identifier="S100001" identifierref="R_S100001" isvisible="true"> <title>References and Lesson Objective</title> </item> <item identifier="B110" isvisible="true"> <title>Steering &amp; Sailing Rules</title> <item identifier="S110001" identifierref="R_S110001"> <title>Conduct of Vessels in any Condition of Visibility</title> <adlcp:prerequisites type="aicc_script"><![CDATA[S100001]]></adlcp:prerequisites> <adlcp:maxtimeallowed>0000:30:00.00</adlcp:maxtimeallowed> </item> <item identifier="S110002" identifierref="R_S110002"> <title>Conduct of Vessels in Sight of One Another</title> <adlcp:prerequisites type="aicc_script"><![CDATA[S110001]]></adlcp:prerequisites> </item> <item identifier="S110003" identifierref="R_S110003"> <title>Conduct of Vessels in Restricted Visibility</title> <adlcp:prerequisites type="aicc_script"><![CDATA[S110002]]></adlcp:prerequisites> </item> </item> <item identifier="S100002" identifierref="R_S100002" isvisible="true"> <title>Lights &amp; Shapes</title> <adlcp:prerequisites type="aicc_script"><![CDATA[B110]]></adlcp:prerequisites> </item> ….. </item> <metadata> <schema>ADL SCORM</schema> <schemaversion>1.2</schemaversion> <adlcp:location>Course01.xml</adlcp:location> </metadata> </organization>

Sección OrganizacionesDefine, entre otros, el esquema de

navegación recomendado. Cada paso es identificado como un item (el cual hace

referencia al id de un recurso en el atributo identifierref)

Ubicación del archivo de metadatos para una organización determinada

Sección Metadatos(Opcional) Con el fin de brindar una

descripción de TODO el paquete, con la sintaxis de metadatos del modelo de

información de SCORM)

Page 37: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

29

</organizations> <resources> <resource identifier="R_S100001" type="webcontent" adlcp:scormtype="sco" href="Course01/Lesson01/sco01.htm"> <metadata> <schema>ADL SCORM</schema> <schemaversion>1.2</schemaversion> <adlcp:location>Course01/Lesson01/sco01.xml</adlcp:location> </metadata> <file href="Course01/Lesson01/sco01.htm" /> <dependency identifierref="R_D1"/> </resource> <resource identifier="R_S110001" type="webcontent" adlcp:scormtype="sco" href="Course01/Lesson01/sco02.htm"> <metadata> <schema>ADL SCORM</schema> <schemaversion>1.2</schemaversion> <adlcp:location>Course01/Lesson01/sco02.xml</adlcp:location> </metadata> <file href="Course01/Lesson01/sco02.htm" /> <dependency identifierref="R_D1"/> </resource> <resource identifier="R_S110002" type="webcontent" adlcp:scormtype="sco" href="Course01/Lesson01/sco03.htm"> <metadata> <schema>ADL SCORM</schema> <schemaversion>1.2</schemaversion> <adlcp:location>Course01/Lesson01/sco03.xml</adlcp:location> </metadata> <file href="Course01/Lesson01/sco03.htm" /> <dependency identifierref="R_D1"/> </resource> <resource identifier="R_S110003" type="webcontent" adlcp:scormtype="sco" href="Course01/Lesson01/sco04.htm"> <metadata> <schema>ADL SCORM</schema> <schemaversion>1.2</schemaversion> <adlcp:location>Course01/Lesson01/sco04.xml</adlcp:location> </metadata> <file href="Course01/Lesson01/sco04.htm" /> <dependency identifierref="R_D1"/> </resource> … … </resources> </manifest>

Figura 8. Ejemplo de un manifiesto XML de un paquete de contenido SCORM

Sección Recursos Información sobre los recursos que

hacen parte de la solución

Identificador del Recurso

Archivo Inicial o Punto de Entrada del Recurso

Archivo(s) que componen el recurso

Dependencias con otros recursos

Page 38: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

30

1.2.2. El Ambiente de Ejecución de SCORM

El propósito del SCORM RTE (SCORM Run-Time Environment) es “proporcionar un

mecanismo para la interoperabilidad entre contenidos instruccionales basados en SCOs y

los LMS” [ADL, 01].

Un requerimiento de SCORM es que el contenido de aprendizaje pueda ser interoperable

entre múltiples LMS independiente de las herramientas utilizadas para la creación de este.

Para que esto sea posible, debe existir una forma común de iniciar o cargar el contenido

en el ambiente del LMS, una forma común para que el contenido pueda comunicarse con

un LMS y un conjunto de elementos de datos predefinidos (vocabulario) que sea

intercambiado entre el LMS y el contenido durante su ejecución y que formen la base de

la comunicación. Estas tres necesidades están cubiertas por los tres componentes de la

especificación del SCORM RTE, descrita en [ADL3, 01]:

• Launch (Carga/Inicio): Define un mecanismo común para que los LMS puedan

cargar en su ambiente recursos de aprendizaje: establece procedimientos y

responsabilidades para el establecimiento de una comunicación entre el recurso y

el LMS.

• API (Application Programming Interface): Es el mecanismo de comunicación

para informar a un LMS el estado de un recurso instruccional (iniciado, finalizado,

errores) y es utilizado para obtener y establecer datos (resultados, límites de

tiempo, etc.) entre el LMS y el SCO.

• Modelo de Datos: Es un conjunto estándar de elementos de datos utilizados para

definir la información que va a ser comunicada. En pocas palabras, define el

vocabulario de elementos de datos que tanto el LMS como el SCO deben conocer.

Con el Modelo de Agregación de Contenido de SCORM, se proporcionan mecanismos

para que los desarrolladores de cursos o soluciones de e-Learning en general, puedan

describir con metadatos sus recursos de aprendizaje y tengan una manera estándar de

Page 39: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

31

empaquetar estos recursos antes de ser distribuidos a varios sistemas de aprendizaje.

Con el Ambiente de Ejecución de SCORM se posibilita que los recursos instruccionales

puedan comunicarse con el LMS que administrará la experiencia de aprendizaje del

estudiante. Todo lo anterior sin importar las herramientas utilizadas para la creación de los

recursos de e-Learning (conocidas en inglés como Authoring Tools) ni el ambiente LMS

en que estas experiencias se lleven a cabo.

1.3. LOS SERVICIOS WEB 1.3.1. Antecedentes

El desarrollo de aplicaciones distribuidas ha sido un campo importante de investigación

durante la evolución de la computación, desde los mainframes hasta las estaciones de

trabajo y redes punto a punto actuales. Prueba de lo anterior han sido las iniciativas

alrededor de DCE11 en los años 80’s, CORBA12, RMI13, COM14 y DCOM15 en los años

90’s.

Con la llegada del nuevo milenio, el escenario estuvo listo para la llegada de una nueva

generación de computación distribuida (los servicios web) basada en las necesidades de

los sistemas de información y la experiencia, no siempre satisfactoria, obtenida por las

anteriores tecnologías. Los elementos importantes son:

• La posibilidad de desarrollar aplicaciones distribuidas alrededor del uso de

diferentes servicios genéricos.

• La posibilidad de interoperabilidad dentro y entre organizaciones sin importar la

plataforma.

• Conformidad con la infraestructura y estándares existentes en Internet.

• Sólido soporte por parte de los diferentes proveedores de herramientas de

desarrollo y de administración.

11 Distributed Computing Environment 12 Common Object Request Broker Arquitecture 13 Remote Method Invocation (Java) 14 Component Object Model (Microsoft)

Page 40: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

32

• Posibilidad tanto del modelo de comunicación sencillo de Internet

(Request/Response) como de modelos más complejos que impliquen manejo de

transacciones o seguridad, entre otros, donde sean necesarios.

Los servicios web (o Web Services) surgen para satisfacer estas necesidades y su

importancia no radica en la invención de una nueva tecnología, o de un cambio radical de

paradigma, sino en la posibilidad de integrar alrededor de Internet todo el desarrollo

tecnológico de más de dos décadas.

“La creación del lenguaje de programación Java a mediados de los 90’s y los posteriores

estándares creados por Sun Microsystems, establecieron una plataforma común para los

desarrolladores de software y dio nacimiento a la tecnología de los servidores de

aplicación. Los servicios web representan el próximo paso lógico, creando un canal

importante que permite tomar la información de un universo complicado y reducirla en una

función apropiada de cada negocio” [LITWACK, 02]

Dentro de cualquier negocio tanto empleados como clientes y socios necesitan tener

acceso a ciertos datos específicos, y generalmente el desarrollo de los sistemas

existentes en el interior de la organización no se encuentra orientado a la satisfacción de

estos diferentes tipos de intereses. Debido a la corta vigencia de una determinada

tecnología de desarrollo, las empresas terminan funcionando con aplicaciones

heterogéneas para cumplir sus tareas. Los servicios web están orientados hacia la

interoperabilidad, y mediante el intercambio de documentos XML 16 permiten la

comunicación entre estos sistemas dispersos.

Bill Gates en su mensaje a los desarrolladores y profesionales de las tecnologías de

información de Junio 14 de 2001 mencionó las motivaciones detrás de los Web Services y

el rol de XML en esta tecnología [WEB SERVICES, 02]:

15 Distributed COM (Microsoft) 16 eXtensible Markup Language (http://www.w3.org/XML)

Page 41: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

33

“Muchos de nosotros tenemos la visión de un mundo en línea en donde las

constelaciones de PCs17, servidores, dispositivos inteligentes y servicios basados

en Internet puedan colaborar sin inconvenientes. Los negocios estarán en

capacidad de compartir datos, integrar sus procesos y unir fuerzas para ofrecer

soluciones personalizadas a sus clientes. La información que alguien o un negocio

necesite estará disponible sin importar el lugar donde se encuentre, el dispositivo

de computación, la plataforma o la aplicación que se utilice.

Las aplicaciones independientes de hoy en día y los sitios Web crean islas de

funcionalidad y datos. Cualquiera tiene que navegar manualmente entre diferentes

sitios web, dispositivos, y aplicaciones, registrándose cada vez, y en raras

ocasiones con la posibilidad de transportar datos consigo mismo. Las tareas que

debieran ser simples, tales como organizar una reunión con los colegas de otras

compañías y automáticamente actualizar el calendario de cada asistente, son una

pesadilla en el mejor de los casos, e imposibles comúnmente. Esta ineficiencia es

una fuente importante de improductividad

En el corazón de la solución se encuentra XML, un estándar de la industria

administrado por el World Wide Web Consortium (W3C). Permite a los

desarrolladores describir los datos intercambiados entre computadoras,

dispositivos inteligentes, aplicaciones y sitios web. Gracias a que estos datos se

encuentran separados de algún formato o definiciones de estilo, puede ser

fácilmente organizado, programado, editado e intercambiado. Así como la web

revolucionó la forma en que los usuarios le hablan a las computadoras, XML

transformará la forma en que las aplicaciones hablan entre si”

Como resultado de los cambios en la forma en que los negocios y los usuarios utilizan la

web, la industria está convergiendo a un nuevo modelo de computación que permitirá una

forma estándar de desarrollar aplicaciones, la conexión de procesos y el intercambio de

información a través de la web. Los servicios web están diseñados para ser esta

metodología de integración basada en Internet. Gracias a este nuevo modelo y su amplio

17 Personal Computers

Page 42: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

34

soporte a XML se garantiza la interoperabilidad y cooperación entre negocios en la

economía basada en Internet. Mientras que el enfoque de Internet fue en alguna ocasión

proveer un portal de información y capacidades transaccionales, ahora permitirá que los

individuos o los negocios tengan relaciones electrónicas con cualquiera, transformando la

complejidad en simplicidad a través de los servicios web.

1.3.2. ¿Qué son los servicios web?

Actualmente en Internet se pueden encontrar diferentes definiciones para el nuevo

modelo de los servicios web. Por ejemplo, “para IBM los servicios web son aplicaciones

modulares, auto-descritas, auto-contenidas que pueden ser combinadas con otros

servicios web para crear nuevos productos, procesos y cadenas de valor. Los servicios

web son aplicaciones de Internet que cumplen con una tarea específica, o conjunto de

tareas, que trabajan con otros servicios web en una forma interoperable para llevar a cabo

su parte de un proceso complejo o una transacción de negocio.” [RAJASEKHAURINI, 02]

Para Microsoft, “Un servicio web es una lógica de aplicación programable que puede ser

accedida utilizando protocolos de Internet. Los servicios web combinan los mejores

aspectos del desarrollo basado en componentes y la web. Como los componentes, los

servicios representan la funcionalidad de una caja negra que puede ser reutilizada sin

preocuparse de cómo es implementado el servicio. A diferencia de las tecnologías de

componentes, los servicios web no son accedidos a través de protocolos específicos de

modelos de objetos, tales como DCOM (Distributed Component Object Model), RMI

(Remote Method Invocation) de Java, o IIOP (Internet Inter-ORB Protocol) de CORBA.

Por el contrario, los servicios web son accedidos a través de protocolos web y formatos de

datos ubicuos, tales como HTTP y XML. Además, la interfaz de un servicio web está

definida estrictamente en términos de los mensajes que un Web Service acepta y genera.

Los consumidores de un servicio web pueden ser implementados en cualquier plataforma

y en cualquier lenguaje de programación, siempre y cuando puedan crear y consumir los

mensajes definidos en la interfaz del servicio” [MICROSOFT, 02]

Page 43: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

35

Las dos definiciones anteriores describen muy bien el concepto de los servicios web, y de

la misma forma encontraremos otras aproximaciones de otros proveedores, con igual

grado de precisión al referirse a este nuevo modelo de programación en la web. Sin

embargo, una definición globalmente aceptada no ha sido acordada aún entre todos los

participantes, por lo que es conveniente describir los servicios web de acuerdo con sus

características más importantes:

• Son componentes de software modulares, auto-contenidos, auto-descritos,

encapsulados y reutilizables.

• Están basados en estándares: Utilizan XML como formato de representación de la

información, SOAP 18 como protocolo para la invocación de métodos y el

intercambio de mensajes independientemente de la plataforma; WSDL19 para la

descripción en detalle de los servicios ofrecidos (interfaces), y UDDI 20 como

mecanismo de registro o directorio. Además, pueden ser publicados, localizados y

accedidos utilizando protocolos existentes, como TCP/IP21 y HTTP22.

• Son agregables, en el sentido de que pueden ser combinados con otros servicios

con el fin de crear procesos de negocio innovadores.

• Sus interfaces están definidas en términos de los mensajes que cada servicio

acepta y genera.

• Brindan la posibilidad de acceder los datos en cualquier momento y en cualquier

lugar.

• Permiten la integración de procesos y datos en el interior de las organizaciones, y

lo más importante, entre diferentes organizaciones, sin importar la plataforma en

que se encuentren y el lenguaje de programación que utilicen en sus ambientes de

desarrollo.

Más que una revolución, los servicios web son el resultado de una evolución tecnológica y

han sido construidos sobre enfoques y motivaciones en los que se ha venido trabajando

por años. Este nuevo modelo trae a las organizaciones múltiples beneficios:

18 Simple Object Access Protocol 19 Web Services Description Language 20 Universal Description, Discovery and Integration 21 Transfer Control Protocol / Internet Protocol

Page 44: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

36

• Independencia de la plataforma: Esto es una realidad gracias a que toda la

arquitectura de los servicios web está basada en estándares de Internet.

• Integración de Aplicaciones Empresariales de una manera más eficiente: en los

últimos años, esta integración sólo era posible a través de soluciones propietarias

y con un considerable costo. Además, se facilitará la integración de aplicaciones

B2B23.

• La reutilización de la funcionalidad permitirá el desarrollo de soluciones en un

menor tiempo.

• Permitirá a las organizaciones enfocarse en sus propias competencias, utilizando

servicios especializados de terceros cuando sea necesario.

• Libertad de seleccionar, dependiendo del enfoque de cada empresa, la mejor

plataforma tecnológica: Gracias a los mismos estándares de los servicios web,

esto no significará en ningún momento quedar aislado del resto de organizaciones.

• Simplicidad (comparados con otros modelos de desarrollo de aplicaciones

distribuidas como DCOM, RMI, EJB24 o CORBA)

• Pueden ser vistos como una forma de extender las aplicaciones a una mayor

audiencia y atraer nuevos negocios.

En general, “los servicios web tienen el potencial de transformar Internet, de un mundo de

información estática basada en presentación a uno programable basado en datos

dinámicos” [DELOITTE, 02]

1.3.3. Arquitectura de los servicios web

Como se menciona en [WEBCOLLAGE, 03], “a nivel arquitectónico, los servicios web

promueven una arquitectura orientada al servicio (SOA25) en tiempo real. Su arquitectura

22 HyperText Transfer Protocol 23 Business To Business 24 Enterprise Java Beans 25 SOA (Service-Oriented Architecture): Arquitectura conceptual para la implementación de aplicaciones distribuidas, dinámicas y débilmente acopladas. Es una forma de diseñar sistemas de software que provean servicios ya sea a aplicaciones de usuario final o a otros servicios a través

Page 45: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

37

imita el concepto de servicio del mundo físico. Esto es, el servicio se define una vez, y

luego se proporciona a múltiples usuarios. En el mundo del software, los publicadores [o

proveedores] de un servicio web, empaquetan un proceso de negocio como un ‘servicio

web’ compartible una vez, y luego la exponen a diferentes suscriptores [o consumidores]

para ser utilizada en múltiples contextos”.

Un servicio puede verse como una determinada funcionalidad o comportamiento de un

componente de software que puede ser utilizada por cualquier aplicación o inclusive otros

servicios, basado simplemente en un contrato expuesto a través de una interfaz.

En una arquitectura orientada al servicio se identifican las siguientes características

[STEVENS, 03]:

• El uso está basado exclusivamente en una interfaz publicada: Una interfaz

publicada es aquella que se encuentra expuesta en una red, que puede ser

utilizada por aplicaciones clientes heterogéneas (con características

desconocidas) y que por lo tanto su definición no puede ser cambiada tan

fácilmente como las interfaces públicas (que son generalmente utilizadas por

aplicaciones en un mismo sistema).

• La interfaz debe poder ser invocada a través de la red: Además de un cliente local,

un cliente en la red debe estar en capacidad de invocar el servicio expuesto por la

interfaz.

• La interoperabilidad es de vital importancia: Las interfaces expuestas deben poder

ser invocadas utilizando formatos de mensajes y protocolos de red que puedan ser

soportados por todos los clientes potenciales.

• Localización Dinámica: Un servicio debe poder ser localizado y utilizado de

manera dinámica (contrario a invocarlo de manera estática en el código de las

aplicaciones clientes). Esto implica la existencia de un tercero que pueda ser

utilizado para realizar búsquedas sobre los servicios necesitados.

de interfaces publicadas y localizables. Las arquitecturas orientadas al servicio no son una nueva noción, pero gracias a la aparición de los servicios web han tomado gran importancia.

Page 46: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

38

De acuerdo con las anteriores características, se pueden identificar tres roles principales

en una arquitectura orientada al servicio: proveedores de servicios, consumidores de

servicios e intermediarios (brokers)

Figura 9. Arquitectura Orientada al Servicio

Fuente: [IBM, 03]

Estos tres roles conforman los elementos principales de la arquitectura de los servicios

web, y de acuerdo con [MICROSOFT2, 02] sus características son:

• El proveedor es el nodo de la red que expone la funcionalidad que va a ser

compartida por otras aplicaciones. El modelo de los servicios web está basado en

la posibilidad de utilizar en cualquier aplicación, sin demasiada complejidad, la

funcionalidad o lógica de negocio ya existente en otras organizaciones. Estas

cumplen su rol de proveedores al seleccionar qué funcionalidad de sus

aplicaciones van a compartir al mundo exterior a través de la web mediante un

servicio web. Una empresa dedicada a la meteorología, por ejemplo, podría

implementar una aplicación que brinde predicciones del estado del clima para una

determinada ubicación geográfica, y a su vez crear un servicio web que exponga

métodos u operaciones que permitan a otras organizaciones interesadas utilizar la

lógica desarrollada para la consulta climatológica.

• El consumidor es un nodo de la red que contiene cualquier aplicación cliente que

se puede comunicar utilizando el protocolo HTTP (navegadores de Internet,

INTERMEDIARIO

PROVEEDORSERVICIOS

CONSUMIDOR SERVICIOS

Publicar

Consumir

Buscar

Page 47: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

39

aplicaciones de consola o de interfaz gráfica). Son estos consumidores o

aplicaciones cliente los que van a utilizar dentro de su lógica la funcionalidad

disponible en los servicios web de otras organizaciones, sin necesidad de volver a

reimplementarla. En el ejemplo anterior, una organización que necesite hacer

consultas del estado del clima (una empresa de aviación, por ejemplo) no estaría

en la necesidad de implementar toda la lógica compleja para determinar este tipo

de predicciones (no es su área de competencia tampoco). Simplemente tendría

que crear aplicaciones, que mediante estándares de Internet, puedan comunicarse

con los servicios web de las empresas dedicadas a la meteorología y utilizar la

funcionalidad expuesta a través de las interfaces de estos.

• El intermediario o broker es un nodo de la red que contiene un registro global de

los servicios web disponibles, similar a un directorio telefónico o una libreta de

direcciones. Es en este repositorio de enlaces o hipervínculos en el que los

consumidores harán búsquedas para encontrar el servicio web apropiado para la

aplicación que están desarrollando, y en el que los proveedores colocarán

(publicarán) información para que sus servicios web puedan ser ubicados.

Para poder garantizar la interacción o comunicación obligada entre los anteriores

participantes de la arquitectura de servicios web, era necesario acordar un conjunto de

estándares que garantizaran la interoperabilidad del nuevo modelo, sobre todo cuando los

diferentes roles pueden estar representados por aplicaciones o servicios implementados

con herramientas o sobre plataformas completamente heterogéneas.

1.3.4. Estándares de los servicios web

Básicamente son tres necesidades las que en principio necesitan ser soportadas por

estándares en la arquitectura de servicios web:

• Intercambio de datos y mensajes entre aplicaciones y servicios

• Descripción detallada de la funcionalidad de los servicios

• Registro público para la publicación y ubicación de servicios

Page 48: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

40

Las anteriores necesidades son suplidas respectivamente por tres estándares de la

industria, basados en XML: SOAP, WSDL y UDDI.

Para hacer uso de la funcionalidad de un servicio web, un consumidor debe hacer

llamados a las operaciones soportadas, con los argumentos apropiados, utilizando el

protocolo que el proveedor soporte. Para este fin, debe haber un común acuerdo en el

mecanismo que se va a utilizar para el formato de los mensajes a intercambiar entre el

consumidor y el servicio web: invocaciones al servicio y las respuestas de estas

invocaciones. El protocolo de acceso simple a objetos SOAP (Simple Object Access Protocol) ha sido diseñado para permitir la invocación de funciones a través de HTTP y

mediante XML, garantizando el intercambio de mensajes requerido entre los servicios web

y los consumidores, independiente de la plataforma y el lenguaje de programación

utilizado.

A su vez, los consumidores necesitan una descripción detallada de la funcionalidad

expuesta en un servicio web, con el fin de que puedan interactuar apropiadamente con

este: nombre de las operaciones definidas, argumentos que espera, tipos de datos de

estos argumentos, tipos de datos de los valores de retorno de las operaciones, protocolos

soportados, entre otros. En otras palabras, un consumidor necesita una definición

completa de la interfaz de un servicio web, para poder formatear adecuadamente los

mensajes SOAP que enviará al servicio. Para este fin, se creó el lenguaje de descripción

de servicios web WSDL (Web Services Description Language), que a través de

documentos XML se permite a los proveedores proporcionar una descripción rigurosa de

la interfaz de sus servicios web.

SOAP y WSDL garantizan la interacción entre proveedores y consumidores en la

arquitectura de los servicios web. Sin embargo, para facilitar las interacciones, los

negocios necesitan una solución práctica para publicar la descripción de sus servicios,

con el fin de que estos sean ubicados y utilizados por diferentes consumidores

interesados. Un directorio o registro global de servicios web, cumpliendo el rol de

intermediario, interactúa tanto con los proveedores como con los consumidores para

proporcionar esta funcionalidad.

Page 49: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

41

Los directorios especifican a los proveedores qué tipo de información es necesaria en la

publicación de servicios web (información de clasificación que permita categorizar los

diferentes servicios web disponibles, información de la ubicación física de estos en la

forma de URLs26, descripción textual de los servicios, entre otros).

Las principales interacciones entre el directorio y los consumidores son de carácter de

búsqueda. Los directorios facilitan la búsqueda dentro de su repositorio para permitir que

los consumidores puedan ubicar el servicio web apropiado y toda la información necesaria

que les permita utilizar su funcionalidad.

Esta funcionalidad del directorio global es posible mediante el almacenamiento de

registros UDDI. UDDI 27 es una especificación para registros de servicios web, que

contiene un conjunto público de implementaciones que permiten a los negocios registrar

información sobre los servicios que estos ofrecen con el fin de que otros negocios

(consumidores) puedan localizarlos.

Este conjunto de estándares dependientes de XML mencionados (SOAP, WSDL y UDDI)

brinda la infraestructura necesaria para una interacción real entre negocios a través de la

web mediante el uso de servicios web. Cada una de las especificaciones, no son

propietarias de un determinado proveedor, sino más bien un esfuerzo común de toda la

industria de la computación para brindar las bases necesarias para garantizar el

funcionamiento del nuevo modelo.

1.3.5. Los Servicios Web Interactivos

“Una de las promesas principales de los servicios web es permitir el ensamble de

aplicaciones web mediante el uso de componentes funcionales distribuidos sobre

múltiples ubicaciones. Sin embargo, el ensamble de aplicaciones web interactivas,

visuales con una apariencia cohesiva ha sido un reto.” [RESHEF, 02]

26 Uniform Resource Locator

Page 50: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

42

La iniciativa original de los servicios web está enfocada en la reutilización de la lógica de

negocio implementada en algún lugar de Internet. Por lo tanto, la lógica de presentación o

interfaz de usuario de las aplicaciones que utilicen los servicios web debe ser creada o

implementada manualmente por los desarrolladores. Este escenario descrito es

denominado en [WEBCOLLAGE, 03] “Servicios Web Programáticos”.

“Los servicios web interactivos exponen la capa de interfaz de usuario de una aplicación.

Exponen aplicaciones web con múltiples pasos [en las cuales una interacción constante

por parte del usuario es necesaria para realizar una función determinada (y no un simple

llamado)] creadas utilizando un conjunto de tecnologías que incluyen un servidor web, un

servidor de aplicaciones y un sistema de almacenamiento. Los suscriptores de servicios

web interactivos pueden incorporar estos procesos de negocio interactivos en sus

aplicaciones web, presentando a sus usuarios aplicaciones integradas de proveedores

externos. Mientras que una aplicación web típicamente contiene múltiples páginas que

interactúan con el usuario final, la lógica de navegación y flujo de datos son escondidas

del suscriptor [al que se le presenta esta interacción de múltiples pasos, como la

invocación de una simple operación del servicio web]” [WEBCOLLAGE, 03]

WSIA28 y WSRP29 son dos estándares en progreso bajo la coordinación de dos grupos de

trabajo de OASIS 30 que buscan simplificar la creación de aplicaciones interactivas y

distribuidas mediante el uso de servicios web interactivos, orientados a la presentación y a

la interfaz de usuario. Ambos nacieron de los esfuerzos iniciados a mediados del 2001

cuando “en paralelo múltiples desarrolladores de portales reconocieron la necesidad de

solucionar el problema común…de cómo acoplar servicios interactivos remotos (llamados

‘portlets’) en un portal sin necesidad de implementar programación personalizada para

cada servicio remoto” [RESHEF, 03]. La siguiente figura ilustra la comparación entre los

servicios web programáticos (orientados a los datos) y los servicios web interactivos

(orientados a la presentación).

27 Universal Description, Discovery and Integration of Web Services. (http://www.uddi.org) 28 Web Services for Interactive Applications 29 Web Services for Remote Portlets 30 Organization for the Advancement of Structured Information Standards (http://www.oasis-open.org)

Page 51: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

43

Figura 10. Servicios Web Orientados a la Presentación vs. Servicios Web Orientados a los

Datos Fuente: [RESHEF, 03]

En la figura anterior se ilustra como “al exponer lógica de negocio como interfaces XML,

los usuarios [de los servicios web] incurren en el esfuerzo de integrar la aplicación a sus

sitios,…lo cual es muy complejo para aplicaciones interactivas en las que el flujo de los

datos necesita varias páginas web debido a la necesidad de descomponer la aplicación

interactiva en funciones atómicas,…recomponer los llamados a la interfaz en un flujo de

datos y una presentación coherente,…actualizar las aplicaciones a medida que las

interfaces evolucionan para incorporar nueva funcionalidad…y por lo difícil de asegurarse

de que la calidad de la aplicación ensamblada cumple con los estándares de calidad del

proveedor” [RESHEF, 03] La estrategia de los servicios web interactivos se basa en “el

envío (a través de SOAP) de fragmentos de código HTML listos para utilizar, que el

XML HTML

Base de Datos

Capa de Negocio

Capa de Presentación

Base de Datos

Capa de Negocio

Capa de Presentación

Servicio Web ProgramáticoServicio Web Interactivo

Page 52: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

44

usuario puede embeber en su sitio web sin necesidad adicional de procesamiento”

[RESHEF, 03]. WSIA y WSRP proporcionan los mecanismos para implementar esta

alternativa de servicios web orientados a la presentación.

Tomando el ejemplo ilustrado en [RESHEF, 03], una herramienta de selección de

productos en línea pudiera ser publicada como un servicio web interactivo. Tal

herramienta recibe un identificador de catálogo (“portátiles”, por ejemplo) y le muestra al

usuario todos los productos en el catálogo seleccionado. El usuario puede navegar entre

los productos desplegados en esta aplicación, ver los detalles de un producto y

configurarlo de acuerdo con sus necesidades. Una vez el producto es seleccionado y

configurado, el identificador del producto es retornado como respuesta del servicio web.

Gracias a la implementación de esta herramienta como un servicio web interactivo, una

aplicación web cliente lo único que necesita realizar es embeber el módulo web o portlet

en alguna de sus páginas31 , realizar una invocación al servicio web enviando como

argumento el tipo de de catálogo deseado (“portátiles” en este caso), y esperar el

identificador del producto seleccionado y configurado por el usuario, y luego tomar este

identificador para algún flujo de proceso de negocio específico de la aplicación. Los

detalles de presentación e interacción descritos en el párrafo anterior, son transparentes

para esta aplicación web consumidora del servicio.

En cambio, si este servicio de selección y configuración de productos fuera implementado

como un servicio web programático, la aplicación web cliente no solo necesitaría realizar

múltiples llamados al servicio (recuperar la lista de productos del catálogo, obtener los

detalles de un producto determinado, conocer las características que pueden ser

personalizadas de un producto, obtener el identificador de un producto seleccionado con

una configuración personalizada, entre otras) sino que también debe preocuparse por el

orden en que realiza estos llamados y la creación de la interfaz de usuario con las

características de navegación mencionadas en el ejemplo. Como puede deducirse, este

31 Los detalles de cómo se embebe un portlet de un servicio web interactivo en una aplicación web dependerán en gran parte de las herramientas que terceros desarrollen tanto para la creación como para el consumo de este tipo de servicios.

Page 53: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

45

enfoque limitaría o dificultaría la integración del servicio de esta compañía en aplicaciones

web de sus socios de negocios.

Como se describe en [RESHEF, 03], WSIA y WSRP definen un conjunto de APIs que

permiten a los desarrolladores producir y consumir servicios web remotos interactivos,

cumpliendo los siguientes roles:

• Definen la noción de fragmentos de código de marcado válidos basados en

lenguajes de marcado existentes como HTML, XHTML, VoiceXML, etc.

• Proporcionan un conjunto de llamados estándares para permitir que un

consumidor solicite estos fragmentos de un proveedor de servicios web

interactivos.

• Proveen un conjunto de llamados que soportan el concepto de una interacción con

el usuario en múltiples pasos y la preservación del estado entre estos llamados.

Dada la amplitud y complejidad de estas especificaciones, se espera que los proveedores

se basen en herramientas de terceros para el desarrollo de servicios con WSIA y WSRP,

de la misma forma como se basan en este tipo de herramientas para el desarrollo de

servicios web sin entrar en los detalles de las especificaciones SOAP, WSDL o UDDI,

manteniendo de esta forma su enfoque en la implementación de la funcionalidad de sus

servicios.

Como se menciona también en [RESHEF, 03], “a pesar de que los estándares WSIA y

WSRP aún se encuentran en evolución32, diferentes proveedores ya están suministrando

diferentes soluciones prácticas, que se irán actualizando a medida que las

especificaciones maduren:

• Epicentric 33 y otros desarrolladores de portales se están concentrando en la

agregación de servicios web remotos en portales.

32 La primera versión de WSRP fue liberada como estándar en septiembre de 2003, y al momento de la elaboración de este documento, OASIS (http://www.oasis-open.org), el consorcio responsable de esta especificación, se encuentra trabajando en los detalles de las siguientes versiones. 33 http://www.epicentric.com

Page 54: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

46

• IBM 34 y otros desarrolladores de servidores de aplicación J2EE están

desarrollando herramientas que posibiliten la creación de servicios web desde cero

con el poder de WSIA y WSRP.

• WebCollage35 y otros integradores de aplicaciones se están enfocando en ayudar

a las compañías a empaquetar sus aplicaciones web existentes de tal forma que

puedan ser utilizadas remotamente tanto por sus clientes como por sus socios de

negocio”. De hecho, WebCollage Syndicator es una solución de servicios web

interactivos, diseñada para soportar el proceso completo de compartir aplicaciones

web interactivas y procesos de negocio con sus socios y aliados.

34 http://www.ibm.com 35 http://www.webcollage.com

Page 55: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

47

2. LOS SERVICIOS WEB DE E-LEARNING

2.1. MOTIVACION

Como pudo observarse en el marco teórico de este documento, la industria del e-Learning

ha hecho grandes esfuerzos en un proceso de estandarización alrededor de las

soluciones de aprendizaje, con el fin de que estas puedan ser descritas de una manera

uniforme y puedan ser utilizadas por los diferentes ambientes LMS. Fruto de esos

esfuerzos han sido la iniciativa de Aprendizaje Distribuido Avanzado ADL y el conjunto de

especificaciones que esta ha impulsado, agregadas en lo que hoy en día es SCORM.

SCORM ha sido diseñado para garantizar la interoperabilidad entre SCOs36 y sistemas

LMS, y proporcionar mecanismos estándares de distribución de estos objetos

instruccionales. De hecho, un SCO puede concebirse como la estandarización del

concepto de los Objetos de Aprendizaje Reutilizables (RLO37).

Resumiendo lo descrito en SCORM, el proceso completo de creación y distribución de

contenido instruccional (basado en SCOs) para llevar experiencias de aprendizaje a los

usuarios puede ser visto en la siguiente figura [EDUWORKS, 03]:

36 Shareable Content Object (Objeto de Contenido Compartible) 37 Reusable Learning Object

Page 56: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

48

Figura 11. Proceso de creación y distribución de SCOs

Como puede observarse en la figura, el modelo de referencia SCORM ha logrado

establecer un conjunto de recomendaciones en la forma como los elementos de una

solución de e-Learning pueden ser descritos, agregados y “empaquetados”, para que

puedan ser enviados a diferentes LMS, con el fin de que estos administren las

experiencias de aprendizaje de sus usuarios.

Revisando detalladamente el documento The SCORM Overview ([ADL, 01]), uno puede

describir la visión de la iniciativa ADL como la posibilidad de obtener experiencias de

aprendizaje cuyos componentes sean ensamblados en tiempo real, bajo demanda,

independientemente del lugar y del momento en que se necesiten. Esta visión concuerda

con las necesidades de la arquitectura de servicios web que esta tesis busca describir,

mencionada en la introducción de este documento.

El logro de esa visión, sería muy importante para los desarrolladores de soluciones de e-

Learning, pues les permitiría ofrecer experiencias de aprendizaje adaptables a las

necesidades de los usuarios, y por ende motivaría la utilización de mecanismos más

flexibles de distribución que permitieran llevar los elementos de esas experiencias hasta el

lugar donde los individuos lo necesiten y en el momento en que sea necesario.

SCO

SCO

SCO

SCO

Cada SCO es creado independientemente

Content Package

Varios SCO’s son empaquetados (en un

archivo ZIP, por ejemplo) junto con sus metadatos. Cada paquete contiene

un manifiesto XML

Los paquetes son distribuidos (enviados) a diferentes LMS

(SCORM-Conformant,) quienes se encargan de

administrar el contenido de estos en sus ambientes

LMS

LMS

Los usuarios (utilizando su navegador de Internet)

obtienen experiencias de aprendizaje administradas

por el LMS

Page 57: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

49

También, el logro de esa visión sería importante para todas las aplicaciones con

necesidades de e-Learning, además de los LMS, pues habilitaría un modelo en el que

puedan capturar el contexto de las necesidades de sus usuarios en determinado instante

y construir la experiencia instruccional adecuada.

Si bien es importante resaltar la uniformidad en la descripción de soluciones de e-

Learning que se ha logrado gracias a las recomendaciones de SCORM, también es

conveniente mencionar que el mecanismo de distribución existente (descrito en la figura

8) dista mucho de cumplir la visión ADL debido a la falta de flexibilidad en el

empaquetamiento y distribución de soluciones de e-Learning: los proveedores de estas

soluciones empaquetan una experiencia de aprendizaje de acuerdo con un contexto o

necesidad en particular; y la distribución del paquete se realiza a través de mecanismos

convencionales como el envío de un archivo adjunto en un mensaje de correo electrónico,

o a través de una descarga de una página web, por ejemplo. A pesar de que la detallada

descripción de los recursos de aprendizaje a través de un conjunto de metadatos permite

su reutilización en múltiples contextos, no existe el concepto de un paquete que se genere

automáticamente con los elementos instruccionales necesarios por un estudiante o una

organización en particular.

Otro punto importante que se puede mencionar del análisis hecho de SCORM en el marco

teórico, es su fuerte tendencia hacia el aprendizaje basado en la web a través de un LMS.

Si bien es cierto que los LMS han permitido la administración de las experiencias de

aprendizaje de los empleados de una organización, es importante que al plantear un

nuevo modelo de distribución flexible de soluciones de e-Learning, este permita brindar

instrucción a los individuos, independiente de la existencia o no de un LMS en su

organización. Los LMS deben verse simplemente, para los propósitos de esta tesis, como

un tipo de aplicación con necesidades de e-Learning que se beneficiaría del nuevo

modelo. Para estos, incluso, también existe la problemática de adaptar la experiencia de

aprendizaje de acuerdo con las necesidades de sus usuarios. Es cierto, que un LMS

puede presentar diferentes alternativas de e-Learning a sus usuarios, pero dentro de las

posibilidades de contenido que se encuentren cargadas en su repositorio interno. Si en

algún lugar de Internet, algún proveedor ha desarrollado una solución de e-Learning de

Page 58: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

50

particular interés para alguno de los estudiantes de los LMS, este no podrá tener acceso a

los recursos de esta debido a que el paquete no ha sido enviado y cargado en el LMS.

Por otro lado, recogiendo también lo analizado en el marco teórico, los servicios web han

probado su eficiencia en la integración de aplicaciones heterogéneas en Internet, gracias

a los diferentes estándares sobre los cuales se ha construido su arquitectura, una

arquitectura orientada al servicio en la que las empresas implementan una determinada

lógica de negocio, para que pueda ser utilizada tantas veces como sea necesaria por

otras aplicaciones en Internet. Este concepto probado de reutilización sería muy útil para

los proveedores de e-Learning: desarrollar e implementar sus soluciones, y que estas

puedan ser reutilizadas, preferiblemente de múltiples formas posibles, por diferentes

sistemas a través de la web, integrando de esta forma los servicios de e-Learning a su

propia lógica de negocio de manera transparente para el usuario final de las aplicaciones.

Resumiendo todo lo mencionado en los párrafos anteriores, en el nuevo enfoque deseado

por esta tesis para el logro de una arquitectura que permita la creación de soluciones

innovadoras de e-Learning en la que los usuarios obtengan experiencias de aprendizaje

ubicuas, dinámicas, transparentes y adaptadas a sus necesidades, es importante:

• Aprovechar las recomendaciones del modelo de contenido de SCORM, que

permiten describir de una manera estándar cualquier solución de e-Learning, sin

importar la cantidad ni el tipo de recursos que la conformen, así como la

reutilización de los recursos en diferentes contextos.

• Diseñar una arquitectura basada en servicios web, con el fin de que se posibiliten

mecanismos más flexibles de distribución de las soluciones de e-Learning, así

como su integración a diferentes aplicaciones interesadas en estos servicios.

El objeto de las siguientes secciones de este capítulo será la descripción de las

características esta nueva arquitectura propuesta de servicios web de e-Learning.

Page 59: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

51

2.2. DEL PAQUETE DE CONTENIDO SCORM AL SERVICIO WEB

¿Qué elementos actuales dificultan un real dinamismo en la forma en que las experiencias

de aprendizaje son construidas? Básicamente, la forma estática en que los paquetes son

ensamblados antes de ser distribuidos, y la no existencia de mecanismos de distribución

flexibles de las soluciones de e-Learning, que permitan, por ejemplo, integrar un proceso

de ensamblaje bajo demanda dentro de alguna aplicación destinada para tal fin.

Desde el punto de vista de SCORM, no importa que un paquete de contenido exista en

algún lugar de Internet, si una persona tiene una necesidad de aprendizaje que pueda ser

suplida por el contenido de ese paquete, no podrá satisfacerla hasta que de alguna forma

el archivo llegue a su organización, y sea cargado dentro de un LMS en el que esa

persona tenga un perfil de estudiante. Una posibilidad de aprendizaje en tiempo real al

instante en que surge la necesidad, bajo estas condiciones, no es posible.

Adicionalmente, si la necesidad de aprendizaje de esa persona puede ser satisfecha sólo

con una parte de ese paquete, o debe ser complementada con otra porción de una

solución de otro proveedor, no habrá otra alternativa diferente a obtener dos paquetes

SCORM completos.

¿Qué elementos adicionales serían necesarios para lograr un acercamiento a esa

arquitectura de e-Learning distribuido necesitada? La propuesta de esta tesis considera la

introducción de un modelo basado en servicios web como mecanismo de distribución de

las soluciones de e-Learning, reemplazando la distribución física de un paquete de

contenido de SCORM.

En este nuevo modelo propuesto, las soluciones no serían más distribuidas como

paquetes de contenido, sino a través de interfaces expuestas en un servicio web XML;

interfaces que permitan construir soluciones personalizadas bajo demanda y en tiempo

real, utilizando todos los recursos u objetos (SCOs) que hacen parte de la solución

original, o sólo un subconjunto de estos de acuerdo a como sea necesario por la

aplicación cliente o el estudiante.

Page 60: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

52

Con un enfoque orientado a las soluciones de e-Learning vistas como servicios, que

puedan ser utilizados por una gran variedad aplicaciones, más que como un paquete

físico y destinado exclusivamente a un LMS, se puede dar una gran aproximación en la

idea de garantizar una instrucción bajo demanda y con independencia de lugar y de

tiempo.

La estrategia de los desarrolladores de soluciones de e-Learning evolucionaría de un

proceso de empaquetar un conjunto de objetos instruccionales para ser distribuidos

manualmente a diferentes LMS, a uno en el que a través de la implementación de un

servicio web puedan brindar interfaces que permitan el acceso a los recursos

instruccionales de la solución creada desde una gran variedad de aplicaciones, gracias al

conjunto de estándares que dan soporte a este nuevo modelo. Por ejemplo, en este

nuevo enfoque, los cursos dejan de ser paquetes físicos distribuibles y se convierten en

servicios invocables a través de Internet.

Figura 12. Evolución del paquete de contenido SCORM al Servicio Web

La nueva propuesta, como puede observarse en la figura 12, se construye sobre el estado

actual de estandarización del e-Learning, el cual ha permitido a través de SCORM que los

proveedores de soluciones de aprendizaje puedan describir uniformemente el contenido

de estas, su estructura y su organización. El paso siguiente, una vez los metadatos de

una solución estén construidos, sería la implementación de interfaces que interactúen con

SCO

SCO

SCO

SCO

Content Package

SCO

SCO

SCO

SCO

Distribución de soluciones de e-Learning como Paquetes de

Contenidos SCORM

Distribución de soluciones de e-Learning como Servicios Web

Servicio

Web

Page 61: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

53

ellos y con los recursos que describen, para que puedan ser comunicados o transferidos a

una aplicación cualquiera que utilice o invoque estas interfaces y que manifieste su

interés por una solución, de e-Learning. Es importante por lo tanto garantizar la

interoperabilidad con estas aplicaciones clientes de los servicios de aprendizaje,

independientemente de la plataforma en la que estén desarrolladas. Afortunadamente, la

misma arquitectura de los servicios web está pensada para ello.

2.3. BENEFICIOS

La implementación de soluciones de e-Learning como servicios web abre las posibilidades

de nuevos modelos de negocio para sus proveedores:

• e-Learning bajo Demanda: en donde los recursos de aprendizaje sólo son

utilizados el tiempo que sea necesario, y en la cantidad necesaria (sólo se

utilizarían los recursos de una solución que se consideren pertinentes), y en los

escenarios en donde exista una remuneración por el uso de estos servicios, los

proveedores podrán cobrar de acuerdo con estas tasas de uso de los mismos.

• e-Learning por suscripción: Los proveedores podrán manejar esquemas de

licenciamiento de sus soluciones de una manera mucho más dinámica,

permitiéndoles cobrar una cuota diaria, mensual, anual, etc., de suscripción a sus

servicios de acuerdo con las necesidades de sus clientes.

• Soluciones de e-Learning globales. Tradicionalmente, los proveedores de

soluciones de e-Learning proporcionan sus servicios a un conjunto limitado de

clientes. Con los servicios web de e-Learning, se abre la posibilidad para que

cualquier aplicación en Internet esté en capacidad de hacer uso de la experiencia

de aprendizaje proporcionada. Para que esto sea posible, una aplicación debe

estar en capacidad de localizar y utilizar dinámicamente un determinado servicio

web (una solución de e-Learning en este caso). Para lograr esta funcionalidad, los

desarrolladores de soluciones de e-Learning deberán previamente registrar sus

Page 62: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

54

servicios en algún directorio público de servicios web en Internet, que pueda ser

consultado por una aplicación cliente.

Figura 13. Soluciones globales de e-Learning

El éxito de este escenario, para servicios de e-Learning no gratuitos, depende en

gran parte del establecimiento de garantías de comercio electrónico sobre la

infraestructura de servicios web, de la misma forma como se ha ido estableciendo

en las aplicaciones web, las cuales no son muy claras en el momento.

• Soluciones de e-Learning en cualquier dispositivo: Considerando el hecho de

que los servicios web están basados en estándares de Internet, un nuevo

beneficio surge: la posibilidad de llevar la misma experiencia de aprendizaje a

diferentes tipos de dispositivos (PC, Portátil, PDA, Celular, etc.). Y además de

múltiples tipos de dispositivos clientes, las experiencias de aprendizaje también

podrán ser integradas en una amplia variedad de aplicaciones, donde los LMS son

sólo una alternativa que se tiene, y no la única opción. Aunque es preciso

Macroeconomía

Matemáticas I

Teoría de Sistemas

Universidad que expone sus cursos e-Learning como servicios web en Internet

SOAP

Publicación de servicios web en directorios

Búsqueda de algún curso de Teoría de Sistemas

Descripción de la interfaz

SOAP

Aprendizaje Bajo Demanda

SOAP

SOAP

Page 63: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

55

mencionar que si bien la tecnología de los servicios web permite esta

independencia de plataforma, las soluciones también deben ser desarrolladas con

esta misma motivación (por ejemplo, una página web que requiera Javascript ya

limita la variedad de navegadores que pueda ser utilizado).

Una inquietud puede surgir a raíz de esta implementación de servicios web para las

soluciones de e-Learning: ¿Qué tan complicado puede ser transformar el concepto físico

del paquete de contenido SCORM y llevarlo al concepto de una interfaz publicada que

ofrece un conjunto de operaciones específicas? Afortunadamente, esta evolución en la

manera de acceder a los recursos de una solución de e-Learning no implica grandes

trastornos. Si en algo SCORM ha dado un gran paso, es en la forma como ha

estandarizado los mecanismos para describir con metadatos cada uno de los recursos de

una experiencia de aprendizaje, para describir la estructura de navegación entre recursos

recomendada para el usuario, y la manera como se agregan diferentes recursos para

conformar una misma solución. Y lo más importante aún, estos mecanismos ya están

basados en representaciones XML, el mismo formato en que se deben codificar las

respuestas de un servicio web. Por lo tanto, los elementos que antes se representaban

exclusivamente como documentos XML físicos en el interior de un paquete de contenido

SCORM, ahora podrán estar representados como respuestas de los métodos de la

interfaz publicada del servicio.

Las anteriores son las consideraciones generales de esta nueva arquitectura distribuida

de aprendizaje propuesta basada en servicios web. A continuación se describen los

detalles particulares de la misma.

2.4. CARACTERISTICAS DE UNA ARQUITECTURA DE SERVICIOS WEB DE E-LEARNING

Como se describió en el marco teórico, en una arquitectura orientada al servicio como la

propuesta, se pueden identificar tres roles principales: los proveedores de servicios, los

consumidores o clientes de esos servicios, y un intermediario que proporcione servicios

de directorio.

Page 64: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

56

2.4.1. Los proveedores de soluciones de e-Learning como servicios Web

Dentro de este rol se clasifican todas aquellas organizaciones especializadas en el

desarrollo de soluciones de e-Learning, incluyendo a instituciones educativas como las

universidades.

¿Cuáles son sus requerimientos para ofrecer soluciones de e-Learning como servicios

web?

Como se mencionó anteriormente, esta propuesta se basa en la estandarización existente

alrededor del e-Learning. Por lo tanto, para un curso creado, por ejemplo, será necesario

generar en primera instancia todos los metadatos necesarios que lo describan

completamente (unidades, capítulos, lecciones, orden de estos elementos, palabras

claves, etc.) de acuerdo con las especificaciones de SCORM. ¿Cómo son almacenados

estos metadatos? Es decisión propia de cada proveedor: como documentos XML en

disco, o como registros en tablas de una base de datos, por ejemplo. Lo importante es

que el servicio web pueda construir los metadatos XML en tiempo de ejecución a partir de

esa información almacenada y pueda comunicarlos a las aplicaciones que los necesiten

para conocer el contenido de la solución. La primera alternativa, guardar los documentos

XML de los metadatos en disco, es la más sencilla pues proporciona al servicio el

documento completo tal como debe ser transmitido a una aplicación: sólo es necesario

leer un archivo y transferir esa información.

La segunda preocupación se encuentra alrededor de la funcionalidad exacta que deberá

ser expuesta a través del servicio Web: la interfaz misma del servicio. ¿Cuáles son las

operaciones que deberán estar disponibles?

A continuación se describe el conjunto de operaciones que harían parte del API de los

servicios web de e-Learning. En ella existirá, entre otras, un conjunto de operaciones

básicas que permitan replicar la funcionalidad ofrecida inicialmente por el paquete de

contenido SCORM:

Page 65: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

57

• getTitle: Obtiene el título de la solución de e-Learning creada

• getDescription: Descripción de la solución de aprendizaje.

• getKeywords: Esta operación permite recuperar las palabras claves generales

asociadas con el contenido de la solución de aprendizaje. Estas palabras claves

son útiles para ser indexadas por terceros y permitir la ubicación dinámica de

servicios de e-Learning.

• getManifest:: Esta operación permite consultar el manifiesto SCORM de una

solución (servicio web) de e-Learning. Como se describió anteriormente, con este

documento XML, una aplicación puede conocer una descripción detallada del

conjunto de recursos instruccionales (SCOs y Assets) que hacen parte de la

solución y la organización de estos dentro de un esquema de navegación

recomendado, entre otros.

• getResources: Permite obtener un listado descriptivo de los recursos

instruccionales que hacen parte del servicio web con su identificador, nombre y

descripción.

• getResourceMetadata: Su objetivo es consultar los metadatos XML (de acuerdo

con el modelo de información de SCORM) de un recurso instruccional

perteneciente a la solución. Para que el servicio web conozca cuál de todos los

recursos pertenecientes a la solución es el que debe ser descrito, su identificador

debe ser pasado como argumento en la invocación de la operación. Este

identificador puede conocerse en el manifiesto de la solución (recuperado con la

operación getManifest) o en la lista descriptiva de recursos (brindada en el método

getResources).

• getFiles: Cuando una aplicación desea una experiencia instruccional, debe

interactuar con uno o varios de los recursos instruccionales del servicio de e-

Learning. Cada uno de estos recursos tiene asociado uno o más archivos

(imágenes, animaciones, páginas HTML, ejecutables, etc.) Esta operación permite

descargar todos los archivos asociados a un recurso instruccional en particular

(cuyo identificador debe ser pasado como parámetro), con el fin de que el

“paquete” (o una parte de este) pueda ser ensamblado bajo demanda, o

simplemente para que el usuario interactúe con el recurso instruccional de forma

desconectada o fuera de línea. Existen esfuerzos en la industria para permitir que

Page 66: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

58

junto a un mensaje XML de SOAP se puedan enviar elementos binarios (similar al

envío de archivos adjuntos en un mensaje de correo electrónico). Estas iniciativas

son SOAP Attachment Feature, coordinada por el W3C38, y DIME (Direct Internet

Message Encapsulation), administrada por el IETF39.

Los manifiestos o metadatos XML de SCORM también permiten referencias a

objetos remotos y no solamente locales, con el fin de que las aplicaciones, si lo

desean, puedan hacer uso de recursos que se encuentran en el servidor del

proveedor de la solución, sin necesidad de ser descargados localmente. Es decir,

se posibilita un escenario de utilización de la solución de e-Learning en línea, y no

sólo off-line (la lograda al descargar localmente los recursos y sus metadatos).

Como puede observarse, este tipo de servicios (a través de las operaciones mostradas)

está orientado principalmente a la provisión de contenidos (expresados como recursos

instruccionales) que se encuentran descritos principalmente por elementos del modelo de

contenido de SCORM (CAM40). Es precisamente un conjunto de recursos instruccionales

lo que se encuentra guardado en un paquete de contenido de SCORM, mientras que los

componentes restantes de evaluación y colaboración, que permiten crear un ambiente de

aprendizaje coherente, son generalmente responsabilidades delegadas a los LMS.

Por lo tanto, debido a que el contenido no es suficiente en muchas propuestas

instruccionales y a que el enfoque de la arquitectura propuesta por esta tesis busca ser

independiente del uso o no de un LMS, un proveedor podría crear adicionalmente

servicios web de evaluación y/o colaboración con el fin de extender el servicio web de

aprendizaje más allá de la funcionalidad ofrecida hoy en día por el paquete de contenido

SCORM, y de esta forma proporcionar los elementos básicos con los que un tercero

pudiera construir un ambiente de aprendizaje ajustado a sus necesidades.

Sin embargo, los servicios web de evaluaciones y de colaboración tienen una

característica en particular, que los diferencia de los servicios web de contenido descritos:

38 World Wide Web Consortium (http://www.w3c.org) 39 Internet Engineering Task Force (http://www.ietf.org) 40 Content Aggregation Model

Page 67: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

59

la interactividad requerida por el usuario en todo el proceso para realizar una tarea en

particular.

Por ejemplo, para el departamento de recursos humanos de una empresa, su interés en el

uso de un servicio web de evaluaciones es quizás la obtención únicamente del resultado

de dicha prueba para verificar si sus empleados requieren entrenamiento especializado o

no en el tema de la evaluación. Pero para obtener el resultado, el estudiante debe analizar

todas las preguntas, interactuar con los diferentes tipos de selección de la respuesta

adecuada, revisar nuevamente las preguntas contestadas en las que existan dudas, etc.,

y al final de esta interacción es que podrá conocerse el desempeño del estudiante en la

prueba. En otro escenario, para colocar un mensaje en un foro de discusión, el estudiante

debe revisar los temas de conversación ya creados, para decidir si continúa una

conversación con su mensaje a publicar o crea una nueva conversación. Desde el punto

de vista del servidor del foro, la única información que necesita es un identificador de una

conversación y el mensaje a publicar.

Por la interactividad implícita en ellos, exponer servicios de evaluaciones o colaboración

como servicios web programáticos u orientados a los datos requeriría de una semántica

compleja de interacción de las aplicaciones con los servicios, cuya implementación, así

como la creación de la interfaz de usuario, sería responsabilidad de los consumidores de

los servicios web. Por lo tanto, para este tipo de funcionalidad, es recomendable la

implementación de servicios web interactivos, sobre todo cuando las especificaciones

WSIA y WSRP alcancen el grado de madurez y penetración necesario, y penetren en el

mercado las herramientas que faciliten la creación e integración de este tipo de servicios.

En este escenario propuesto, los proveedores desarrollarían aplicaciones web de

evaluación y colaboración que desean compartir, y luego mediante el uso de herramientas

de terceros que faciliten el uso de WSIA y WSRP (como Syndicator de WebCollage41), las

habilitarían como servicios interactivos remotos o portlets.

41 http://www.webcollage.com

Page 68: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

60

Si un proveedor de servicios web de e-Learning implementa un portlet de evaluaciones,

una organización podría acoplarlo a su aplicación web interna, podría realizar una

invocación al servicio (un llamado para tomar una evaluación en particular) y obtendría

como retorno el resultado de la evaluación, sin necesidad de crear código para la interfaz

de la evaluación ni para la administración de la interacción con el usuario, las cuales son

responsabilidad de WSIA y WSRP (y del proveedor de la evaluación).

Figura 14. Ejemplo del uso de un servicio web interativo de evaluaciones

Al concebir evaluaciones o herramientas colaborativas como servicios web, es importante

pensar en la interfaz de los mismos. Tal como se ha mencionado, la interacción es

transparente a la aplicación cliente, pero esta debe conocer que tipo de respuesta retorna

un servicio posterior a su invocación. Por ejemplo, para un servicio web interactivo de

evaluación, la respuesta podría ser simplemente el puntaje total obtenido, o el porcentaje

de aprobación de cada una de las diferentes habilidades evaluadas con el fin de calcular

un puntaje ponderado, entre otras. Si cada proveedor de e-Learning proporciona una

interfaz diferente en un servicio web interactivo de evaluación, el dinamismo en la

integración de estos servicios en aplicaciones clientes independientes del proveedor se

vería limitado. Esta debería ser una de las próximas motivaciones de la industria del e-

Learning: definir estándares para representar resultados de evaluación, o para describir

actividades colaborativas, hasta donde sea posible, de la misma forma como se ha

avanzado con SCORM en la estandarización de los metadatos descriptivos del contenido

de e-Learning.

Servicio Web

Interactivo de

Evaluación

Aplicación Web de Evaluación del Proveedor

Aplicación Web Cliente

Page 69: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

61

Sobre los simuladores en el e-Learning, el cuarto posible componente de las soluciones

de aprendizaje mencionado en el marco teórico de este documento, estos pueden ser

proporcionados por un proveedor como servicio con cualquiera de las dos estrategias

analizadas:

• Como un objeto o recurso instruccional adicional, al que hay que crearle sus

metadatos XML de SCORM para que pueda ser distribuido a través de la interfaz

descrita. Esta es una aproximación útil para simuladores implementados en la

forma de archivos ejecutables o animaciones de flash independientes (stand-

alone), por ejemplo.

• Como un servicio web interactivo, útil sobre todo si se ha desarrollado previamente

el simulador como una aplicación web.

Finalmente, es importante mencionar que la interoperabilidad entre los servicios web

creados por un proveedor y cualquier aplicación consumidora en Internet, independiente

de la plataforma de implementación tanto de servicios como de aplicaciones, depende

mucho de las herramientas utilizadas para la generación del material de e-Learning y no

de los mismos servicios.

En el caso de los servicios web de e-Learning, al estar basados en estándares de la

Industria como HTTP, SOAP, WSDL y WSRP, se garantiza la comunicación entre

aplicaciones y servicios. Pero si el material de e-Learning desarrollado, sobre todo el

contenido y los simuladores, depende de una plataforma tecnológica en particular o de

herramientas de uso específicas, esta dependencia se va a trasladar también a la misma

experiencia de aprendizaje (es decir, si no se cumplen las restricciones tecnológicas, no

existirá posibilidad de utilizar los recursos creados). Esta limitante se puede apreciar

claramente con un ejemplo: Si uno de los objetos instruccionales que hacen parte de un

servicio web de e-Learning es un archivo ejecutable desarrollado en el sistema operativo

Windows, una aplicación consumidora desarrollada sobre la plataforma Linux podrá

solicitarlo y descargarlo (porque la interfaz del servicio si es interoperable), pero no podrá

ejecutar el archivo localmente y por lo tanto se impediría la experiencia de aprendizaje.

Estas restricciones técnicas deben ser especificadas por los proveedores en los

Page 70: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

62

metadatos SCORM de cada recurso, con el fin de que las aplicaciones consumidoras solo

tengan acceso al material de e-Learning con el que realmente pueden interactuar.

2.4.2. Los intermediarios o servicios de directorio

Como ya se ha descrito, en una arquitectura orientada al servicio es necesario un

catálogo o directorio global, en que las aplicaciones puedan consultar quiénes son los

proveedores que ofrecen servicios web de e-Learning que satisfagan las necesidades de

aprendizaje de sus usuarios.

Es en este servicio de directorio en el que los proveedores deberán publicar información

sobre sus servicios Web, de tal forma que puedan ser encontrados de manera dinámica

por las aplicaciones de e-Learning.

Como la propuesta de este artículo está basada en el estándar de los servicios web, la

primera alternativa es utilizar los servidores o registros UDDI para guardar esta

información. Al fin y al cabo, desde el surgimiento de los servicios web, los nodos UDDI

nacieron como los proveedores de los servicios de directorio para estos: proporcionar los

medios para que las aplicaciones puedan localizar dinámicamente negocios y servicios

ofrecidos por esos negocios.

Es necesario entonces analizar la forma como trabaja UDDI para verificar si estos

repositorios son suficientes para el escenario particular de los servicios web de e-Learning

tratados en este documento. En [BELLWOOD, 2002] se describe brevemente cómo un

registro UDDI es poblado con datos y cómo los clientes descubren y utilizan esta

información. En la siguiente figura se ilustra este proceso.

Page 71: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

63

Figura 15. ¿Cómo funciona UDDI?

Fuente: [BELLWOOD, 02] Como se muestra en la figura 15, la publicación de información útil comienza cuando las

compañías de software o cuerpos de estándares definen especificaciones relevantes a

una industria o negocio, las cuales son conocidas como modelos técnicos o tModel. Un

tModel, al cual se le asigna un identificador único, brinda una descripción del tipo de

interfaz que un servicio web expone o implementa. Para el escenario de los servicios web

de e-Learning descritos, el primer paso sería el común acuerdo de la interfaz que estos

servicios implementarían, y a este tipo de interfaz se le asignaría un tModel. A través de

estos tModels se puede conocer qué otros negocios brindan servicios web similares.

REGISTROS UDDI

Los negocios pueblan el registro con descripciones de los servicios que

proporcionan

UDDI asigna un identificador único universal (UUID) a cada tModel y a

cada registro de negocio y almacena dicho registro

1

2 3

Aplicaciones de negocio o motores de búsqueda consultan el registro para descubrir servicios de otras

compañías

Los negocios utilizan esta información para facilitar la

integración entre si sobre la web

4

5

Las compañías de software, cuerpos de estándares, y programadores

llenan el registro con descripciones de diferentes tModels (modelos

técnicos)

Page 72: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

64

En el segundo paso ilustrado, las compañías registran descripciones de sus negocios y de

los servicios que estos ofrecen. A su vez estos servicios son relacionados con uno o más

tModels definidos en el registro. La forma como un registro administra todo este conjunto

de entidades (negocios y servicios) es a través de la asignación de identificadores

universales únicos (UUID: Universal Unique ID) como se ilustra en el tercer paso.

En el cuarto paso, las aplicaciones interesadas consultan el registro para descubrir

servicios de interés. El conocimiento del identificador asignado a un tModel es importante

para esta operación en la mayoría de los casos, pues permite consultar qué negocios

ofrecen un determinado tipo de servicio (tipo de interfaz). A su vez, otros negocios pueden

invocar estos servicios registrados, permitiendo una integración simple o dinámica como

se muestra en el quinto paso.

Sin embargo, UDDI también presenta deficiencias. Como se menciona en [TARQUINO,

03], “UDDI está diseñado como un registro, no como un repositorio. Muchos de los

atributos de un servicio [web] registrado [en UDDI] son solamente URLs que apuntan al

sitio web de la compañía que los implementa. Las características y documentación

adicional de los servicios se encuentran en las URL pero UDDI no proporciona

mecanismos para obtener información de ellas aparte de su localización. La búsqueda

sobre estos documentos adicionales se considera una búsqueda extendida”.

Por ejemplo, para un servicio web de e-Learning, en UDDI estaría la información del

negocio que lo proporciona, información técnica sobre el servicio (URL en que puede ser

accedido, tModel asignado, entre otros), pero no estarían presentes todos los metadatos

adicionales que describen completamente el servicio web (requerimientos técnicos,

objetivos instruccionales, metadatos de cada uno de sus recursos, nivel de enseñanza,

entre otros). Para obtener estos metadatos, es necesario interactuar con la interfaz del

servicio web, invocando una o varias de sus operaciones. Por lo tanto, se puede concluir

que con la información publicada en UDDI, se podría conocer qué negocios ofrecen

servicios web de e-Learning, pero no se puede obtener una información precisa de cuáles

de esos servicios se ajustan a las necesidades particulares de aprendizaje de una

aplicación o un estudiante.

Page 73: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

65

Por lo tanto, como UDDI no brinda la información requerida en un directorio de servicios

de aprendizaje, una posible solución es la de contar con un repositorio o directorio

especializado en servicios web de e-Learning (completamente independiente de UDDI),

que brinde mayor eficiencia o efectividad para este tipo de aplicaciones que desean

buscar solución a las necesidades de aprendizaje de sus usuarios. En este sentido,

HEKATE 42 , que también tiene una visión de repositorios de objetos instruccionales

distribuidos mediante servicios web, ha estado trabajando en el 2003 en el proyecto “A Web Services Clearing House”, un directorio abierto de servicios web orientados al

aprendizaje y entrenamiento, no como reemplazo o competencia a los estándares

actuales sino como extensión a los mismos.

Otra posible solución es la descrita en [TARQUINO, 03], en donde se describe la

necesidad de “Servicios de Valor Agregado” para poder realizar búsquedas efectivas de

servicios web, que incluyan por ejemplo la posibilidad de encontrar servicios por palabras

claves. Motores de búsqueda sobre UDDI de este tipo pueden mejorar la calidad de

información recopilada sobre servicios web de e-Learning registrados. Este servicio de

valor agregado del motor de búsqueda estaría implementado como una capa adicional

que utiliza a UDDI como fuente de información. Su diseño es “similar al de los robots que

utilizan los motores de búsqueda como Google43 para descargar el contenido de Internet

que luego indexan”.

Para el escenario de servicios web de e-Learning, la idea del uso de un motor de

búsqueda sobre UDDI especializado en la indexación de metadatos SCORM con el fin de

permitir consultas más avanzadas relacionadas con las soluciones de aprendizaje

existentes, permitiría el descubrimiento de servicios de e-Learning que se ajusten con

mayor precisión a las necesidades de los usuarios. La siguiente figura ilustra el rol de un

servicio de valor agregado sobre UDDI (motor de búsqueda especializado) para facilitar la

ubicación dinámica de servicios web de e-Learning, extendiendo el modelo de utilización

de UDDI descrito anteriormente.

42 Higher Education Knowledge And Technology Exchange (http://www.hekate.org) 43 http://www.google.com

Page 74: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

66

Figura 16. Uso de un motor de búsqueda sobre UDDI especializado para facilitar la ubicación de servicios web de e-Learning

Al igual que los registros UDDI, la interfaz de consultas proporcionada por el motor de

búsqueda debe ser implementada como un servicio web para permitir la ubicación

dinámica de servicios directamente desde las aplicaciones y mantener la arquitectura

original de los servicios web. El administrador del servicio de directorio podría desarrollar

adicionalmente una aplicación web para facilitar las búsquedas directas de los usuarios a

través de un navegador.

De la figura 16, debe entenderse la necesidad de un registro público de servicios web,

sobre el cual el motor de búsqueda ubicaría servicios de e-Learning y descargaría su

información para indexarla localmente, mas no una dependencia exclusiva sobre UDDI.

REGISTRO PUBLICO DE SERVICIOS (UDDI)

Los proveedores registran sus servicios web de e-Learning en un

nodo UDDI

1

2

3

Periódicamente, el motor de búsqueda consulta el registro UDDI, para conocer cuáles servicios web de e-Learning se encuentran publicados, interactúa con la interfaz de estos servicios de e-Learning encontrados, y descarga e indexa los metadatos y manifiestos SCORM de estos servicios

Servicios Web de e-Learning

Aplicaciones consultan el servicio del motor de búsqueda para descubrir servicios de e-Learning de interés

MOTOR DE BUSQUEDA ESPECIALIZADO

Page 75: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

67

UDDI es la tecnología actual de directorio de servicios web en Internet, y por lo tanto es el

registro utilizado. Pero si en el futuro se evoluciona hacia otro tipo de registros públicos, el

concepto del motor de búsqueda como un valor agregado sobre ese tipo de registro sigue

teniendo validez (mientras ese registro no brinde toda la información descriptiva

necesaria).

Como se describirá en la sección 3.1.2., la interfaz propuesta para el servicio web del

directorio de servicios de e-Learning, consta de una sola operación (findServices) que se

encarga de consultar qué servicios web satisfacen un conjunto de palabras claves, las

cuales son pasadas como argumento en la invocación de la operación. Sin embargo, este

primer API sencillo propuesto podría especializarse con nuevas operaciones que tengan

en cuenta criterios adicionales definidos en el modelo de información de SCORM:

pertenencia a un catálogo de cursos específico, características y requerimientos técnicos,

características pedagógicas, condiciones de uso, entre otros. Para lo anterior, no bastaría

únicamente con actualizar el API del servicio web de directorio, sino también modificar el

proceso que se encarga de descargar e indexar los metadatos de los servicios web de e-

Learning, con el fin de que tenga en cuenta nuevos elementos de información (que la

interfaz de los servicios web de contenido ya proporciona) para que el índice local de

servicios tenga a su disposición todos los datos necesarios sobre los cuales se realizarían

las búsquedas.

También se puede considerar la posibilidad de administrar directorios privados de

servicios de e-Learning, dentro de una organización donde se encuentra la aplicación que

desea hacer uso de ellos. Esta alternativa también sería útil pues se podrían tener en el

repositorio privado una copia únicamente de aquellos registros del directorio público que

tienen información sobre servicios de e-Learning gratuitos o a los cuales la organización o

usuario se encuentra suscrito, con el fin de limitar el espacio de búsqueda y aumentar las

posibilidades de encontrar un servicio que puede ser utilizado inmediatamente.

Estas tres posibilidades: directorio abierto especializado, servicio de valor agregado y

directorio privado no deben ser vistas como alternativas totalmente excluyentes. Alguna

combinación de las mismas también podría brindar una solución a la necesidad de contar

Page 76: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

68

con un repositorio central de información sobre servicios web de e-Learning publicados en

Internet.

2.4.3. Los consumidores de los servicios web de e-Learning

En este último rol se encuentran todas las aplicaciones que buscan satisfacer las

necesidades de aprendizaje de sus usuarios. ¿Qué características deberán ser tenidas en

cuenta en la implementación de estas aplicaciones?

El principal requerimiento de las aplicaciones es que sean Web-Services-Enabled: es

decir, estar en capacidad de manejar los detalles de comunicación a través de estándares

como SOAP al momento de invocar los servicios web y los servicios de directorio,

manipulen documentos WSDL para comprender completamente las interfaces expuestas,

así como WSRP si necesitan integrar y utilizar servicios web interactivos.

Afortunadamente, algunas plataformas de desarrollo existentes en el mercado ya ofrecen

herramientas que facilitan esta tarea.

El segundo requerimiento es que sean SCORM-Enabled, es decir, estén en capacidad de

trabajar con los metadatos XML (para “entender” las descripciones de los recursos

instruccionales de los servicios de e-Learning) y los paquetes de contenido de SCORM

(cuando sea necesario ensamblarlos bajo demanda)

Se pueden mencionar algunos ejemplos importantes de uso de servicios web de e-

Learning que pueden presentarse para estas aplicaciones:

• Búsqueda dinámica de contenido e-Learning: La funcionalidad básica de una

aplicación de este tipo consiste en la utilización dinámica de servicios web de e-

Learning de acuerdo con los requerimientos del individuo: esto es, una vez

capturada las necesidades del usuario a través de su interfaz gráfica (palabras

claves, temas, etc.), la aplicación deberá buscar en el directorio de servicios web

de e-Learning quiénes son los proveedores que proporcionan soluciones que

satisfagan esas necesidades, con el fin de presentarle al usuario un listado de los

recursos encontrados. En este paso, incluso se podrá tener un primer contacto con

Page 77: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

69

los servicios web directamente, con el fin de poder mostrar al usuario una lista de

la estructura y descripción del contenido de cada uno de ellos.

¿Qué puede pasar en ese momento? Los detalles de interacción con los usuarios

serán específicos de cada desarrollador de este tipo de aplicaciones, pero con el

modelo propuesto, un usuario podrá seleccionar toda una solución de un solo

proveedor, o subconjuntos de soluciones de diferentes proveedores (dentro de la

misma necesidad de aprendizaje). La aplicación, interactuando con las interfaces

ya mencionadas de los servicios, estará en capacidad de ensamblar un paquete

SCORM basado en los recursos o elementos seleccionados de uno o varios

proveedores, y luego administrar la experiencia de aprendizaje de su usuario

(ayudándole a navegar a través de los elementos de la solución, por ejemplo).

¿Cómo ensamblaría la solución? Para recursos instruccionales que provengan de

un mismo servicio web de e-Learning, el manifiesto de la solución le brinda a la

aplicación una descripción de cual es la navegación recomendada para estos

recursos (y cuáles son prerrequisitos de otros, por ejemplo), lo que garantiza (si la

aplicación cumple con estas recomendaciones) una coherencia instruccional para

el individuo. Sin embargo, si los recursos provienen de diferentes proveedores o

servicios, en el momento no existe información alguna que los organice, puesto

que provienen seguramente de enfoques instruccionales diferentes. En este caso,

será el mismo individuo el que decida la forma de navegación deseada.

Como puede observarse, para este tipo de aplicaciones, es más susceptible el uso

de los servicios web de contenido en estas interacciones dinámicas, que el de los

servicios de evaluación o colaboración, debido a que para estos últimos son

generalmente necesarias tareas de coordinación entre contenido, evaluaciones y

actividades colaborativas para garantizar una experiencia de aprendizaje

coherente.

Page 78: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

70

Figura 17. Búsqueda dinámica de contenido e-Learning

Para ilustrar un ejemplo de este escenario de uso de servicios web, imaginemos a

una persona que se encuentra a punto de abrir un CDT44 en una corporación

financiera. Esta va camino hacia la entidad, pero tiene un poco de dudas sobre los

conceptos de tasas nominales y efectivas que se manejan con frecuencia al abrir

ese tipo de títulos. Esa persona hace uso en esos momentos del PDA que le

acompaña y utilizando su aplicación cliente llena un breve formulario en el que

especifica el tema en el que necesita ayuda. Su aplicación a continuación le

muestra un listado de universidades que ofrecen cursos de e-Learning en

Finanzas, con una breve descripción de los mismos y un contenido general de

cada curso. La persona, luego de revisar esta información, selecciona una de las

entradas mostradas en el resultado (luego de asegurarse que esta contiene la

información necesitada), quizás elige específicamente un tema dentro de ese

curso, y la aplicación lo lleva a estudiar el tópico que seleccionó. Después de unos

minutos, ya puede sentarse con la asesora comercial con la seguridad de poder

negociar unas tasas razonables una vez ya recuerda los conceptos que antes eran

difusos. El curso de Finanzas utilizado no será más necesario por lo pronto para

esa persona. Una ubicación y utilización dinámica de servicios de e-Learning se ha

llevado a cabo.

APLICACION

Contenido e-Learning

Directorio de Servicios de e-Learning

Servicios Web de e-Learning de diferentes proveedores

Page 79: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

71

Como se pudo observar en el escenario mostrado, con los servicios web de e-

Learning existe la posibilidad de llegar a una economía de objetos de aprendizaje,

más que una de cursos, ya que gracias a la descripción detallada existente en los

servicios de aprendizaje (a través de metadatos SCORM) y expuesta a través de

métodos de la interfaz de estos, una aplicación cliente puede optar por utilizar

simplemente uno o varios de los objetos instruccionales que hacen parte de la

solución y no el curso en su totalidad, y combinar objetos instruccionales de

diferentes proveedores si así lo considera necesario el estudiante.

Para este tipo de aplicaciones, es importante que se implemente en su lógica el

análisis del manifiesto SCORM con el que cuenta cada servicio, sobre todo el de la

sección Organizations de este. Esta sección, como puede recordarse, es la que

contiene una recomendación por parte del proveedor de la forma en que deberían

examinarse los recursos instruccionales del servicio. Esta funcionalidad es

importante para que al momento de utilizar varios objetos de aprendizaje del

servicio (o todos), estos se examinen en un orden adecuado, sobre todo si el

interés del proveedor era expresar que algunos son prerrequisitos de otros. Esto

es válido como recomendación en la forma en que se debería navegar entre

recursos provenientes de un mismo servicio. Para recursos provenientes de

diferentes servicios web de e-Learning, no existe ninguna información disponible

que brinde una recomendación de cómo debiera organizarse la navegación entre

estos, ni se prevee que pueda existir debido a la independencia entre proveedores

para la generación de sus recursos instruccionales. En estos casos, se podría

mantener la estructura de navegación recomendada entre los objetos

instruccionales de un mismo servicio, pero sería el usuario el que decidiría con que

recurso instruccional de cualquiera de los servicios inicia su experiencia de

aprendizaje.

¿Quiénes desarrollarían estas aplicaciones? Como puede observarse, la lógica de

negocio principal de estas aplicaciones requiere de habilidades con la

44 Certificado de Depósito a Término Fijo

Page 80: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

72

manipulación de metadatos y manifiestos XML de SCORM: identificar recursos

que hacen parte de una solución, su descripción, su organización, el esquema de

navegación entre recursos recomendado, etc. La curva de aprendizaje para

dominar este conjunto de especificaciones puede ser bastante alta, sobre todo

para poder integrar recursos provenientes de diferentes proveedores en Internet.

Es por esta razón que quienes desarrollarían inicialmente este tipo de aplicaciones

serían los mismos proveedores de las soluciones de e-Learning, como un valor

agregado para sus usuarios así como una forma de promover la utilización de sus

servicios. De igual manera, pueden existir intermediarios que además del

desarrollo de estas aplicaciones, podrían suscribir acuerdos con los proveedores

de e-Learning, y crear portales que integren para los usuarios soluciones de

aprendizaje basadas en los recursos instruccionales de sus diferentes socios.

• Integración a Sistemas de Información Organizaciones: En este tipo de

aplicaciones, las soluciones de e-Learning están integradas a la lógica de negocio

de los sistemas de información de las organizaciones, permitiéndoles brindar a sus

usuarios una experiencia de aprendizaje natural de acuerdo con el contexto en

particular de estos en su interacción con la aplicación. Lo natural se refiere al

hecho de que el usuario no debe utilizar otras aplicaciones especializadas para

acceder a la solución de e-Learning, más que las mismas aplicaciones con las que

se desenvuelve en sus actividades diarias, las cuales, dependiendo del contexto

del usuario en determinado momento, y si es necesario, le proporcionan la

experiencia de aprendizaje ajustadas a sus necesidades en ese preciso instante.

Figura 18. Integración a Sistemas de Información Organizacionales

NEGOCIO

Servicio Web de e-Learning

DATOS

PRESENTACION

APLICACION

Page 81: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

73

El uso de los servicios web de e-Learning por parte de este tipo de aplicaciones no

tiene el mismo dinamismo del escenario anterior en la búsqueda de recursos

instruccionales. Por el contrario, las organizaciones ubican en Internet un servicio

web de e-Learning, o quizás varios, que contengan elementos instruccionales de

interés, y luego acoplan estos servicios en el interior de sus aplicaciones. El

dinamismo se encontrará en la forma como la aplicación decide cuándo es

necesario enseñar y qué recursos son los apropiados en ese momento,

dependiendo del contexto del usuario durante el uso de la aplicación.

También se puede considerar la posibilidad de crear aplicaciones externas,

especializadas en capturar el contexto del usuario en otros sistemas y determinar

el momento en que la experiencia de aprendizaje es necesaria. Esto con el fin de

incorporar soluciones de e-Learning para aplicaciones de terceros o sistemas ya

implementados, situaciones en las cuales no es sencillo modificar su lógica de

negocio para incorporar el uso de servicios web.

Para la creación de este tipo de aplicaciones, es necesario que los desarrolladores

se familiaricen con la comprensión de metadatos SCORM, con el fin de que

puedan integrar servicios externos en sus propios sistemas, para la creación de

procesos de aprendizaje realmente interesantes. Por ejemplo, la misma

corporación financiera descrita en el escenario anterior podría desarrollar una

aplicación que consuma el mismo servicio web del curso de finanzas que su

cliente utilizó, integrar además otro servicio que proporciona el valor de la DTF del

mercado en un determinado instante, proporcionando un buen balance entre la

teoría y la práctica (información actualizada) creando así una aplicación dinámica

que le permite entrenar o capacitar a sus asesores comerciales.

Además, en este escenario de experiencias de e-Learning naturales, el uso de los

servicios web de evaluación y colaboración si constituye una posibilidad. Además

de ubicar ciertos recursos instruccionales de interés, un departamento de recursos

humanos, por ejemplo, podría coordinar evaluaciones y actividades colaborativas

integrándolas a sus propios sistemas de información con el fin de llevar un

seguimiento del aprendizaje de sus empleados, o utilizar servicios de evaluaciones

Page 82: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

74

para realizar pruebas de conocimiento en procesos de admisión. Como ya se ha

analizado, para integrar estos servicios web interactivos a las aplicaciones no es

necesaria la implementación de la lógica de presentación de la información

recibida.

• Los ambientes LMS: Una especial consideración merecen las aplicaciones que

hoy en día están especializadas en la interacción con paquetes de contenido

SCORM, y para las que la posibilidad de ensamblaje de paquetes bajo demanda

puede ser de gran interés: los LMS, como Lotus LearningSpace 45 de IBM, o

WebCT46 de WebCT, Inc, entre otros.47

Los LMS serán uno de los escenarios en los que se podrá comenzar a utilizar

este nuevo modelo de distribución de soluciones de e-Learning mediante servicios

web, ya que esta propuesta presenta una mayor eficiencia al momento de obtener

el paquete que contenga la solución de aprendizaje requerida y una mayor

flexibilidad al poder ensamblar soluciones para su ambiente a partir de los

desarrollos de diferentes proveedores.

Sin embargo, los servicios implementados en el interior de un LMS administran un

contenido basado en un repositorio local, donde los recursos de una solución son

cargados a partir de un paquete de contenido SCORM físico. En ningún momento,

esos servicios están en capacidad (hoy en día) de interactuar directamente con

servicios web para administrar su repositorio de contenido local.

Por lo anterior, en una primera fase de implementación de consumo de servicios

web de e-Learning en ambientes en donde exista un LMS, será necesario

involucrar una aplicación auxiliar o intermedia, con las mismas características del

primer escenario descrito, que se encargue de las tareas de búsqueda en los

servicios de directorio y del ensamble de paquetes de contenido SCORM bajo

45 http://www.lotus.com/products/learnspace.nsf/wdocs/homepage 46 http://www.webct.com 47 En este momento, son pocos los LMS que soportan el estándar SCORM, pero la tendencia de la industria en este tipo de aplicaciones es la de brindar el soporte requerido.

Page 83: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

75

demanda. Una vez estos paquetes hayan sido generados, podrán ser

administrados y cargados a su sistema por los LMS.

Figura 19. Necesidad de aplicaciones auxiliares para LMS, durante la fase de

introducción de los servicios de e-Learning

Mirando hacia el futuro, el comportamiento esperado por los proveedores de los

sistemas LMS, es que extiendan los servicios ofrecidos actualmente como

funcionalidad de los mismos, y que estén habilitados para “hablar” directamente

con servicios web, sin la necesidad de aplicaciones intermedias. Este ambiente

vislumbrado extendería las capacidades actuales logradas con SCORM y los LMS,

y posibilitaría que las soluciones de e-Learning fueran ensambladas en tiempo

real, bajo demanda, y de acuerdo con las necesidades particulares de los

estudiantes.

Figura 20. Escenario futuro de los LMS con funcionalidades para consumir

directamente servicios web y ensamblar soluciones personalizadas bajo demanda

LMS

Servicios de e-Learning de diferentes proveedores

Estudiante con necesidades particulares

de aprendizaje

APLICACION INTERMEDIA

Content Package

LMS Servicios de e-Learning de

diferentes proveedores

Page 84: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

76

Las anteriores son las principales características de un enfoque de soluciones de

aprendizaje expuestas como servicios web. Esta nueva arquitectura distribuida de e-

Learning, además de ser una mejor aproximación a la visión expresada por la iniciativa

ADL, tiene el potencial de “mejorar la enseñanza, el aprendizaje y la investigación como

nunca antes en la historia de la educación.” [HEKATE, 03]. Adicionalmente, esta

arquitectura propuesta facilita la creación de soluciones novedosas de e-Learning, que

puedan enseñar lo que un individuo necesita, donde lo necesite y en el momento que lo

requiera y, además, con la posibilidad de integrar el aprendizaje a las aplicaciones

empresariales, permitiendo entrenar o capacitar a sus usuarios de una manera natural y

transparente.

Page 85: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

77

3. DISEÑO E IMPLEMENTACION

3.1. DISEÑO DE LA SOLUCION

Habiendo analizado previamente las características de una arquitectura de servicios web

de e-Learning, a continuación se pretende describir el diseño de la misma.

En primera instancia, se describirá el diseño de los servicios web (contenido, evaluación

y/o colaboración) que los proveedores de e-Learning implementarían y expondrían en

Internet, para luego describir el diseño de una propuesta de un servicio de directorio de e-

Learning implementado como un servicio de valor agregado sobre UDDI. Las otras dos

posibilidades de directorios (directorio abierto especializado y directorios privados) no son

consideradas en este diseño, debido a que la primera está siendo estudiada por

consorcios especializados de la industria (como HEKATE48), a cuya información no se

pudo tener acceso, pero sobre el resultado de dichos esfuerzos se puede tener la certeza

que cumplirán con las necesidades de la industria; y la segunda posibilidad está basada

en servicios de UDDI privados, como los ofrecidos por Windows® Server 2003, que serían

administrados en el interior de las organizaciones.

3.1.1. Diseño de la arquitectura de los proveedores de e-Learning

En la figura 21 se ilustra el diseño lógico por capas de la arquitectura de los servicios de

e-Learning proporcionados por los diferentes proveedores. Como se puede observar, los

servicios de evaluación y colaboración pertenecen a la capa de presentación: estos

servicios se deberían implementar como aplicaciones web tradicionales, con lenguajes

como ASP, ASP .NET, PHP, JSP, etc. 49, además de su interfaz de usuario deseada, para

48 Higher Education Knowledge And Technology Exchange (http://www.hekate.org) 49 Estos son lenguajes tradicionalmente utilizados para el desarrollo de aplicaciones web en Internet.

Page 86: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

78

luego ser expuestos como servicios web interactivos haciendo uso de herramientas

especializadas de terceros, como WebCollage Syndicator50.

En la capa de dominio de esta arquitectura, se encuentra definido el paquete Metadata,

cuya responsabilidad es el manejo de los metadatos SCORM con el cual los proveedores

de e-Learning describen sus soluciones de contenido y los recursos que las componen.

De este paquete dependen los servicios web de contenido implementados (paquete

ServicioWebContenido), ya que estos se alimentan de dichos metadatos para brindar la

descripción que las aplicaciones consumidoras necesitan.

50 http://www.webcollage.com

Page 87: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

79

Figura 21. Arquitectura lógica por capas del Proveedor de e-Learning En la capa de servicios técnicos encontramos varios elementos:

• PersistenciaMetadatos: Por su sencillez y flexibilidad, la recomendación hecha por

este documento es el almacenamiento de los metadatos como archivos XML,

siguiendo las recomendaciones de SCORM. Sin embargo, los proveedores

podrían seleccionar algún otro mecanismo de almacenamiento (bases de datos,

Page 88: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

80

por ejemplo) para estos metadatos, cuyo manejo sería responsabilidad de este

paquete.

• SOAP: Este paquete se encarga del intercambio de mensajes en la comunicación

entre aplicaciones consumidoras y los servicios de e-Learning, de acuerdo con el

estándar Simple Object Access Protocol.

• DIME: Este paquete permite en envío de archivos binarios como elementos

adjuntos a un mensaje SOAP, de acuerdo a la especificación Direct Internet Message Encapsulation. Esta funcionalidad es necesaria por las aplicaciones

consumidoras para solicitar uno o varios recursos que hagan parte de la solución

de contenido implementada.

• WSRP: Este paquete es el que permite exponer las interfaces WSRP (Web Services for Remote Portlets) para las aplicaciones web de evaluación y/o

colaboración implementadas con el fin de que estas sean consumidas como

servicios web Interactivos.

• WSDL: Los proveedores deben brindar una descripción pública de las interfaces

de sus servicios web de contenido, evaluación y colaboración con el fin de que

sean “entendibles” por cualquier aplicación consumidora en Internet, y para esto

deben crear documentos XML que cumplan con el estándar Web Services Description Language. La responsabilidad de este paquete es ayudar a los

proveedores en la creación de estos documentos.

La complejidad en la implementación de los paquetes SOAP, DIME, WSRP y WSDL

generalmente será delegada a herramientas de desarrollo de terceros, como Visual Studio

de Microsoft®, WebSphere de IBM®, Sun ONE Studio de Sun Microsystems®, entre

otras, que ocultan los detalles de estas especificaciones a los desarrolladores de los

servicios.

La figura 22 ilustra los paquetes del proveedor relacionados con la funcionalidad de los

servicios web de contenido, y en las figuras 23 y 24 se describen los diagramas de clases

de cada uno de estos paquetes.

Page 89: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

81

Figura 22. Paquetes Metadata y ServicioWebContenido

Figura 23. Diagrama de clases del Paquete ServicioWebContenido

Page 90: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

82

Figura 24. Diagrama de clases del Paquete Metadata 3.1.2. Diseño de la arquitectura del directorio de servicios de e-Learning

En la figura 25 se describe el diseño por capas de la arquitectura de los servicios de

directorio de soluciones de e-Learning, implementados como un servicio de valor

agregado sobre UDDI.

El paquete ServicioWebConsulta, en la capa de aplicación, es el que proporciona la

interfaz que permite la ubicación de servicios de e-Learning a partir de un conjunto de

palabras claves como criterio de búsqueda. Esta funcionalidad es implementada como un

servicio web para permitir la integración con otras aplicaciones en Internet y la búsqueda y

uso dinámico de servicios de e-Learning en determinado momento.

Page 91: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

83

Figura 25. Arquitectura lógica por capas del Directorio de Servicios Web de e-Learning

En la capa de dominio se encuentran los paquetes que tienen la responsabilidad de

mantener actualizado el repositorio local de información sobre los servicios de e-Learning

publicados en UDDI sobre el cuál se realizarán las consultas:

• Indexacion: Su responsabilidad es la de indexar localmente información sobre

servicios web de e-Learning (título, descripción, palabras claves, proveedor, etc.),

con el fin de hacer más eficientes las búsquedas.

• Crawler: Su responsabilidad es la de explorar un nodo UDDI en Internet (el

administrado por Microsoft, o IBM, por ejemplo) con el fin de ubicar entre todos los

servicios publicados únicamente los servicios web de e-Learning, interactuar con

Page 92: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

84

la interfaz de cada uno de estos servicios para consultar información de interés

(título, descripción, palabras claves, etc.) que luego será indexada.

• Registro: Su objetivo es el de servir como fachada de acceso a un nodo UDDI para

recuperar la información de todos los servicios web de e-Learning publicados.

Figura 26. Paquetes principales del directorio de servicios de e-Learning Entre los servicios técnicos de soporte a la funcionalidad de los anteriores paquetes se

encuentran:

• PersistenciaIndice: La responsabilidad de este paquete es la de administrar el

almacenamiento de la información indexada de los servicios web de e-Learning,

en una base de datos por ejemplo.

• UDDI: El “crawling” de servicios de e-Learning (ubicar todos los servicios

publicados e interactuar con la interfaz de estos servicios para obtener información

descriptiva), depende de la información publicada en un nodo de registros UDDI

existente en Internet. La responsabilidad de este paquete es la de facilitar la

interacción con las APIs UDDI que dichos nodos exponen. Si en un futuro se

decide utilizar otro tipo de registro como fuente de información para el “crawling”

Page 93: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

85

de servicios de e-Learning, este paquete debe ser reemplazado por uno que

brinde facilidad en el acceso las APIs de dicho nodo.

• SOAP y WSDL: Al igual que en los proveedores, la responsabilidad de estos

paquetes es la de formatear adecuadamente los mensajes intercambiados en la

comunicación entre aplicaciones y servicios, y la de describir la interfaz del servicio

web de consulta del directorio, respectivamente.

Las figuras 27 a 30 ilustran con mayor detalle los diagrama de clases de cada uno de los

paquetes Registro, Indexacion, Crawler y ServicioWebConsulta.

Figura 27. Diagrama de clases del Paquete Registro

Page 94: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

86

Figura 28. Diagrama de clases del Paquete Indexacion

Figura 29. Diagrama de clases del Paquete Crawler

Page 95: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

87

Figura 30. Diagrama de clases del Paquete ServicioWebConsulta

Adicionalmente, la figura 31 ilustra el diagrama de secuencia en donde se ilustran las

interacciones necesarias entre objetos del sistema para consultar los metadatos (título,

descripción y palabras claves en este caso) de los servicios web de e-Learning publicados

en UDDI con el fin de indexar esta información localmente y facilitar las búsquedas

realizadas a través del servicio web de consulta del directorio. A este proceso se le ha

denominado crawling, en analogía a los procesos llamados crawlers o spiders que

utilizan los buscadores existentes en la web (como Google51 por ejemplo) encargados de

navegar por todas las páginas posibles existentes en servidores web de Internet, indexar

su contenido y posibilitar búsquedas eficientes por palabras sobre el contenido local

indexado.

Este proceso descrito en el diagrama de secuencia permite mejoras para consultar mayor

información en la interacción con los servicios web de contenido (además de título,

descripción y palabras claves), con el fin de administrar un índice enriquecido de

metadatos que permita diversos criterios de búsqueda (siendo necesario para ello

modificar también la interfaz IWSDirectorio del servicio web de consulta del directorio).

51 http://www.google.com

Page 96: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

88

Figura 31. Diagrama de secuencia del "crawling" de servicios web de e-Learning

Page 97: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

89

3.1.3. Diagrama de Deployment

Finalmente, en la figura 32 se ilustran los diferentes componentes físicos que interactúan

en una arquitectura de servicios web de e-Learning.

Figura 32. Diagrama de despliegue físico de los componentes participantes en la arquitectura de servicios web de e-Learning

En la anterior figura se ilustran los servicios web de e-Learning que un proveedor podría

implementar: servicios de contenido (que implementan la interfaz IWSELearning descrita

anteriormente) y los servicios de evaluación o colaboración, que como servicios web

interactivos implementan las interfaces de WSRP.

Page 98: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

90

Del lado del directorio se observan sus tres componentes claves: el servicio web de

consulta (WSDirectorio), el índice local de servicios de e-Learning y el componente

CrawlerELearning que se encarga de mantener actualizado este índice de acuerdo con la

información publicada en UDDI. A esto último se debe la dependencia ilustrada entre el

nodo del directorio y algún nodo de registros UDDI.

Los desarrolladores de aplicaciones consumidoras de los anteriores servicios harían uso

de herramientas de desarrollo de terceros que faciliten la creación de componentes

intermediarios o proxy tanto para los servicios web de contenido, evaluación y

colaboración, como para los servicios de directorio, con el fin de facilitar la integración de

la funcionalidad de estos servicios en las capa de negocio y/o presentación de dichas

aplicaciones.

3.2. IMPLEMENTACION DE LOS SERVICIOS WEB DE E-LEARNING Con el fin de tener una aproximación más clara acerca de las características tecnológicas

del nuevo enfoque propuesto, y su incidencia en el tipo de aplicaciones de e-Learning que

se pueden desarrollar, se implementaron unos prototipos que permitieran brindar este

primer acercamiento deseado.

Sin embargo, si bien el nuevo enfoque propuesto es más de carácter tecnológico que

pedagógico, sería imposible desarrollar un prototipo de aplicación o solución de

aprendizaje basada en servicios web sin contar con elementos de un ambiente de e-

Learning específico. Para este fin, se utilizaron materiales proporcionados por

AprendaHaciendo52, una empresa colombiana enfocada al desarrollo de soluciones de e-

Learning bajo una propia propuesta metodológica y además interesada en aprovechar los

resultados de esta tesis para generar nuevas propuestas en la provisión de sus

contenidos.

52 Ver anexo 2

Page 99: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

91

3.2.1. Ambiente de Desarrollo

Toda la conceptualización desarrollada alrededor de esta propuesta de servicios web de

e-Learning y el diseño de los mismos descritos hasta este punto de documento no tiene

alguna dependencia tecnológica sobre alguna plataforma en particular. De hecho, como

se analizó en el marco teórico, toda la evolución de los servicios web en Internet ha sido

favorecida gracias a la independencia tecnológica de plataformas entre proveedores y

consumidores, sin que esto afecte el uso de servicios web desde las aplicaciones.

Sin embargo, para la implementación de estos servicios descritos, fue necesario

seleccionar un ambiente tecnológico en particular y un conjunto específico de

herramientas, más por facilidad de acceso y experiencia de desarrollo que por otro criterio

en particular.

A continuación se enumeran las características tecnológicas del ambiente de desarrollo

seleccionado:

• Sistema Operativo: Microsoft Windows 2003 Server Enterprise Edition, con los

siguientes servicios habilitados:

o Servidor Web: Internet Information Server 6.0

o UDDI Services

• Ambiente de Desarrollo: Microsoft Visual Studio .NET 2003

• Lenguaje de Programación: C#

• Motor de Base de Datos: Microsoft SQL Server 2000

En cuanto a la generación de metadatos para el contenido e-Learning, se utilizó la sintaxis

XML definida en la versión 1.2 de SCORM.

Adicionalmente, se hizo uso de las siguientes herramientas

• WebCollage Syndicator: Herramienta que permite exponer una aplicación web

como un servicio web interactivo. Es importante mencionar en este punto, que al

momento de la elaboración de este documento no existen herramientas que

Page 100: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

92

permitan crear servicios web interactivos con base en las interfaces de WSRP, en

las cuales se ha hecho énfasis en la propuesta realizada, debido a su muy reciente

aceptación como estándar de la industria (versión 1.0). Sin embargo,

WebCollage 53 es uno de los proveedores de la Industria que ha liderado la

iniciativa de este tipo de servicios, y con esta herramienta soporta el concepto de

“módulos web” que pueden ser integrados a través de HTTP a múltiples

aplicaciones web de una manera sencilla para el desarrollador de estas. Por lo

tanto este tipo de módulos web fue seleccionado como aproximación al concepto

de servicios web interactivos que se pretende ilustrar. La empresa WebCollage

permitió acceso a una copia de evaluación de su producto, la cual fue utilizada en

esta tesis.

• Microsoft UDDI SDK 2.0: Librerías de Microsoft que facilitan la interacción con las

interfaces (API) de cualquier nodo UDDI (versiones 1.0 o 2.0) en Internet

• Web Services Enhancements 1.0: Herramienta que ayuda a la creación de

servicios web en Visual Studio .NET con soporte a las últimas especificaciones de

la industria. En particular, fue necesario para facilitar la implementación de DIME en los servicios web de e-Learning.

3.2.2. Implementación de un servicio web de contenido

En Visual Studio .NET 2003 se creó la solución Proveedor (Proveedor.sln), que está

conformada por los proyectos Metadata (Metadata.csproj, una librería de clases) y

ServicioWebContenido (ServicioWebContenido.csproj, un servicio web ASP .NET).

Cada uno de estos proyectos es la implementación de los paquetes con el mismo nombre

mencionados en el diseño de la arquitectura de los proveedores de e-Learning.

En cuando a dificultades encontradas en la implementación de este servicio, la única

identificada estuvo relacionada con la posibilidad de transferir archivos binarios dentro de

un mensaje SOAP, tarea que era necesaria en la operación getFiles de la interfaz del

53 http://www.webcollage.com

Page 101: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

93

servicio web. La librería Microsoft.Web.Services.dll de Microsoft, también conocida

como Web Services Enhancements (versión 1.0) fue utilizada para facilitar la

implementación de dicha característica en la interfaz del servicio web. La ventaja de este

componente, entre otras, es la posibilidad de crear de manera sencilla servicios web que

soporten DIME (Direct Internet Message Encapsulation), un estándar en evolución que

permite el envío de elementos binarios adjuntos a un mensaje XML de SOAP. Su limitante

es que la aplicación cliente o consumidora del servicio web también debe tener instalada

dicha librería (eliminando la independencia de plataforma por consiguiente). Para efectos

del prototipo que se piensa ilustrar en esta tesis, su elección fue considerada apropiada.

Tal como se describió en el documento, la funcionalidad de este servicio web está basada

en los metadatos y manifiesto SCORM que el proveedor de e-Learning debe crear para

cada uno los recursos instruccionales que serán expuestos a través de la interfaz del

servicio, y que deben ser almacenados en forma de documentos XML (que cumplan con

la sintaxis SCORM 1.2) en el mismo servidor (específicamente, en la misma carpeta del

servicio web). En este momento, no existen herramientas que hayan automatizado esta

tarea o guíen al proveedor en la creación de dichos archivos, por lo que deben ser

creados manualmente.

Por lo tanto, para cada una de las cápsulas seleccionadas del Curso Básico de Excel XP

de AprendaHaciendo, se generó un archivo XML con sus metadatos SCORM (los

archivos 1112xx.XML). Para el servicio web, se generó el manifiesto SCORM del

“paquete” de contenido que iba a ser expuesto a través de su interfaz (el archivo

imsmanifest.xml).

En cuanto a requerimientos de plataforma que debe cumplir un proveedor de e-Learning

para exponer un nuevo servicio web con las mismas características del prototipo, se

tienen son los siguientes:

• Servidor Windows con el Framework de .NET 1.1 (Windows 2003 Server lo trae

instalado) y el servicio de Internet Information Server (servidor web) instalado.

• Microsoft Web Services Enhancements 1.0 instalado en el servidor.

Page 102: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

94

3.2.3. Implementación de un servicio web interactivo de evaluación

Como ya se mencionó anteriormente, la principal limitante para desarrollar servicios web

interactivos que soporten las interfaces WSRP, como se describió en la arquitectura, fue

la falta de herramientas de terceros que soportaran este tipo de implementaciones. Por lo

tanto, se utilizó la herramienta WebCollage Syndicator para ilustrar el concepto de este

tipo de servicios. Syndicator permite convertir de manera sencilla una aplicación web en

un módulo (web) que puede ser integrado a otras aplicaciones sin preocuparse por los

detalles de interacción implícitos en el servicio (módulo). La principal limitación de estos

módulos web de Syndicator, es que únicamente pueden ser integrados a aplicaciones

web, y no a cualquier tipo de aplicación (no se puede invocar directamente desde una

aplicación windows, o en un PDA, por ejemplo).

Por consiguiente, el primer paso para que un proveedor proporcione un servicio de

evaluación, es la creación de la correspondiente aplicación web que la soporte. Esta

aplicación de evaluación fue creada con base en cinco preguntas seleccionadas de la

Evaluación de Conocimientos Básicos de Excel de AprendaHaciendo.

A continuación, para el proveedor, una vez desarrollada su aplicación web de evaluación,

su siguiente paso es convertirla en un servicio web interactivo, que en el caso específico

de la herramienta utilizada (WebCollage Syndicator) significa convertir la aplicación de

evaluación desarrollada en un módulo web.

Aunque los detalles de manejo de la herramienta Syndicator están fuera del alcance de

este documento54, en el material de evaluación del producto que se adjunta digitalmente

se encuentra la documentación del mismo si se desea mayor información al respecto.

Dos parámetros fueron importantes al momento de crear el módulo web en Syndicator:

54 En el anexo 1 de este documento se presenta una introducción a sus características técnicas

Page 103: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

95

• El punto de entrada de la aplicación: cuando una aplicación realizara una

invocación del servicio de evaluación, cual sería la primera página web que

Syndicator debería procesar en la interacción con el usuario. Este punto de

entrada por defecto fue la página default.aspx.

• El punto de salida: la aplicación web subyacente debe enviar un mensaje XML a

Syndicator para indicarle que el procesamiento de esta ha terminado, con el fin de

que Syndicator devuelva el control a la aplicación consumidora del servicio. El

punto de salida se refiere al identificador de ese mensaje, que adicionalmente

puede encapsular datos (la respuesta del servicio).

El mensaje fin-evaluacion es el punto de salida del servicio, el cual es generado

en la página fin.aspx. Este es un ejemplo del mensaje de salida generado: <wsml:exit ref="fin-evaluacion">

<data-items> <puntaje>75</puntaje> <puntajeMaximo>100.0</puntajeMaximo>

<urlEstudio>http://www.aprendahaciendo.com/…</urlEstudio> <recursos>idRecurso1; idRecurso2; idRecurso3</recursos>

<palabrasClaves>palabra1, palabra2, palabra3</palabrasClaves> </data-items> </wsml:exit>

Como puede observarse, la respuesta del servicio de evaluación implementado

está compuesta de cinco parámetros:

• Puntaje: Resultado de la evaluación

• PuntajeMáximo: Puntaje máximo de la evaluación, con el fin de tener una

comprensión porcentual del nivel de conocimientos del estudiante.

• UrlEstudio: El servicio de evaluación, en caso de puntajes inferiores al

100%, recomienda un servicio web de contenido en el que el estudiante

puede reforzar sus conocimientos.

• Recursos: Una lista, separada por ‘;’, de los identificadores de los recursos

que el estudiante debería consultar en el servicio web de contenido

recomendado.

Page 104: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

96

• PalabrasClaves: Una lista de las palabras que describen los temas en los

cuales el estudiante necesita reforzar sus conocimientos. Esta lista de

palabras puede ser utilizada posteriormente como parámetro al invocar la

interfaz del directorio de e-Learning, con el fin de ubicar servicios que

proporcionen el aprendizaje adecuado (y así no estar obligado utilizar el

servicio de contenido del mismo proveedor recomendado en el parámetro

urlEstudio)

Este es un punto que merece una profundización por parte de la industria del e-

Learning: estandarizar las interfaces de los servicios de evaluación (y/o

colaboración) con el fin de permitir flexibilidad en el uso de evaluaciones de

diferentes proveedores desde las aplicaciones de e-Learning.

Simplificando lo descrito hasta el momento, la implementación del módulo web realizada a

través de Syndicator permite que una aplicación web cliente invoque el servicio, y obtenga

una respuesta al mismo (los cinco parámetros definidos). Los detalles de la interacción

con el usuario con cada pregunta a través de la evaluación, son transparentes para la

misma y son administrados absolutamente por Syndicator

3.2.4. Implementación de un Curso Dinámico de Excel basado en Servicios Web

AprendaHaciendo, dentro de su portafolio de productos de e-Learning cuenta con varios

cursos enfocados principalmente al aprendizaje de tecnologías de información. Entre

algunos de sus títulos se encuentran Curso Básico de Word, Curso Intermedio de Excel,

Curso Avanzado de Internet, etc. Sin embargo, a pesar de que el diseño instruccional de

estos cursos permite una flexibilidad en el aprendizaje por parte del estudiante, su

contenido es estático, es decir, el material que recibe cada individuo en cada curso es el

mismo.

Basado en este nuevo enfoque de soluciones de e-Learning basada en servicios web, en

colaboración con AprendaHaciendo y su material de cursos e-Learning se desarrolló un

prototipo de un Curso Dinámico, en el que el estudiante recibe únicamente aquellos

recursos instruccionales que son aptos de acuerdo con sus fortalezas y debilidades en un

Page 105: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

97

tema en particular. Específicamente, el prototipo ejemplifica un Curso Dinámico de Excel,

en el que periódicamente cada estudiante pueda recibir las unidades de aprendizaje

personalizadas a sus necesidades de acuerdo con evaluaciones realizadas en momentos

específicos valorar sus conocimientos. Tanto los recursos instruccionales, como las

evaluaciones son proporcionadas a través de servicios web (los implementados

anteriormente).

La solución que proporciona este Curso dinámico de Excel está conformada por dos

componentes principales:

• Una aplicación web: Un conjunto de páginas web que invocan el servicio web de

evaluación y guardan los resultados de cada estudiante en una base de datos

XML. Estás páginas pueden ser integradas a la Intranet de la empresa que

adquiere el curso, con el fin de que la información de los estudiantes concuerde

con la información de los usuarios de la red, y permitir, por ejemplo, que el

departamento de recursos humanos supervise el progreso de cada uno de los

estudiantes.

Esta aplicación sirve de intermediario en la invocación al servicio web interactivo

de evaluaciones. Fue requerida su implementación debido a que los módulos web

de WebCollage Syndicator, por sus características técnicas de operación,

únicamente pueden ser invocados a través de HTTP desde aplicaciones web (una

aplicación Windows no podría invocarlo directamente, por lo tanto).

• Una aplicación windows: la cual se mantiene presente en la bandeja del sistema

en el escritorio del computador de cada individuo, con la lista de recursos

instruccionales recomendados para el estudio de dicho estudiante. Esta aplicación

conoce cuáles son los recursos personalizados para cada estudiante de la

empresa consultándolos de la anterior base de datos de resultados que se guarda

en el servidor web, y a medida que el usuario selecciona alguno de ellos para

estudiarlo, la aplicación interactúa con la interfaz del servicio web de estudio

(recuérdese el parámetro urlEstudio en la respuesta del servicio de evaluación)

Page 106: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

98

para descargar localmente los archivos que conforman dicho recurso.

Naturalmente, este proceso descrito es transparente para el usuario final.

3.2.5. Implementación de un servicio de directorio de e-Learning

Durante el análisis realizado sobre la arquitectura de servicios web de e-Learning, una de

las posibilidades surgidas fue su implementación como un servicio de valor agregado

sobre un registro público de servicios web (en este caso UDDI). Si bien, el diseño e

implementación apropiados de este motor de búsqueda se encuentra fuera del alcance de

esta tesis55, se desarrolló un prototipo sencillo con el fin de brindar un acercamiento a las

características de este tipo de directorios.

La solución desarrollada en Visual Studio .NET (Directorio.sln), la cual consta de cuatro

proyectos:

• Registro: Este proyecto es una librería de clases que contiene la implementación

del paquete del mismo nombre analizado en el diseño de la arquitectura del

directorio de servicios de e-Learning. Básicamente, encapsula el acceso (lectura

únicamente) a un registro público de servicios web, que en este caso es UDDI.

Para facilitar la interacción con el API de UDDI del nodo o registro seleccionado,

se utilizó la versión 2.0 de la librería Microsoft.Uddi.dll, conocida también como

Microsoft UDDI SDK 2.0.

• Indexacion: Una librería de clases que contiene la implementación del paquete

del mismo nombre analizado en el diseño de la arquitectura del directorio de

servicios de e-Learning. En este caso, por simplicidad, el índice fue implementado

sobre una base de datos en SQL Server 2000. Esta base de datos almacena

información básica sobre los proveedores (Businesses), sus servicios de e-

Learning ofrecidos (Services) y palabras claves de dichos servicios (Keywords).

55 Este tema de motores de búsqueda sobre UDDI es tratado con mayor detalle y profundidad en la tesis “Motor de Búsqueda sobre UDDI” [TARQUINO, 03] desarrollada por Jaime Tarquino sobre el tema.

Page 107: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

99

• Crawler: Una aplicación de consola (por línea de comandos del sistema operativo)

que se encarga de realizar el crawling de servicios de e-Learning: realizar una

búsqueda de servicios de e-Learning sobre algún registro UDDI, e interactuar con

las interfaces de dichos servicios para descargar o almacenar en el índice local su

información básica (título, descripción, palabras claves, proveedor, etc.), con el fin

de hacer más eficiente las consultas realizadas posteriormente (sobre el índice

local).

Para que el anterior proceso funcione adecuadamente, son necesarios dos

elementos de información: ¿Cuál es el registro UDDI que se va a consultar?, y

entre todos los servicios web publicados en dicho registro, ¿Cómo se diferencia un

servicio web de e-Learning de uno que no lo sea?. Estos dos parámetros pueden

ser configurados en el archivo Crawler.exe.config:

• La variable UDDINodeInquireUrl contiene la URL de la interfaz de consulta

del nodo UDDI que se piensa consultar.

• La variable ELearningTModel contiene el valor del tModel que identifica de

manera única a la interfaz de los servicios web de e-Learning en UDDI.

Para realizar las pruebas de esta aplicación, se utilizó un componente adicional de

Windows 2003 Server: UDDI Services, el cual implementa un registro privado

UDDI que soporta el API 1.0 y 2.0 definido por el estándar.

Si bien en la implementación realizada este proceso es de invocación manual, en

una operación real de un servicio de directorio de e-Learning el proceso de

crawling debe ejecutarse de manera continua, repitiendo su lógica periódicamente,

con el fin de tratar de mantener actualizada la información del índice local.

• ServicioWebConsulta: Este es el servicio web del directorio, que a través de su

operación findServices permite a cualquier aplicación en Internet realizar

consultas por palabras claves de los servicios de e-Learning publicados (cuya

Page 108: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

100

información básica ha sido descargada localmente en el índice por el proceso

anterior).

Page 109: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

101

4. CONCLUSIONES

Recogiendo los esfuerzos de estandarización que se han presentado tecnológicamente

en los últimos años, como lo son el nuevo paradigma de los servicios web para el

desarrollo de aplicaciones distribuidas en Internet y el modelo de referencia SCORM en la

industria del e-Learning, esta tesis ha presentado un nuevo enfoque para el desarrollo de

soluciones de e-Learning que puedan ser fácilmente accedidas, reutilizadas,

dinámicamente ensambladas, y brinden una experiencia de aprendizaje personalizada a

las necesidades particulares de cada individuo: una arquitectura distribuida de e-Learning

basada en servicios web.

Al presentar este nuevo enfoque propuesto, se han descrito las características y

responsabilidades de cada uno de los roles participantes en esta arquitectura orientada al

servicio: proveedores, consumidores y el rol intermediario del directorio.

Para los proveedores de e-Learning, los servicios web, además de los beneficios que

ofrecen, crean nuevos modelos de negocios para la provisión de su material de

aprendizaje, como el e-Learning bajo demanda o el e-Learning por suscripción, que

fueron mencionados en el documento, y otros que pueden surgir en el futuro.

Para los consumidores, refiriéndose a las aplicaciones que hacen uso de los servicios y

no al usuario final de las mismas, se brinda una posibilidad de integración del aprendizaje

a su propia lógica de negocio y presentación. Esto es un factor de importancia para los

negocios, pues pueden brindar a sus usuarios experiencias de aprendizaje naturales y

transparentes en la medida en que están acopladas a los sistemas con los que

interactúan diariamente.

El último rol, el del directorio de servicios de e-Learning, sin ser estrictamente

imprescindible, presenta mecanismos útiles para el descubrimiento dinámico de los

recursos de aprendizaje necesarios por el individuo en algún instante en particular. En el

Page 110: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

102

análisis realizado quedó evidenciado que los registros públicos de servicios web, como

UDDI, no proporcionan toda la semántica necesaria para búsquedas de servicios de e-

Learning y por lo tanto es necesario recurrir a nuevas alternativas para suplir esta función,

como la de un directorio especializado o un motor de búsqueda como servicio de valor

agregado.sobre los registros públicos existentes.

Adicionalmente, esta arquitectura propuesta podrá enriquecerse con el resultado de los

esfuerzos actuales de la industria en la definición de estándares que complementen la

base inicial de los servicios web en materia de seguridad, de transaccionalidad, de

comercio electrónico, entre otros, así como la evolución de los servicios web interactivos y

los estándares que los soportan como WSRP.

Es importante mencionar, como pudo verse a lo largo del documento, que el nuevo

enfoque propuesto cabe más dentro de lo tecnológico que lo pedagógico. Sin embargo,

no es la tecnología la que enseña. La tecnología brinda herramientas que ayudan a que

un diseño instruccional determinado, o una metodología pedagógica específica, brinden

una experiencia de aprendizaje efectiva a través del e-Learning. El enfoque propuesto

brinda un nuevo espectro de posibilidades tecnológicas para el desarrollo de soluciones

de e-Learning, con posibilidades de expresar sus elementos básicos como contenido,

evaluación y colaboración a través de servicios web, pero que aún deben ser creados y la

relación entre ellos debe ser coordinada con un enfoque pedagógico particular con el fin

de crear un todo coherente.

Page 111: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

103

BIBLIOGRAFIA

[ADL, 01] Advanced Distributed Learning. Shareable Content Object Reference Model Version 1.2. The SCORM Overview [en línea] <http://www.adlnet.org> [Consulta 5 abr. 2003] [ADL2, 01] -----. Shareable Content Object Reference Model Version 1.2. The SCORM Content Aggregation Model [en línea] <http://www.adlnet.org> [Consulta 5 abr. 2003] [ADL3, 01] -----. Shareable Content Object Reference Model Version 1.2. The SCORM Run-Time Environment [en línea] <http://www.adlnet.org> [Consulta 5 abr. 2003] [ALIN, 03] Atlantic Learning Innovation Network. E-Business, E-Content, E-Networking, and E-Learning Concepts. [en línea] <http://sencen.ednet.ns.ca/main.nsf/c2ab3e531574a15084256a390065cd4d/534949a3ea3f2d3c84256cae000df828?OpenDocument> [Consulta 15 feb. 2003] [CTAL, 01] Comission on Technology and Adult Learning. A Vision of E-Learning for America’s Workforce. [en línea] < http://www.nga.org/cda/files/ELEARNINGREPORT.pdf> [Consulta 15 feb. 2003] [BARRON, 02] Barron, Tom. Evolving Business Models in e-Learning [en línea] mar. 2002 <http://www.sric-bi.com/LoD/summaries/EvolvBizModelsSum.shtml> [Consulta 10 ene. 2003] [BELLWOOD, 02] Bellwood, Tom. Understanding UDDI. Tracking the evolving specification [en línea] jul. 2002. <http://www-106.ibm.com/developerworks/library/ws-featuddi> [Consulta 12 jul. 2003] [DAVIES, 03] Davies, Phil. Simulation: bringing e-Learning to a new level. [en línea] jul. 2003. <http://www.computeruser.com/articles/2207,1,1,1,0701,03.html> [Consulta 26 ene. 2004] [DELOITTE, 02] Deloitte & Touche Corporate Finance LLC. Web Services. The next Evolution in Software [en línea] Marzo, 2002. <http://www.allidex.com/DTCF_Web_Services_Research_Report.pdf> [Consulta 1 feb. 2002] [EDUWORKS, 03] Eduworks Corporation. Learning Objects Tutorial. [en línea] <http://www.eduworks.com/LOTT/tutorial/index.html> [Consulta 29 mar. 2003]

Page 112: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

104

[ELEARNING, 03] E-Learning? [en línea] <http://www.e-learningsite.com/elearning/indelea.htm> [Consulta 15 feb. 2003] [GREENBERG, 02] Greenberg, Leonard. LMS and LCMS: What’s the Difference [en línea] dic. 2003 <http://www.learningcircuits.org/2002/dec2002/greenberg.htm> [Consulta 14 jun. 2003] [HEKATE, 03] HEKATE: Higher Education Knowledge And Technology Exchange. Web Services Enabling Technology for Application Integration and Assembly. Jul. 2003 <http://www.hekate.org> [Consulta 4 may. 2003] [HILTZ, 03] Hiltz, Starr Roxanne. Collaborative Learning in Asynchronous Learning Networks; Building Learning Communities. [en línea] <http://eies.njit.edu/~hiltz/collaborative_learning_in_asynch.htm> [Consulta 22 feb. 2003] [IBM, 03] IBM Web Services Architecture Team. Web Services architecture overview. The next stage of evolution for e-business. [en línea] <http://www-106.ibm.com/developerworks/webservices/library/w-ovr/> [Consulta 1 feb. 2003] [KAPLAN, 02] Kaplan, Soren. Building Communities – Strategies for Collaborative Learning. [en línea] <http://www.learningcircuits.org/2002/aug2002/kaplan.html> [Consulta 22 feb. 2003] [LITWACK, 02] Litwack, David A. Web Services: The Biggest “Next Big Thing” of them all [en línea]. 10 jul. 2002. <http://webservicesadvisor.com/doc/10075> [Consulta 20 nov. 2002] [MICROSOFT, 02] Microsoft. A Platform for Web Services. [En línea] <http://msdn.microsoft.com/library/en-us/dnwebsrv/html/websvcs_platform.asp> [Consulta 1 feb. 2003] [MARTINEZ, 02] Martinez, Maggie. Beyond Classroom Solutions: New Design Perspectives for Online Learning Excellence. [en línea] <http://ifets.ieee.org/periodical/vol_2_2002/discuss_summary_january2002.html> [Consulta 15 feb. 2003] [MORTIMER, 02] Mortimer, Lori. (Learning) Objects of Desire: Promise and Practicality. [en línea] http://www.learningcircuits.org/2002/apr2002/mortimer.html [Consulta 15 feb. 2003] [OBRINGER, 02] Obringer, Lee Ann. How E-Learning Works [en línea] <http://www.howstuffworks.com/elearning1.htm> [Consulta 26 nov. 2002]

Page 113: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

105

[RAJASEKHAURINI, 02] Rajasekhaurini, Syam. Web Services – Major Sigues. [en línea] <http://www.acs.org.au/nsw/westsyd/meetings/200207pres.pdf> [Consulta 1 feb. 2003] [RESHEF, 02] Reshef, Eilon. Building Interactive Web Services with WSIA & WSRP. Dic. 2003. [en línea] <http://www.webcollage.com/html/products/more_information/WebCollage_WSJ_WSIA_WSRP.pdf> [Consulta 15 jul. 2003] [SIEMENS, 03] Siemens, George. Assessment & Evaluation. Overview. [en línea] <http://www.elearnspace.org/assessmentevaluation.htm> [Consulta 23 feb. 2003] [SIEMENS2, 03] Siemens, George. Collaboration. [en línea] <http://www.elearnspace.org/Collaboration.htm> [Consulta 22 feb. 2003] [STEVENS, 03] Stevens, Michael. Service-Oriented Architecture Introduction, Part 1. <http://www.developer.com/design/article.php/10925_1010451_2> [Consulta 27 abr. 2003] [TARQUINO, 03] Tarquino Bojacá, Jaime. Motor de Búsqueda sobre UDDI. Tesis de grado de Magister. Universidad de los Andes, 2003. [THEBOARD, 01] The Board of Trustees of the University of Illinois. Strengths and Weaknesses of Online Learning [en línea] Illinois, 2001. < http://www.ion.illinois.edu/IONresources/onlineLearning/strengthAndWeak.asp> [Consulta: 15 nov. 2002] [WEBCOLLAGE, 03] WebCollage. Interactive Web Services: Architecture Whitepaper. [en línea] <http://www.webcollage.com/html/products/more_information/WebCollage_Interactive_Web_Services_Architecture_Whitepaper_2003.pdf> [Consulta 15 jul. 2003] [WEB SERVICES, 02] Web Services, Part I: Introduction: Motivation behind Web Services. [en línea] <http://www.webreference.com/js/column96/2.html> [Consulta 11 nov. 2002]

Page 114: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

106

ANEXOS

Page 115: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

107

ANEXO 1. CARACTERÍSTICAS TECNICAS DE LA HERRAMIENTA WEBCOLLAGE

SYNDICATOR56

WebCollage Syndicator for Portlets es una solución de software de servicios web

interactivos, diseñada para soportar todo el proceso de compartir aplicaciones web

interactivas y procesos de negocio con otras aplicaciones, en el que se pueden identificar

las siguientes tareas:

• Empaquetamiento de una aplicación web con un Servicio Web

• Distribución del Servicio Web a múltiples aplicaciones

• Integración del Servicio Web en tiempo real dentro del ambiente de las

aplicaciones consumidoras.

• Análisis de la interacción del usuario con el Servicio Web.

La solución ofrece una plataforma de servidor, diseñada para operar sobre cualquier

infraestructura web. Está compuesta de tres componentes:

• WebCollage Provider Center: una interfaz gráfica web que ayuda en la creación

y definición de módulos web (llamados portlets), y permite la administración

transparente del repositorio del portal.

• WebCollage Portlet Repository: almacena meta-información sobre los módulos

creados y definidos por el usuario, así como la información sobre la aplicación web

que ha sido transformada en un portlet.

• WebCollage Syndicator Server: un servidor que expone los módulos web, para

que sean integrados en otras aplicaciones o portales.

Page 116: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

108

¿Cómo funciona? Web Collage Syndicator for Portlets recibe invocaciones SOAP WSRP57 a través de

HTTP provenientes de una aplicación consumidora (un portal, por ejemplo).

Si la invocación recibida solicita alguno de los módulos web (portlets) disponibles,

WebCollage Syndicator responde a la solicitud haciendo uso de la información

disponible en el repositorio (Repository). Si la solicitud es por un fragmento de página o es

el resultado de la interacción del usuario con un portlet, WebCollage Syndicator utiliza la

información del repositorio para determinar la página adecuada que se le debe enviar a la

aplicación. A continuación, cualquiera que sea el caso, el sistema:

1. Realiza una invocación (request) HTTP a la aplicación web maestra subyacente.

2. Recibe la respuesta HTML de la aplicación, y la transforma con el fin de que pueda

ser agregada o incorporada a la aplicación consumidora. Esto incluye

transformaciones de las hojas de estilo CSS, JavaScript, y todos los hipervínculos

HTML encontrados con el fin de que sean conformes a la especificación WSRP.

3. Adapta el HTML basado en las propiedades de personalización enviadas a través

de WSRP por la aplicación consumidora.

4. Transforma varias directivas HTTP retornadas por la aplicación web maestra

(como Cookies y Caché) en directivas WSRP.

5. Incorpora el código HTML resultante dentro de una respuesta SOAP WSRP y la

retorna a la aplicación consumidora.

Visto de este modo, WebCollage Syndicator for Portlets es un servidor que traduce

invocaciones WSRP (provenientes de la aplicación consumidora del servicio web

interactivo) a HTTP (las cuales envía a la aplicación web maestra), y viceversa. Por lo

tanto, el servidor reside entre la aplicación consumidora y la aplicación web.

56 Traducido del documento “WebCollage Syndicator For Portlets. Technical Overview”, que se adjunta digitalmente a este documento (Syndicator For Portlets Tecnical Overview.PDF) 57 La versión de evaluación con la que se trabajó en la implementación no soporta aún WSRP.

Page 117: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

109

La siguiente figura ilustra esta arquitectura de la plataforma de WebCollage Syndicator for Portlets.

Figura 33. Arquitectura de la Plataforma WebCollage Syndicator for Portlets

Mayor información de la herramienta se puede encontrar en el sitio web

http://www.webcollage.com

HTTP(S)

WSRP

WSRP WSRP

WSRP

WSRP

Page 118: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

110

ANEXO 2. ¿QUÉ ES APRENDAHACIENDO?

Una de las pioneras en América Latina, AprendaHaciendo, una empresa colombiana

especializada en el campo del e-Learning, es el resultado de la experiencia y el

conocimiento de dos compañías, CompuAulas Ltda. y Conocer Ltda., dedicadas desde

hace más de una década al desarrollo de habilidades y entrenamiento de profesionales en

el área de tecnologías de información (TI) y responsables de la implementación exitosa de

estos programas, para miles de clientes, a nombre de importantes empresas

transnacionales como AT&T, IBM, Microsoft, NCR, Oracle y UNISYS, entre otras.

AprendaHaciendo pone el dominio de las nuevas tecnologías y el desarrollo de

metodologías efectivas de transferencia de conocimiento al servicio de las necesidades

específicas de sus clientes en materia de capacitación y desarrollo de talento.

Los productos de AprendaHaciendo constituyen una novedosa y probada solución de

aprendizaje, que de forma interactiva, práctica y efectiva dirige la construcción de

habilidades y conocimientos alineados con las metas y estrategias de las empresas. Su

metodología de enseñanza, basada en cápsulas de aprendizaje58, ofrece una reducción

aproximada del 40% en el tiempo de aprendizaje, mientras incrementa de un 40% a un

70% el nivel de retención en comparación con los métodos tradicionales.

Su método tradicional de distribución de cursos se hace a través de Internet, Intranets o

en CD y están diseñados para operar en red o en forma aislada, lo que permite la

implantación exitosa en cualquier ambiente. Los servicios web de e-Learning analizados

en este documento proporcionan a AprendaHaciendo un nuevo mecanismo a través del

cual puede distribuir sus soluciones de aprendizaje y la habilitan para la práctica de

nuevos modelos de negocio.

Mayor información sobre AprendaHaciendo puede encontrarse en su portal web

http://www.aprendahaciendo.com

58 Una “cápsula de aprendizaje” es la materialización en AprendaHaciendo del enfoque de Learning Objects analizado en esta tesis.

Page 119: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

111

ANEXO 3. DESCRIPCIÓN DEL CONTENIDO DEL CD QUE ACOMPAÑA A ESTE DOCUMENTO

A continuación se brinda una descripción del contenido de la carpeta PROTOTIPOS

existente en CD que acompaña al material digital de este documento.

• TOOLS: Este subdirectorio contiene los instaladores de las herramientas

adicionales utilizadas en la implementación de los prototipos: una versión de

evaluación de WebCollage Syndicator, Microsoft Web Services Enhancements 1.0 (que permitió la implementación de DIME en el servicio web de contenido) y la

librería Microsoft UDDI SDK 2.0 para interactuar con las APIs de UDDI.

• PROVEEDOR: Este subdirectorio contiene la implementación de los servicios web

de e-Learning prototipo de AprendaHaciendo.

o METADATA: Carpeta con un proyecto de librería de clases de Visual

Studio .NET, que contiene la implementación de la lógica para la

manipulación de metadatos SCORM.

o SERVICIOWEBCONTENIDO: Carpeta con un proyecto de Servicio Web

ASP .NET de Visual Studio .NET, con la implementación de un servicio

web de contenido que cumple con la interfaz descrita en el documento.

SCORM: En este subdirectorio del servicio web de contenido se

encuentran almacenadas las cápsulas del Curso Básico de Excel

XP que se seleccionaron para efectos del prototipo (en el

subdirectorio CAPSULAS), así como el manifiesto SCORM del

servicio (el archivo imsmanifest.xml).

o EVALUACIONES: Contiene los archivos necesarios para la

implementación del servicio web interactivo de Evaluación

Page 120: ARQUITECTURA DISTRIBUIDA DE E-LEARNING BASADA EN …

MISC-03-1-8

112

EVALUACIONEXCEL: Contiene la aplicación web de evaluación,

desarrollada con Visual Studio .NET, que es exportada como un

servicio web interactivo.

CONFIGURACIONSYNDICATOR: Contiene los archivos de

configuración que deben copiarse al directorio de instalación de la

herramienta WebCollage Syndicator, para exponer la aplicación

web de evaluación como un servicio web interactivo.

• CLIENTES: Este subdirectorio contiene prototipos de aplicaciones consumidoras

de servicios web de e-Learning

o BROKEREVALUACION: Contiene una aplicación web ASP .NET,

desarrollada con Visual Studio .NET que sirve como intermediario en la

invocación al servicio web interactivo de evaluación.

o AGENTEELEARNING: Aplicación Windows que reside en la bandeja del

sistema del escritorio del estudiante con la lista de cápsulas personalizadas

de acuerdo con los resultados previos de evaluaciones presentadas.

• DIRECTORIO: Implementación de un directorio de servicios de e-Learning como

un motor de búsqueda que opera sobre UDDI.

o BDINDICE: Este subdirectorio contiene los archivos con los dispositivos de

datos y de log de transacciones de la base de datos de SQL Server 2000

utilizada para almacenar la información descargada por el crawler de

servicios web de e-Learning.