Herramientas de usuario

Herramientas del sitio


es:manual:integracion:webservices

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
es:manual:integracion:webservices [2023/05/22 10:03] rootes:manual:integracion:webservices [2023/05/23 19:35] (actual) – [Ejecución de un test desde un sistema externo] root
Línea 136: Línea 136:
 === Ejecución === === Ejecución ===
  
-Una vez obtenidas las credenciales para realizar el test mediante los servicios webse obtiene un token con el cual se puede iniciar una sesión de test mediante el servicio ''beginTestSession''.+Para iniciar el test debe obtenerse una URL de iniciopara lo cual hacen falta (1) el token obtenido previamente con el servicio ''authenticateUser'' o ''authenticateExternalUser''el identificador de la sesión obtenido al invocar al servicio web ''beginTestSession''Con estos dos valores se compone una URL que llama a Siette pasándole éstos y otros valores como parámetros mediante el método GET, por ejemplo: 
  
-La sesión de test puede ejecutarse de dos formas:+''https://www.siette.org/siette?idsesion=SSS&idioma=III&xml=X&token=TTT&urlBack=BBB''  
 + 
 +en donde: 
 + 
 +^Parámetro ^Posibles valores ^Caracter ^Comentarios ^ 
 +|token | Número entero | necesario | Se debe obtener previamente mediante el servicio ''authenticateUser'' o ''authenticateExternalUser''
 +|idsesion | Número entero | necesario | Se debe obtener previamente mediante el servicio ''beginTestSession''
 +|idioma| "es, "en", "fr" ... | opcional | Indica el idioma del interfaz | 
 +| xml | "true", "false", "1", "0" | opcional | Indica si Siette debe devolver una página HTML o bien simplemente una descripción en formato XML | 
 +| urlBack | URL | opcional | Servicio o página a la cual se le pasaran como parametros los resultados del test cuando éste concluya. | 
 + 
 +En la integración mediante Java, para componer esta URL basta con llamar al método getStartTestURL de la clase [[es:manual:integracion:siette.external.integrationhelper|IntegrationHelper]] 
 + 
 +  * En caso de no usar el parámetro XML, la pagina de inicio del test obtenida en el paso anterior se mostrará en una página o en un **iframe** del navegador. La propia URL contiene los botones de navegación del test al igual que si el test se realizara desde el propio entorno de Siette, por lo que la navegación de preguntas y respuestas se va encadenando de forma natural. 
 + 
 +  * En el caso en el que las preguntas se requieran en formado XML, añadiendo este parámetro en la primera llamada, Siette devuelve como resultado inicialmente la descripción del test descrito mediante [[es:manual:sqti|SQTI]]. Esta descripción incluye el valor de la sesión Java del servidor de Siette, es decir el valor del parámetro ''jsessionid'' que resultará ser muy importante para poder continuar la sesión Java establecida con el servidor de Siette. A partir de aquí es responsabilidad del cliente externo realizar las siguientes tareas: 
 +     * Extraer del formato XML los datos necesarios. Para ello debe analizarse el formato XML. La integracion mediante Java proporciona métodos auxiliares para ello. 
 +     * Mostrar los datos al usuario de alguna forma. ("Renderizar" la pregunta) 
 +     * Recoger la respuesta del usuario mediante algún tipo de interacción. 
 +     * Enviar los resultados a Siette y/o solicitar una nueva pregunta. Para ello se realizarán llamadas alternativamente a los servlets ''Pregunta'' y ''Respuesta'', simulando el comportamiento de la interfaz de Siette, hasta el final del test. Si las llamadas se hacen de forma independiente habrá que incluir en la URL el identificador ''jsessionid'' que sirve para recuperar el resto de los valores de la sesión a través del mecanismo de persistencia de las aplicaciones Java. ((En el caso en el que se haya instalado un distribuidor de carga con varias instancias de Siette corriendo sobre distintos servidores, recuerde que es necesario incluir la cookie ''siette.user'' para poder determinar el servidor que mantiene activa la sesión.))  
 + 
 +Por ejemplo, para obtener la siguiente pregunta de un test deberá llamarse a la URL: 
 + 
 +''https://www.siette.org/siette/generador/Pregunta;jsessionid=JJJJJJJJJJJJJJJJJJ'' 
 + 
 +Una vez planteada la pregunta y obtenida la respuesta del alumno, el sistema externo deberá enviársela a Siette para que éste sepa que la pregunta ya ha sido contestada y pueda proceder a mostrar la corrección o a seleccionar una nueva pregunta, según proceda. Esta operación se implementa mediante la llamada a la URL: 
 + 
 +''https://www.siette.org/siette/generador/Respuesta;jsessionid=JJJJJJJJJJJJJJJJJJ?idrespuesta=0000&idrespuesta1=11111''
  
- * (1) sobre una ventana de un navegador web getStartTestURL 
  
- * (2) Requiriendo de Siette las preguntas en formato XML, mostrandolas al alumno de alguna forma y devolviendo a Siette la respuesta del alumno. Para hacer esto se requieren sucesivas llamadas al servlet Pregunta y al servlet Respuesta 
  
es/manual/integracion/webservices.1684749800.txt.gz · Última modificación: 2023/05/22 10:03 por root

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki