Simulación de una respuesta del servicio del clima
6 Tareas
30 minutos
Avanzado
Pega Platform 8.6
Español
Escenario
Front Stage necesita saber si la probabilidad de lluvia es del 40 % o más durante un evento. En este momento, el pronóstico meteorológico consulta un data transform. Front Stage ahora quiere consultar un verdadero servicio de pronóstico meteorológico, el día previo al evento.
Se realiza el pronóstico para la ubicación donde se realiza el evento, en oposición a la ubicación del navegador del usuario. Dado que la función del usuario es coordinador de instalaciones, supondremos que el usuario del navegador está cerca del evento.
La siguiente tabla incluye las credenciales que necesita para completar el reto.
Función |
Nombre de usuario |
Contraseña |
---|---|---|
Administrador |
admin@forecast |
reglas |
Para ofrecer los mejores servicios y preparativos, FSG quiere que la predicción o el pronóstico se realice un día antes de cada día del evento.
Cree una interfaz de página de datos para obtener el pronóstico meteorológico. Los parámetros cuando se consulta el servicio son:
- StartDate
- EndDate
- Latitud
- Longitud
La respuesta es una lista de páginas.
{ "forecast":[ { "Date":"20170731" ,"Probability":"35" ,"Unit":"Percent" }, { "Date":"20170801" ,"Probability":"40" ,"Unit":"Percent" } ] }
Use cualquier URL del clima para el servicio meteorológico simulado (por ejemplo, http://weather-forecast.com). Desarrolle una UI para mostrar los parámetros de la consulta. La respuesta REST puede contener tantos elementos como la cantidad de días que dura el evento. Realice un posprocesamiento de la respuesta para identificar si la probabilidad de lluvia equivale al 40 % o lo supera.
Tareas detalladas
1 Identificar opciones de diseño
Los datos pueden simularse usando una de las siguientes opciones.
Opción 1:
Habilite la opción Simulate data source (Simular origen de datos) de la página de datos y cree un data transform para simular la respuesta.
Opción 2:
Asocie una actividad de simulación con el conector REST.
Opción 3:
Cree un servicio REST y obtenga los resultados del pronóstico desde el servicio.
2 Evaluar opciones de diseño
Diseño | Pros | Contras |
---|---|---|
Simular origen de datos |
|
|
Actividad de simulación del conector |
|
|
Creación de un servicio REST |
|
|
3 Recomendar la mejor opción de diseño
En este escenario, usamos un enfoque de origen de datos simulado ya que es fácilmente configurable y tiene múltiples opciones de origen. El enfoque podría cambiar según la estrategia que usamos para pronosticar los resultados del servicio de pronóstico meteorológico.
4 Identificar las tareas de configuración requeridas
Para completar la asignación, realice las siguientes tareas:
- Cree un nuevo conector REST consumiendo el servicio de pronóstico meteorológico.
- Cree una nueva página de datos D_FCbyCoords.
- Configure la nueva página de datos D_FCbyCoords para usar el conector REST creado en el paso 1.
- Cree un data transform de Simulation (Simulación) para replicar la respuesta, ya que el servicio web no está disponible.
- Cree diferentes estrategias para tener el pronóstico de lluvia de diversas probabilidades.
- Simule el origen de datos de la página de datos D_FCbyCoords.
- Capture las coordenadas de la ubicación (latitud/longitud) de la ubicación del evento y los días del evento (fecha de inicio y fin) desde el caso Booking (Reserva).
- Modifique el ciclo de vida del caso Weather (Clima) para realizar condicionalmente preparaciones, si la probabilidad de lluvia que capturó parte de la respuesta de servicio supera o equivale al 40 %.
- Verifique el trabajo.
5 Revisar los detalles de la solución
Conforme al requerimiento, el pronóstico debe ocurrir para todos los días del evento y un día antes de cada día del evento. Cuando se crea un caso de clima, los datos (días del evento, detalles de la ubicación del evento) deben propagarse del caso Booking (Reserva). Un día antes de cada día del evento, se invoca el servicio de pronóstico meteorológico con los días del evento y las coordenadas de ubicación como parámetros.
Si el servicio de pronóstico responde que hay probabilidad de lluvia para un día del evento específico, el caso debe enrutarse al coordinador de instalaciones especializado en el clima para realizar los preparativos. Una vez que se realizan los preparativos, el coordinador de instalaciones envía el caso y espera el próximo pronóstico.
Si el servicio de pronóstico responde que no hay posibilidad de lluvia para un día de evento específico, el caso avanza y espera el siguiente pronóstico.
El proceso se repite para todos los días de evento. Después del pronóstico del último día de evento, el caso espera para el cierre del evento. Cuando el evento termina, el caso de pronóstico se enruta al coordinador de instalaciones especializado en clima para el análisis detallado.
Si el pronóstico responde que no hay probabilidad de lluvia, pero de hecho llueve, el coordinador de instalaciones debe tener una opción para invocar manualmente los preparativos mientras el caso espera el siguiente pronóstico.
El caso se resuelve cuando el coordinador de instalaciones completa el análisis detallado.
La solución está implementada en los ruleset WForecast y WForecastInt. El ciclo de vida del caso y el flujo de trabajo están diseñados como se muestra en la siguiente imagen.
Como el servicio se invoca usando fechas y coordenadas como parámetros, el servicio se consume dentro de la clase FCCoord (pronóstico por coordenadas) en la capa específica de la aplicación Int-. Existe la posibilidad de que el servicio de pronóstico pueda ofrecer servicios basados en el código postal del evento. La claseFCZip se crea con el código postal.
Se presume que el negocio puede cambiar en cualquier momento las constantes específicas de la aplicación (SLA de preparación del clima y probabilidad de lluvia), y esto debe ser fácilmente configurable.
6 Implementar un reto adicional
La cantidad de días antes del evento en que se crea el caso de pronóstico meteorológico debe ser fácilmente configurable por un citizen developer.
Disponible en la siguiente misión:
If you are having problems with your training, please review the Pega Academy Support FAQs.
¿Quiere ayudarnos a mejorar este contenido?