Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Web services

1,976 views

Published on

  • Be the first to comment

  • Be the first to like this

Web services

  1. 1. Servicios web Son programas con funcionalidad accesible através de protocolo http que permiten laejecución remota de métodos y funciones Los clientes envían solicitudes de ejecución demétodos y funciones y sus argumentos Los servidores responden enviando los resultadossolicitados
  2. 2. Servicios web Java EE 6 incluye “grandes” servicios web(basados en la especificación JAX-WS) yservicios web “reposados” (basados en laespecificación JAX-RS) Los servicios reposados optimizan el anchode banda y son más sencillos de desarrollar
  3. 3. Servicios web Los grandes servicios web transmiten lainformación a través de un protocolouniversal basado en XML, llamado SOAP Mediante servicios web, programas escritoscon tecnologías diferentes (Java EE, .NET)pueden compartir información yprocedimientos de acceso a ellaestandarizados
  4. 4. Servicios web La utilización de un servicio web involucra: Un programa servidor capaz de publicar a través deun registro referencias a objetos servidores y a susmétodos y de serializar y desserializar objetos. Un protocolo de publicación y acceso a métodos y aobjetos serializados. Un programa cliente capaz de acceder a referenciaspublicadas de objetos servidores, de hacer llamadas asus métodos y de serializar y desserializar otrosobjetos.
  5. 5. Grandes servicios web:Requisitos Las clases cuyas instancias son objetosservidores se anotan mediante @WebService.Los métodos accesibles públicamente se anotanmediante @WebMethod. Una herramienta auxiliar, wsgen, generaartefactos necesarios para el despliegue delservicio, incluyendo ficheros de clase que losclientes pueden cargar a través de la red.
  6. 6. Grandes servicios web:Restricciones Los @WebServices han de tener unconstructor sin argumentos Los @WebMethods tienen que ser públicos Los argumentos y los objetos devueltos por@WebMethods tienen que ser tipos simples oJava Beans.
  7. 7. Implementación de serviciosweb desde NetBeans Crear un proyecto de aplicación web (también sepuede hacer con una aplicación Enterprise). Crear el servicio web desde el proyecto, con unpaquete. Netbeans crea la clase @WebServiceasociada, cuyo nombre es el del servicio.
  8. 8. Implementación de serviciosweb desde NetBeans, II Definir los Beans auxiliares y los@WebMethods. Al construir y desplegar la aplicación,Netbeans ejecuta wsgen y gestiona lapublicación del servicio. Se puede probar el servicio desde unnavegador seleccionando la opción “Test”sobre el mismo.
  9. 9. Ejemplo de servicio web Una aplicación que permite buscardocumentos que contienen una palabra ydevolverlos ordenados según el número deveces que aparece la palabra se puedeimplementar como sigue: Clase servidora: Buscador Método accesible: List<Doc> busca(palabra) Bean auxiliar: Doc
  10. 10. Ejemplo de servicio web, II @WebServicepublic class Buscador { …@WebMethodList<Doc> busca(String palabra)} class Doc {int apariciones(String palabra)… // Métodos set y get }
  11. 11. Esquema del funcionamientode servicios webServidorClienteobj.f(arg)objRef.f(arg)objobjRefregistroInterfaz común
  12. 12. Programación del cliente Esquema de funcionamiento del cliente: Instanciar una referencia al servicio Obtener una referencia a un objeto servidor Ejecutar métodos …
  13. 13. 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<Doc> rec = busc.busca(“servidor”);…

×