WEB-SERVICES
Los servicios web (Web Services) y el XML están cada vez más de moda en el mundo de la programación. A continuación os
presentamos una práctica introducción basada en un problema a resolver, que nos permitirá expresar la utilidad de esta nueva
filosofía. Todo programador sabe que hacerse una idea clara de una nueva pieza en programación supone jugar un poco con ella,
a parte de estudiar sus fundamentos en una documentación técnica, puramente teórica.
A lo largo de estas páginas nos planteamos un pequeño reto que nos ayudará a comprender el cómo y el para qué de los servicios
web. Además, aquellos que quieran desarrollar sus primeros servicios web mediante las herramientas más comunes de Linux (Perl
y PHP) podrán basarse en los ejemplos de la exposición.
2.- XML:
A pesar de su sencillez aparente, XML está transformando completamente la creación y el uso de software. El Web revolucionó
la comunicación entre usuarios y aplicaciones. XML está revolucionando la comunicación entre aplicaciones o, de forma más
general, la comunicación entre equipos, pues ofrece un formato de datos universal que permite adaptar o transformar fácilmente
la información.
Como veremos a continución, XML es la base de los Servicios Web, así que antes vamos a hacernos una idea clara de qué aspecto
tiene la información en lenguaje XML.
XML es la solución a un problema de comunicación entre programas de ordenador. La información generalmente queda fuertemente
ligada al programa con que fue creada, y es así como se pierde mucho tiempo en pasar de RTF a PS a PDF a páginas HTML ó a
otros formatos de definición de documentos.
Cada día aparecen nuevas propuestas para estadarizar formatos basados en XML. Ya existen muchas herramientas de programación
preparadas para trabajar con formatos basados en XML. Es una tendencia y se está consolidando. Los programadores con mentalidad
abierta, codifican sus ficheros de datos en "algo" basado en XML. Así si un día necesitan portar sus datos a otras aplicaciones,
pueden usar herramientas ya hechas y probadas.
Muy pronto, si no es ya, que una aplicación trabaje con formatos basados en XML será una cualidad tan valorada como que
sea GPL.
En XML se marca TODO. Caulquier información transmitida por un XML está perfectamente estructurada. Para ello se emplea
también un lenguaje de marcas. Como XML es un formato universal, y no puede limitarse a saber describir sólo páginas web,
por ejemplo, las marcas no son fijas, sino variables según el subformato (esto es lo que luego veremos que se llama DTD).
XML nos dice que podemos estructurar la información en un árbol. Es decir imaginar a la receta como un componente, que
a su vez esta formado de componentes, y así sucesivamente. Cada componente podría tener texto y/o más componentes. Una posible
estructura sería imaginar que la receta tiene un componente llamado "necesitamos". No todo el texto estaría dentro de "necesitamos",
solamente aquellas cosas que el cocinero de la receta necesitaría para llevarla a cabo. Dentro podríamos tener uno o más componentes
llamados "ingrediente". Veamos como se ve esto (usando ya la sintaxis de XML).