El validador de servicios CAVAL ha madurado mucho desde la última vez que hablamos de él, actúa sobre los servicios web que hagan uso del estándar. Es decir, a partir de la dirección del WSDL que define el servicio, el validador establece una conexión con el mismo y comienza a ejecutar consultas como si se tratase de un cliente.
Actualmente la herramienta de validación de CAVAL trabaja sobre las especificaciones de hotel, transfers y channelManager. Cada servicio CAVAL tiene definidos unos diagramas de secuencia, reflejados en la documentación, que son conjuntos de operaciones que, en una ejecución ordenada, representan una acción propia del negocio, por ejemplo, un proceso de reserva tradicional y la notificación de cupo y stock a un tour operador. Durante dicha ejecución se van realizando diferentes comprobaciones que se han agrupado en los cuatro bloques siguientes:
Proceso de validación
En la comprobación de disponibilidad se garantiza que el servicio como tal existe, y que se puede invocar a todos los métodos, no se hace ninguna comprobación sobre resultados.
En el análisis sintáctico se comprueba que las estructuras de datos devueltas por los diferentes métodos son correctas, es decir, se devuelven fechas cuando hay que devolverlas y precios cuando hay que hacerlo, esta es una comprobación a nivel de XML, se comprueba si concuerda con la especificación del schema.
Las reglas de negocio, son un conjunto de comprobaciones que, aunque sean correcta a nivel sintáctico, pueden no serlo a nivel de negocio. Por ejemplo, realizar una reserva cuya hora de check-out sea anterior a la hora de check-in, o reservar un transfer incluyendo más sillas de ruedas que pasajeros en el propio transfer. Por ahora, las comprobaciones que se hace i/o se están desarrollando son:
Hotel:
- Comprobar que el checkOut sea posterior al checkIn y ambos posteriores a fechas de hoy
- Comprobar que sea posible reservar en un hotel en el que hay disponibilidad
Tranfers:
- Comprobar que el dropOff sea posterior al pickUp y ambos posteriores a fechas de hoy
- Consulta de que los precios son los mismo en todos los resultados devueltos por los diferentes métodos
- El número de personas no debe ser inferior a la suma niños y bebes
- Comprobar que los datos introducidos son los mismo que aparecen en la reserva
- No se puede reservar más sillas de ruedas que personas
Channel Manager:
- Checkeo de contratos
- No poder abrir campañas en fechas pasadas
- La suma de los descuentos no puede ser inferior a los precios totales
- Comprobar descripciones del hotel
Por último, a nivel de rendimiento se comprueba el tiempo que tarda en responder cada servicio y se comprueba si está dentro de los limites aceptables definidos por el estándar.
Una vez realizados todos estos análisis se genera un informe para el usuario en el que se explica lo que ha sucedido en cada prueba que se ha hecho, detallando los errores encontraros.