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ケースが作成されるかを、一般のデベロッパーが簡単に構成できるようになっている必要があります。



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

If you are having problems with your training, please review the 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