web services

23
Servicios Web

Upload: huntershadowsadrian

Post on 15-Sep-2015

216 views

Category:

Documents


0 download

DESCRIPTION

introduccion a las web services

TRANSCRIPT

  • Servicios Web

  • Servicios webSon programas con funcionalidad accesible a travs de protocolo http que permiten la ejecucin remota de mtodos y funcionesLos clientes envan solicitudes de ejecucin de mtodos y funciones y sus argumentosLos servidores responden enviando los resultados solicitados

  • Servicios web, IIJava EE 6 incluye grandes servicios web (basados en la especificacin JAX-WS) y servicios web reposados (basados en la especificacin JAX-RS)Los servicios reposados optimizan el ancho de banda y son ms sencillos de desarrollar

  • Servicios web, IIILos grandes servicios web transmiten la informacin a travs de un protocolo universal basado en XML, llamado SOAPMediante servicios web, programas escritos con tecnologas diferentes (Java EE, .NET) pueden compartir informacin y procedimientos de acceso a ella estandarizados

  • Servicios web, IVLa utilizacin de un servicio web involucra:Un programa servidor capaz de publicar a travs de un registro referencias a objetos servidores y a sus mtodos y de serializar y desserializar objetos.Un protocolo de publicacin y acceso a mtodos y a objetos serializados.Un programa cliente capaz de acceder a referencias publicadas de objetos servidores, de hacer llamadas a sus mtodos y de serializar y desserializar otros objetos.

  • Ejercicio para clase [SW0]Describir un servicio web con una clase servidora que publica dos mtodosDescribir una aplicacin web que utiliza el servicio anteriorSe deber entregar un documento de Word con la descripcin del servicio al nivel de abstraccin y detalle en que se han definido los servicios web en las transparencias anteriores

  • Grandes servicios web: RequisitosLas clases cuyas instancias son objetos servidores se anotan mediante @WebService. Los mtodos accesibles pblicamente 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 travs de la red.

  • Grandes servicios web: RestriccionesLos @WebServices han de tener un constructor sin argumentosLos @WebMethods tienen que ser pblicos Los argumentos y los objetos devueltos por @WebMethods tienen que ser tipos simples o Java Beans.

  • Implementacin de servicios web desde NetBeansATENCIN: En los ejercicios se deben implementar los servicios web en la forma que se describe a continuacin.Crear un proyecto de aplicacin web (tambin se puede hacer con una aplicacin Enterprise).Crear el servicio web desde el proyecto, con un paquete. Netbeans crea la clase @WebService asociada, cuyo nombre es el del servicio.

  • Implementacin de servicios web desde NetBeans, IIDefinir los Beans auxiliares y los @WebMethods.Al construir y desplegar la aplicacin, Netbeans ejecuta wsgen y gestiona la publicacin del servicio.Se puede probar el servicio desde un navegador seleccionando la opcin Test sobre el mismo.

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

  • Ejemplo de servicio webUna aplicacin que permite buscar documentos que contienen una palabra y devolverlos ordenados segn el nmero de veces que aparece la palabra se puede implementar como sigue:Clase servidora: BuscadorMtodo accesible: List busca(palabra)Bean auxiliar: Doc

  • Ejemplo de servicio web, II@WebServicepublic class Buscador {@WebMethodList busca(String palabra)}class Doc {int apariciones(String palabra) // Mtodos set y get}

  • Esquema del funcionamiento de servicios webServidorClienteobj.f(arg)objRef.f(arg)objobjRefregistroInterfaz comn

  • Implementacin desde NetBeans de aplicaciones Java clientesCrear un proyecto de aplicacin JavaCrear el cliente del servicio web desde el proyecto. Netbeans pide la URL de acceso y el paqueteLa URL de acceso es la de la aplicacin web del servidor seguida del nombre del servicio terminado con Service?wsdlEl paquete es el del servicio seguido de .client

  • Implementacin desde NetBeans de aplicaciones Java clientes, IINetbeans 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)Mtodo de obtencin 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 mtodos publicados

  • Implementacin desde NetBeans de aplicaciones Java clientes, IIIIncluir en el proyecto del cliente las clases de los Java Beans requeridos (argumentos y objetos devueltos por los mtodos disponibles; Doc en el ejemplo)ATENCIN: En los ejercicios se deben implementar los clientes de servicios web en la forma descrita en las ltimas transparencias.

  • Programacin del clienteEsquema de funcionamiento del cliente:Instanciar una referencia al servicioObtener una referencia a un objeto servidorEjecutar mtodos

  • Ejemplo de clientepublic 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);

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

  • Ejercicio para clase [SW2]Implementar una de las aplicaciones Java propuestas por otro compaero que accede a un servicio web, y comprobar el funcionamiento correcto de la aplicacin y del servicio

  • 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 aplicacin web que permita al usuario introducir el identificador de una persona y le devuelva su saldo total obtenido accediendo al servicio web anterior.

  • Ejercicio optativo [SWJSF]Aplicacin web con dos pginas JSF que:La primera muestra la lista de clientes ofrecida por el servicio web anterior y permite seleccionar unoLa segunda muestra el saldo total del cliente selecionado, proporcionado por el servicio web anterior

    ***********************