1 / 23

Servicios Web

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 Los clientes envían solicitudes de ejecución de métodos y funciones y sus argumentos

selma
Download Presentation

Servicios Web

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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<Doc> busca(palabra) • Bean auxiliar: Doc

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

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

  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<Doc> 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

More Related