Servicios web

Páginas: 11 (2631 palabras) Publicado: 15 de mayo de 2010
1. Introducción a los Servicios web
Los servicios web son un tipo de middleware mediante el que pueden comunicarse aplicaciones remotas. En esencia, funciona como cualquier otro tipo de middleware (rmi, CORBA…), pero con la diferencia importante de que la los mensajes que se envían y se reciben se adhieren a un protocolo estandarizado llamado SOAP (Simple Object Access Protocol). Tanto lallamada al servicio remoto como la respuesta se codifican en SOAP y se transportan, normalmente, mediante http. Todos los protocolos de mensajería pueden verse como en la siguiente figura, que muestra dos máquinas cualesquiera que se comunican: cuando A desea enviarle un mensaje a B, prepara el mensaje en un formato equivalente al que espera B, y lo envía. En la figura, CA representa el elemento de Aque codifica el mensaje, mientras que EB representa el elemento de B por el que ésta escucha. Este modelo es válido para rmi, CORBA, servicios web o incluso para un protocolo de mensajería que nos inventemos nosotros y que podríamos implementar mediante sockets: lo único que tendríamos que hacer es ponernos de acuerdo en el formato de los mensajes que queremos enviar desde A hasta B y desde B hastaA, y luego implementar el mecanismo de codificación y descodificación.
petición Máquina A
CA EB

Máquina B

Figura 1. Dos máquinas se comunican mediante algún protocolo de mensajería

En lugar de reinventar la rueda se ha propuesto SOAP, un protocolo de mensajería basado en XML: así, la llamada a una operación ofrecida por un servidor consiste realmente en la transmisión de un mensajeSOAP, el resultado devuelto es otro mensaje SOAP, etc. De este modo, el cliente puede estar construido en Java y el servidor en .NET, pero ambos conseguirán comunicarse gracias a la estructura de los mensajes que intercambian. Por otro lado, los servidores ofrecen, a sus posibles clientes, una lista con los servicios web que ofrecen, describiéndolos también un lenguaje estandarizado llamado WSDL (WebServices Description Language), que es una representación en XML de los servicios ofrecidos. Así, un cliente puede conocer los métodos ofrecidos por el servidor,

Macario Polo Usaola Escuela Superior de Informática - UCLM

1

sus parámetros con sus tipos, etc., simplemente consultando el correspondiente documento WSDL. 1.01 WSDL

Supongamos que un sistema de gestión bancario utiliza, paravalidar las operaciones realizadas con tarjeta de crédito, el siguiente método remoto: public boolean validar(String numeroDeTarjeta, double importe) Si este método es accesible como un servicio web, debe estar descrito en WSDL, por ejemplo, del siguiente modo:

-
- - - - - - - - - - - -

Figura 2. Descripción en WSDL del método de validación anteriorMacario Polo Usaola Escuela Superior de Informática - UCLM

2

De la figura anterior merece la pena destacar algunos elementos:
-

- - -

Nombre del método accesible de forma remota, nombres y tipos de los parámetros. El postfijo Request denota el formato en que debe enviarse la solicitud al servidor. Cuando el cliente invoca el servicio, envía un mensaje validar0Request.Tipo del resultado devuelto por el método. El postfijo Response se refiere precisamente a que es el tipo devuelto lo que se está representando. Operaciones que conforman la interfaz del servicio validar, que se corresponden con los dos messages anteriores.

Figura 3. Significado de algunos elementos del WSDL mostrado en la figura anterior

Los entornos de desarrollo recientes incluyen los add-insnecesarios para generar la especificación WSDL de una clase. 1.02 Escritura de un cliente que acceda a un servicio web

El cliente que utiliza el servicio web necesita una clase que actúe como proxy entre él mismo y el servicio web ofertado por el servidor (en la Figura 1, correspondería al elemento CA). Cuando el proxy recibe del cliente una solicitud de llamada al servicio web, el proxy la...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Servicios Web
  • Servicios Web
  • Servicios web
  • servicio web
  • Servicios Web
  • Servicios Web
  • Servicios Web
  • Servicios web

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS