Visión general de pruebas de servicio asíncrono

Los servicios asíncronos utilizan un patrón de interacción de devolución de llamada para las comunicaciones entre los objetos. Se pueden utilizar, por ejemplo, en sistemas de publicación-suscripción proporcionados por proveedores de middleware orientado a mensajes o en dominios de gestión de dispositivos o sistemas.

Servicios WS-Notification

Los estándares de los servicios asíncronos se establecen en las especificaciones WS-Notification:

Puede probar servicios web y servicios XML que implementan la especificación WS-Notification al crear una solicitud asíncrona dentro de una prueba. La solicitud asíncrona consta de interfaces para la especificación WS-Notification correspondiente, junto con una estructura de devolución de llamada.

Servicios asíncronos de propietario

Puede probar servicios asíncronos de propietario que no implementen especificaciones WS-Notification. Para probar estos servicios, puede crear de forma manual una solicitud de servicio que contiene interfaces para el servicio y, a continuación, puede añadir la estructura de devolución de llamada asíncrona a la solicitud.

Los datos XML de la solicitud asíncrona deben contener un punto final que especifique el URL del destinatario de la devolución de llamada. Durante la prueba, este punto final se utiliza para redireccionar la devolución de llamada al verificador en lugar de hacerlo al receptor real.

Estructura de devolución de llamada

Para probar servicios asíncronos, debe crear una estructura de solicitud asíncrona en la prueba como se muestra en el siguiente diagrama:

Ejemplo de estructura de solicitud asíncrona
Una solicitud de servicio web o una solicitud XML sencilla proporcionan la acción de suscripción y contienen un elemento de devolución de llamada, que describe el comportamiento de la prueba en tres etapas:
  • Paralelo contiene elementos de prueba que se ejecutan después de que se haya enviado la solicitud de suscripción y mientras se espera la respuesta de notificación.
  • Recepción contiene elementos de prueba que se ejecutan una vez que se ha recibido la respuesta de notificación del servicio.
  • Tiempo de espera excedido contiene elementos de prueba que se ejecutan si después del retardo especificado en el elemento de devolución de llamada no se ha recibido la respuesta de notificación.

Cuando todo lo que contienen los elementos del paralelo, recepción y tiempo de espera excedido ha terminado su ejecución, ésta continua con el siguiente elemento de la prueba después de la solicitud asíncrona.

El método de generación de la estructura de devolución de llamada asíncrona en la prueba depende de si el servicio asíncrono utiliza la especificación WS-Notification:
  • Servicios WS-Notification: crea la solicitud asíncrona de la prueba.
  • Servicios de propietario: crea de forma manual una solicitud de servicio web o una solicitud XML de la prueba y, a continuación, añade la estructura de devolución de llamada asíncrona a la solicitud.

Comentarios