サービス・マッピングのビジネス・ユース・ケース
サービス・マッピングは、以下のビジネス・ユース・ケースに適用できます。
サービス・マッピングのビジネス・ユース・ケース 1: サービス・バージョン管理
サービス・マッピングを使用して、異なるサービス・クライアント間の非互換の要件に対応します。
サービス・バージョン管理は、1 つのサービスが多数の異なるサービス・クライアントによって使用されることによる副作用として自然発生的に生じます。 あるサービスを使用する 1 つ以上の組織またはアプリケーションでは、そのサービスに新たな要件が発生することがよくあります。 ときには、前のバージョンと完全な互換性を持つようにサービスを変更できる場合もあります。 あるいは、バージョンの互換性を維持することが不可能な場合もあります。 例えば、特定のサービス操作で追加のフィールドを返す必要があるとします。 このフィールドは、あるサービス・クライアントにとっては基本要件でありながら、既存のサービス・クライアントとは互換性がない場合があります。
開発者は、追加フィールドを使用したくないサービス・クライアント用にその追加フィールドを破棄するサービス・マップを挿入することで、この単純な例に対処できます。
サービス・マッピングのビジネス・ユース・ケース 2: 中間突き合わせ型アプローチ (meet in the middle)
サービス・マップは、2 つの異なるインターフェースが使用する操作やメッセージ間で変換を実行できます。
ビジネス主導のプロジェクトでは、プロジェクトに必要なサービスを定義するときにトップダウン・アプローチが採用されることが一般的です。 それと同時に、IT 所有の共有サービスが、そのような多数の異なるビジネス主導のプロジェクトの要件に基づいて定義されることも一般的なことです。 これらの相反するアプローチのために、プロジェクト固有のインターフェースを必要とするコンポーネントが、一元的に所有されている汎用エンタープライズ・サービスを使用しなければならないことがよくあります。 このようなシナリオは、よく meet-in-the-middle と呼ばれます。 エンタープライズ・サービスは、プロジェクトが必要とする処理は実行しますが、このサービスは、ビジネス・インターフェースが予期している形式にはなっていません。
開発者は、各インターフェースが予期している操作とメッセージとの間で変換を行うサービス・マップを定義することで、このようなインターフェースの不一致に対処できます。