設問
コースとトレーニングの大手プロバイダーであるある企業は、サードパーティのトレーナーを起用してコースを提供しています。この企業にトレーニングを提供するトレーナーは、10の異なるトレーニング認定機関による認証を受ける必要があります。各トレーニング認定機関にはそれぞれ対応時間が異なるため、トレーナーの承認に数日かかることもあります。そこで、この企業はトレーナー認定検証プロセスを機関のWebサービスと統合することで自動化することを決定しました。
このプロセスを自動化するための推奨されるアプローチは何ですか?
選択肢
A. @future アノテーションを使用して Apex コールアウトを作成し、すべての代理店へのコールアウトを実行します。レスポンスでトレーナーのステータスが「確認済み」に更新されるはずです。
B. ミドルウェアを使用して 10 個の異なる検証サービスへの呼び出しを処理します。ミドルウェアは、10 個のサービスからの検証結果を統合するビジネス ロジックを処理し、Salesforce に呼び出しを行って検証ステータスを「検証済み」に更新します。
C. トレーナー レコードにトリガーを作成して各検証機関に呼び出しを行い、検証を統合するビジネス ロジックを記述して、トレーナーのステータスを「検証済み」に更新します。
D. Salesforce 外部サービスを使用して呼び出しを行います。Salesforce 外部サービスは、結果が検証されるまで検証機関をチェックし、その後トレーナーのステータスを「検証済み」に更新する必要があります。
解答
B. ミドルウェアを使用して 10 個の異なる検証サービスへの呼び出しを処理します。ミドルウェアは、10 個のサービスからの検証結果を統合するビジネス ロジックを処理し、Salesforce に呼び出しを行って検証ステータスを「検証済み」に更新します。
解説
A. @future アノテーションを使用して Apex コールアウトを作成し、すべての代理店へのコールアウトを実行します。レスポンスでトレーナーのステータスが「確認済み」に更新されるはずです。
不正解です。
Webサービスコールアウトを使用する場合は、同じfutureメソッドからすべてのコールアウトをまとめてください。しかし、10個の異なるサービスへのコールアウトは複雑で、エラー処理やタイムアウト管理が困難です。
B. ミドルウェアを使用して 10 個の異なる検証サービスへの呼び出しを処理します。ミドルウェアは、10 個のサービスからの検証結果を統合するビジネス ロジックを処理し、Salesforce に呼び出しを行って検証ステータスを「検証済み」に更新します。
正解です。
複数のシステムが関与する場合:2つ以上のシステムが関与する場合、ミドルウェアを使用することで保守性が向上し、同期頻度が改善され、データの原子性が確保されます。10個のサービスとの統合にはミドルウェアが最適です。
C. トレーナー レコードにトリガーを作成して各検証機関に呼び出しを行い、検証を統合するビジネス ロジックを記述して、トレーナーのステータスを「検証済み」に更新します。
不正解です。
トリガーから直接コールアウトすることはできず、非同期処理が必要です。
D. Salesforce 外部サービスを使用して呼び出しを行います。Salesforce 外部サービスは、結果が検証されるまで検証機関をチェックし、その後トレーナーのステータスを「検証済み」に更新する必要があります。
不正解です。
外部サービスは単純な統合には適していますが、10個の異なるサービスとの複雑な統合と結果の統合ロジックには適していません。ミドルウェアの方が適切です。
第31問
こちらをクリック