データ・ハンドラー・メタオブジェクトにより、コネクターや Server Access Interface プロセスが入力ファイルの MIME タイプまたはビジネス・オブジェクト要求で指定された MIME タイプに基づいてデータ・ハンドラーをインスタンス化できます。
データ・ハンドラーを構成するには、そのメタオブジェクトが正しく初期化され、呼び出し元 (コネクターまたはアクセス・クライアント) で使用できることを確認する必要があります。
IBM 提供のデータ・ハンドラーをサポートするために、IBM は表 7
にリストするデータ・ハンドラー・メタオブジェクトを提供します。
表 7. IBM 提供のデータ・ハンドラーのメタオブジェクト
メタオブジェクト・レベル | 数量 | ロケーション | |
---|---|---|---|
トップレベル |
|
| |
| InterChange Server Express の場合 | 1 つ | repository¥edk |
| コネクターの場合 | 1 つ | DataHandlers¥repository¥ DataHandlers |
子 | 各データ・ハンドラーにつき 1 つ | DataHandlers¥repository¥ DataHandlers |
1 つ以上のデータ・ハンドラーを呼び出し元で使用するように構成するには、次のようにする必要があります。
トップレベルのデータ・ハンドラー・メタオブジェクトにより、MIME タイプが子データ・ハンドラー・メタオブジェクトに関連付けられます。
子メタオブジェクトにより構成情報が用意され、インスタンス化するデータ・ハンドラー・クラスの名前が常に格納されます。したがって、トップレベルのメタオブジェクトは MIME タイプとデータ・ハンドラーを関連付けます。特定のトップレベル・メタオブジェクトにアクセスできる呼び出し側のすべてのコンポーネントは、MIME タイプがこのメタオブジェクトに存在する任意のデータ・ハンドラーを呼び出すことができます。
特定のトップレベル・メタオブジェクトの内部で該当する MIME タイプ属性をグループ化し、使用が必要なデータ・ハンドラーを格納しているメタオブジェクトの名前を呼び出し側のコンポーネントから指定することにより、呼び出し側のコンポーネントがサポートできるデータ・ハンドラーを制御できます。IBM は次のトップレベルのデータ・ハンドラー・メタオブジェクトを提供します。
Server Access Interface プロセスは MO_Server_DataHandler メタオブジェクトを使用して、使用できるデータ・ハンドラーを識別します。 提供される MO_Server_DataHandler のバージョンは、MIME タイプをサポートするようには構成されていません。単一のダミー属性のみが含まれています。ご使用の WebSphere Business Integration Express にインストールされているデータ・ハンドラーをサポートするように、このメタオブジェクトをカスタマイズすることができます。アクセス・クライアントが MIME タイプをサポートするように設定する場合は、トップレベルの MO_Server_DataHandler メタオブジェクトの dummy 属性を、サポートされる MIME タイプの名前に変更して、その MIME タイプに対して関連する子メタオブジェクトを指定します。
例えば、アクセス・クライアントで text_xml MIME タイプをサポートする には、dummy 属性を text_xml に名前変更し、その属性のタイプとして、その MIME タイプの関連した子メタオブジェクトの名前を指定します。この子メタオブジェクトが XML データ・ハンドラーを構成します。図 9 は、MO_Server_DataHandler メタオブジェクトに、MO_DataHandler_DefaultXMLConfig 子メタオブジェクトを表す属性 text_xml が含まれている場合を示しています。
図 9. MO_Server_DataHandler メタオブジェクト
アクセス・クライアントが別の MIME タイプをサポートするようにする場合は、トップレベルの MO_Server_DataHandler メタオブジェクトの新しい属性を MIME タイプごとに定義して、その MIME タイプに対して関連する子メタオブジェクトを指定します。複数のデータ・ハンドラーを起動する場合は、データ・ハンドラー・インスタンスごとに子メタオブジェクトを定義する必要があります。追加の MIME タイプをサポートするには、以下のいずれかの方法があります。
デフォルトでは、コネクターは MO_DataHandler_Default メタオブジェクトを使用して、使用できるデータ・ハンドラーを識別します。 提供される MO_DataHandler_Default は、IBM が提供するすべてのデータ・ハンドラー (この資料には記載されていない一部のアダプター固有データ・ハンドラーを含む) の MIME タイプをサポートするように構成されています。
使用するコネクターが別の MIME タイプをサポートするようにする場合は、コネクターがサポートする各 MIME タイプについて属性が MO_DataHandler_Default メタオブジェクトに存在することを確認する必要があります。この属性は、該当する MIME タイプを指定して、その MIME タイプの関連する子メタオブジェクトを表す必要があります。追加の MIME タイプをサポートするには、独自のカスタム MIME タイプおよび子メタオブジェクトを定義します。ただし、この MIME タイプをサポートするデータ・ハンドラーが存在する場合に限ります。
図 10 に、2 つのデータ・ハンドラー (XML と NameValue) を定義する、コネクターのトップレベルのデータ・ハンドラー・メタオブジェクトを示します。
図 10. 2 つの異なるデータ・ハンドラーのメタオブジェクトの例
子データ・ハンドラー・メタオブジェクトはフラットなビジネス・オブジェクトで、データ・ハンドラーを初期化する構成情報が格納されます。データ・ハンドラーのタイプが異なれば構成要件が異なるので、子メタオブジェクトはさまざまな属性を持ちます。この構成情報により、データ・ハンドラー・インスタンスの振る舞いをカスタマイズします。したがって、子メタオブジェクト内の一連の属性値により特定の構成が定義され、次にそれが特定のデータ・ハンドラーの振る舞いに関連付けられます。特定の子メタオブジェクトにアクセスするすべての呼び出し元は、構成情報によって定義されている関連のデータ・ハンドラーの振る舞いを呼び出します。
例えば次のようになります。
IBM では、子メタオブジェクトの名前を MIME タイプ/サブタイプの固有の組み合わせにすることをお勧めします。
text_MIMEtype _subtype
ここで、
例えば、コネクターがすべてデフォルトの XML データ・ハンドラーと SGML バージョンの両方 をサポートできる場合、text_xml と text_xml_sgml の MIME タイプを作成できます。MIME タイプ名に使用できる文字は、英数字とピリオド (.) および下線 (_) の 2 つの特殊文字のみです。
IBM は、表 8 に示すように、提供する各データ・ハンドラーに関する子データ・ハンドラー・メタオブジェクトを提供します。
子メタオブジェクト | 詳細 |
---|---|
MO_DataHandler_DefaultXMLConfig | XML データ・ハンドラーの構成 |
MO_DataHandler_DefaultFixedWidthConfig | FixedWidth データ・ハンドラーの構成 |
MO_DataHandler_DefaultDelimitedConfig | Delimited データ・ハンドラーの構成 |
MO_DataHandler_DefaultNameValueConfig | NameValue データ・ハンドラーの構成 |
MO_DataHandler_DefaultRequestResponseConfig | Request-Response データ・ハンドラーの構成 |