Anatomía de la duración de un servicio web XML
Este tema es específico de una tecnología heredada. Ahora, los servicios Web XML y los clientes de servicios Web XML deben crearse con Windows Communication Foundation.
El proceso que se produce al hacer una llamada a un servicio Web XML es similar al proceso que se produce al realizar una llamada a un método normal. La diferencia principal es que en vez de llamar a un método que se encuentra en la aplicación cliente, se genera un mensaje de solicitud a través del transporte especificado, por ejemplo, HTTP. Puesto que el método de servicio Web XML se puede encontrar en otro equipo, la información que el servicio Web XML necesita para procesar la solicitud se debe pasar por la red al servidor que hospeda el servicio Web XML. El servicio Web XML procesa la información y devuelve el resultado, a través de la red, a la aplicación cliente.
La ilustración siguiente muestra el proceso de comunicación entre un cliente y un servicio Web XML.
Duración del servicio Web XML
A continuación se describe la secuencia de eventos que se producen cuando se llama a un servicio Web XML:
El cliente crea una nueva instancia de la clase de proxy del servicio Web XML. Este objeto reside en el mismo equipo que el cliente.
El cliente invoca un método en la clase de proxy.
La infraestructura en el equipo cliente serializa los argumentos del método de servicio Web XML en un mensaje SOAP y lo envía a través de la red al servicio Web XML.
La infraestructura recibe el mensaje SOAP y deserializa el XML. Crea una instancia de la clase que implementa el servicio Web XML e invoca el método de servicio Web XML, pasando el XML deserializado como argumentos.
El método de servicio Web XML ejecuta su código, estableciendo finalmente el valor devuelto y los parámetros out.
La infraestructura en el servidor web serializa el valor devuelto y los parámetros out en un mensaje SOAP y lo devuelve a través de la red al cliente.
La infraestructura del servicio Web XML, en el equipo cliente, recibe el mensaje SOAP, deserializa el XML en el valor devuelto y los parámetros out, y los pasa a la instancia de la clase de proxy.
El cliente recibe el valor devuelto y los parámetros out.
Generar un servicio Web XML
Crear un servicio Web de XML es similar a crear cualquier componente que proporcione acceso mediante programación a la lógica de la aplicación. Para crear un servicio Web XML, necesita alguna funcionalidad que integre el servicio que desea exponer, una descripción del servicio que defina cómo usar el servicio y una infraestructura para admitir la recepción y el procesamiento de solicitudes y el envío de respuestas. Afortunadamente, se le proporciona la mayoría de la infraestructura necesaria.
Generar un cliente de servicio Web XML
Puesto que se puede tener acceso a los servicios Web XML mediante direcciones URL, HTTP y XML, esto significa que los programas que se ejecuten en cualquier plataforma y lenguaje podrán tener acceso a los servicios Web XML. Ya que la naturaleza descentralizada de los servicios Web XML permite al cliente y al servicio Web XML funcionar como unidades autónomas, existen innumerables formas de usar un servicio Web XML. Por ejemplo, una llamada a un servicio Web XML puede incluirse en una aplicación web, un componente de software intermedio o incluso otro servicio Web XML. Independientemente del formulario que pueda obtener el cliente del servicio Web XML, todo lo que hace falta para llamar a un servicio Web XML es enviar un mensaje de solicitud con el formato correcto que cumpla la descripción de servicio publicada para ese servicio Web XML. Dependiendo de la naturaleza del servicio Web XML, podría enviar a cambio un mensaje de respuesta. El autor de la solicitud debe ser capaz, posteriormente, de extraer la información necesaria de este mensaje.