Skip to main content

天候サービスレスポンスのシミュレーション

6 タスク

30 分

Visible to: All users
上級
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%以上であるかどうかを特定してください。

このチャレンジを完了するには、Pegaインスタンスを起動する必要があります。

起動には5分ほどかかることがありますので、しばらくお待ちください。

詳細なタスク

1 設計オプションの特定

次のいずれかの方法でデータをシミュレートできます。

オプション1:

データページの「Simulate data source」オプションを有効にして、レスポンスをシミュレートするデータトランスフォームを作成します。

Option 1 Image showing the source of the data page

オプション2:

シミュレーションのアクティビティをRESTコネクターに関連付けます。

Option 2 image showing how to use the simulation option

オプション3:

RESTサービスを作成し、そのサービスから予報の結果を取得します。

2 設計オプションの評価

設計 長所 短所
データソースのシミュレーション
  • 構成が簡単
  • データトランスフォーム、レポートディフィニッション、参照、アクティビティなどをソースとすることが可能
  • シミュレーションデータソースを参照するタイミングのロジックを参照するwhenルールと、シミュレーションのソースを呼び出すために必要な場合にtrueに設定されるDynamicシステム設定によって管理される場合以外は、ロックされていないルールセットバージョンが必要
コネクターシミュレーションアクティビティ
  • 特定のリクエスターセッション(ユーザーセッション)とすべてのリクエスターセッション(グローバル)のどちらに適用するかという、シミュレーションアクティビティの適用対象を管理できる
  • ルールセットバージョンに関連付ける必要がある
RESTサービスの作成
  • エンドポイントのURL(実際のサービスまたはシミュレートされたサービス)を管理するために、必要に応じてより詳細にコントロールできる
  • 実際のサービスのようなまったく新しいRESTサービスを作成して利用するには、より多くの開発工数が必要になる

3 最適な設計オプションの提案

このシナリオでは、簡単に構成でき、複数のソースオプションがある、データソースのシミュレーションによるアプローチを使用しました。 天気予報サービスの結果を予測するために使用する戦略によっては、アプローチが変わる場合もあります。

4 必要な構成タスクの特定

アサインメントを完了するために、以下のタスクを行ってください。

  1. 天気予報サービスを利用して、新しいRESTコネクターを作成します。
  2. 新しいD_FCbyCoordsデータページを作成します。
  3. 新しいD_FCbyCoords データページに、手順1で作成したRESTコネクターを使用するように構成します
  4. ウェブサービスが利用できないため、レスポンスをレプリケートするSimulationデータトランスフォームを作成します。
  5. 雨天予報の確率が異なるさまざまな戦略を立てます。
  6. データページD_FCbyCoordsのデータソースをシミュレートします。
  7. Bookingケースから、イベント会場の位置座標(緯度/経度)とイベント日(開始日/終了日)を取得します。
  8. サービスレスポンスの降雨確率が40%以上の場合、条件付きで準備を行うようにWeatherケースライフサイクルに変更を加えます。
  9. 作業を検証します。

5 ソリューション詳細のレビュー

この要件では、すべてのイベント日と各イベント日の1日前に予報を行う必要があります。 Weatherケースが作成されたら、Bookingケースからデータ(イベント日、イベント場所の詳細)が伝搬される必要があります。 各イベント日の前日に、イベント日と会場の座標をパラメーターとして、天気予報サービスが呼び出されます。

予報サービスからのレスポンスにより、特定のイベント日の降雨が予測される場合、ケースを天候専門の設備コーディネーターにルーティングし、手配を行ってもらう必要があります。 手配が済んだら、設備コーディネーターはケースをサブミットし、次の予報を待ちます。

予報サービスからのレスポンスにより、指定されたイベント日の降雨がないと予測される場合、ケースは次に進み、次の予報を待ちます。

プロセスは、すべてのイベント日について繰り返されます。 イベント最終日の予報の後、ケースはイベント終了を待ちます。 イベントが終了すると、Forecastケースは天候専門の設備コーディネーターにルーティングされ、撤収作業が行われます。

予報からのレスポンスでは降雨なしであったにもかかわらず、実際に雨が降った場合、次の予報を待っている間に、設備コーディネーターが手動で手配を開始できるオプションが必要です。

設備コーディネーターが撤収作業を完了すると、このケースは完了します。

ソリューションは、WForecastルールセットとWForecastIntルールセットに実装されます。 ケースライフサイクルとワークフローは、下の図のように設計されています。

WeatherFC - Routing - Solution Detail Requirements 1

 

WeatherFC - Routing - Solution Detail Requirements 2

このサービスは、日付と座標をパラメーターとして呼び出すため、アプリケーション固有のInt-レイヤーのFCCoord(Functional by coordinates)クラスで利用されます。 予報サービスがイベントの郵便番号に基づいてサービスを提供できる可能性があります。 郵便番号にはFCZip クラスが作成されています。

Class structure

アプリケーション固有の定数(Rain ProbabilityとWeather Preparation SLA)は、ビジネスによっていつでも変更できるものとし、構成が簡単でなければなりません。

WeatherFC - Data Types and Integration Simulation _4

 

6 追加のチャレンジの実装

イベントの何日前にWeather Forecastケースが作成されるかを、一般のデベロッパーが簡単に構成できるようになっている必要があります。



このモジュールは、下記のミッションにも含まれています。

トレーニングを実施中に問題が発生した場合は、Pega Academy Support FAQsをご確認ください。

このコンテンツは役に立ちましたか?

改善できるところはありますか?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice