Archivo de la etiqueta: siu-toba

Consumir Web Service del SIU-Mapuche desde SIU-Toba

Claramente lo primero que tengo que tener, es correctamente instalada la libreria WSF/PHP en el servidor del SIU-Mapuche, y tambien en el servidor en el cual estamos desarrollando la aplicación ya que es fundamental para el manejo de WS en SIU-Toba esta librería.

Generando el entorno (Seguridad)

Los WS service del SIU, por convención TODOS, menos los de prueba (eco y ping) deben funcionar «seguros», esto quiere decir que deben viajar encriptados y firmados (utilizando criptografía asimétrica). Para realizar esto es necesario utilizar dos pares de certificados (unos para el cliente, otros para el servidor).

Robada Tomada desde Wikipedia

Para crear los certificados debemos tener un archivo openssl.ini el cual vamos usar para facilitar el ejemplo y al cual le podemos editar las siguientes partes:

y la parte:

con la información particular de la institución donde trabajan.

Para generar los certificados debemos ejecutar:

Y repetir la operación para generar los certificados para el servidor:

Configuración del servidor (SIU-Mapuche)

Primero que nada, hay que saber que los WS del SIU-Mapuche, tienen un sistema de seguridad por el cual se permite la activación y desactivación de los mismos

El sistema SIU-Mapuche por default trae desactivados todos los WS exepto 2 que son de prueba (echo y ping). Para activar los WS se debe ir a Configuración, una vez que estamos dentro de la operación Configuración se debe ingresar a Servicios Web -> General, ahí tildar los servicios que necesitamos, y guardar los cambios.

Una vez habilitados los WS, debemos configurar los certificados (3 de los 4 que creamos antes).

Debemos subir 3 certificados al servidor donde se encuentra el SIU-Mapuche

  • server.crt (Certificado servidor)
  • server.key (Clave servidor)
  • cliente.crt (Certificado cliente)

Cuando se tengan estros tres archivos subidos al servidor, vamos a Configuración -> Servicios Web -> Seguridad,  y llenamos con las 3 rutas completas a los archivos que acabamos de subir según corresponda y guardamos.

Configuración del cliente (nuestro proyecto en SIU-Toba)

Dentro de nuestro proyecto, debemos crear un nuevo «servicio web accesible», esto lo podemos realizar desde el toba_editor en la pestaña «Datos» -> «Servicios Web Accesibles», aquí hacemos click en el botón agregar.

En el ejemplo que voy a mostrar, vamos a trabajar con los WS de agentes.

Y guardamos los cambios.

Nota: La URL siempre esta formada por el punto de acceso a los servicios web del SIU-Mapuche (http://{ruta_al_siu_mapuhce}/servicios.php) mas el nombre del WS que puede verse en el SIU-Mapuche en «Ayuda» -> «Servicios Web» (ServicioWebAgentes, ServicioWebCargos, ServicioWebPruebas, etc).

Lo próximo que tenemos que hacer es configurar el «certificado del servidor» en la «instancia cliente» (nuestro proyecto). Esto lo podemos hacer con un comando de consola de toba:

Con todo esto, ya deberíamos tener todo configurado y listo para poder trabajar (codear!).

NOTA: Tomo por sentado de que tienen conocimientos de como crear operaciones en SIU-Toba.

Para este ejemplo, creamos una operación la llamamos Legajo y le agregamos un CI, al CI le agregamos un cuadro con 3 columnas (legajo, nombre y apellido) y extendemos el CI.

agregamos el siguiente código:

FIN!

Proximamente voy a subir como hacer para consumir los WS del SIU-Mapuche desde afuera del SIU-Toba.

Pueden bajarse el proyecto demo que realice y poder utilizarlo de ejemplo, solo tienen que cargar el proyecto en un SIU-Toba 2.3.4 y cargarlo con el siguiente comando de toba:

Referencias:

  • http://toba.siu.edu.ar/trac/toba/wiki/Referencia/ServiciosWeb
  • Evento Anual en la UNLP curso de WS SIU-Toba