WSDL

Estándares de servicios Web

 

Fuente http://www.di.uniovi.es/~labra/cursos/Web20/ServiciosWeb.pdf

WSDL (Web Services Description Language)

 

Es la información XML para la descripción de servicios de red y de un conjunto de puntos finales donde se dan los detalles de la conexión. [4]

 

WSDL permite describir servicios web Respondiendo preguntas como:

 

¿Qué puede hacer el servicio? Métodos.

¿Dónde reside? Formato de datos y protocolo.

¿Cómo invocarlo?  URI [1]

 

La relación que tiene este con SOAP es que precisamente los mensajes que describe WSDL son mensajes SOAP.

 

CARACTERITSITCAS [2]

 

ü  Es una parte de UDDI para proporcionar directorios y descripciones en Internet.

ü  Describe servicios de red basados en XML.

ü  Proporciona un medio para solicitar peticiones web sin reparar en el protocolo subyacente (ej: SOAP).

ü  Complementa SOAP.

ü  Define los servicios como una colección de puntos finales de red o “puertos (ports)”.

ü  Un conjunto de definiciones WSDL es un grupo de descripción de componentes que se aplican a un único espacio de nombres (“namespace”).

 

 

ELEMENTOS  DE WSDL [1],[5]

 

Contiene los siguientes elementos para definir servicios.

 

ü  Types: Tipos de datos usados en los mensajes (XML).

ü  Message: Son la definición abstracta (entre el servidor y el cliente) de los datos transmitidos, tanto los mensajes de entrada y salida.

ü  PortType: Todas las operaciones abstractas que realiza, definiendo todos los mensajes a intercambiar entre el cliente y el servidor. Puede ser de los tipos (request-Response) en el cual por cada requerimiento se envía una respuesta, (One-Way) Donde el web Service sólo recibe requerimientos pero no envía respuestas, (Solicit- Response) el cual funciona a la inversa de Request-Response Ya que el que soplicita el requerimiento es el servidor en vez del cliente. Y por ultimo (Notification) inverso al One-Way Donde el que manda el mensaje es solo el servidor.

ü  Binding: Protocolo concreto y especificaciones de las operaciones del mensaje, define los vínculos de protocolos como SOAP a un tipo de vínculo en particular.

ü  Port: Especifica una dirección para el enlace definiendo un único punto de destino.

ü  Service: Colección de puntos de destino, en otras palabras se informa el punto de accceso a los servicios para cada uno de los protocolos por medio de un elemento address.

 

 

Funcionamiento de los distintos tipos de portType

 

 

 

Fuente http://img.redusers.com/imagenes/libros/lpcu104/capitulogratis.pdf

 

 

FUNCIONAMIENTO [4]

 

Localización de un servicio.

 

Petición SOAP:

<?xml version=”1.0″ encoding=”utf-8″?>

<soap:Envelope …>

<soap:Body>

<MakeEncRequest …>

<principal>adg@microsoft.com</principal>

<cipher>+oXHdaCXvK…=</cipher>

</MakeEncRequest>

</soap:Body>

</soap:Envelope>

 

 

Respuesta SOAP:

<?xml version=”1.0″ encoding=”utf-8″?>

<soap:Envelope …>

<soap:Body>

<MakeEncRequestResponse …>

<MakeEncRequestResult>

Accepted: with nonce=1

</MakeEncRequestResult>

</MakeEncRequestResponse>

</soap:Body>

</soap:Envelope>

 

 

Localización del interfaz WSDL.

 

Descripción Interfaz WSDL :

<s:element name=”MakeEncRequest”>

<s:complexType>

<s:sequence>

<s:element … name=”principal” type=”s:string” />

<s:element … name=”cipher” type=”s:base64Binary” />

</s:sequence>

</s:complexType>

</s:element>

….

 

Peticiones y respuestas codificadas dentro de “sobres” SOAP.

 

 

Grupo de Definiciones WSDL [2]

 

• Un grupo de definición WSDL tiene obligatoria la propiedad targetNAmespace para identificar el espacio de nombres de los componentes que serán definidos.

• Cada componente excepto el de tipo tiene obligatoria la propiedad name.

• Cada componente tiene opcional la propiedad document.

 

Componente de Descripción de Mensaje [2]

• Se usa para modelar mensajes que se intercambian entre distintos servicios web.

• Una descripción de mensaje incluye un tipo que puede ser usado para indicar entrada, salida, fallo.

• Contiene cero o varias descripciones de partes de mensajes y cada parte contiene la propiedad name.

 

Componente de Descripción de Vínculo [2]

• Proporciona los detalles de vínculo del componente portType.

• Se usan también para indicar el protocolo de transporte utilizado para el envío de mensajes.

• Una descripción de vínculo tiene obligatorias las propiedades name y type.

 

 

EJEMPLO DE WSDL [1]

 

<? xml version=”1.0”?>

<definitions name=” Pizzas ”

targe tName space=” http : //mafia.it /pizzas.wsdl ”

xml ns : tns=” http : //mafia.it / pizzas.wsdl ”

xml ns : xsd1=” http : //maf ia . it / pizzas.xsd ”

xml ns : soap=” http : // schemas.xml soap.org /wsdl / soap /”

xmlns=” h t t p : // schemas.xml soap.org /wsdl /”>

<t y p e s>

<schema targe tName spac e=” h t t p : //maf ia . i t / pizzas.xsd ”

xmlns=” h t t p : //www.w3 . org /2000/10/XMLSchema”>

<element name=” PrecioPizzaRequest ”>

<complexType>

<a l l>

<element name=” nombrePizza ” type=”string”/>

</ a l l>

<message name=” precioPizzaInput ”>

    <p a r t name=” body ” element=” xsd1:PrecioPizzaRequest”/>

</message>

<message name=” precioPizzaOutput ”>

     <part name=” body ” element=” xsd1: precio Pizza ”/>

</message>

<portType name=” PizzasPortType ”>

   <operation name=” verPrecio ”>

<inputmessage=” t n s : precioPizza Input ”/>

<output message=” tns : precioPizzaOutput ”/>

   </ operation>

</ portType>

<binding name=” PizzasSoapBinding ”

    type=”tns :P izzasPortType”>

<soap: bindingstyle=”document ”

transport=”http: // schemas.xml soap.org / soap / http”/>

<operation name=”precioPizza ”>

   <soap: operations o apAction=” http : //mafia.it / Pizzas”/>

<input>

   <soap:body use=” literal ”/>

</ input>

<output>

    <soap: body use=” literal”/>

</output>

       </operation>

    </ binding>

<service name=” Pizzas Service”>

<documentation>Ejemplo de servicio</ documentation>

 

 

 

WEBGRAFIA

 

1. Introducción a los servicios web, Labra Gayo Jose Emilio, Octubre 2006 http://www.di.uniovi.es/~labra/cursos/Web20/ServiciosWeb.pdf, descargado 30/09/08

 

2. Fundamentos de Internet, URJC – Aplicaciones para la Web, R. Capilla,  http://triana.escet.urjc.es/apliweb/SOAP-WSDL-UDDI.pdf, fecha de descarga, 30/09/08

 

3. http://mit.ocw.universia.net/1.264J/NR/rdonlyres/Civil-and-Environmental-Engineering/1-264JDatabase–Internet–and-Systems-Integration-TechnologiesFa/2C547666-79A4-400A-9E47-70CA5245BFE2/0/1264_lecture_14_F2002.pdf, fecha de descarga, 30/09/08

 

4. Aplicaciones y Servicios Web (Web Services), Joaquín Salvachúa, Joaquín Salvachúa DIT-UPM, jsalvachua@dit.upm.es. http://internetng.dit.upm.es/ponencias-jing/2004/Web2.pdf, fecha de descarga, 30/09/08.

 

5. Principios de web service, Lectores@mpediciones.com, http://img.redusers.com/imagenes/libros/lpcu104/capitulogratis.pdf, fecha de descarga, 30/09/08.

 

6. http://arkadoel.es/programacion/INTRODUCCION_SOAP.pdf , fecha de descarga, 30/09/08.

 

« »

Escribe un comentario