4.2.18. 適切な方法の選択
ペイロードを配置する場所を決定する時に、添付ファイル、プロパティー、および名前付きオブジェクトのいずれかを選択する必要がある場合に、圧倒されてしまうかもしれませんが、簡単に判断を下すことができます。
- 開発者は、クライアントがサービスと対話するために使用するコントラクトを定義します。その契約の一部として、航空券予約サービス (機能的) や本質的なトランザクション (非機能的) など、サービスの機能面と非機能面の両方を指定します。開発者は、サービスが理解できる操作 (メッセージ) も定義します。形式 (Java Serialized Message または XML など) は、メッセージ定義の一部として定義されます。(この例の場合、それらはトランザクションコンテキスト、座席番号、顧客名などになります。) コンテンツを定義するときに、サービスがペイロードを見つけることができるメッセージの中の場所を指定できます。(これは、添付ファイルまたは特定の名前付きオブジェクトの形式にすることも、必要に応じてデフォルトの名前付きオブジェクトにすることもできます。) 決定するのは完全にサービス開発者次第です。唯一の制限は、オブジェクトと添付ファイルにはグローバルに一意の名前を付ける必要があることです。そうしないと、1 つのサービスまたはアクションが別のサービスまたはアクションのペイロードの一部を誤って取得する可能性があります (同じメッセージボディーが複数のホップで転送されている場合)。
- ユーザーは、メッセージ内のどこにペイロードを配置する必要があるかを定義するサービスのコントラクト定義を (UDDI レジストリーまたは帯域外通信のいずれかを介して) 取得できます。他の場所に置かれた情報はほぼ確実に無視され、サービスが正しく動作しなくなります。