El protocolo SOAP y los analizadores XML
Principio básico de SOAP
XML, a través de SOAP, puede hacer que las aplicaciones se comuniquen entre ellas vía Internet. Este capítulo es una introducción a SOAP, el protocolo de los servicios web. También se abordará la cuestión de interoperabilidad entre sistemas. Por último, al final de este capítulo se estudiará el concepto fundamental de analizadores XML.
SOAP es una aplicación de XML (en particular de los esquemas XML) al HTTP. Por lo que se podría decir que no se ha creado una nueva tecnología. SOAP utiliza únicamente XML y HTTP en el contexto de la invocación de métodos de manera remota.
SOAP significa Simple Object Access Protocol. Se trata de la especificación de un protocolo que permite invocar métodos de forma remota mediante un servidor de servicios, componentes u objetos. Muchas compañías se interesan por este concepto. Destacamos el caso de Microsoft, que basa su tecnología .NET en su implementación.
Así, SOAP saca provecho al mismo tiempo de XML y de HTTP para su mecanismo de invocación de métodos de manera remota. Permite operar bajo las especificaciones de filtro de cortafuegos o de pasarelas (proxy).
Gracias a un vocabulario específico XML, es posible declarar los parámetros de los métodos, valores de retorno, excepciones, etc.
En particular, SOAP es un medio simple que permite crear soluciones distribuidas complejas a partir de la infraestructura de Internet existente. Con esta técnica...
Aplicación de SOAP
SOAP se puede implementar sobre cualquier tipo de plataforma e invocarse a través de numerosos lenguajes y tecnologías. Por ejemplo, Microsoft, en el contexto de su tecnología .NET, integra SOAP con objetos COM.
En esta sección, aprenderá las bases de la creación de un servidor y de un cliente SOAP. El objetivo de esta parte no es enseñarle a programar una solución completa (esto podría ser objeto de un libro entero) sino simplemente llamar su atención acerca de la rapidez y la facilidad de aplicación de un servicio web basado en SOAP.
1. ¿Qué necesita?
El objetivo es invocar de manera remota un método de un componente de software ubicado en un servidor. A este tipo de llamada se le califica como RPC (Remote Procedure Call). La creación de un servicio web SOAP pasa por la programación de dos elementos obligatorios:
-
un servicio SOAP (la aplicación del lado del servidor) ;
-
un cliente SOAP (la aplicación en el origen de la consulta).
El cliente y el servicio no tienen por qué escribirse en el mismo lenguaje y no siempre funcionan en el mismo tipo de plataforma. De hecho, SOAP permite la interoperabilidad de sistemas haciendo que aplicaciones resultantes de tecnologías diferentes puedan comunicarse.
Muchas empresas han realizado investigaciones en SOAP y ofrecen kits de desarrollo de servicios y clientes SOAP. Microsoft...
La interpretación de los documentos XML: los analizadores
Cuando invoca un servicio web, una vez se obtiene la respuesta, solo queda interpretar el documento XML recibido. Esta es precisamente la función de los analizadores XML.
La introducción al concepto de analizador XML completa su aprendizaje del XML y de los servicios web. Por supuesto, los analizadores XML pueden utilizarse en cualquier otro contexto diferente de los servicios web.
Así, XML permite estructurar los datos en un documento. En muchas circunstancias, necesitará recuperar los datos de estos documentos para procesarlos, insertarlos en una base de datos, etc.
Para recuperar estos datos, deberá interpretar el documento. La herramienta que permite analizar la información XML se llama analizador XML, o parser XML (en inglés).
Para recorrer el documento y extraer la información, los analizadores utilizan varias técnicas de interpretación.
1. ¿Qué hace el analizador XML?
En general, un analizador es un software que permite recorrer un documento y extraer información del mismo. Un analizador XML es una API (Application Programming Interface) que permite crear una estructura jerárquica que contiene los datos del documento XML inicial. Además, distinguimos entre analizadores validadores (que verifican la existencia y la validación de la DTD correspondiente) y analizadores no validadores (que verifican si el documento está bien formado).
También distinguimos entre dos tipos de técnicas de interpretación y, por lo tanto, dos familias de analizadores XML:
-
las API de recorrido jerárquico,
-
las API de recorrido por eventos.
Las API de recorrido jerárquico
Los elementos se representan mediante objetos y la API presenta los métodos que permiten acceder a las diferentes propiedades.
Se trata...