PDF de programación - WSDL (Web Services Description Language)

Imágen de pdf WSDL (Web Services Description Language)

WSDL (Web Services Description Language)gráfica de visualizaciones

Actualizado el 29 de Mayo del 2018 (Publicado el 26 de Mayo del 2018)
911 visualizaciones desde el 26 de Mayo del 2018
437,1 KB
128 paginas
Creado hace 16a (28/03/2008)
WSDL (Web Services
Description Language)
Construcción de servicios web

Lourdes Tajes Martínez
([email protected])

1

En 5 minutos…

Un servicio web se define (en palabras del W3C) como una
aplicación software, identificada por un URI que se puede
definir, describir y descubrir a través de documentos XML.
Soporta la interacción directa con otros agentes software
usando mensajes basados en documentos XML
intercambiados vía protocolos de Internet.
Usualmente, el término se refiere a clientes y servicios que se

comunican usando mensajes SOAP sobre HTTP.

No es un requerimiento obligatorio PERO permite la generación

automática de código entre cliente y servicio

Se asume que hay también una machine readable description de

las operaciones soportadas por el servicio.

2

Web Service Specifications (WS-*)

Descripción de servicio: WSDL, …
Mensajería y llamada a funciones

SOAP, SOAP con attachments, SOAP sobre UDP,

XML-RPC, WS-Addressing, …

WS-I: Mejorar la interoperabilidad entre

implementaciones de distintos vendedores

Security: XML-Signature, XML Encryption, WS-

Security, WS-Trust

Transaction: WS-Coordination, WS-Transaction,



3

Web Service Protocols

SOAP (XML-RPC)
REST (REpresentational State Transfer)
WSDL
UDDI (Universal Description, Discovery

and Integration)

BPEL (Business Process Execution

Language)

4

Web Service Frameworks

Nombre

Plataforma

Destino

Especificaciones

Protocolos

Apache Axis

Java/C++

Cliente
Servicio

Java Web Service
Development Pack

Java

Cliente
Servicio

WS-ReliableMessaging
WS-Coordination
WS-Security
WS-AtomicTransaction
WS-Addressing
WS-Security
WS-Addressing

XFire

Java

gSOAP

C/C++

Cliente
Servicio

WS-Security
WS-Addressing

Cliente
Servicio

WS-Discovery
WS-Security
WS-Enumeration
WS-Addressing

SOAP
WSDL

SOAP
WSDL

SOAP
WSDL

SOAP
XML-RPC
WSDL

5

¿Por qué hay que definir los
servicios web?



Los servicios web exponen un sistema
software con el que las aplicaciones
cliente pueden interaccionar a través de
la red.
Una visión orientada al software

Métodos a invocar, con qué parámetros,

cuáles son los valores de retorno, las
excepciones que se propagan si algo va
mal, …

Casi lo mismo con lo que llevamos

tiempo trabajando. Pero …..

muy lejos (internet mediante)
No conocemos el detalle del servicio. No

tenemos acceso a su código fuente. No ha
sido hecho para nosotros.

6

¿Por qué hay que definir los
servicios web?
Pero, para que tal interacción se lleve a cabo de forma

satisfactoria, el servicio debe ser descrito y publicitado a sus
consumidores potenciales.

Los consumidores deben ser capaces de encontrar una

descripción de cómo interaccionar con el servicio:
¿ cómo se llaman los métodos? ¿qué datos espera recibir
(parámetros)? ¿devuelve algún resultado (tipo de retorno)?
¿qué protocolos de transporte soporta (http, smtp, ppp, …)?
¿formato de los mensajes?

7

¿Por qué hay que definir los
servicios web? (5 minutos)
Alumnos DNI PAR

Hotel Rural
Función de comprobación de disponibilidad para unas

fechas y un número de personas determinadas

Alumnos DNI IMPAR

Central de reservar rurales
Consulta de la disponibilidad de todos los hoteles para

dar al cliente el mejor precio

8

¿Por qué hay que definir los
servicios web? (5 minutos)
Alumnos DNI PAR

¿Qué información deberías darle a la central de

reservas?

Alumnos DNI IMPAR

¿Qué requieres de los hoteles?

9

¿Por qué hay que definir los
servicios web?

Suponga la siguiente descripción de un servicio: Hotel Rural (Casa Otilio)

El servicio puede atender peticiones de consulta de disponibilidad
Debe decir qué número de personas, de cuándo a cuándo van a alojarse.

Hay que ponerse de acuerdo en…

Nombre del método

¿ Se llama Disponibilidad? ¿ConsultaDisponibilidad? ¿Availability?

Y en los Parámetros

El periodo de alojamiento ¿ cómo se indica? ¿día entrada, día salida?, ¿día entrada, número de

días?

Y el formato del mensaje

¿Cómo sabe el cliente qué tipo de mensaje enviar?
SOAP es sólo el formato, pero no indica qué poner en la cabecera o en el contenido
Y la codificación de los datos enviados ¿ Qué XML hay que poner en el cuerpo del mensaje SOAP?

¿ cómo son los parámetros? ¿ Un array de Strings? ¿ Varios Strings? ¡¡¡ No lo sé ¡¡¡¡¡

10

¿Por qué hay que definir los
servicios web?

Hotel Rural (Casa Otilio) (continuación)
Y en la Respuesta

¿ Qué formato tiene la respuesta? ¿Hay respuesta?
¿ Nos devuelve sí/no? ¿nos devuelve el precio final que costaría la
reserva? ¿Nos devuelve una estructura compleja con habitaciones,
precio,…? Si nos responde que no, ¿nos devuelve no, simplemente, o
alternativas de alojamiento?

Protocolo de transporte

¿ Puedo enviar un mail para solicitar el servicio? Ojo, eso implica que

tengan un servidor de correo escuchando¡¡

HTTP, siempre está disponible

¿ A qué dirección? ( Pero, ¿es que no sé ni eso?)

11

¿Por qué hay que definir los
servicios web?
Los hoteles, que describan todo lo anterior

como les apetezca

Las centrales de reserva, que describan cómo

les gustaría que fuese.

Necesito dos Hoteles Rurales voluntarios
Necesito una central de reservas voluntaria
¿Coincide todo el mundo?

12

Todavía puede empeorar

Hotel Rural (Casa Pepe Gotera)

Otra casa rural con diferentes nombres de métodos, parámetros,

etc…

Cada uno lo hace como quiere

Pero yo tengo un servicio de reservas naturales

(Centro de reservas on-line “El Percebe”)
Tengo que consultar varias casas rurales para hacer un resumen

al cliente o para buscarle la mejor opción o la que mejor se le
ajuste o ….. Y quiero automatizarlo¡¡¡

Construir mensajes SOAP para cada servicio
NECESITO SABER CÓMO SON CADA UNO DE ELLOS.

13

¿ Cómo mejorar nuestra situación?

Tenemos varios servicios web que exponen un negocio con el que los

clientes interaccionan a través de la red.

Necesitamos un contrato entre el desarrollador del servicio y el

desarrollador del cliente. Fundamental

Publicar: Un proveedor comunica a los clientes cómo invocar el servicio

web.

Encontrar: El solicitante puede encontrar un servicio adecuado
Enlazar: La descripción del servicio indica exactamente qué formato de

mensaje tiene que ser enviado a qué dirección con el fin de invocar al
servicio

14

WSDL (güisdel)

WSDL (Web Services Description Language) es una gramática XML que se utiliza para

describir la interfaz pública de los servicios Web. De forma estandarizada
Las descripciones generadas con tal gramática son documentos XML que describen la

interfaz e implementación de los servicios web

Un documento WSDL describe tres propiedades fundamentales de un servicio web

Las operaciones soportadas y qué mensajes las activan

El formato de los mensajes
Los tipos de datos especiales que se envíen se incluyen en el archivo WSDL en forma de

XML Schema (ejemplo, DNI).

El protocolo de comunicación en el que se envía el mensaje
La forma en qué cada operación se compone de mensajes formateados de una forma

específica y transmitidos por un protocolo concreto de red

Mira el ejemplo del wsdl de amazon en http://www.amazon.com/E-Commerce-

Service-AWS-home-
page/b/ref=sc_fe_c_0_15763381_1?ie=UTF8&node=12738641&no=15763381&me=A3
6L942TSJ2AJA

15

Un servicio web bien definido

Definición de la interfaz del servicio (descripción

abstracta)
En términos de mensajes intercambiados (los necesarios para

activar los métodos expone el servicio web)

Cómo formatear el mensaje (SOAP, HTTP, …)

Definición de la implementación del servicio (definición

concreta)
Información de enlazado (binding)

Qué protocolo de comunicaciones utilizar
Cómo implementar interacciones sobre ese protocolo
Cómo alcanzar al servicio (dirección de red)

16

Terminología

WSDL

Endpoint

W3C Recommendation 26 June 2007
http://www.w3.org/TR/wsdl20/

Indica una localización específica para acceder a un
servicio web usando un protocolo y formato de datos
específico.

Un Web service endpoint es una entidad o recurso

referenciables a los que se pueden enviar mensajes.
Una referencia a un endpoint debe proporcionar
toda la información necesaria para direccionar un
web service endpoint.

17

Versión 2.0 (2007)

tipos

Interfaz del servicio
(definición abstracta)

Operaciones

Implementación

del servicio

(definición concreta)

Interfaces

Binding

Servicios

Endpoint

A caballo entre dos especificaciones: WSDL 1.X (2002) y WSDL 2.0 (2006) ya

aceptada pero no muy implantada todavía (http://www.w3.org/TR/2003/WD-wsdl12-
20030303/, http://www.w3.org/TR/wsdl20-primer/)

18

Especificación WSDL 1.2: Parte
Abstracta

La parte abstracta indica {interfaz, mensajes, tipos de parámetros}

Parte reusable del servicio
Posible distintas implementaciones concretas de esta interfaz

Interfaz

Mensajes

Conjunto de operaciones que conforman un endpoint (bloque de funcionalidad del servicio)
Patrón de intercambio de mensajes para cada una

Mensajes válid
  • Links de descarga
http://lwp-l.com/pdf11336

Comentarios de: WSDL (Web Services Description Language) (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