以下の場合に A の使用を安全に B の使用と置き換えられる場合、コンポーネント B はコンポーネント A に対して呼び出し互換性を持つと言えます。
A の制御ブロックの呼び出し
A のアンインストールブロックの呼び出し
A のスナップショットブロックの呼び出し (addSnapshot の使用)
A の依存性チェック (checkDependency または createDependency の使用)
A の変数の参照 (config gen :[component:AB:var] の使用)
呼び出しの互換性とは、基本的に API/インタフェースの互換性を意味します。
よくあるのは、B と A が同じバージョンツリーの別のバージョンのコンポーネントという場合です。 ただし、B が A のインスタンスの場合、B が別のバージョンツリー内にある場合もあります。
プロビジョニングソフトウェア は、システムサービスとして機能するコンポーネントに対して呼び出し互換性を要求します。 具体的には、システムサービスが新しいコンポーネントを参照するよう更新される場合、新しいコンポーネントが元のコンポーネントに対して呼び出し互換性を持つようにします。 これにより、システムサービスのアップグレード時にも、システムサービスのクライアントが正常に機能し続けることを保証できます。
プロビジョニングソフトウェア は、一部のインストール済みコンポーネントターゲッターに参照されているコンポーネントを解釈処理するときにも、オプションで呼び出し互換性を検証します。 詳細は、「インストール済みコンポーネントターゲッター」を参照してください。
コンポーネントがその旧バージョンに対して呼び出し互換である必要はありませんが、通常の場合可能であれば呼び出し互換性を持たせることをお勧めします。