api eva-sga

28
API de comunicación entre el EVA y el SGA UTPL Detalle técnico del API de comunicación EVA- SGA. José Luis Granda http://cafedechucho.blogspot.com [email protected]

Upload: jose-luis-granda

Post on 20-Jul-2015

5.232 views

Category:

Technology


0 download

TRANSCRIPT

API de comunicación entre el EVA y el SGA

UTPL

Detalle técnico del API de comunicación EVA-SGA.

José Luis Grandahttp://cafedechucho.blogspot.com

[email protected]

EVA

EVA (Entorno Virtual de Aprendizaje)

El EVA es un entorno basado en web que permite recrear la experiencia de aprendizaje desde el

punto de vista del estudiante y la experiencia de enseñanza de cara al profesor y la unidad

académica.

SGA

SGA (Sistema de Gestión Académica)

El SGA, es el sistema de gestión transaccional que registra desde la creación de estudiantes y

profesores, la creación de materias y la asignaciones de estudiantes y profesores en las

asignaturas correspondientes, según el proceso de matriculación en un período académico específico.

Instancia virtual

Una instancia virtual, en el EVA, es la creación de todas las entidades (períodos académicos, planes

de estudio, asignaturas, matriculas y asignación de profesores).

La instancia virtual se alimenta de los datos generados por el SGA.

Solución: diferida

Cuando el período de matricula finaliza, se hace una lectura todos los datos del SGA y se general la

instancia virtual

ProblemaLa instancia no es estática

Solución: Justo a tiempo (JIT)

Se implementan pseudo servicios web del lado del EVA, que pueden ser invocados desde el SGA

para crear bajo demanda las entidades de la instancia virtual.

Modelo de comunicación EVA - SGA

SGAAPI de invocación

y respuesta

3. Retornar datos y/o estado de retorno

2. Enviar parámetros

Respuesta al usuario

4. Siguiente proceso en SGA

Secretaría

1. Funcionalidad SGA

EVA

Implementaciones

● Creación de cuentas de usuario e impresión de nombre de usuario y contraseña

● Asignación/Desasignación de profesores en asignaturas

● TODO ...

Creación de cuentas de usuario e Impresión de nombre de usuario y

contraseña

Esquema de implementación

DANTAAPI de invocación

y respuesta

3. Retornar (USERNAME, PASSWORD) ó estado de retorno

2. Enviar CUE

Documento, incluye

nombre de usuario y contraseña

4. Imprimir

Secretaría

1. Imprimir comprobante de selección de carrera

EVA

Descripción

El API de invocación y respuesta para la creación de cuentas de usuario en el EVA, es un componente del lado del EVA que recibe una petición HTTP y

devuelve una salida XML para el posterior tratamiento.

Arquitectura de implementación

Validador de parametros

Lector de datos desde DANTA

Creador de cuenta de usuario

Escritor de salida XML

Descripción técnica

El API debe ser invocado vía HTTP en la URL:

http://hostname/moodle/enrol/utpl/ws/adduser.php?cue=[CUE]http://hostname/moodle/enrol/utpl/ws/adduser.php?cue=[CUE]

Entrada/salida

ENTRADAS:CUE Identificador Único del Estudiante en DANTA

SALIDAS:Flujo XML<eva><status>STATUS</status><cue>CUE</cue>

<username>USERNAME</username><password>PASSWORD</password></eva>

En cada variable se reemplaza el dato correspondiente, sólo si el estado de retorno es OK_STATUS

Estados de Retorno

● ERROR_STATUS = 0 //Error general● OK_STATUS = ; //Ejecución satisfactoria, retorna

la cadena XML completa con datos válidos● CUE_ERROR_STATUS = 2 //CUE invalido● CUE_NOT_FOUND_STATUS = 3 //CUE no

encontrado en DANTA● CUE_MOODLE_EXIST_STATUS = 4 //CUE ya

registrado● LOGIN_EXIST_STATUS = 5 //El usuario ya

inicio por lo menos una session de usuario, no se puede retornar nada

Resumen del Algoritmo implementado

El URL invoca un guión de comandos del lado del servidor del EVA, que implementa el API, pasandole un parámetro CUE o Código Único del Estudiante, con este valor se realiza una busqueda en DANTA y se procede a crear una cuenta de usuario en el EVA y se retorna la cadena XML completa con información válida.

Curso alterno de eventos

● Un CUE ya corresponde a una cuenta de usuario en el EVA, pero no se registra ningun acceso, el guión de comandos, genera una nueva contraseña y la retorna junto con el nombre de usuario en la cadena XML

● Si un CUE ya corresponde a una cuenta de usuario en el EVA y se ha registrado por lo menos un acceso del usuario, se retorna el estado correspondiente y no se devueven datos en el flujo XML.

Asignación / Desasignación de

profesores en asignaturas

Esquema de implementación

DANTAAPI de invocación

y respuesta

3. Retornar estado de retorno

2. paso de parámetros(pdoid, pasid, paralelo, idnumber, command)

Nuevo estado de la asignatura

4. Vista

Secretaría

1. Mantenimiento oferta Planes Estudio

EVA

Descripción

El API de invocación y respuesta para la asignación de profesores en la asignatura en el EVA, es un componente del lado del EVA que recibe una

petición HTTP y devuelve una salida XML para el posterior tratamiento.

Arquitectura de implementación

Validador de parametros

Lector de datos desde DANTA

Procesador de comandos

Escritor de salida XML

Descripción técnica

El API debe ser invocado vía HTTP en la URL:

http://hostname/moodle/enrol/utpl/ws/assingteacher.php?pdoid=[VALOR]&http://hostname/moodle/enrol/utpl/ws/assingteacher.php?pdoid=[VALOR]&pasid=[VALOR]&paralelo=[VALOR]&idnumber=[VALOR]&commandpasid=[VALOR]&paralelo=[VALOR]&idnumber=[VALOR]&command=[VALOR]=[VALOR]

Entrada/salida

ENTRADAS:pdoid: Identificador único del período académicopasid: Identificador único de la asignaturaparalelo: Paralelo de la asignaturaidnumber: Identificador del profesor (cédula,

pasaporte)command: Comando de ejecución (assign, unassign)

Salida

SALIDAS:Flujo XML<eva><status>STATUS</status></eva>En cada variable se reemplaza el dato

correspondiente, sólo si el estado de retorno es OK_STATUS

Estados de Retorno

● ERROR_STATUS = 0 //Error general● OK_STATUS = 1; //Ejecución satisfactoria,

retorna la cadena XML completa con datos válidos● PARAM_ERROR_STATUS = 2 //Ausencia de

algún parámetro● IDNUMBER_ERROR_STATUS = 3

//IDNUMBER no tiene el formato correcto● IDNUMBER_NOT_FOUND_STATUS = 4

//IDNUMBER no encontrado● UNKNOW_COMMAND_STATUS = 5 //El

comando no es assign ó unassign

Resumen del Algoritmo implementado

El URL invoca un guión de comandos del lado del servidor del EVA, que implementa el API, pasándole los parámetros descritos anteriormente, con estos valores se realiza una búsqueda en el SGA y se procede a realizar la asignación o desasignación, según se indique por el parámetro command, en el EVA y se retorna la cadena XML con el código de estatus resultante.

Curso alterno de eventos y consideraciones

● La implementación del API es optimista, asume que siempre se realizara la asignación y/o desasignación.

● El API también considera la creación de un profesor si aún no existe en el EVA, esto significa que también se creará en cascada la cuenta de correo electrónico.

TODO (por hacer)

● JIT para la creación de períodos académicos● JIT para la creación de planes de estudio● JIT para la creación de asignaturas● JIT para cambio de paralelos