ビジネス・オブジェクトの属性およびアプリケーション固有情報

ビジネス・オブジェクトの属性は、データベース・オブジェクトの列リストから作成されます。エンタープライズ・サービス・ディスカバリー・ウィザードで、列名に属性名が設定されます。属性名ではグローバル化文字がサポートされます。 アダプターは、属性の名前、タイプ、およびアプリケーション固有情報を追加します。

JDBC メタデータによって戻されるタイプは、『JDBC メタデータ列タイプとビジネス・オブジェクト属性タイプ』の表にリストされているとおり、ビジネス・オブジェクト属性タイプにマップされます。リストされている JDBC タイプのみがアダプターでサポートされます。リストされていないタイプの列は、ビジネス・オブジェクトに追加されません。例えば、「テーブル yyyy の列名 xxxx のタイプはサポートされていません。ビジネス・オブジェクトには追加されません」という情報メッセージが作成されます。

表 1. JDBC メタデータ列タイプとビジネス・オブジェクト属性タイプ
JDBC メタデータの列タイプ ビジネス・オブジェクト属性のタイプ
BIT BOOLEAN

CHAR
LONGVARCHAR
VARCHAR

STRING

INTEGER
NUMERIC
SMALLINT
TINYINT
BIGINT

INT

TIME
TIMESTAMP
DATE

STRING
DECIMAL STRING
DOUBLE
FLOAT
DOUBLE
REAL FLOAT
BLOB HEXBINARY
CLOB STRING
BINARY
VARBINARY
LONGBINARY
HEXBINARY

『属性情報』の表に、 エンタープライズ・サービス・ディスカバリー・ウィザードによって設定される属性情報をリストします。

表 2. 属性情報
属性情報 エンタープライズ・サービス・ディスカバリーによって設定 追加情報
Cardinality いいえ 単一カーディナリティー関係および複数カーディナリティー関係の両方で、親ビジネス・オブジェクトと子ビジネス・オブジェクトの間の関係は、その関係を保管するビジネス・オブジェクトのキー属性に含まれるアプリケーション固有情報によって記述されます。
MinOccurs/MaxOccurs はい 列が基本キーではなくかつ NULL が不可能な場合、この属性は必須で、値は 1 以上に設定されます。
Name はい 属性の名前。これは双方向言語の場合に使用可能化されます。
Type はい 『JDBC メタデータ列とビジネス・オブジェクト属性タイプ』の表のとおりに設定します。

エンタープライズ・サービス・ディスカバリー・ウィザードは、ビジネス・オブジェクトの属性に関するアプリケーション固有情報 (ASI) を『属性に関するアプリケーション固有情報』の表で示したとおりに設定します。詳細については、 『属性に関するアプリケーション固有情報』を参照してください。

表 3. 属性に関するアプリケーション固有情報
属性 ASI エンタープライズ・サービス・ディスカバリーによって設定 追加情報 サポートされる双方向変換
BLOB はい 列のデータ型が BLOB の場合は true に 設定します。 いいえ
ByteArray いいえ バイナリー・データ型の列の場合は true に設定します。true の場合、アダプターはデータベースでバイナリー・データを読み書きします。アダプターは、ビジネス・オブジェクトにバイナリー・データを設定します。属性の 型は hexBinary です。 いいえ
ChildBOType はい 属性が複合データ型の場合は、 型を Struct、 Array、または ResultSet として指定します。 いいえ
ChildBOTypeName はい ChildBOType の値が Struct または Array の場合、 この値はユーザー定義型の名前を表します。 いいえ
CLOB はい 列のデータ型が CLOB の場合は true に 設定します。 いいえ
ColumnName はい 実際の列名に設定します。 はい
DateType はい 可能な値は Date、Time、または TimeStamp のみです。 いいえ
FixedChar いいえ ビジネス・オブジェクト .xsd ファイルでは手動で更新する必要があります。テキスト・モード、または WebSphere® Integration Developer の Business Object Editor のいずれかを使用してファイルを編集します。ファイルを更新したら、検証エラーがないことを確認してください。『単純属性のアプリケーション固有情報』セクション内の .xsd ファイルの FixedChar の例を参照してください。 いいえ
ForeignKey いいえ 外部キー属性では、親子関係が親に保管される場合、このパラメーターの値には、子ビジネス・オブジェクトのタイプと、外部キーとして使用される子ビジネス・オブジェクト内の属性の名前の両方が含まれます。関係が子に保管される場合は、値には、外部キーとして使用される親ビジネス・オブジェクト内の属性の名前のみが含まれます。 いいえ
OrderBy いいえ 値が指定されている場合、属性が子ビジネス・オブジェクト内に存在するのであれば、アダプターは、検索項目の ORDER BY 文節でその属性の値を使用します。 いいえ
PrimaryKey はい 列が基本キーの場合、PrimaryKey は true に設定されます。 いいえ
SPParameterType はい 属性がストアード・プロシージャー・パラメーターに関連付けられている場合は、 この値を実パラメーター・タイプ (IP、OP、または IO) に設定します。 いいえ
UID いいえ 属性がビジネス・オブジェクトの固有 ID を必要とする場合に使用されます。シーケンスと ID 列の生成がサポートされます。 いいえ
表 4. 子ビジネス・オブジェクト型の属性の属性アプリケーション固有情報
属性 ASI エンタープライズ・サービス・ディスカバリーによって設定 追加情報 サポートされる双方向変換
KeepRelationship いいえ パラメーターが true に設定されている場合、Update 操作中に子ビジネス・オブジェクトを削除しないようにします。 いいえ
Ownership いいえ パラメーターが true に設定されている場合、子ビジネス・オブジェクトに対する Create、Update、および Delete 操作が許可されます。 いいえ

ビジネス・オブジェクトにストアード・プロシージャーを追加する場合、動詞アプリケーション固有情報 (ASI) は『動詞のアプリケーション固有情報』の表に指定されているとおりに設定されます。有効なストアード・プロシージャー・タイプについては、『動詞のアプリケーション固有情報』のセクションを参照してください。

表 5. 動詞のアプリケーション固有情報
動詞 ASI またはストアード・プロシージャーのパラメーター・エレメント エンタープライズ・サービス・ディスカバリーによって設定 追加情報 サポートされる双方向変換
Parameters はい ストアード・プロシージャーのパラメーターをリストします。 はい
PropertyName はい 選択したビジネス・オブジェクト属性の名前に設定します。詳細については、『オブジェクトの選択および生成』を参照してください。 はい
ResultSet いいえ ストアード・プロシージャーから ResultSet が返される場合は、 ビジネス・オブジェクト定義でこのパラメーターを true に設定します。 いいえ
ReturnValue はい ストアード・プロシージャーが戻り値を持つ場合は、このパラメーターを RS または ビジネス・オブジェクト属性の名前に設定します。詳細については、『オブジェクトの選択および生成』を参照してください。 いいえ
StoredProcedure はい ストアード・プロシージャー名に設定します。 はい
StoredProcedure Type はい タイプのリストから選択します。 いいえ
Type はい ストアード・プロシージャー・パラメーターの タイプ (IP、OP、IO、または RS) に設定します。 いいえ

 

階層ビジネス・オブジェクトの作成

エンタープライズ・サービス・ディスカバリー・ウィザードでは、フラット・テーブルを生成し、ビジネス・オブジェクトを表示します。このウィザードでは、データベースに定義された異なるテーブル間の外部キー制限は使用せずに、関係を自動的に作成します。 手動でリンクさせるにはこれらが必要です。ビジネス・オブジェクト定義は、テキスト・モードで更新したり、Business Object Editor を使用して更新したりできます。エンタープライズ・サービス・ディスカバリー・ウィザードでは、ストアード・プロシージャー・ビジネス・オブジェクトの階層を自動的に生成します。

単一または複数カーディナリティー子ビジネス・オブジェクトの .xsd 定義ファイルの例をここに示します。 エレメント custInfoObj は単一カーディナリティー子ビジネス・オブジェクトで、addressObj は複数カーディナリティー子ビジネス・オブジェクトです。

単一または複数カーディナリティー子ビジネス・オブジェクトの .xsd ファイルの例

<element name="addressObj" minOccurs="1" type="Address:Address" 
maxOccurs="unbounded"> 
                        <annotation>
                        <appinfo source="WBI">
                        <pasi:JDBCAttributeTypeMetadata xmlns:pasi=
"urn:app:jdbc:asi">
                                <pasi:Ownership>true</pasi:Ownership>
                        </pasi:JDBCAttributeTypeMetadata>
                        </appinfo>
                        </annotation>
                        </element>
                        <element name="custInfoObj" minOccurs="0" type=
"CustInfo:CustInfo" maxOccurs="1"> 
                        <annotation>
                        <appinfo source="WBI">
                        <pasi:JDBCAttributeTypeMetadata xmlns:pasi=
"urn:app:jdbc:asi">
                                <pasi:Ownership>false</pasi:Ownership>
                        </pasi:JDBCAttributeTypeMetadata>
                        </appinfo>
                        </annotation>
                        </element>        

ご利用条件 |


(c) Copyright IBM Corporation 2005, 2006.
(C) Copyright IBM Japan 2006
このインフォメーション・センターでは Eclipse テクノロジー (http://www.eclipse.org) が採用されています。