コネクターは、Siebel アプリケーション固有のビジネス・オブジェクトの動詞 Create、Retrieve、Update、Delete、Exists、Retrieve By Content、および DeltaUpdate をサポートします。そのビジネス・オブジェクトのセマンティクスは、ビジネス・オブジェクト定義の中にカプセル化されています。コネクター内のハードコーディングされた命令に従って Siebel アプリケーション固有のビジネス・オブジェクトを処理するコネクター・ロジックはありません。例えば、コネクターは特定のビジネス・オブジェクトがある種の多数のエンティティーから構成されているとは考えません。コネクターは、すべてのオブジェクトが 1 つ以上のエンティティーから構成されていると考えます。
Siebel ビジネス・コンポーネントは、3 つの方法で関連づけることができます。一価のリンクで 1 対 1 の関係でビジネス・コンポーネントをリンクする方法、1 対多の関係を表す Multi-Value Link (MVL) フィールドをビジネス・コンポーネントに持たせる方法、単純なリンクを持たせる方法です。
ピック・リストを使用すれば、ビジネス・コンポーネントを多対 1 の関係で関連づけるこ とができます。ビジネス・コンポーネント・メソッドは、PickList ビジネス・コンポーネントを検索して特定値を探したり、フィールド内にその値を設定したりする操作をサポートします。最後に、論理積テーブルで多対多の関係でビジネス・コンポーネントを関連付けることができます。
多数のビジネス・コンポーネントをカプセル化するビジネス・オブジェクト・コンテキストの Siebel の概念をサポートするために、トップレベル・ビジネス・オブジェクトを適切な Siebel ビジネス・オブジェクトに対応させる必要があります。トップレベル・ビジネス・オブジェクトのアプリケーション固有の情報には、対応する Siebel ビジネス・オブジェクトの名前が含まれていなければなりません。次に、各トップレベル属性が Siebel ビジネス・コンポーネントに対応しなければなりません。
ビジネス・コンポーネントに対応するビジネス・オブジェクト定義内では、各属性が単純フィールドまたは Multi-Value Group (MVG) フィールドを指定します。単純属性内の属性データは、単純データ型を持っていなければなりません。MVG フィールドに対応する属性は、子 (コンテナー) ビジネス・オブジェクトとして処理する必要があります。
Siebel 内の同じビジネス・オブジェクトの下に 2 つの無関係な単一カーディナリティー・ビジネス・コンポーネントがある場合は、個別のビジネス・オブジェクト・ラッパーを作成する必要があります。
このビジネス・オブジェクトの構造は、コネクターが同じ方法ですべてのビジネス・オブジェクトを処理できるようにするメタデータの一部です。オブジェクトに対してビジネス・オブジェクト定義が指定されていれば、コネクターはさらに Siebel オブジェクトをサポートすることができます。
Siebel ビジネス・オブジェクトを開発する場合は、必ず、オブジェクトのトップにキー属性を配置してください。そうすると、コネクターはオブジェクトの残りの部分を処理する前にキー値を持つようになります。キー属性がオブジェクト内の他の場所に配置されていると、処理エラーが発生する恐れがあります。オブジェクトのキー属性は、Siebel 内の RowId です。
以下の表は、単純属性と子オブジェクト属性について説明したものです。
名前 | 属性の名前 |
---|---|
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 に設定されていれば、コネクターはこの値を使用します。 |
名前 | 子オブジェクトの名前 |
---|---|
Type | 子のビジネス・オブジェクト・タイプ。 |
ContainedObjectVersion | 子ビジネス・オブジェクトのバージョン。 |
Relationship | 子がコンテナー属性である場合、これを Containment に設定します。 |
IsKey | この属性は、基本ビジネス・コンポーネントに設定する必要があります。 |
IsForeignKey | 使用しません。 |
IsRequired | これを True に設定すると、子は親ビジネス・オブジェクト内に表現を持つことが期待されます。Create 動詞の処理中は、基本ビジネス・コンポーネントが存在しなければなりません。このコンポーネントがインバウンド・ビジネス・オブジェクト内に存在するかどうかを確認します。コンポーネントが見つかると、要求されたオブジェクトがインバウンド・ビジネス・オブジェクト内に見つからなかったことを示すエラーがスローされない限り、作成処理が進行します。 |
Cardinality | 親レコードに対して選択できる子レコードの個数により、1 または N。 |