Herramientas de usuario

Herramientas del sitio


es:manual:integracion:siette.external.integrationhelper

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:siette.external.integrationhelper [2021/06/04 07:40] rootes:manual:integracion:siette.external.integrationhelper [2023/09/10 08:11] (actual) – [Construccion de enlaces] root
Línea 40: Línea 40:
  
 ==== Llamada a servicios web ==== ==== Llamada a servicios web ====
 +<code java>
 +public Boolean          invokeServiceRegisterUser(UserData userData, String rsaSha1Signature);
 +public Boolean          invokeServiceCheckExitsUser(String userName);
 +public String           invokeServiceAuthenticateUser(String userName, String rsaSha1Signature);
 +public AsignaturaBean[] invokeServiceGetTestListTeacher(String userName,String language);
 +public AsignaturaBean[] invokeServiceGetSubjectListTeacher(UserData user, String language);
 +public AsignaturaBean[] invokeServiceGetTestListStudent(String userName, String language);
 +public int              invokeServiceGetNumberofUsers(String remoteSystemIdentifier);
 +public Integer          invokeServiceBeginTestSession(Integer idTest, boolean colaborativeMode, 
 +                String userName, String rsaSha1Signature, String remoteAddr);
 +public Integer          invokeServiceGetTestQuestions(Integer idTest, boolean colaborativeMode, 
 +                String userName, String rsaSha1Signature, String remoteAddr);
 +public String           invokeServiceGetScore(Integer idsession);
 +</code>
 +
 +Todos estos métodos llaman directamente a los servicios web de Siette. Son por tanto simples //envoltorios// de la llamada, implementados de manera que se simplifique la programación. Por supuesto, antes de llamar a cada uno de estos métodos hay que establecer la configuración de la conexión, bien en el constructor del objeto de esta clase o llamando al método ''setConfig'', pasandole al menos el nombre de usuario, el identificador del sistema externo y la clave privada.
 +
 +
 +<code java>
 +public boolean checkUserStep(UserData userData);
 +public void registerUserStep(UserData userData);
 +public String authenticateUserStep(String userName);
 +public Integer getSietteSessionStep(String userId, boolean colaborative,
 + int sietteTestID, String remoteAddr);
 +public String getSietteScore(Integer sietteSession);
 +</code>
 +
 +
 +<code java>
 +public String startTest(UserData userData, int sietteTestID, boolean colaborative, 
 +                 boolean xml, String language, String urlEndTestBack, String urlEndItemBack, String remoteAddr);
 +</code>
  
 +Este método es una forma simplificada de realizar las operaciones mas comunes en la conexión llamando sucesivamente a varios servicios web. En concreto, conecta con Siette y busca si el usuario está ya creado. Si no es así lo crea, completa la autenticación, crea la sesión del test y lama al método ''getStartTestURL'' para devolver una URL que permite comenzar la ejecución del test en un navegador.
  
 ==== Construccion de enlaces ==== ==== Construccion de enlaces ====
Línea 46: Línea 79:
 <code java> <code java>
 public String getStartTestURL(Integer idsession, String token, public String getStartTestURL(Integer idsession, String token,
-     String language, boolean xml, String urlBack); +     String language, boolean xml, String urlBack, String urlReport);
-public String getStartTestURL(Integer idsession, String token,  +
-            String language, String urlBack)+
 </code> </code>
  
 Prepara una URL a partir de la cual se puede iniciar un test en Siette. La sesión ya ha debido ser creada previamente, invocando al [[es:manual:integracion:webservices#servicios|servicio]] ''beginTestSession'', o lo que es lo mismo, mediante una llamda al método de esta misma clase ''invokeBeginTestSesion''. Prepara una URL a partir de la cual se puede iniciar un test en Siette. La sesión ya ha debido ser creada previamente, invocando al [[es:manual:integracion:webservices#servicios|servicio]] ''beginTestSession'', o lo que es lo mismo, mediante una llamda al método de esta misma clase ''invokeBeginTestSesion''.
  
-El cliente obtiene esta URL y como respuesta a ella Siette presenta la pagina web conrrespondiente a la entrada a una evaluación.+El cliente obtiene esta URL y como respuesta a ella Siette presenta la pagina web conrrespondiente a la entrada a una evaluación. Da lo mismo que la sesión ya haya sido comenzada o que este por iniciar, la respuesta de Siette a esta URL será siempre la pagina con la información de entrada al test. Una vez que comience la ejecución, si ya habia comenzado la sesion Siette redirigirá a la última pregunta del test sin contestar.
  
 ^Argumento ^Descripción^ ^Argumento ^Descripción^
 |''idsession'' | Identificador de la sesion | |''idsession'' | Identificador de la sesion |
 |''token'' | //Credencial// obtenida previamente | |''token'' | //Credencial// obtenida previamente |
-|''language'' | Cadena correspondiente al idioma (''es'';''en''; ''de''; ''fr'') |+|''language'' | Cadena correspondiente al idioma (''es''; ''en''; ''de''; ''fr'') |
 |''xml'' | Si es ''true'', indica a Siette que la respuesta debe ser una pagina en formato ''text/xml'' en vez de ''text/html'', es decir, al invocar a la URL devuelta por este enlace, en vez de obtener una pagina web que al presentarla con un navegador muestra una pregunta al usuario, lo que devolverá el enlace es una página web con la codificación mediante SQTI del test que se va a realizar. | |''xml'' | Si es ''true'', indica a Siette que la respuesta debe ser una pagina en formato ''text/xml'' en vez de ''text/html'', es decir, al invocar a la URL devuelta por este enlace, en vez de obtener una pagina web que al presentarla con un navegador muestra una pregunta al usuario, lo que devolverá el enlace es una página web con la codificación mediante SQTI del test que se va a realizar. |
-|''urlBack'' | Direccion URL a la que llamará Siette cuando concluya el test, pasandole como parámetros los resultados de la evaluación. |+|''urlBack'' | Direccion URL a la que llamará Siette cuando concluya el test, pasándole como parámetros los resultados de la evaluación. 
 +|''urlReport'' | Dirección URL a la que llamará Siette cuando el alumno responda a una pregunta. Si este pàrá,metro no es //null// la respuesta a la pregunta provocará una llamada HTTP(S) por el método POST al servidor que se indique, pasándo en el parámetro ''xml'' una cadena de caracteres con el código XML correspondiente a la corrección del ítem |
  
 +<code java>
 +public String getQuestionURL(Integer idsession, String token,
 +     String language, boolean xml, String urlReport);
 +</code>
 +
 +Es un método similar al anterior, que devuelve una URL para presentar una pagina de Siette. La diferencia es que la página que se presenta no es la correspondiente a la información del test al inicio, sino directamente la pagina correspondiente a la última pregunta sin contestar.
 +
 +Si se proporciona una URL en el argumento ''urlReport'', Siette entenderá que como respuesta a esta página tras la contestación del alumno debe reenviar tambien a una URL prefijada la respuesta del alumno en XML. Esta información se presenta codificada mediante SQTI.
 +
 +Al usar la opción XML, al llamar a este método la ejecución de Siette se interrumpe tras cada llamada. Una vez obtenida la respuesta el sistema externo deberá seguir llamando a este método hasta completar la ejecución del test.
 +
 +<code java>
 +public String getSietteReportURL(int idSession,int idTest, String auth,
 + int colaborative, String language, String urlSIETTE)
 +</code>
 +
 +Devuelve una URL a través de la cual pueden mostrarse los resultados de una evaluación en Siette. La presentación de resultados esta supeditada a que la configuración del test en Siette permita mostrar los resultados. En caso contrario la URL creada devolverá un mensaje indicando que el acceso está restringido.
  
 ==== Utilidades ==== ==== Utilidades ====
Línea 84: Línea 133:
 Devuelve una secuencia de todos los parámetros del ''request'' en formato URI, ya codigicados, que puede ser añadida a una URL base para la siguiente llamada.  Devuelve una secuencia de todos los parámetros del ''request'' en formato URI, ya codigicados, que puede ser añadida a una URL base para la siguiente llamada. 
  
 +<code java>
 +public static String html_entity_decode( String content );
 +</code>
  
 +Transforma una cadena ''content'' eliminando las entidades HTML y reemplazandolas por el carácter [[wp>UNICODE]] correspondiente
es/manual/integracion/siette.external.integrationhelper.1622792448.txt.gz · Última modificación: 2021/06/04 07:40 por root

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki