ビジネス・オブジェクトの構造および関係

コネクターは、Siebel アプリケーション固有のビジネス・オブジェクトの動詞 Create、Retrieve、Update、Delete、Exists、Retrieve By Content、および DetlaUpdate をサポートします。そのビジネス・オブジェクトのセマンティクスは、ビジネス・オブジェクト定義の中にカプセル化されています。コネクター内のハードコーディングされた命令に従って Siebel アプリケーション固有のビジネス・オブジェクトを処理するコネクター・ロジックはありません。例えば、コネクターは特定のビジネス・オブジェクトがある種の多数のエンティティーから構成されているとは考えません。コネクターは、すべてのオブジェクトが 1 つ以上のエンティティーから構成されていると考えます。

Siebel ビジネス・コンポーネントは、3 つの方法で関連づけることができます。一価のリンクで 1 対 1 の関係でビジネス・コンポーネントをリンクする方法、1 対多の関係を表す Multi-Value Link (MVL) フィールドをビジネス・コンポーネントに持たせる方法、単純なリンクを持たせる方法です。

ピック・リストを使用すれば、ビジネス・コンポーネントを多対 1 の関係で関連づけることができ ます。ビジネス・コンポーネント・メソッドは、PickList ビジネス・コンポーネントを検索して特定値を探したり、フィールド内にその値を設定したりする操作をサポートします。最後に、論理積テーブルで多対多の関係でビジネス・コンポーネントを関連付けることができます。

Siebel 内の同じビジネス・オブジェクトの下に 2 つの無関係な単一カーディナリティー・ビジネス・コンポーネントがある場合は、個別のビジネス・オブジェクト・ラッパーを作成する必要があります。

多数のビジネス・コンポーネントをカプセル化するビジネス・オブジェクト・コンテキストの Siebel の概念をサポートするために、トップレベル・ビジネス・オブジェクトを適切な Siebel ビジネス・オブジェクトに対応させる必要があります。トップレベル・ビジネス・オブジェクトのアプリケーション固有の情報には、対応する Siebel ビジネス・オブジェクトの名前が含まれていなければなりません。次に、各トップレベル属性が Siebel ビジネス・コンポーネントに対応しなければなりません。

ビジネス・コンポーネントに対応するビジネス・オブジェクト定義内では、各属性が単純フィールドまたは Multi-Value Group (MVG) フィールドを指定します。単純属性内の属性データは、単純データ型を持っていなければなりません。MVG フィールドに対応する属性は、子 (コンテナー) ビジネス・オブジェクトとして処理する必要があります。

このビジネス・オブジェクトの構造は、コネクターが同じ方法ですべてのビジネス・オブジェクトを処理できるようにするメタデータの一部です。オブジェクトに対してビジネス・オブジェクト定義が指定されていれば、コネクタ ーはさらに Siebel オブジェクトをサポートすることができます。

キー属性の指定

Siebel ビジネス・オブジェクトを開発する場合は、必ず、オブジェクトのトップにキー属性を配置してください。そうすると、コネクターはオブジェクトの残りの部分を処理する前にキー値を持つようになります。キー 属性がオブジェクト内の他の場所に配置されていると、処理エラーが発生する恐れが あります。オブジェクトのキー属性は、Siebel 内の RowId です。

注:
コネクターは、トップレベルのビジネス・オブジェクト (Siebel BO) の子を除いて、子ビジネス・オブジェクトまたはキー属性のような子ビジネス・オブジェクトの配列を表す属性の指定をサポートしません。

注:
コネクター用のビジネス・オブジェクトを開発するときは、ビジネス・オブジェクトと Siebel ビジネス・コンポーネントの間に 1 対 1 の対応関係があることを確認してください。

属性プロパティー

以下の表は、単純属性と子オブジェクト属性について説明したものです。

表 4. 単純属性
名前 属性の名前
Type 属性のデータ型。現在ではこの型を使用していませんが、前方互換性のために、SiebelODA はそのデータ型を boolean、String、Date、int、double のいずれかに設定します。すべての型はストリングとして処理されます。
MaxLength String 型に適用され、属性に許される最大長を表します。これはコネクターでは使用されません。データが大きい場合は、そのデータをビジネス・プロセスで処理する必要があります。
IsKey これが設定されている場合は、属性がキーであることを示します。この属性は、Siebel で特定レコードを更新するために Update とともに使用します。Retrieve とともに使用する場合、この属性は Siebel からレコードを取得するために検索指定で使用します。Delete 時は、キーはトップレベル・ビジネス・コンポーネントに設定されます。
IsForeignKey 使用しません。
IsRequired Siebel ビジネス・コンポーネントのフィールド属性で「Required」プロパティーがチェックされている場合は、true に設定します。
AppSpecificInfo アプリケーションとの通信に関する情報や、Siebel ビジネス・オブジェクトとこのビジネス・オブジ ェクトに関連するビジネス・コンポーネントの取得に関する情報から構成されているテキスト。
DefaultValue この値を属性に設定した場合、インバウンド・ビジネス・オブジェクトに値が設定されておらず、コネクター・プロパティー UseDefaults が True に設定されていれば、コネクターはこの値を使用します。

表 5. 子オブジェクト属性
名前 子オブジェクトの名前
Type 子のビジネス・オブジェクト・タイプ。
ContainedObjectVersion 子ビジネス・オブジェクトのバージョン。
Relationship 子がコンテナー属性である場合、これを Containment に設定します。
IsKey この属性は、基本ビジネス・コンポーネントに設定する必要があります。
IsForeignKey 使用しません。
IsRequired これを True に設定すると、子は親ビジネス・オブジェクト内に表現を持つことが期待されます。Create 動詞の処理中は、基本ビジネス・コンポーネントが存在しなければなりません。このコンポーネントがインバウンド・ビジネス・オブジェクト内に存在するかどうかを確認します。コンポーネントが見つかると、要求されたオブジェクトがインバウンド・ビジネス・オブジェクト内に見つからなかったことを示すエラーがスローされない限り、作成処理が進行します。
Cardinality 親レコードに対して選択できる子レコードの個数により、1 または N。

Copyright IBM Corp. 2004, 2005