Web Services en Sakai Universidad Pública de Navarra Daniel Merino Echeverría (Centro Superior de Innovación Educativa)

1 Web Services en Sakai Universidad Pública de Navarra Da...
Author: Marcos Toledo Valenzuela
0 downloads 0 Views

1 Web Services en Sakai Universidad Pública de Navarra Daniel Merino Echeverría (Centro Superior de Innovación Educativa)

2 SOA ● SOA: Service Oriented Architecture. – Arquitectura de servicios con: ● Acoplamiento débil. ● Alta interoperabilidad. – Software “plug and play”. – Una SOA se puede construir con Web Services.

3 Web Services ● Servicios basados en web. – Módulos autónomos. – Tienen funciones muy concretas. ● Modularidad e interoperabilidad. ● Independencia del lenguaje. – El único standard es el intercambio de datos.

4 Web Services - Tecnologías ● XML: Formato de los datos. ● SOAP: Intercambio de datos. ● UDDI: Listado de los servicios. ● WSDL: Descripción de los servicios. ● Axis: Framework que usa todo lo anterior.

5 Un vistazo rápido

6 Ventajas ● Interoperabilidad. ● Independencia de plataforma y lenguaje. – Standards de comunicación aceptados. ● Facilidad de desarrollo y uso. – Basado en HTTP. – Los proxies y firewalls no estorban.

7 Desventajas ● Lentitud. – El protocolo HTTP no es rápido. – El XML no está optimizado. ● Poca seguridad implícita. – Las reglas de los firewalls no sirven.

8 Sakai y los WS. ● Sakai fomenta el uso de Web Services. – Tiene varios ya incluidos de serie. – Documentación en el libro de Sakai. – http://confluence.sakaiproject.org/display/WEBSVCS/Home

9 Para qué pueden usarse? ● Automatización de tareas. – Si puede hacerse manualmente, puede hacerse con un Web Service. – Cada herramienta de Sakai tiene su API. ● Gran relación entre esfuerzo y resultado.

10 Relación esfuerzo/resultados ● Muy buena. ● Programación relativamente sencilla. – Esqueletos ya creados. – Ejemplos ya preparados. ● Tareas automatizadas. – Gran ahorro de esfuerzo de administración.

11 API de Sakai ● http://source.sakaiproject.org/release/2.5.3/apidocs/ ● Cada versión de Sakai tiene su javadoc. ● Todo lo necesario está ahí.

12 Configuración de Sakai. ● Un pequeño paso para habilitarlos. ● En /sakai/sakai.properties: – webservices.allowlogin=true ● Sólo un admin puede ejecutarlos.

13 Web Services existentes. ● En /webapps/sakai-axis/ ● Sale más rápido añadir el método a uno existente. ● SakaiScript.jws es el idóneo.

14 ● Lo añadimos al SakaiScript.jws. El método.

15 Debug del método. ● Llamamos al WSDL. ● Ej: http:// /sakai-axis/SakaiScript.jws?wsdl ● Se mostrará el XML devuelto. ● Si no da error, el método compila bien.

16 Cliente ● Puede ser escrito en cualquier lenguaje. – Perl – Java – Python

17 Cliente Java - Imports ● Classpath con jars de Apache Axis: – axis.jar – jaxrpc.jar – saaj.jar – wsdl4j-1.5.1.jar – log4j-1.2.8.jar – commons-logging-1.0.4.jar – commons-discovery-0.2.jar

18 Cliente Java - Código

19 Ejemplo práctico ● Herramientas synoptic. – Se cogen de una plantilla (!user). – El usuario no puede editarlas. – Los cambios no se pueden propagar. ● La herramienta synoptic.messagecenter. – No la ponemos inicialmente. – Ahora hay que añadirla a unos 1000 usuarios.

20 sakai.synoptic.messagecenter

21 Lanzamos el programa

22 Resultado