Skip to main content

REST統合インターフェイスの作成

5 タスク

30 分

Visible to: All users
上級 Pega Platform 8.6 日本語

シナリオ

外部のHotel ContactがBookingアプリケーションにログインしてイベント用の予約客室数を指定するのではなく、FSGはこれらのHotel ContactにPega Cloud™がホストするHotel Proxyアプリケーションログインしてもらいたいと考えています。 Hotel ProxyアプリケーションのRooms Requestケースは、Hotelアプリケーションで作成されます。 Hotel ProxyアプリケーションのRoom Requestケースは、予約済客室数をHotelアプリケーションに伝えます。

以下の表は、ソリューションの検証に必要なログイン情報を示しています。

ロール ユーザー名 パスワード
Admin admin@HotelDevOnly rules
Admin admin@Hotel rules
Admin admin@HotelProxy rules
Hotel Contact [email protected] rules
Hotel Contact [email protected] rules

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

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

詳細なタスク

1 設計オプションの特定

FSGは、Hotel Contactが社内Hotelアプリケーションにアクセスすることを望んでいません。 このため、必要な客室リクエストのみがHotel Proxyアプリケーション送られ、Hotel Contactはそこにアクセスして客室を確保した旨を通知できます。

このインターフェイスにより、Hotelアプリケーションは、Hotelアプリケーション内のすべてのRooms Requestケースについて、Hotel Proxyアプリケーション内にRooms Request Proxyケースを作成できます。 Hotel Contactは、Hotel Proxyアプリケーションを使用して、Rooms Request Proxyケースで予約された部屋数を確定できます。 このインターフェイスにより、Hotel Proxyアプリケーションは、予約された部屋数を、Hotelアプリケーションの元のRooms Requestケースに送信できます。

このソリューションは、以下のいずれかのオプションを使用して実装できます。

オプション1:

out-of-the-boxのPega Platform™ REST API {cases POST and PUT methods}を使用して、HotelアプリケーションとHotel Proxyアプリケーション間の通信チャネルを確立します。

以下は、Hotel ProxyアプリケーションでRooms Request Proxyケースを作成するためのPOST JSONの例です。

{"caseTypeID":"FSG-HotelProxy-Work-RoomsRequest-Proxy" ,"processID":"pyStartCase" ,"content":{ "RoomsRequest":{ "FromDate":"20190331T130944.828 GMT" ,"HotelGUID":"d8825749-e2fb-46b3-97aa-3ead12b89584" ,"pxObjClass":"FSG-Data-Hotel-RoomsRequest" ,"pyLabel":" " ,"RequestSendDate":"20190325T130944.829 GMT" ,"ResponseDeadline":"20190329T130944.829 GMT" ,"RoomsRequested":"320" ,"ToDate":"20190402T130944.829 GMT" ,"Contact":{ "pxObjClass":"Data-Party" ,"pyEmail1":"[email protected]" ,"pyEmail1Type":"HTML" ,"pyFirstName":"Tony" ,"pyLabel":" " ,"pyLastName":"Parker" } } } }

以下は、Hotel ProxyアプリケーションでRooms Request Proxyケースを更新するためのPUT JSONの例です。

{ "content":{ "RoomsRequest":{ "FromDate":"20190331T130944.828 GMT" ,"HotelGUID":"d8825749-e2fb-46b3-97aa-3ead12b89584" ,"pxObjClass":"FSG-Data-Hotel-RoomsRequest" ,"pyLabel":" " ,"RequestSendDate":"20190325T130944.829 GMT" ,"ResponseDeadline":"20190329T130944.829 GMT" ,"RoomsRequested":"320" ,"ToDate":"20190402T130944.829 GMT" ,"Contact":{ "pxObjClass":"Data-Party" ,"pyEmail1":"[email protected]" ,"pyEmail1Type":"HTML" ,"pyFirstName":"Tony" ,"pyLabel":" " ,"pyLastName":"Parker" } } } }

補足: テキストの例をそのままコピーして別のテキストファイルに貼り付けないでください。 まず、JSONLintを使って、JSONを正しく検証し、フォーマットします。 次に、修正したテキストをコピーして2つの別々のテキストファイルに貼り付けます。

オプション2:

Hotel ProxyアプリケーションにRESTサービスを作成し、Hotelアプリケーションから受け取るすべての客室リクエストのProxyケースを作成します。 HotelアプリケーションにRESTサービスを作成し、Hotel Proxyアプリケーションから受け取るすべてのリクエストのRooms Requestケースの確定済客室を更新します。

2 設計オプションの評価

 

設計 長所 短所
out-of-the-boxのPega Platform REST API {cases POST and PUT methods} を使用する
  • out-of-the-boxのPega Platformの機能を最小限の開発工数で活用できる
  • HotelアプリケーションとHotel Proxyアプリケーションの間で共有インターフェイスコンポーネントを再利用できる
  • Pega Platformが提供するレスポンスを使用する必要があり、レスポンスをカスタマイズして追加の属性を含めることはできない
HotelアプリケーションとHotel ProxyアプリケーションでカスタムのREST APIを作成する
  • カスタムのリクエストとレスポンスを持つことができる
  • REST APIを構築するための開発工数が余分にかかる
  • 両方のアプリケーションに変更を加えるため、メンテナンスの工数が増える

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

現在のビジネスシナリオを慎重に検討した結果、Pega Platform OOTB REST API呼び出しを使用することが推奨されます。その理由は、多くの開発工数を必要とせず、レスポンスをカスタマイズする必要がないことです。

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

推奨される設計に沿ってソリューションを実装するには、以下のタスクを実行します。

  1. HotelアプリケーションとHotel Proxyアプリケーションの間のインターフェイスとして、RESTコネクターを作成します。
  2. RESTコネクターにリクエストとレスポンスを構成します。
  3. Hotelアプリケーションで、RESTサービスを呼び出すためのCreateProxyCaseアクティビティを作成し、Hotel Proxyアプリケーションでケースを作成します。
  4. Hotel Proxyアプリケーションで、RESTサービスを呼び出すためのConfirmRoomsアクティビティを作成し、HotelアプリケーションでRooms Requestケースの確定済客室を更新します。

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

ソリューションは、次のルールセットに実装されます。

  • RoomsRequestCase
  • RoomRequestInt
  • HotelShared_20191202T192854184
  • RoomsRequestProxy
rooms-request-lifecycle

RESTコネクターを呼び出すためのProxyフローをHotelアプリケーションに作成します。

create-proxycase

Hotel ProxyアプリケーションでRoomsフローを確認し、RESTコネクターを呼び出します。

confirm-rooms

 



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

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

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

このコンテンツは 33% のユーザーにとって役に立ちました。

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

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