PDF de programación - Sesión 1: Introducción. Invocación de Servicios Web SOAP - Servicios Web

Imágen de pdf Sesión 1: Introducción. Invocación de Servicios Web SOAP  - Servicios Web

Sesión 1: Introducción. Invocación de Servicios Web SOAP - Servicios Webgráfica de visualizaciones

Publicado el 13 de Febrero del 2019
290 visualizaciones desde el 13 de Febrero del 2019
1,2 MB
49 paginas
Creado hace 8a (01/01/2012)
Experto Universitario Java Enterprise

Servicios Web

Sesión 1: Introducción. Invocación de

Servicios Web SOAP



Experto Universitario Java Enterprise

Puntos a tratar
• ¿Qué es un Servicio Web?
• Tipos de Servicios Web
• Arquitectura de los Servicios Web
• Tecnologías básicas para Servicios Web
• Interoperabilidad de los Servicios Web
• Servicios Web desde la vista del cliente
• Invocación de servicios JAX-WS

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Invocación Servicios Web SOAP

2



Experto Universitario Java Enterprise

Descripción de Servicio Web (WS)
• Un Servicio Web es un componente diseñado para soportar

interacciones máquina a máquina a través de la red
• El intercambio de información se lleva a cabo mediante mensajes

codificados en XML

• Estos mensajes se pueden transportar utilizando HTTP

• Normalmente constará de una interfaz (conjunto de métodos) que
podremos invocar de forma remota desde cualquier lugar de la red
• Nos permiten crear aplicaciones distribuidas en Internet

• Los servicios web son independientes de la plataforma y del

lenguaje de programación en el que estén implementados
• Nos permiten integrar aplicaciones

• Pueden combinarse con muy bajo acoplamiento para conseguir la
realización de operaciones complejas proporcionando un valor de
negocio añadido

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Invocación Servicios Web SOAP

3



Experto Universitario Java Enterprise

La cuestión clave es la interoperabilidad!!
• Su principal característica es su gran INTEROPERABILIDAD

y extensibilidad
• Los servicios Web fueron “inventados” para solucionar el

problema de la interoperabilidad entre las aplicaciones

• El uso de XML hace posible el compartir datos entre

aplicaciones con diferentes plataformas hardware y proporciona
información fácilmente procesable por las máquinas (“web para
máquinas”)

• El protocolo HTTP asegura que puedan ser llamados por
cualquier aplicación (independientemente del lenguaje de
programación y sistema operativo)

• Las características deseables de un Servicio Web son:

• Los servicios web deben ser accesibles a través de la red, deben

contener una descripción de si mismos, y deben poder ser
localizados

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Invocación Servicios Web SOAP

4



Experto Universitario Java Enterprise

Web “para humanos” vs. web “para máquinas”

Petición HTTP

Respuesta HTTP en HTML

Petición HTTP

Aplicación

Otras aplicaciones

Respuesta HTTP en XML

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Invocación Servicios Web SOAP

5



Experto Universitario Java Enterprise

Tipos de Servicios Web
• A nivel CONCEPTUAL, un servicio es un componente

software proporcionado a través de un endpoint accesible a
través de la red. Los productores y consumidores de
servicios utilizan mensajes para intercambiar información.
• A nivel TÉCNICO, los servicios pueden implementarse de

varias formas:
• Servicios Web SOAP

•Utilizan mensajes XML que siguen el estándar SOAP
•Describen su interfaz utilizando WSDL

• Servicios Web RESTful

•Utilizan estándares muy conocidos: HTTP, URI, MIME
•Tienen una infraestructura muy “ligera”

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Invocación Servicios Web SOAP

6



Experto Universitario Java Enterprise

Arquitectura de los servicios Web
• Un WS normalmente reside en una máquina remota y es

llamado por un cliente a través de la red

Aquitectura orientada a servicios

PERMITE:
• crear una descripción
abstracta del servicio
• proporcionar una
implementación concreta
• publicar y localizar un
servicio
• seleccionar una instancia
del servicio
• utilizar dicho servicio

Service

Description

Service
Registry

(2) Find

WSDL+UDDI

Service
Requestor

(3) Bind

(1) Publish

WSDL+UDDI

Service
Provider

Service

Description

Service

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Invocación Servicios Web SOAP

7



Experto Universitario Java Enterprise

Servicios web SOAP y JavaEE
• La especificación que define los servicios Web para Java EE

(JSR-109) requiere que una instancia de un servicio
(denominada Port, o componente Port) sea creada y gestionada
por un contenedor. Este Port puede ser referenciado desde un
cliente, así como desde los contenedores web y EJB

Pueden implementarse de
dos formas:
• como una clase Java
que se ejecuta en un
contenedor Web
• como un EJB de sesión
o singleton en un
contenedor EJB

El contenedor actúa como
mediador para acceder al
servicio

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Invocación Servicios Web SOAP

8



Experto Universitario Java Enterprise

Tecnologías básicas para servicios Web
• Los protocolos utilizados en los WS se organizan en

una serie de capas:

Tecnologías
básicas

Localización de Servicios

(UDDI)

Descripción de Servicios

(WSDL)

Mensajería XML
(SOAP, XML-RPC)

Transporte de Servicios
(HTTP, SMTP, FTP, BEEP, ...)

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Invocación Servicios Web SOAP

9



Experto Universitario Java Enterprise

SOAP
• Protocolo derivado de XML
• Se usa para intercambiar información entre aplicaciones
• Dos tipos:

• Mensajes orientados al documento

•Cualquier tipo de contenido
• Mensajes orientados a RPC

•Tipo más concreto que el anterior
•Nos permite realizar llamadas a procedimientos remotos

àLa petición contiene el método a llamar y los parámetros
ßLa respuesta contiene los resultados devueltos

• Nos centraremos en el primer tipo

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Invocación Servicios Web SOAP

10



Experto Universitario Java Enterprise
Elementos de SOAP

• Sobre SOAP (Envelope). Contiene:

•Descripción del mensaje (destinatario, forma de

procesarlo, definiciones de tipos)

•Cabecera (opcional) y cuerpo SOAP
• Cabecera SOAP (Header). Contiene:

•Información sobre el mensaje (obligatorio,

actores, etc)

• Cuerpo SOAP (Body). Contiene:

•Mensaje (en caso de RPC la forma del mensaje

se define por convención)

•Error (opcional)

• Error SOAP (Fault)

•Indica en la respuesta que ha habido un error en

el procesamiento de la petición

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Invocación Servicios Web SOAP

11



Experto Universitario Java Enterprise

Ejemplos mensajes SOAP
• Mensaje de petición
<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:m="http://www.example.org/stock">
<m:GetStockPrice>
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>

• Mensaje de respuesta

<?xml version="1.0"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Body xmlns:m="http://www.example.org/stock">
<m:GetStockPriceResponse>
<m:Price>34.5</m:Price>
</m:GetStockPriceResponse>
</soap:Body>
</soap:Envelope>

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Invocación Servicios Web SOAP

12



Experto Universitario Java Enterprise
WSDL (Web Services Description Language)
• Lenguaje derivado de XML
• Describe la interfaz de los Servicios Web

• Operaciones disponibles
• Parámetros de las operaciones
• Resultados devueltos
• Tipos de datos de estos parámetros y resultados

• Además contiene la dirección del endpoint

• URL a la que hay que conectarse para acceder al servicio
• Nos permite integrar un servicio automáticamente en

nuestra aplicación, o que otros usuarios utilicen los
servicios que hayamos desarrollado nosotros

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Invocación Servicios Web SOAP

13



Experto Universitario Java Enterprise

Estructura de un documento WSDL

La parte abstracta define
el QUÉ hace el servicio:
• operaciones disponibles
• entradas, salidas y
mensajes de error
• definiciones de tipos
para los mensajes

La parte concreta define el
CÓMO Y DÓNDE del servicio:
• cómo se tiene que llamar
(formato de los datos:
SOAP)
• protocolo de acceso (red)
• dónde está el servicio (URL)

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Invocación Servicios Web SOAP

14



Experto Universitario Java Enterprise

Elementos WSDL (versión 1.1)
<definitions>
<types> tipos de datos, si no son primitivos
<message> llamadas y respuestas SOAP

<portType> (INTERFAZ) operaciones: llamada + respuesta
<binding> protocolo de red y formato de datos SOAP
<service> URL del servicio para acceder a una
colección de ports

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Invocación Servicios Web SOAP

15



Experto Universitario Java Enterprise

Ejemplo de documento WSDL (I)

<?xml version="1.0" encoding="utf-8"?>
<definitions targetNamespace="http://jaxwsHelloServer/"
name="HelloService">
<types>
<xsd:schema>
<xsd:import namespace="http://jaxwsHelloServer/"
schemaLocation="http://localhost:8080/JAXWSHelloAppServer/
jaxwsHello?xsd=1"/>
</xsd:schema>
</types>

<message name="sayHello">
<part name="parameters" element="tns:sayHello"/>
</message>

los tipos se definen
en el fichero xsd

<message name="sayHelloResponse">
<part name="parameters" element="tns:sayHelloResponse"/>
</message>

Servicios Web

© 2012-2013 Depto. Ciencia de la Computación e IA

Invocación Servicios Web SOAP

16



Experto Universitario Java Enterprise
Ejemplo de documento WSDL (II)
<portType name="Hello">
<operation name="sayHello">
<input wsam:Action="http://jaxwsHelloServer/Hello/sayHelloRequest"
message="tns:sayHello"/>
<output wsam:Action="http://jaxwsHelloServer/Hello/sayHelloResponse
  • Links de descarga
http://lwp-l.com/pdf15187

Comentarios de: Sesión 1: Introducción. Invocación de Servicios Web SOAP - Servicios Web (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad