設問
ある企業が、さまざまなソースから集約されたトランザクションを表示するLightning Web Component(LWC)を設計しています。現在のシステム環境は次のとおりです。
・トランザクションは、オンプレミスおよびクラウドベースの様々なシステムを通じて、いつでも作成されます。
・必要なすべてのトランザクションは、SalesforceのカスタムTransactionオブジェクトに複製されます。このオブジェクトは定期的に更新されるため、更新間の必要なトランザクションのサブセットのみが保持されます。
・ミドルウェアはパブリッシュ/サブスクライブインタラクションをサポートし、オンプレミスおよびクラウドベースのシステムからトランザクションを取得できるRESTful Enterprise APIを提供しています。
この企業は、LWCコンポーネントに表示されるデータが不完全であるというユーザビリティ上の懸念に対処したいと考えています。LWCに必要なすべてのトランザクションを表示できるようにするには、統合アーキテクトはどのようなことを指定する必要がありますか?
選択肢
A. プラットフォーム イベントを公開し、ミドルウェアをサブスクライブさせて、プラットフォーム イベントの受信時にカスタム オブジェクトを更新します。
B. LWC の JavaScript コードからエンタープライズ API を直接呼び出し、API 応答を受信すると LWC を再表示します。
C. Continuation クラスを使用して Enterprise API を呼び出し、コールバック メソッドで応答を処理します。
D. カスタム オブジェクト レコードが変更されたときに、@wire アダプタを使用した Lightning データ サービスで新しい値が表示されるようにします。
解答
C. Continuation クラスを使用して Enterprise API を呼び出し、コールバック メソッドで応答を処理します。
解説
A. プラットフォーム イベントを公開し、ミドルウェアをサブスクライブさせて、プラットフォーム イベントの受信時にカスタム オブジェクトを更新します。
不正解です。
プラットフォームイベントは変更の「通知」のみを行う仕組みです。通知を受けてカスタムオブジェクトを更新しても、依然として「サブセットのみ」しか保持されないため、LWCの不完全データ問題は解決されません。
B. LWC の JavaScript コードからエンタープライズ API を直接呼び出し、API 応答を受信すると LWC を再表示します。
不正解です。
Salesforceの公式ドキュメントが「JavaScriptから直接API呼び出しはできない」と明言しており、技術的に実現不可能です。
C. Continuation クラスを使用して Enterprise API を呼び出し、コールバック メソッドで応答を処理します。
正解です。
コンティニュエーションにより外部Enterprise APIから完全なトランザクションデータを取得でき、ユーザーエクスペリエンスを損なうことなくLWCに表示可能です。Salesforceが推奨する外部API統合の標準手法です。
D. カスタム オブジェクト レコードが変更されたときに、@wire アダプタを使用した Lightning データ サービスで新しい値が表示されるようにします。
不正解です。
@wireサービスはSalesforce内の既存データの更新のみを処理します。カスタムオブジェクトには「サブセットのみ」が保持されているため、完全なデータを表示することはできません。
第2問
こちらをクリック