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
793 visualizaciones desde el 13 de Febrero del 2019
1,2 MB
49 paginas
Creado hace 12a (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...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad