Servicios Web

Toca informática amiguitos. Un poco sobre servicios web, una de las tecnologías del futuro de Internet. En mi línea de hablar de informática como Coco y la Rana Gustavo explican izquierda y derecha, voy a contar algo sobre este tema.
Básicamente, los servicios web son una forma de exponer funcionalidad e información en Internet. Es decir, hablando en plata, tú puedes llamar a un servicio web y esperar que algo se ejecute en el servidor que lo aloja, y que te devuelva un resultado. Un cierto simil sería el de una página web sin interfaz gráfica, dado que un servicio web se invoca o llama enviándole un mensaje, que suele estar en formato SOAP (Simple Object Access Protocol). SOAP es un lenguaje XML o vocabulario, que sirve para construir mensajes para invocar a servicios web. Tiene un destinatario, remitente, parámetros y todo eso. Lo típico vamos.
Por encima de ésto tendríamos WSDL (Web Service Description Language) que nos describe las interfaces de los servicios web, para que sepamos cómo invocarlas, qué tipos de datos soportan y qué nos va a devolver. Y en el siguiente nivel estaría UDDI, pero esto ya tiene poca utilidad.
La gracia de los servicios web es que tú tienes esa funcionalidad y puedes orquestarla, es decir, puedes consumir información de distintos tipos, sitios e instituciones, y componer una información más rica con un cierto valor. El ejemplo más típico es el de una Agencia de Viajes, que pueda llamar al servicio web de Iberia para conocer qué vuelos tiene y con que número de plazas libres y horarios, llamar al servicio web de NH Hoteles para conocer los mismos datos pero asociados al hotel, y posteriormente consultar qué tiempo va a hacer en un lugar X de destino a partir de un tercer servicio web meteorológico.
Con todo esto se puede construir una aplicación, ya sea web o de escritorio, que ofrezca toda esta información al cliente permitiéndole organizar sus vacaciones en base a la información facilitada por unos terceros. Esto es un simple ejemplo, pero las posibilidades son infinitas.
La otra buena noticia sobre servicios web es que la información se asienta sobre XML (eXtensible Markup Language), tan de moda hoy en día. No me pararé a definir XML ni explicar lo que es, pero si eres informático y no lo sabes, te recomiendo que te leas algo porque tarde o temprano tendrás que lidiar con él. Ir sobre XML significa que la información puede tener una semántica, si a la estructura que organiza la información devuelta por el servicio web (estructura “hecha” con el XML) le asocias un significado. Pequeño ejemplo:
<mascota><tipo>Perro</tipo><nombre>Tobby</nombre><dueño>Pepe</dueño></mascota>
Con esto ya tenemos la información estructurada, pero por si mismo “Nombre” o “Dueño” no significa nada, pero si creamos algo que analice esto y de forma automatizada sea capaz de interpretar que Nombre va a ser el nombre de la mascota, o que Dueño va a ser un ser humano, empezaremos a tener semántica en los datos y podremos llegar a procesar información de forma automática sin que tenga que aparecer el ojo y el cerebro humanos para interpretarla, lo cuál supondría un dramático incremento del rendimiento y la eficiencia.
Así que de momento, esto es todo lo que se me ocurre sobre servicios web. Creedme, es un campo que ya tiene una enorme importancia en Internet, y que va a tener cada vez más, porque ofrece una gran flexibilidad, y los negocios, hoy en día, tienen a demandar cada vez más flexibilidad y respuesta al cambio. Todo el mundo quiere adaptarse a las nuevas condiciones del mercado, a las nuevas reglas y a los nuevos flujos de trabajo, casi instantáneamente, y aquí es donde los servicios web van a meterse hasta el hueso
Si hay interés en conocer más, tanto en la MSDN como en el W3C, a un nivel más teórico, se puede encontrar información. Y el portal W3Schools también suele tener información interesante especialmente para los principiantes.


