12-05-2008

12-05-2008

Comentamos las prácticas, vemos el resumen del último día por Cipri y los ejercicios de autoevaluación de Bárbara y Mónica (yo).

=T3 Taller 3. Servicios Web=

La idea de los servicios web es extender, para ofrecer servicios más complejos. Están esctructurados entorno a xml. Se suelen llamar también middleware, ya que actúan antre el usuario y el servidor. Lo interesante es que independizan la aplicación del lenguaje. Son servicios de mensajería, leen y reciben un mensaje, por tanto tienen 2 partes: un escuchador del servicio, service listener, y la otra parte, service proxy, que toma alguna acción sobre el servicio. Puede ser un cgi, un servlet, ...

¿Cómo funcionan? Son aplicicaciones más complejas, pero suelen hacerse como aplicación cliente-servidor. En tiempo de ejecución pueden cambiar diferentes partes. Equivalente a un buscador, diferentes puntos de acceso a diferentes sitios, dinámicamente eliges el servicio, creas aplicación que pregunta a la interfaz y te devuelve el resultado, puede hacer nueva petición de forma dinámica.

Se habla también de SOA, servicios débilmente acoplados y fuertemente interoperables. Es un protocolo de acceso a objetos, mediante el lenguaje WSDL. Diferentes capas de acceso al servicio. Pila de protocolos con 4 capas diferentes:
 * Capa de //transporte//: son protocolos de bajo nivel. Por ejemplo: XMPP es un protocolo que admite muchos plugins, se puede utilizar como base de servicios web. Tb sobre SMTP, o simplemente ficheros.
 * Capa de //mensajería//: Se hace una petición y se recibe un resultado. YAML, lenguaje de marcas, o tb se utiliza el JSON. Esta capa de mensajería empaqueta la pregunta y la respuesta. Incluye el propio portocolo de petición. Esta capa se encarga de serializar peticiones y estructuras de datos y deserializarlas, en lo que se suele denominar a veces //marshalling//
 * Capa de //descripción//, necesaria para la integración dinámica de nuevas funcionalidades. Aquí parte la pana //WSDL//, que describe los servicios web.
 * Capa de //descubrimiento//, que sirve para buscar cuáles son los servicios web que ofrecen una funcionalidad determinada. El protocolo más usado es [|UDDI] aunque no se puede decir que sea tan popular como Google. Todo se andará.

Bloque T3.1
Argumentar en el blog propio la utilidad de los servicios web, y qué posibilidades tienen el futuro

Envía recursos al servidor. El protocolo HTTP gira en torno al concepto de recurso.

¿Cómo funciona? Con un modelo cliente-servidor. Simpre se responde con un código stándar. Error de programación 500, hay otros tipos de error....

Todo esto se utiliza en aplicaciones REST. La aplicación RESful transfiere el estado del servidor al cliente, con unas órdenes. Es fácil construir la interfaz, se basa en la construcción de una cadena.

¿Cómo enviamos y recibimos? Mediante POX.

Vamos a ver la interfaz twitter, podemos escribir mensajes de 140 caracteres, podemos ver quién nos esta siguiendo,... y diversas funciones para un usuario determinado.

Vemos una petición en perl como ejemplo.

Bloque T3.2

 * 1) Hacer una petición a twitter de las últimas líneas de status de los "amigos".
 * 2) Buscar otro interfaz REST público, y hacer un programa que realice peticiones al mismo.

Bloque T3.3

 * 1) Manejar un servicio RESTful, el que se quiera, en un entorno AJAX.