Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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://c...
EVA EVA (Entorno Virtual de Aprendizaje) El  EVA es un entorno basado en web que permite recrear la experiencia de aprendi...
SGA SGA (Sistema de Gestión Académica) El SGA, es el sistema de gestión transaccional que registra desde la creación de es...
Instancia virtual Una instancia virtual, en el EVA, es la creación de todas las entidades (períodos académicos, planes de ...
Solución: diferida Cuando el período de matricula finaliza, se hace una lectura todos los datos del SGA y se general la in...
Solución: Justo a tiempo (JIT) Se implementan pseudo servicios web del lado del EVA, que pueden ser invocados desde el SGA...
Modelo de comunicación EVA - SGA EVA API de invocación  y respuesta Respuesta al usuario Secretaría
Implementaciones <ul><li>Creación de cuentas de usuario e impresión de nombre de usuario y contraseña </li></ul><ul><li>As...
<ul><li>Creación de cuentas de usuario e Impresión de nombre de usuario y contraseña </li></ul>
Esquema de implementación EVA API de invocación  y respuesta Documento,  incluye  nombre de usuario y  contraseña Secretaría
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 ...
Arquitectura de implementación
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]
Entrada/salida ENTRADAS: CUE Identificador Único del Estudiante en DANTA SALIDAS: Flujo XML <eva><status>STATUS</status><c...
Estados de Retorno <ul><li>ERROR_STATUS = 0 //Error general </li></ul><ul><li>OK_STATUS = ; //Ejecución satisfactoria, ret...
Resumen del Algoritmo implementado El URL invoca un guión de comandos del lado del servidor del EVA, que implementa el API...
Curso alterno de eventos <ul><li>Un CUE ya corresponde a una cuenta de usuario en el EVA, pero no se registra ningun acces...
<ul><li>Asignación / Desasignación de profesores en asignaturas </li></ul>
Esquema de implementación EVA API de invocación  y respuesta Nuevo estado  de la asignatura Secretaría
Descripción El API de invocación y respuesta para la asignación de profesores en la asignatura en el EVA, es  un component...
Arquitectura de implementación
Descripción técnica El API debe ser invocado vía HTTP en la URL: http://hostname/moodle/enrol/utpl/ws/assingteacher.php?pd...
Entrada/salida ENTRADAS: pdoid : Identificador único del período académico pasid :  Identificador único de la asignatura p...
Salida SALIDAS: Flujo XML <eva><status>STATUS</status></eva> En cada variable se reemplaza el dato correspondiente, sólo s...
Estados de Retorno <ul><li>ERROR_STATUS = 0 //Error general </li></ul><ul><li>OK_STATUS = 1; //Ejecución satisfactoria, re...
Resumen del Algoritmo implementado El URL invoca un guión de comandos del lado del servidor del EVA, que implementa el API...
Curso alterno de eventos y consideraciones <ul><li>La implementación del API es optimista, asume que siempre se realizara ...
TODO (por hacer) <ul><li>JIT para la creación de períodos académicos </li></ul><ul><li>JIT para la creación de planes de e...
Upcoming SlideShare
Loading in …5
×

API EVA-SGA

5,466 views

Published on

Detalle técnico del API de comunicación entre el EVA y el SGA de la UTPL

Published in: Technology
  • Be the first to comment

  • Be the first to like this

API EVA-SGA

  1. 1. 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_address]
  2. 2. 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.
  3. 3. 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.
  4. 4. 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.
  5. 5. 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 Problema La instancia no es estática
  6. 6. 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.
  7. 7. Modelo de comunicación EVA - SGA EVA API de invocación y respuesta Respuesta al usuario Secretaría
  8. 8. Implementaciones <ul><li>Creación de cuentas de usuario e impresión de nombre de usuario y contraseña </li></ul><ul><li>Asignación/Desasignación de profesores en asignaturas </li></ul><ul><li>TODO ... </li></ul>
  9. 9. <ul><li>Creación de cuentas de usuario e Impresión de nombre de usuario y contraseña </li></ul>
  10. 10. Esquema de implementación EVA API de invocación y respuesta Documento, incluye nombre de usuario y contraseña Secretaría
  11. 11. 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.
  12. 12. Arquitectura de implementación
  13. 13. 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]
  14. 14. 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
  15. 15. Estados de Retorno <ul><li>ERROR_STATUS = 0 //Error general </li></ul><ul><li>OK_STATUS = ; //Ejecución satisfactoria, retorna la cadena XML completa con datos válidos </li></ul><ul><li>CUE_ERROR_STATUS = 2 //CUE invalido </li></ul><ul><li>CUE_NOT_FOUND_STATUS = 3 //CUE no encontrado en DANTA </li></ul><ul><li>CUE_MOODLE_EXIST_STATUS = 4 //CUE ya registrado </li></ul><ul><li>LOGIN_EXIST_STATUS = 5 //El usuario ya inicio por lo menos una session de usuario, no se puede retornar nada </li></ul>
  16. 16. 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.
  17. 17. Curso alterno de eventos <ul><li>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 </li></ul><ul><li>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. </li></ul>
  18. 18. <ul><li>Asignación / Desasignación de profesores en asignaturas </li></ul>
  19. 19. Esquema de implementación EVA API de invocación y respuesta Nuevo estado de la asignatura Secretaría
  20. 20. 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.
  21. 21. Arquitectura de implementación
  22. 22. 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]&pasid=[VALOR]&paralelo=[VALOR]&idnumber=[VALOR]&command=[VALOR]
  23. 23. Entrada/salida ENTRADAS: pdoid : Identificador único del período académico pasid : Identificador único de la asignatura paralelo : Paralelo de la asignatura idnumber : Identificador del profesor (cédula, pasaporte) command : Comando de ejecución ( assign , unassign )
  24. 24. 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
  25. 25. Estados de Retorno <ul><li>ERROR_STATUS = 0 //Error general </li></ul><ul><li>OK_STATUS = 1; //Ejecución satisfactoria, retorna la cadena XML completa con datos válidos </li></ul><ul><li>PARAM_ERROR_STATUS = 2 //Ausencia de algún parámetro </li></ul><ul><li>IDNUMBER_ERROR_STATUS = 3 //IDNUMBER no tiene el formato correcto </li></ul><ul><li>IDNUMBER_NOT_FOUND_STATUS = 4 //IDNUMBER no encontrado </li></ul><ul><li>UNKNOW_COMMAND_STATUS = 5 //El comando no es assign ó unassign </li></ul>
  26. 26. 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.
  27. 27. Curso alterno de eventos y consideraciones <ul><li>La implementación del API es optimista, asume que siempre se realizara la asignación y/o desasignación. </li></ul><ul><li>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. </li></ul>
  28. 28. TODO (por hacer) <ul><li>JIT para la creación de períodos académicos </li></ul><ul><li>JIT para la creación de planes de estudio </li></ul><ul><li>JIT para la creación de asignaturas </li></ul><ul><li>JIT para cambio de paralelos </li></ul>

×