ビジネス・オブジェクトの起動

これまでビジネス・オブジェクトの定義について説明してきました。この項では、システム全体でビジネス・オブジェクトをどのように使用して、レコードの表示、追加および更新を行うかについて説明します。

  • システムのデータの表示に使用するゾーンの様々なパラメータには、ビジネス・オブジェクトを参照することによるデータの取得のサポートが含まれています。ゾーン・コードによってビジネス・オブジェクトが起動されます。つまり、レコードは参照先のビジネス・オブジェクトを使用して取得されます。

  • システムのスクリプト言語には、起動ビジネス・オブジェクトのステップ・タイプが含まれています。これにより、ビジネス・プロセス・アシスタント・スクリプト、サービス・スクリプトおよびプラグイン・スクリプトによって情報を取得し、ビジネス・オブジェクト相互作用を使用してレコードを追加または更新できます。

  • インバウンドWebサービスでは、操作コレクションのビジネス・オブジェクトが参照されます。これにより、外部システムではWebサービスのやり取りを介して製品のレコードを追加または更新できます。

ゾーンを構成する際またはスクリプトを記述する際に、起動ビジネス・オブジェクト文で使用するビジネス・オブジェクトが、レコードの識別ビジネス・オブジェクトである場合もあります。したがって、スクリプトには「レコードの識別ビジネス・オブジェクトの決定」のための識別ビジネス・オブジェクト・ステップより前のステップが含まれる場合があり、識別ビジネス・オブジェクトが検出されると、スクリプト・ステップによってそのビジネス・オブジェクトが起動されます。ゾーンおよびインバウンドWebサービスでは、直接ビジネス・オブジェクトが参照されることに注意してください。それぞれのケースで、使用するビジネス・オブジェクトが動的である場合、ゾーン/インバウンドWebサービスではステップを実行可能なサービス・スクリプトを参照し、ビジネス・オブジェクトを識別してから、そのビジネス・オブジェクトを起動する必要があります。

ただし、起動ビジネス・オブジェクト文で使用される(またはインバウンドWebサービスで参照される)ビジネス・オブジェクトは、そのレコードの識別ビジネス・オブジェクトと一致する必要はないことに注意してください。これが該当する例をいくつか次に示します。

  • スクリプトはレコードの要素のサブセットのみを必要とし、レコード全体を必要としない場合。この場合、パフォーマンス向上のため、必要な要素のみを定義した特別なビジネス・オブジェクト(「ライト」ビジネス・オブジェクトまたは「ミニ」ビジネス・オブジェクトとも呼ばれます)を定義することをお薦めします。システムでデータを取得する際、システムはビジネス・オブジェクトのスキーマ定義に含まれている表にのみアクセスします。さらに、XML構造フィールドにマップする要素がない場合、システムはその列の解析をすべてスキップします。同様に、スクリプトでレコードの要素のサブセットを更新している場合、ミニ・ビジネス・オブジェクトを使用して更新する方が有益です。

    注意: ミニ・ビジネス・オブジェクトの使用に関しては、次の点に注意してください。このビジネス・オブジェクトは、対象のスキーマにのみ使用されます。このビジネス・オブジェクトのタイプでは、アルゴリズムまたはライフサイクルは定義されません。このビジネス・オブジェクトは特殊であるため、一部のレコードの識別ビジネス・オブジェクトには使用を控える必要があります。これを管理するため、このようなビジネス・オブジェクトは新規インスタンスを許可しないように構成されることがあります。詳細は、「識別ビジネス・オブジェクトの決定」を参照してください。
  • スクリプトで追加または更新するメンテナンス・オブジェクトが、識別ビジネス・オブジェクトとしてのビジネス・オブジェクトをサポートしない場合。たとえば、バッチ管理メンテナンス・オブジェクトには識別ビジネス・オブジェクトがありません。一方、スクリプトでこれらのレコードのタイプに対してデータの取得(または更新の実行)を行う必要がある場合があります。その目的を達成する簡単な方法は、ビジネス・オブジェクトを定義し、起動ビジネス・オブジェクトを使用してデータにアクセスする方法です。

    注意: 製品の一部のメンテナンス・オブジェクトでは、ビジネス・オブジェクト相互作用による保守がサポートされません。基礎となるメンテナンス・サービスに、単にデータベース表を更新する以外の追加機能が含まれている、少数の古いオブジェクトがこれに該当します。このようなメンテナンス・オブジェクトは、MOオプション「ビジネス・オブジェクト保守」「N」に設定されていることから識別できます。
  • 一部の機能を使用してメンテナンス・オブジェクトのレコードを物理的な方法で追加または更新しようとし、オブジェクトの識別ビジネス・オブジェクトを使用する必要がない場合。または、メンテナンス・オブジェクトに識別ビジネス・オブジェクトがない場合。たとえば、改訂管理で監査目的のためにレコードのスナップショットを撮り、前のバージョンにリストアできます。この場合、システムではレコードの完全な物理ビューの取得を必要とします。これを行うには、すべて(またはほとんどの)列と子表を含む特別な物理ビジネス・オブジェクトを作成します。

    注意: ミニ・ビジネス・オブジェクトのように、物理ビジネス・オブジェクトではアルゴリズムやライフサイクルは定義されず、一部のレコードの識別ビジネス・オブジェクトには使用を控える必要があります。これを管理するため、このようなビジネス・オブジェクトは新規インスタンスを許可しないように構成されることがあります。詳細は、「識別ビジネス・オブジェクトの決定」を参照してください。
注意: 繰返しになりますが、起動ビジネス・オブジェクト文で参照されているビジネス・オブジェクト、またはインバウンドWebサービスで参照されているビジネス・オブジェクトは識別ビジネス・オブジェクトと一致する必要はなく、新規インスタンスを許可するように構成する必要はありません。