API EVA-SGA
-
Upload
jose-luis-granda -
Category
Technology
-
view
5.227 -
download
0
Transcript of API EVA-SGA
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
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 ...
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.
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]¶lelo=[VALOR]&idnumber=[VALOR]&commandpasid=[VALOR]¶lelo=[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.