La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Servicios Web. Servicios web Son programas con funcionalidad accesible a través de protocolo http que permiten la ejecución remota de métodos y funciones.

Presentaciones similares


Presentación del tema: "Servicios Web. Servicios web Son programas con funcionalidad accesible a través de protocolo http que permiten la ejecución remota de métodos y funciones."— Transcripción de la presentación:

1 Servicios Web

2 Servicios web Son programas con funcionalidad accesible a través de protocolo http que permiten la ejecución remota de métodos y funciones Los clientes envían solicitudes de ejecución de métodos y funciones y sus argumentos Los servidores responden enviando los resultados solicitados

3 Servicios web, II Java EE 6 incluye “grandes” servicios web (basados en la especificación JAX-WS) y servicios web “reposados” (basados en la especificación JAX-RS) Los servicios reposados optimizan el ancho de banda y son más sencillos de desarrollar

4 Servicios web, III Los grandes servicios web transmiten la información a través de un protocolo universal basado en XML, llamado SOAP Mediante servicios web, programas escritos con tecnologías diferentes (Java EE,.NET) pueden compartir información y procedimientos de acceso a ella estandarizados

5 Servicios web, IV La utilización de un servicio web involucra: –Un programa servidor capaz de publicar a través de un registro referencias a objetos servidores y a sus métodos y de serializar y desserializar objetos. –Un protocolo de publicación y acceso a métodos y a objetos serializados. –Un programa cliente capaz de acceder a referencias publicadas de objetos servidores, de hacer llamadas a sus métodos y de serializar y desserializar otros objetos.

6 Ejercicio para clase [SW0] Describir un servicio web con una clase servidora que publica dos métodos Describir una aplicación web que utiliza el servicio anterior Se deberá entregar un documento de Word con la descripción del servicio al nivel de abstracción y detalle en que se han definido los servicios web en las transparencias anteriores

7 Grandes servicios web: Requisitos Las clases cuyas instancias son objetos servidores se anotan mediante @WebService. Los métodos accesibles públicamente se anotan mediante @WebMethod. Una herramienta auxiliar, wsgen, genera artefactos necesarios para el despliegue del servicio, incluyendo ficheros de clase que los clientes pueden cargar a través de la red.

8 Grandes servicios web: Restricciones Los @WebServices han de tener un constructor sin argumentos Los @WebMethods tienen que ser públicos Los argumentos y los objetos devueltos por @WebMethods tienen que ser tipos simples o Java Beans.

9 Implementación de servicios web desde NetBeans ATENCIÓN: En los ejercicios se deben implementar los servicios web en la forma que se describe a continuación. Crear un proyecto de aplicación web (también se puede hacer con una aplicación Enterprise). Crear el servicio web desde el proyecto, con un paquete. Netbeans crea la clase @WebService asociada, cuyo nombre es el del servicio.

10 Implementación de servicios web desde NetBeans, II Definir los Beans auxiliares y los @WebMethods. Al construir y desplegar la aplicación, Netbeans ejecuta wsgen y gestiona la publicación del servicio. Se puede probar el servicio desde un navegador seleccionando la opción “Test” sobre el mismo.

11 Ejercicio para clase [SW1] Implementar el servicio web propuesto en la primera parte de este ejercicio, y comprobar su funcionamiento correcto

12 Ejemplo de servicio web Una aplicación que permite buscar documentos que contienen una palabra y devolverlos ordenados según el número de veces que aparece la palabra se puede implementar como sigue: –Clase servidora: Buscador Método accesible: List busca(palabra) –Bean auxiliar: Doc

13 Ejemplo de servicio web, II @WebService public class Buscador {… @WebMethod List busca(String palabra)} class Doc { int apariciones(String palabra) … // Métodos set y get}

14 Esquema del funcionamiento de servicios web Servidor Cliente obj.f(arg)objRef.f(arg) objobjRef registro Interfaz común

15 Implementación desde NetBeans de aplicaciones Java clientes Crear un proyecto de aplicación Java Crear el cliente del servicio web desde el proyecto. Netbeans pide la URL de acceso y el paquete –La URL de acceso es la de la aplicación web del servidor seguida del nombre del servicio terminado con “Service?wsdl” –El paquete es el del servicio seguido de “.client”

16 Implementación desde NetBeans de aplicaciones Java clientes, II Netbeans accede a la URL e importa en el paquete del cliente las clases necesarias para el cliente: –Referencias al servicio: La clase tiene el nombre del servicio seguido de “Service” (BuscadorService en el ejemplo) Método de obtención de referencias a objetos servidores: getXXXPort(), donde XXX es el nombre del servicio (getBuscadorPort en el ejemplo) –Referencias a objetos servidores: La clase tiene el nombre del servicio (Buscador en el ejemplo) y tiene los métodos publicados

17 Implementación desde NetBeans de aplicaciones Java clientes, III Incluir en el proyecto del cliente las clases de los Java Beans requeridos (argumentos y objetos devueltos por los métodos disponibles; Doc en el ejemplo) ATENCIÓN: En los ejercicios se deben implementar los clientes de servicios web en la forma descrita en las últimas transparencias.

18 Programación del cliente Esquema de funcionamiento del cliente: –Instanciar una referencia al servicio –Obtener una referencia a un objeto servidor –Ejecutar métodos …

19 Ejemplo de cliente public class BuscadorClient { … public static void main(String[] args) { ws.client.BuscadorService serv = new ws.client.BuscadorService(); ws.client.Buscador busc = serv.getBuscadorPort(); List rec = busc.busca(“servidor”); …

20 Depuración Wsmonitor (wsmonitor.dev.java.net) permite interceptar las llamadas de SOAP. Para la depuración el cliente debe hacer las peticiones en el puerto 4040, donde escucha Wsmonitor; éste las replica al puerto 8080 El monitor muestra las solicitudes y respuestas (formato XML)

21 Ejercicio para clase [SW2] Implementar una de las aplicaciones Java propuestas por otro compañero que accede a un servicio web, y comprobar el funcionamiento correcto de la aplicación y del servicio

22 Ejercicio obligatorio [SWCC] Implementar un servicio web que permita gestionar las cuentas corrientes incluidas en dos bases de datos, haciendo las siguientes operaciones: –Pedir la lista total de clientes. –Pedir el saldo total de las cuentas de un cliente. Implementar una aplicación web que permita al usuario introducir el identificador de una persona y le devuelva su saldo total obtenido accediendo al servicio web anterior.

23 Ejercicio optativo [SWJSF] Aplicación web con dos páginas JSF que: –La primera muestra la lista de clientes ofrecida por el servicio web anterior y permite seleccionar uno –La segunda muestra el saldo total del cliente selecionado, proporcionado por el servicio web anterior


Descargar ppt "Servicios Web. Servicios web Son programas con funcionalidad accesible a través de protocolo http que permiten la ejecución remota de métodos y funciones."

Presentaciones similares


Anuncios Google