Universidad Nacional Autónoma de México
Dirección General de Servicios de Cómputo Académico
Año 7 Núm. 74, Publicación Mensual, 27 de Noviembre de 2008

ARTÍCULOS

 

Año 6, Número 64, Noviembre de 2007

SOA: para los sistemas de educación en línea
Mario García Burgos
Saidel López Hernández

Una arquitectura orientada a servicios o SOA (por sus siglas en inglés Service-Oriented Architecture) es una estrategia de desarrollo para lograr la interoperabilidad de distintos sistemas de cómputo ya existentes, por lo que actualmente debe incluirse en el inicio de los desarrollos de sistemas.

Es casi imposible para un sistema de información cumplir con todos los requerimientos impuestos y deseados por una institución u organización usuaria, y es común que para atenderlos existan diversos sistemas, de ahí la necesidad de que puedan intercambiar y compartir información.

Compartir la información y los procesos es importante para las instituciones, pues permite agilizar procesos y trámites, por ende, evita duplicar la información y tareas; además de que propicia la innovación en el desarrollo de aplicaciones, incluso en la creación de nuevas herramientas que no fueron previstas o esperadas.

Las arquitecturas SOA utilizan la información existente y que un sistema gestiona de manera aceptable; los desarrollos se centran y focalizan en la atención de necesidades específicas:consumir información que otros sistemas expongan y, a su vez, exponer y publicar servicios para ser consumidos por otras aplicaciones.

La arquitectura de sistemas SOA surge ante la búsqueda de estrategias de interoperabilidad de sistemas, donde la problemática puede resumirse en los siguientes puntos:

  • Distintos sistemas casi siempre se desarrollan en diversos lenguajes de programación. La interoperabilidad se ve limitada a sistemas implementados en un mismo lenguaje, y/o largos tiempos de desarrollo de sistemas para producir la comunicación.
  • La interoperabilidad se ve afectada por las medidas de seguridad impuestas por los firewalls que limitan el paso de información hacia diferentes puertos informáticos.
  • Es imposible que todos los equipos de cómputo compartan las mismas especificaciones.

Hoy en día, la interoperabilidad debe de darse entre sistemas muy diversos, desde grandes computadoras hasta equipos móviles, así como diferentes sistemas operativos. Como ejemplo, los navegadores para Internet de los dispositivos móviles son incompatibles a la mayoría de la información que se obtiene de la Web. El hardware es, entonces, otra limitante para la comunicación e interoperabilidad.

A lo largo de los años, la implementación de sistemas de enseñanza en línea en la Dirección General de Servicios de Cómputo Académico (DGSCA) de la UNAM, ha obedecido a una serie de requisitos definidos por las instituciones que solicitan la realización de dichos sistemas. Estos requisitos se incrementan a medida que la tecnología permite explorar nuevas rutas de implementación, al tiempo que los usuarios maduran en su uso y se desarrolla la tecnología. Cuando existen coincidencias entre las funciones o la información que manejan los distintos sistemas, hay que incluir aspectos de interoperabilidad entre ellos, con objeto de centralizar la información y evitar la duplicación de esfuerzos y procesos.

La Coordinación de SERUNAM de la DGSCA explora el paradigma SOA en el contexto de los sistemas académicos y educativos. La intención es conseguir interoperabilidad entre los diferentes desarrollos e implementaciones de software educativo, mediante la creación de sistemas y aplicaciones que centralicen la información, así como el desempeño académico y curricular de los estudiantes usuarios de los sistemas de educación en línea.

Los sistemas de e-learning proveen la administración y centralización de la información en relación con el avance académico y curricular, así como con las calificaciones y registros del curso o actividad educativa en línea.

En sistemas LMS para la enseñanza en línea, donde se utilizan diversas plataformas (Moodle, ALUNAM, ATutor), las cuales se ejecutan en distintos servidores y contextos, se requiere de una automatización en el proceso de registro de avance curricular.

Con este tipo de desarrollos, la DGSCA pretende abordar la tarea de incursionar en ambientes y arquitecturas de sistemas más robustos para la educación a distancia, al dotar a los diversos desarrollos de sistemas de cómputo que la UNAM utiliza para actividades académicas, de un servicio para gestionar y centralizar el registro de las calificaciones, al tiempo de forjar la unificación del historial de avance académico, independientemente de que se hayan realizado las actividades en distintos sistemas. Con la anterior consideración, se desarrolló un prototipo de sistema con un servicio para el registro de calificaciones, basado en una especificación abierta definida por la Open Knowledge Initiative (OKI), que define un marco de referencia para la interoperabilidad de distintos sistemas, específicamente los orientados a los aspectos educativos y curriculares. Se expone como un servicio Web, por lo que la comunicación es simplemente en XML.

El sistema Servicio Web para Calificaciones (SERUNAM-OKIGI) es un primer esfuerzo para la creación de sistemas orientados a servicios, lo que significa que son vistos como servicios remotos capaces de exponerse en la red para ser consumidos y aprovechados por otros sistemas a través de un lenguaje común: XML. Algunas prácticas de consumo de servicios, como Web Services, acceden a esta información, volviéndola útil para el sistema consumidor.

Con lo anterior, se obtienen los siguientes beneficios:

  • Se resuelven los problemas entre lenguajes de programación, pues la mayoría de los actuales lenguajes manejan el formato XML, y el envío y recepción de mensajes por la red.
  • Los sistemas de seguridad de los firewalls no interfieren filtrando la comunicación, en tanto el envío y recepción de mensajes se realiza usando el protocolo HTTP a través de puertos que los dispositivos mantienen abiertos con regularidad.
  • Los diferentes sistemas de hardware, como dispositivos móviles, con la capacidad de enviar y recibir datos a través de la red, a partir de un lenguaje de programación, podrán intercomunicarse, y ser tanto consumidores como proveedores de servicios.
  • Diversas actividades en línea pueden centralizar la información para las calificaciones que obtienen los alumnos, evitando el trabajo de llevarlas a cabo casi de manera manual hoy en día.

La mayoría de los lenguajes de programación tienen librerías y extensiones para consumir y publicar servicios Web. También, los entornos de desarrollo como Microsoft Visual Studio, Eclipse o Netbeans tienen herramientas para crear y administrar servicios Web. Entre las herramientas y librerías para servicios Web de algunos lenguajes de programación se pueden mencionar SOMA de Websphere y Apache Axis para Java y NuSOAP para PHP, que generan el código del lenguaje de programación elegido para comunicarse con servicios remotos y pueden usarse para explotar el servicio de OKI: Grading Implementation.

Así pues, es posible la interoperabilidad con otros sistemas de software, en diferentes lenguajes de programación, sistemas operativos y sistemas de hardware. Esta característica permite al sistema Servicio Web para Calificaciones (SERUNAM-OKIGI) exponer llamadas a servicios para las siguientes características funcionales:
• Caracterización, almacenaje y obtención de calificaciones.
• Administración total de objetos calificables y evaluaciones.
• Listados de calificaciones y de sus características estructurales, como escalas de evaluación o tipos de calificaciones.
• Exposición de un servicio remoto para la creación de objetos calificables y evaluaciones, que serán consumidos mediante Web Services.

El sistema incorpora herramientas de código libre (Open Source) como Spring, Struts, Hibernate, entre otras. El servicio remoto que se deslinda de este sistema es consumible mediante Web Services para diferentes lenguajes de programación.

Actualmente, el sistema Servicio Web para Calificaciones (SERUNAM-OKIGI) implementa el OKI-OSID Grading v2.0 (Open Knowledge Initiative - Open Service Interface Definition). Tiene una interfaz gráfica web que sigue los estándares XHTML 1.0 para favorecer la manipulación de la información en las páginas del sistema; CSS 2.0 para el manejo de la imagen y diseño gráfico del sistema web y WAI WCAG 1.0 (Web Accesibility Initiative) y así permitir a personas con capacidades diferentes acceder a la información del sistema. El sistema valida conforme a dichos estándares: XHTML 1.0, CSS2 y WAI – AA.

Recientemente, el sistema Servicio Web para Calificaciones (SERUNAM-OKIGI) participó a nivel internacional en la muestra de interoperabilidad OpeniWorld:eLearn 2007, organizada por el Massachussets Technological Institute y The California State University, donde ganó el premio “Mejor Respuesta a un Reto Tecnológico” (OiW: Best Response to a Technology Challenge Award).

Aunque el sistema sigue en desarrollo, SERUNAM pretende a futuro la creación de una infraestructura educativa sólida enfocada en arquitecturas orientadas a servicios, con base en estándares y especificaciones globales que permitan la interoperabilidad con otros sistemas, lo que se traducirá en sistemas implementados en diferentes lenguajes de programación y plataformas de hardware que compartan información y funciones, para disminuir los tiempos de desarrollo de sistemas web y adaptar los servicios a necesidades específicas.

Para mayor información:

http://balam.dgsca.unam.mx:8080/OGP

http://www.okiproject.org/

http://www.openiworld.org/Home.html

http://www.ser.unam.mx

 

 

Inicio | Contacto |

tml>