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 プロパティーを、システムと名前と値のペア形式の文書に適した値に設定する必要があります。
NameValue データ・ハンドラーは、処理するビジネス・オブジェクトを想定します。したがって、NameValue データ・ハンドラーを使用して変換のためのビジネス・オブジェクトを渡す時には、次の規則に従ってください。
NameValue データ・ハンドラーのビジネス・オブジェクトの構造に関する要件はありません。データ・ハンドラーは、いずれのビジネス・オブジェクトも処理できます。
データ・ハンドラーが処理するビジネス・オブジェクトの名前は、ビジネス・インテグレーション・システムで認められていればどのような名前でもかまいません。
ビジネス・オブジェクトのアーキテクチャーには、属性に適用されるさまざまなプロパティーが含まれています。表 44 では、NameValue
データ・ハンドラーがこれらのいくつかのプロパティーを解釈する方法、およびビジネス・オブジェクト定義の変更時にプロパティーを設定する方法について説明します。
表 44. NameValue データ・ハンドラーを使用して変換されるビジネス・オブジェクトの属性プロパティー
ビジネス・オブジェクトの属性には、CxIgnore または CxBlank の特殊値を指定できます。NameValue データ・ハンドラーは、以下のセクションで説明するとおり、属性がこれらの値を持つときは特別な処理ステップを実行します。
CxIgnore メタオブジェクト属性は、Ignore 属性値 (CxIgnore 定数) の NameValue データに同等値を設定します。デフォルトでは、CxIgnore メタオブジェクト属性が、CxIgnore 定数の値に設定されます。データ・ハンドラーは、CxIgnore メタオブジェクト属性を次のように使用します。
NameValue データ・ハンドラーが CxIgnore 値に設定された属性を処理する方法を指定して構成することができます。例えば次のようになります。
要求処理時、データ・ハンドラーは、ビジネス・オブジェクトの直列化バージョンを作成します。この時点では、特殊属性値 CxIgnore の処理は、次のように子メタオブジェクト属性 SkipCxIgnore に基づきます。
CxBlank メタオブジェクト属性は、Blank 属性値 (CxBlank 定数) の NameValue データに同等値を設定します。デフォルトでは、CxBlank メタオブジェクト属性が、CxBlank 定数の値に設定されます。データ・ハンドラーは、CxBlank メタオブジェクト属性を次のように使用します。
NameValue データ・ハンドラーには、ビジネス・オブジェクトまたはそれらの属性に関するアプリケーション固有情報は必要ありません。ただし、データ・ハンドラーは cw_mo_ タグがあるかどうかについては検査します。このタグは、コネクターが用いる子メタオブジェクトを指示するためにビジネス・オブジェクトが使用する場合があります。データ・ハンドラーは、ビジネス・オブジェクトのアプリケーション固有情報に含まれている cw_mo_ タグで識別された属性をすべて無視します。cw_mo_ タグの詳細については、ビジネス・オブジェクトからの変換のインプリメントを参照してください。
NameValue データ・ハンドラーは、ビジネス・オブジェクトがデータ・ハンドラーの要件に適合する形式でデータを引き渡す場合に限り、ビジネス・オブジェクトを NameValue 直列化データに変換できます。NameValue データ・ハンドラーは、データの各部分にそれ自体を識別する名前 (BusinessObject=Customer、Verb=Create、および CustomerName=JDoe など) を付けることを必要とします。属性にはそのような名前を付ける必要があるので、NameValue データ・ハンドラーで使用できます。
NameValue データ・ハンドラーでは、この要件を満たす既存ビジネス・オブジェクトを変換できますが、処理するデータのタイプごとに独自のビジネス・オブジェクトを作成してみることをお勧めします。サンプルのビジネス・オブジェクト、または別のインプリメンテーションで同じアプリケーションをサポートするために開発されたビジネス・オブジェクトを使用する場合は、自身が開発を行うインプリメンテーションに必要な属性のみが含まれるように、必要に応じて定義を修正してください。
したがって、既存のビジネス・オブジェクトを、ご使用のデータと密接に対応した形式に変換するには、アプリケーションが必要とするデータおよびデータ・ハンドラーが必要とする情報のみを提供するように、ビジネス・オブジェクトを変更してください。既存のビジネス・オブジェクトを NameValue データ・ハンドラーで利用できるようにするためには、以下の操作を実行します。