funkcje+12-05-2008

__**TEMA 3: SERVICIOS WEB:**__

Es simplemente un protocolo para intercambiar datos a traves de Internet. Están estructurados en torno a documentos XML para la especificacion de interacciones entre las aplicaciones. Los servicios web son middleware, es decir, están entre la aplicacion cliente y la servidor e interactuan entre ellos. Consiguen independizar la aplicación del lenguaje con el que se trabaje. Hay empresas que ofrecen soluciones basadas en servicios web.

Los servicios web son servicios de mensajeria, siendo capaces de recibir (service listener) mensajes de un protocolo y un service proxy que es el que decodifica la petición y ejecuta el codigo de la aplicación.

Los servicios web puede usar cualquier tipo de interaccion no solo cliente-servidor, como por ejemplo P2P. Pretenden integración dinamica dentre aplicaciones en tiempo de ejecución, es decir se comienza por un descubrimiento del servicio que va a proporcionarnos la funcionalidad deseada y adaptarse a él.

SOA son diferentes servicios debilmente acoplados pero fuertemente inteoperable, permitiendo integrarlos. Este usa SOAP y WSDL para la descripción de servicios.


 * CAPAS:

- Capa de transporte: protocolos que permiten la comunicacion de informacion entre aplicaciones. XMPP es un protocolo de mensajeria, que crea un vinculo entre 2 pares y manda mensajes cada vez que hay un suceso,permitiendo la interaccion entre ellos.

- Capa de mensajeria o de empaquetamiento: especifica la forma de empaquetarlo (petición) y desempaquetar la respuesta recibida, y los más normal para ello es usar XML.

- Capa de descripción: indica como se hace la petición y como se devuelven los resultados.

-Capa de descubrimiento: que usa el protocolo UDDI y se usa para buscar un servicio con una funcionalidad deseada.

Es un protocolo muy flexible, que permite multiples posibilidades pero poco usadas. Tiene la orden get para recibir información, para enviar post. Pero también hay otras como put que envía un recurso al servidor, delete  que borra un recurso del servidor y head  que recibe la cabecera de la información, para saber si es necesario intercambiar nueva información o no. Ante peticiones el servidor responde con codigos estandar.
 * __HTTP:__**

Las aplicaciones contruidas en torno a HTTP se conocen como RESTful, de forma que se transfiere un recurso del servidor al cliente mediante una petición REST, debido a que la interfaz REST es facil de construir, ya que es una cadena.

Vemos un ejemplo en Perl, y he hecho el ejercicio de mandar un mensaje con perl.

Al diseñar un interfaz REST, la funcionalidad se divide en recursos. Usa una sintaxis basada en url, con un interfaz uniforma para todos los recursos.