NameValue データ・ハンドラーの構成

NameValue データ・ハンドラーを構成するには、次の手順に従ってください。

上記の各ステップについて、以下のセクションで詳しく説明します。

NameValue 子メタオブジェクトの構成

NameValue データ・ハンドラーを構成するには、その構成情報が NameValue 子メタオブジェクトに提供されることを確認する必要があります。NameValue データ・ハンドラーについて、IBM では MO_DataHandler_DefaultNameValueConfig 子メタオブジェクトを提供しています。 このメタオブジェクトの各属性は、NameValue データ・ハンドラーの構成プロパティーを定義しています。表 43 では、この子メタオブジェクトの属性について説明しています。

表 43. NameValue データ・ハンドラーの子メタオブジェクト属性
メタオブジェクト属性名 説明 納入時のデフォルト値
ClassName 指定された MIME タイプで使用するためにロードするデータ・ハンドラー・クラスの名前。トップレベルのデータ・ハンドラー・メタオブジェクトの属性は、その名前が、指定された MIME タイプと一致し、そのタイプは、NameValue 子メタオブジェクトです (表 43 で説明しています)。 com.crossworlds. DataHandlers. text.namevalue
CxBlank 特殊なビジネス・オブジェクト属性値 Blank (CxBlank 定数) の NameValue データに、同等値を設定します。 詳細については、CxBlankを参照してください。 CxBlank 定数
CxBlankValue この属性は使用しないでください。NameValue データが CxBlank 属性値を表す方法をデータ・ハンドラーに通知するために、CxBlank メタオブジェクト属性 (上記) を使用してください。 ブランク・スペース
CxIgnore 特殊なビジネス・オブジェクト属性値 Ignore (CxIgnore 定数) の NameValue データ に同等値を設定します。詳細については、CxIgnoreを参照してください。 CxIgnore 定数
DefaultVerb ビジネス・オブジェクトの動詞。 Create
DummyKey ビジネス・インテグレーション・システムで必要とされるキー属性。 1
SkipCxIgnore 要求処理時に、特殊属性値 CxIgnore は、メタオブジェクト属性 SkipCxIgnore に基づいて次のように処理されます。詳細については、CxIgnoreを参照してください。 false
ValidateAttrCount データ・ハンドラーが、ビジネス・オブジェクト・データ内の属性のカウントが含まれているトークンを検索 (または出力ストリングへ追加) します。 true
ObjectEventId プレースホルダー。データ・ハンドラーは使用しませんが、ビジネス・インテグレーション・システムで必要です。 なし

表 43 の「納入時のデフォルト値」列には、納入時のビジネス・オブジェクトの対応する属性の Default Value プロパティーの値がリストされています。環境を調べ、それらの属性の Default Value プロパティーを、システムと名前と値のペア形式の文書に適した値に設定する必要があります。

注:
ビジネス・オブジェクト定義を変更するには、Business Object Designer Express を使用します。

ビジネス・オブジェクトの要件

NameValue データ・ハンドラーは、処理するビジネス・オブジェクトを想定します。したがって、NameValue データ・ハンドラーを使用して変換のためのビジネス・オブジェクトを渡す時には、次の規則に従ってください。

ビジネス・オブジェクトの構造

NameValue データ・ハンドラーのビジネス・オブジェクトの構造に関する要件はありません。データ・ハンドラーは、いずれのビジネス・オブジェクトも処理できます。

データ・ハンドラーが処理するビジネス・オブジェクトの名前は、ビジネス・インテグレーション・システムで認められていればどのような名前でもかまいません。

ビジネス・オブジェクトの属性プロパティー

ビジネス・オブジェクトのアーキテクチャーには、属性に適用されるさまざまなプロパティーが含まれています。表 44 では、NameValue データ・ハンドラーがこれらのいくつかのプロパティーを解釈する方法、およびビジネス・オブジェクト定義の変更時にプロパティーを設定する方法について説明します。

表 44. NameValue データ・ハンドラーを使用して変換されるビジネス・オブジェクトの属性プロパティー
プロパティー名 説明
Name 各ビジネス・オブジェクト属性には、固有の名前を付ける必要があります。
Type 各ビジネス・オブジェクト属性には、整数、ストリング、または下位の子ビジネス・オブジェクトのタイプなどのタイプを設定する必要があります。単純属性はすべて、タイプ・ストリングである必要があります。
Key NameValue データ・ハンドラーでは使用されません。
MaxLength NameValue データ・ハンドラーでは使用されません。
Foreign Key NameValue データ・ハンドラーでは使用されません。
Required NameValue データ・ハンドラーでは使用されません。
Default Value NameValue データ・ハンドラーでは使用されません。
Cardinality カーディナリティー 1 およびカーディナリティー n のオブジェクトをサポートします。

ビジネス・オブジェクトの属性には、CxIgnore または CxBlank の特殊値を指定できます。NameValue データ・ハンドラーは、以下のセクションで説明するとおり、属性がこれらの値を持つときは特別な処理ステップを実行します。

CxIgnore

CxIgnore メタオブジェクト属性は、Ignore 属性値 (CxIgnore 定数) の NameValue データに同等値を設定します。デフォルトでは、CxIgnore メタオブジェクト属性が、CxIgnore 定数の値に設定されます。データ・ハンドラーは、CxIgnore メタオブジェクト属性を次のように使用します。

注:
ビジネス・オブジェクトは、値 CxIgnore含まない 基本キーを、実行時に少なくとも 1 つは持っていなければなりません。

NameValue データ・ハンドラーが CxIgnore 値に設定された属性を処理する方法を指定して構成することができます。例えば次のようになります。

要求処理時、データ・ハンドラーは、ビジネス・オブジェクトの直列化バージョンを作成します。この時点では、特殊属性値 CxIgnore の処理は、次のように子メタオブジェクト属性 SkipCxIgnore に基づきます。

注:
SkipCxIgnoretrue に設定されると、NameValue データ・ハンドラーは双方向ではなくなります。つまり、ビジネス・オブジェクトからストリングへの変換中に生成されたストリングについて、ストリングからビジネス・オブジェクトへの変換を実行することはできません。

CxBlank

CxBlank メタオブジェクト属性は、Blank 属性値 (CxBlank 定数) の NameValue データに同等値を設定します。デフォルトでは、CxBlank メタオブジェクト属性が、CxBlank 定数の値に設定されます。データ・ハンドラーは、CxBlank メタオブジェクト属性を次のように使用します。

注:
ビジネス・オブジェクトは、値 CxBlank含まない 基本キーを、実行時に少なくとも 1 つは 持っていなければなりません。

ビジネス・オブジェクト・アプリケーション固有情報

NameValue データ・ハンドラーには、ビジネス・オブジェクトまたはそれらの属性に関するアプリケーション固有情報は必要ありません。ただし、データ・ハンドラーは cw_mo_ タグがあるかどうかについては検査します。このタグは、コネクターが用いる子メタオブジェクトを指示するためにビジネス・オブジェクトが使用する場合があります。データ・ハンドラーは、ビジネス・オブジェクトのアプリケーション固有情報に含まれている cw_mo_ タグで識別された属性をすべて無視します。cw_mo_ タグの詳細については、ビジネス・オブジェクトからの変換のインプリメントを参照してください。

既存のビジネス・オブジェクト定義の使用

NameValue データ・ハンドラーは、ビジネス・オブジェクトがデータ・ハンドラーの要件に適合する形式でデータを引き渡す場合に限り、ビジネス・オブジェクトを NameValue 直列化データに変換できます。NameValue データ・ハンドラーは、データの各部分にそれ自体を識別する名前 (BusinessObject=CustomerVerb=Create、および CustomerName=JDoe など) を付けることを必要とします。属性にはそのような名前を付ける必要があるので、NameValue データ・ハンドラーで使用できます。

NameValue データ・ハンドラーでは、この要件を満たす既存ビジネス・オブジェクトを変換できますが、処理するデータのタイプごとに独自のビジネス・オブジェクトを作成してみることをお勧めします。サンプルのビジネス・オブジェクト、または別のインプリメンテーションで同じアプリケーションをサポートするために開発されたビジネス・オブジェクトを使用する場合は、自身が開発を行うインプリメンテーションに必要な属性のみが含まれるように、必要に応じて定義を修正してください。

したがって、既存のビジネス・オブジェクトを、ご使用のデータと密接に対応した形式に変換するには、アプリケーションが必要とするデータおよびデータ・ハンドラーが必要とする情報のみを提供するように、ビジネス・オブジェクトを変更してください。既存のビジネス・オブジェクトを NameValue データ・ハンドラーで利用できるようにするためには、以下の操作を実行します。

  1. ターゲット・アプリケーションの機能分析を実行し、結果を既存のビジネス・オブジェクトと比較して、必要となるビジネス・オブジェクト定義のフィールドを決定します。
  2. Business Object Designer Express を使用して、必要に応じてビジネス・オブジェクト定義へ属性を追加、またはビジネス・オブジェクト定義から属性を削除します。

Copyright IBM Corp. 2004