REST統合インターフェイスの作成
5 タスク
30 分
上級
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 |
詳細なタスク
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} を使用する |
|
|
HotelアプリケーションとHotel ProxyアプリケーションでカスタムのREST APIを作成する |
|
|
3 最適な設計オプションの提案
現在のビジネスシナリオを慎重に検討した結果、Pega Platform OOTB REST API呼び出しを使用することが推奨されます。その理由は、多くの開発工数を必要とせず、レスポンスをカスタマイズする必要がないことです。
4 必要な構成タスクの特定
推奨される設計に沿ってソリューションを実装するには、以下のタスクを実行します。
- HotelアプリケーションとHotel Proxyアプリケーションの間のインターフェイスとして、RESTコネクターを作成します。
- RESTコネクターにリクエストとレスポンスを構成します。
- Hotelアプリケーションで、RESTサービスを呼び出すためのCreateProxyCaseアクティビティを作成し、Hotel Proxyアプリケーションでケースを作成します。
- Hotel Proxyアプリケーションで、RESTサービスを呼び出すためのConfirmRoomsアクティビティを作成し、HotelアプリケーションでRooms Requestケースの確定済客室を更新します。
5 ソリューション詳細のレビュー
ソリューションは、次のルールセットに実装されます。
- RoomsRequestCase
- RoomRequestInt
- HotelShared_20191202T192854184
- RoomsRequestProxy
RESTコネクターを呼び出すためのProxyフローをHotelアプリケーションに作成します。
Hotel ProxyアプリケーションでRoomsフローを確認し、RESTコネクターを呼び出します。
このモジュールは、下記のミッションにも含まれています。
トレーニングを実施中に問題が発生した場合は、Pega Academy Support FAQsをご確認ください。