Web services

1,799 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,799
On SlideShare
0
From Embeds
0
Number of Embeds
1,335
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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”);…

×