Salesforce 認定 MuleSoft デベロッパー 無料問題 5 / 10 ・ 分野5: API 実装のためのインターフェイスの構築
API 仕様(RAML)はチームが Exchange に版を付けて公開している。Studio で実装する Mule アプリケーションでは、仕様の新しい版が公開されたら Studio に知らせてほしい。仕様をどう取り込むか。
- Exchange から、Mule プロジェクトの依存関係として仕様のアセットを取り込む
- Exchange の仕様を元に、Studio で API 仕様プロジェクトを新しく作る
- Exchange から仕様のファイルを手元に落とし、ローカルのコピーとして取り込む
- MuleSoft VCS から、src/main/api/ にコピーとして取り込む
正解と解説を見る
正解: A
正解の理由
Exchange から取り込んだ API 仕様は、プロジェクトの構造の中のローカルのコピーではなく、Exchange の特定の版への依存関係の参照として保存される。Mule アプリケーションのプロジェクトは実装している仕様の版を参照するので、Studio はその版の状態を定期的に確かめ、新しい版が出ると知らせる。仕様の変更に合わせて実装を追いかける必要があるので、仕様をほかのモジュールと同じく依存関係として管理する、というのが公式の考え方である。
違う選択肢
「Exchange から仕様のファイルを手元に落とし、ローカルのコピーとして取り込む」… ローカルのコピーとして取り込んだ仕様は、プロジェクトに単独で添付されたものとして扱われ、Exchange の版を参照しない。版を参照していないので、新しい版が出たことを Studio が知らせる仕組みは働かない。
「MuleSoft VCS から、src/main/api/ にコピーとして取り込む」… MuleSoft VCS から直接取り込む方法も、プロジェクトの構造の中にローカルのコピーを作る方式である。Exchange の版を参照するわけではないので、新しい版の通知は受けられない。
「Exchange の仕様を元に、Studio で API 仕様プロジェクトを新しく作る」… API 仕様プロジェクトは、仕様そのものを Studio で編集して MuleSoft VCS と同期させるためのものである。実装するアプリケーションが公開済みの版を参照し、更新を知らせてもらう用途の取り込み方ではない。
押さえどころ
依存関係として取り込んだ仕様からも、APIkit を使ってフローを自動で生成(スキャフォールディング)できる。設計(Design Center)→ Exchange への公開 → Studio での取り込みと実装、が公式の流れである。