La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Web Services. Objetivos Introducción a conceptos técnicos relacionados con web services. Presentación de un ejemplo sobre cómo publicar y consumir un.

Presentaciones similares


Presentación del tema: "Web Services. Objetivos Introducción a conceptos técnicos relacionados con web services. Presentación de un ejemplo sobre cómo publicar y consumir un."— Transcripción de la presentación:

1 Web Services

2 Objetivos Introducción a conceptos técnicos relacionados con web services. Presentación de un ejemplo sobre cómo publicar y consumir un web service.

3 Contenidos SOAP. WSDL. JAX-WS. Ejemplo.

4 SOAP

5 Simple Object Access Protocol Es una especificación, no un producto. Utiliza XML para describir un mensaje. Permite que esta descripción sea interpretada por distintas plataformas.

6 Mensajes SOAP

7 Estructura de un mensaje SOAP

8 Header Es opcional. Permite incluir información para el procesamiento del mensaje. Es un punto de extensibilidad del modelo. Los intermediarios pueden modificarlo.

9 Body Es una estructura XML arbitraria. Su semántica es relevante al emisor y al receptor del mensaje. Deben ponerse de acuerdo en dicha semántica. Los intermediarios no deben modificarlo.

10 Ejemplo de un mensaje SOAP IBM

11 WSDL

12 Web Services Description Language. Es un lenguaje implementado con XML. Independiente de plataformas y lenguajes. Dos tipos de descripciones: –Abstractas: tipos de datos, mensajes, operaciones. –Concretas: bindings y servicios.

13 Estructura de un documento WSDL

14 types Definen tipos de datos utilizados en los mensajes. La definición es independiente de plataformas y lenguajes. Cada plataforma/lenguaje tiene formas de mapear estas definiciones en estructuras propias.

15 message Define un mensaje de entrada o salida involucrado en una operación. Utiliza tipos estándar o definidos con type. Puede ser utilizado en más de una operación.

16 portType Define una agrupación de operaciones. El equivalente en Java sería una interfaz. Son utilizados para después definir servicios.

17 operation Describe una operación determinada. Indica los mensajes de entrada y/o salida que la componen. Se agrupan en tipos de puertos. El equivalente en Java sería un método de una interfaz.

18 binding Especifica una implementación de una operación. Indica el estilo (document/rpc) de una operación y el transporte (HTTP/SMTP) utilizado.

19 service Define un servicio a través de: –Indicar qué operaciones soporta, relacionándolo con un portType. –Especificar cómo está implementado, relacionándolo con un binding. –Indicar dónde está publicado, relacionándolo con una URL.

20 JAX-WS

21 Java API for XML Web Services Especificación de JEE 5 Ofrece anotaciones y herramientas para generar Web Services a partir de clases Java Soporte para client side y server side

22 Ventajas Implementado dentro de la especificación y el servidor de aplicaciones Abstrae la complejidad del manejo de XML mediante anotaciones en código Java Asegura la interoperabilidad entre clientes y servicios implementados en otras tecnologías

23 Desventajas Se puede perder control de la infraestructura generada para implementar el servicio: –Documentos WSDL –Bindings –Mapeos XML

24 Cómo usarlo Top-Down –Desarrollar el contrato primero (WSDL) y partir de éste la implementación –Mayor control del mensaje de intercambio y de la implementación generada –Permite asegurar una correcta interoperabilidad con otras implementaciones –Se recomienda para proyectos grandes y con mucha interoperabilidad

25 Cómo usarlo Bottom-Up –Desarrollar el contrato (WSDL) a partir de la implementación –Menor control del mensaje de intercambio y del contrato generado –La interoperabilidad sólo se asegura con implementaciones similares –Se recomienda para proyectos departamentales

26 Cómo funciona Web Service Endpoint –Clase o interface anotada –Declara los métodos que un cliente puede invocar en el servicio mediante llamadas SOAP –Los métodos publicados del servicio deben estar anotados (no todos los métodos necesitan ser publicados)

27 Cómo funciona Deployment –El deployment es como cualquier clase o componente JEE: El contenedor procesa las anotaciones y genera los artefactos necesarios –Se pueden revisar los Web Services publicados en el contenedor: Y acceder a cada WSDL en particular

28 Arquitectura

29 Herramientas wsconsume –Genera clases de cliente para invocar un servicio a partir de un documento WSDL Este código se puede ejecutar desde clases de integración entre componentes

30 Pasos para la creación de Web Services con JAX-WS y JBoss

31 Ejemplo construcción WS Ejemplo a desarrollar: una guía telefónica con los siguientes servicios: getNombreGuia(Integer telefono); setDatos(Integer telefono, Persona persona); cambiarTelefono(Integer telefono, Integer nuevoTelefono);

32 Ejemplo construcción WS Configurar el Jboss (Instalación JAX- WS) –Copiar jars de carpeta endorsed a JBOSS_HOME/lib/endorsed –Copiar carpeta http-invoker.sar a JBOSS_HOME/server/default/deploy –Copiar carpeta jboss-bean.deployer a JBOSS_HOME/server/default/deploy

33 Pasos construcción WS Crear un proyecto EjemploWS- Servidor Construir una interface Java con los servicios a proveer Interface GuiaTelefonica.java Class Persona.java Construir la implementación En el ejemplo es un Stateless Session Bean

34 Pasos construcción WS Anotar la implementación para que publique un Web Service Endpoint Clase –Representa el servicio a publicar Métodos –Representa el/los métodos a proveer Desplegar el componente El contenedor genera todos los artefactos: –http:// :8080/GuiaTelefonica/GuiaTelefonic aServer?wsdl

35 Pasos construcción WS Generar clases cliente con wsconsume En el directorio donde se encuentra el codigo cliente %jboss%/bin/wsconsume -k efonicaServer?wsdl Genera varios archivos que se pueden utilizar para hacer una llamada al servicio desde Java

36 Pasos construcción WS Llamar al servicio Utilizando las clases proxy generadas: –GuiaTelefonicaServerService –GuiaTelefonicaServer

37 Bibliografía SOAP: –http://msdn.microsoft.com/library/default.asp?url=/library/en- us/dnsoap/html/understandsoap.asp –http://www.w3schools.com/soap/default.asp WSDL: –http://www.w3schools.com/wsdl/default.asp –http://msdn.microsoft.com/archive/default.asp?url=/archive/en- us/dnarxml/html/wsdlexplained.asp JAX-WS: –http://java.sun.com/javaee/5/docs/tutorial/doc/bnayl.html JBoss Web Services: –http://www.redhat.com/docs/en- US/JBoss_Enterprise_Application_Platform/4.3.0.cp06/html/Server_ Configuration_Guide/Server_Configuration_Guide-Web_Services- Web_Service_Endpoints_.html


Descargar ppt "Web Services. Objetivos Introducción a conceptos técnicos relacionados con web services. Presentación de un ejemplo sobre cómo publicar y consumir un."

Presentaciones similares


Anuncios Google