インターフェースと実装について学ぶ
学習の目的
この単元を完了すると、次のことができるようになります。
- インターフェースと実装のパラダイムについて説明する。
- インターフェースで使用可能なさまざまな種類の実装を挙げる。
- Industries CPQ でインターフェースと実装がどのように使用されるかを説明する。
始める前に
このモジュールを受講する前に、以下のコンテンツを修了していることを確認してください。ここでの作業は、そのコンテンツの概念や作業に基づいて行います。
インターフェースと実装のパラダイム
Salesforce Industries のオープンアーキテクチャのコアとなるのは、インターフェースと実装のパラダイムです。Salesforce Industries のコンポーネントオブジェクトモデル (COM) には、再利用かつ拡張可能なモジュール式のオープンアプローチを提供する 60 以上のインターフェースと 100 以上の実装が用意されています。興味深いですか? さらに掘り下げる前に、インターフェースと実装について学んでおきましょう。
インターフェースはビジネスロジックへのコールであり、実装はそのビジネスロジックです。インターフェースが質問を行い、実装が答えを提供します。たとえば、価格設定インターフェースは、商品の価格を決定するためのシステムと通信します。実装は、設定と価格リストを評価するビジネスロジックを用い、正しい価格を決定するルールを使用して応答します。
適切なジョブに適切なツール
Salesforce Industries アプリケーションでは、代替可能かつ再利用可能なインターフェースと実装を使用します。インターフェースをカスタマイズしたり置き換えたりできます。既存のビジネスロジックを保持することもできます。Salesforce では、各インターフェースに複数の実装を用意しています。使用可能な実装の中から各自のニーズに最適なものを選択することも、独自の実装を作成することもできます。また、Salesforce Industries とカスタム実装の両方を使用するハイブリッドソリューションを作成することも可能です。賢く使用すれば、一度定義したインターフェースを繰り返しデプロイすることで、ビジネスロジックを一貫した方法で維持、適用できます。
インターフェースと実装の使用
インターフェースと実装のパラダイムは、Industries CPQ (設定、価格、見積) の設計の中核をなすものです。注文を作成するプロセスは、一連の複雑なアクションです。このプロセスの特定の時点で、Industries CPQ によって適切なインターフェースに API コールが実行され、Apex クラスを使用してビジネスロジックが実装されます。
Industries CPQ では、サードパーティのコードや従来のコードを活用する目的でもインターフェース実装を使用します。たとえば、複雑な価格設定体系を適切に実装するレガシーシステムがあるとします。そのプロセスを使用するために、既存のプロセスへのリンクと使用を行うインターフェース実装をコールできます。また、入力に応じて、いくつかの異なる価格設定システムを直接コールすることもできます。こうしたことはすべて、インターフェースと実装を使用することで可能になります。
各インターフェースの複数のオプション
では、インターフェースと実装がどのように連携しているかを説明します。それぞれのインターフェースと実装には、トリガーポイントがあります。トリガーポイントで、既存システムにコールアウトし、そのシステムから情報を返すことができます。実装によって出力が作成され、インターフェースに返されます。
場合によっては、1 つのインターフェースに複数の実装が存在することがありますが、1 つのインターフェースに有効にできる実装は 1 つのみです。目的のインターフェースでの正しい実装への切り替えは、Salesforce システム管理者が行います。それでは詳しく見ていきましょう。
まず、Salesforce 組織の [Interface Implementations (インターフェース実装)] ページに移動します。
- アプリケーションランチャーで [Interface Implementations (インターフェース実装)] を検索して選択します。
- [Interface Implementations (インターフェース実装)] ページで [Recently Viewed (最近表示)] リストビューを [All (すべて)] に変更します。
-
ProductValidationInterface を検索して開きます。
ProductValidationInterface の複数の実装が表示されています。
[代替テキスト: 複数の実装が表示されている ProductValidationInterface。]
実装には、[Active (有効)] と [Default (デフォルト)] という 2 つの状況があります。有効な実装 (1) は、インターフェースからコールされる実装です。デフォルトの実装 (2) は、別の実装が指定されない場合にインターフェースからコールされる実装です。この場合、ValidationRulesImplementation (3) は有効かつデフォルトの実装です。有効でもデフォルトでもないインターフェース実装が複数ある場合もあります (ProductRelationshipValidationImpl (4) など)。
インターフェースには、次のような異なる種類の実装がある場合があります。
-
デフォルトの実装: 各インターフェースにはデフォルトの実装があります。この実装には、ロジックがなく、CPQ カートをルールなしで機能させることができるスタブのみがあります。スタブ、または実行不可のインターフェースと実装では、入力を受信し、同じ入力を変更せずに出力として返します。
Salesforce では、ルールをサポートするさまざまなインターフェース実装を用意しています。ルールを適用するには異なる実装を有効にする必要があります。デフォルト実装によってカートの実行はできますが、ルールの呼び出しは行われません。
-
Salesforce Industries 実装: Salesforce では、各インターフェースにさまざまな標準 (OOTB) 実装を用意しています。ビジネスニーズに最適な実装を選択できます。
-
カスタム実装: Apex コードを使用して独自のカスタム実装を作成できます。
-
ハイブリッド実装: Salesforce Industries 実装とカスタム実装を組み合わせたハイブリッドソリューションを作成することもできます。
問題を解決するために、独自の実装を作成して取り込むデータを選択することができます。実装によって、使用するデータやメタデータ、その使用方法、使用する順序が決定されます。次の単元では、Industries CPQ ルールの定義付けにおけるインターフェースと実装の重要性について説明します。
リソース
- Salesforce ヘルプ: Working with Interfaces (インターフェースの使用)
- Salesforce ヘルプ: Working with Implementations (実装の使用)