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:24] 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 ===
  
-Para iniciar el test debe obtenerse una URL de inicio, para lo cual hacen falta (1) el token obtenido previamente con el servicio ''authenticateUser'' o ''authenticateExternalUser'' y 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: ''https://www.siette.org/siette?idsesion=SSS&idioma=III&xml=X&token=TTT&urlBack=BBB'' en donde SSS representa el identificador de la sesión, obtenido al invocar al servicio web ''beginTestSession''; III el código de idioma; X indica si Siette debe devolver las preguntas compuestas en HTML con la interfaz normal, o bien solo un esquema de la pregunta en XML; TTT el token obtenido anteriormente mediante el servicio web ''authenticateUser'' o ''authenticateExternalUser''; y BBB la url a la que Siette invocará una vez concluido el test para enviar los resultados.+Para iniciar el test debe obtenerse una URL de inicio, para lo cual hacen falta (1) el token obtenido previamente con el servicio ''authenticateUser'' o ''authenticateExternalUser'' y 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:  
 + 
 +''https://www.siette.org/siette?idsesion=SSS&idioma=III&xml=X&token=TTT&urlBack=BBB''  
 + 
 +en donde:
  
 ^Parámetro ^Posibles valores ^Caracter ^Comentarios ^ ^Parámetro ^Posibles valores ^Caracter ^Comentarios ^
-|token | Numero entero | necesario | Se debe obtener previamente mediante el servicio ''authenticateUser'' o ''authenticateExternalUser''+|token | Número entero | necesario | Se debe obtener previamente mediante el servicio ''authenticateUser'' o ''authenticateExternalUser''
-|idsesion | Numero entero | necesario | Se debe obtener previamente mediante el servicio ''beginTestSession'' |+|idsesion | Número entero | necesario | Se debe obtener previamente mediante el servicio ''beginTestSession'' |
 |idioma| "es, "en", "fr" ... | opcional | Indica el idioma del interfaz | |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 uan descripción en formato XML |+| 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. | | 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''
  
  
-  * En caso de no usar el pa 
-  * (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.1684751071.txt.gz · Última modificación: 2023/05/22 10:24 por root

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki