天候サービスレスポンスのシミュレーション
6 タスク
30 分
上級
Pega Platform 8.6
日本語
シナリオ
Front Stageでは、イベント中の降雨確率が40%を超えるかどうかを知る必要があります。 現在、天気予報はデータトランスフォームにクエリーをかけています。 Front Stageでは、イベントの前日に真の天気予報サービスにクエリーをかけたいと考えています。
予報は、ユーザーのブラウザーの位置ではなく、イベントが開催されている場所に対して行われます。 ユーザーのロールがFacility Coordinatorであることから、ブラウザーのユーザーはイベント会場の近くにいると想定します。
以下の表は、チャレンジに必要なログイン情報をまとめたものです。
ロール |
ユーザー名 |
パスワード |
---|---|---|
Administrator |
admin@forecast |
rules |
最高のサービスと手配を提供するために、FSGはイベントの各日の前日に予測/予報を行いたいと考えています。
天気予報を取得するためのデータページのインターフェイスを作成してください。 サービスにクエリーをかけるときのパラメーターは次のとおりです。
- StartDate
- EndDate
- Latitude
- Longitude
レスポンスはページのリストです。
{ "forecast":[ { "Date":"20170731" ,"Probability":"35" ,"Unit":"Percent" }, { "Date":"20170801" ,"Probability":"40" ,"Unit":"Percent" } ] }
シミュレートされた天候サービスには、任意の天候URLを使用します(例:http://weather-forecast.com)。 リクエストパラメーターを表示するUIを開発してください。 RESTレスポンスには、イベントの開催日数と同数の要素を含めることができます。 レスポンスを後処理して、降雨確率が40%以上であるかどうかを特定してください。
詳細なタスク
1 設計オプションの特定
次のいずれかの方法でデータをシミュレートできます。
オプション1:
データページの「Simulate data source」オプションを有効にして、レスポンスをシミュレートするデータトランスフォームを作成します。
オプション2:
シミュレーションのアクティビティをRESTコネクターに関連付けます。
オプション3:
RESTサービスを作成し、そのサービスから予報の結果を取得します。
2 設計オプションの評価
設計 | 長所 | 短所 |
---|---|---|
データソースのシミュレーション |
|
|
コネクターシミュレーションアクティビティ |
|
|
RESTサービスの作成 |
|
|
3 最適な設計オプションの提案
このシナリオでは、簡単に構成でき、複数のソースオプションがある、データソースのシミュレーションによるアプローチを使用しました。 天気予報サービスの結果を予測するために使用する戦略によっては、アプローチが変わる場合もあります。
4 必要な構成タスクの特定
アサインメントを完了するために、以下のタスクを行ってください。
- 天気予報サービスを利用して、新しいRESTコネクターを作成します。
- 新しいD_FCbyCoordsデータページを作成します。
- 新しいD_FCbyCoords データページに、手順1で作成したRESTコネクターを使用するように構成します。
- ウェブサービスが利用できないため、レスポンスをレプリケートするSimulationデータトランスフォームを作成します。
- 雨天予報の確率が異なるさまざまな戦略を立てます。
- データページD_FCbyCoordsのデータソースをシミュレートします。
- Bookingケースから、イベント会場の位置座標(緯度/経度)とイベント日(開始日/終了日)を取得します。
- サービスレスポンスの降雨確率が40%以上の場合、条件付きで準備を行うようにWeatherケースライフサイクルに変更を加えます。
- 作業を検証します。
5 ソリューション詳細のレビュー
この要件では、すべてのイベント日と各イベント日の1日前に予報を行う必要があります。 Weatherケースが作成されたら、Bookingケースからデータ(イベント日、イベント場所の詳細)が伝搬される必要があります。 各イベント日の前日に、イベント日と会場の座標をパラメーターとして、天気予報サービスが呼び出されます。
予報サービスからのレスポンスにより、特定のイベント日の降雨が予測される場合、ケースを天候専門の設備コーディネーターにルーティングし、手配を行ってもらう必要があります。 手配が済んだら、設備コーディネーターはケースをサブミットし、次の予報を待ちます。
予報サービスからのレスポンスにより、指定されたイベント日の降雨がないと予測される場合、ケースは次に進み、次の予報を待ちます。
プロセスは、すべてのイベント日について繰り返されます。 イベント最終日の予報の後、ケースはイベント終了を待ちます。 イベントが終了すると、Forecastケースは天候専門の設備コーディネーターにルーティングされ、撤収作業が行われます。
予報からのレスポンスでは降雨なしであったにもかかわらず、実際に雨が降った場合、次の予報を待っている間に、設備コーディネーターが手動で手配を開始できるオプションが必要です。
設備コーディネーターが撤収作業を完了すると、このケースは完了します。
ソリューションは、WForecastルールセットとWForecastIntルールセットに実装されます。 ケースライフサイクルとワークフローは、下の図のように設計されています。
このサービスは、日付と座標をパラメーターとして呼び出すため、アプリケーション固有のInt-レイヤーのFCCoord(Functional by coordinates)クラスで利用されます。 予報サービスがイベントの郵便番号に基づいてサービスを提供できる可能性があります。 郵便番号にはFCZip クラスが作成されています。
アプリケーション固有の定数(Rain ProbabilityとWeather Preparation SLA)は、ビジネスによっていつでも変更できるものとし、構成が簡単でなければなりません。
6 追加のチャレンジの実装
イベントの何日前にWeather Forecastケースが作成されるかを、一般のデベロッパーが簡単に構成できるようになっている必要があります。
このモジュールは、下記のミッションにも含まれています。
トレーニングを実施中に問題が発生した場合は、Pega Academy Support FAQsをご確認ください。