ビジネス・オブジェクトの構造は、以下のどちらかです。
以降のセクションでは、フラットおよび階層型のビジネス・オブジェクト構造の例を示し、ビジネス・オブジェクト構造がコネクターのロジックにどのように影響するかについて説明します。
フラット・ビジネス・オブジェクトのビジネス・オブジェクト定義には、1 つ以上の単純属性とサポートされている動詞のリストが含まれています。 単純属性 とは、String、Integer、Date などのような単一値をいいます。
図 6 の Customer ビジネス・オブジェクトは、フラット・ビジネス・オブジェクトの例です。詳しくは、ビジネス・オブジェクトの属性および属性プロパティーを参照してください。
階層型ビジネス・オブジェクト定義 では、各個別のエンティティーだけでなくエンティティー間の関係の詳細もカプセル化することで、複数の関連エンティティーの構造を定義します。階層型ビジネス・オブジェクトには、少なくとも 1 つの単純属性を含まれているほか 1 つ以上の複合 属性があります。つまり、属性自体に、子ビジネス・オブジェクト と呼ばれるビジネス・オブジェクトが 1 つ以上含まれています。
複合属性が格納されているビジネス・オブジェクトのことを親ビジネス・オブジェクト といいます。
親ビジネス・オブジェクトと子ビジネス・オブジェクト間の関係は 2 種類あります。
属性のタイプは、子ビジネス・オブジェクトの名前に設定され、カーディナリティーは 1 に設定されます。
属性のタイプは、子ビジネス・オブジェクトの名前に設定され、カーディナリティーは n に設定されます。
そして、子ビジネス・オブジェクトもそれぞれ、子ビジネス・オブジェクトまたはビジネス・オブジェクトの配列を含んだ属性を包含できます。この関係は階層の下に向かって続きます。階層構造のトップにあるビジネス・オブジェクト (階層構造自体には、親がない場合) のことをトップレベルのビジネス・オブジェクト といいます。
単一のビジネス・オブジェクトはいずれも、自身に包含される (または自身を包含する) その子ビジネス・オブジェクトから独立していることから、独立ビジネス・オブジェクト と呼ばれます。
一般的なビジネス・オブジェクト階層の場合、トップレベルのビジネス・オブジェクト定義には、1 つ以上の単純属性、子ビジネス・オブジェクトまたは子ビジネス・オブジェクトの配列を表す 1 つ以上の属性、およびサポートされている動詞のリストがあります。典型的な階層型ビジネス・オブジェクトを、図 7 に示します。トップレベルのビジネス・オブジェクト (Customer) の属性には、単一カーディナリティーと、子ビジネス・オブジェクトを持つ複数カーディナリティーの両方があります。
図 7 では、Customer ビジネス・オブジェクト、CustProfile ビジネス・オブジェクト、およびそれぞれの Address ビジネス・オブジェクトは、独立ビジネス・オブジェクトとなっています。
例えば、XML コネクターの場合、ラッパー・ビジネス・オブジェクトは、子データ・ビジネス・オブジェクトのフォーマットを決定し、その子への経路を指定する情報を格納している必要があります。
階層型アプリケーション固有のビジネス・オブジェクトの構造を設計する際、次のことを決定する必要があります。
詳しくは、複数エンティティーを設計する上での考慮事項を参照してください。