共通の構成タスク

このセクションでは、共通の構成タスクについて説明します。

イベント通知の指定

このセクションの内容は、以下のとおりです。

イベント・ディレクトリーおよび拡張子の指定

複数のタイプのビジネス・オブジェクトをコネクターに送信して処理するときに、各ビジネス・オブジェクト・タイプにトップレベル・メタオブジェクトが含まれる場合、EventDir および EventExt 属性に指定する値の組み合わせは、各ビジネス・オブジェクトのディレクトリー/拡張子のペアで固有でなければなりません。

つまり、2 つのビジネス・オブジェクト・タイプに同じイベント・ディレクトリー を指定する場合、これらのビジネス・オブジェクトに異なるイベント拡張子を指定する必要があります。 また、2 つのビジネス・オブジェクト・タイプに同じ拡張子を指定する場合は、これらのビジネス・オブジェクトに異なるイベント・ディレクトリーを指定する必要があります。

例えば、MO_JTextConnector_Customer および MO_JTextConnector_Item メタオブジェクト を作成して、それぞれ Customer および Item ビジネス・オブジェクトに構成値を提供するとします。 コネクターが同一ディレクトリー内で両方のビジネス・オブジェクトの入力ファイルを 検索するように構成する場合 (EventDir 属性に同一パスを指定します)、EventExt 属性に異なる値を指定することによって入力ファイルを一意的に識別 する必要があります。

したがって、EventDir 属性が Customers と Items 両方 の C:¥temp¥event を評価する場合、2 つのビジネス・オブジェクト の EventExt 属性値が異なる必要があります (例えば、Customer 入力ファイル が in、Items 入力ファイルが inp)。

注:
新しく導入されたコネクター固有 boolean プロパティー「NoPoll」により、オプションでポーリングをオフにできます。デフォルト値は false です。true に設定されている場合、アダプターは要求のみを処理し、ポーリングは処理しません。

ポーリングの振る舞いの構成

ポーリングの振る舞いを構成するには、以下のステップを実行します。

  1. 以下の MO_JTextConnector_Default メタオブジェクトの属性を構成します。
  2. Connector Configurator Express を使用して次のコネクター・プロパティーを構成します。
  3. イベント・ディレクトリーに読み取りアクセス権を設定します。

イベント・アーカイブの指定

イベント・ファイル内で正常に処理されたビジネス・オブジェクトが そのすべてであるか一部かによって、JText コネクターは、正常に処理されたビジネス・オブジェクト のアーカイブ・ファイルを作成するときに異なる拡張子を使用します。 また、コネクターは、処理に失敗したりアンサブスクライブされたビジネス・オブジェクト をさまざまな名前のアーカイブ・ファイルに書き込みます。

このセクションの内容は、以下のとおりです。

ローカル・アーカイブ・ファイル名

アーカイブ拡張子属性の出荷時のデフォルト値を保存する場合、コネクターは以下に示す名前のアーカイブ・ファイルを作成します。

ローカル・アーカイブの構成

コネクターをアーカイブのために構成するには、以下のステップを実行します。

  1. 以下の MO_JTextConnector_Default メタオブジェクトの属性を構成します。
  2. Connector Configurator Express を使用して ArchivingEnabled コネクター・プロパティーを構成します。
  3. アーカイブ・ディレクトリーに書き込みアクセス権を設定します。

要求処理の指定

JText コネクターが、(各ビジネス・オブジェクト・イン スタンス内で) 動的に名前を付けられるファイル、または (メタオブジェクトに よって) 静的に名前を付けられるファイルにビジネス・オブジェクトを書き込むように設定することができます。 また、コネクターが静的に生成するファイル名を戻すように設定することもできます。この機能は、固有のシーケンス番号付きのファイル名を取得するのに役立ちます。 このセクションに含まれるサブセクションは、以下のとおりです。

動的なファイルの命名

コネクターが各ビジネス・オブジェクト・タイプに動的に 出力ファイル名を生成するように設定するには、動的子メタオブジェクトを作成します。 子メタオブジェクトを使用して、以下のことを実行します。

重要:
動的子メタオブジェクトを 作成してコネクターが出力ファイル名を生成または戻すように設定するほかに、InterChange Server Express を 統合ブローカーとして使用している場合は、マップまたはコラボレーション・ロジックを 変更して、動的子メタオブジェクトの InFileName 属性に各ビジネス・オブジェクトの パスとファイル名、そして必要な場合は固有のシーケンス番号を挿入する必要があります。

詳細については、動的子メタオブジェクトの使用を参照してください。

コネクターがメタオブジェクトを 処理する方法の詳細については、要求処理を参照してください。

コネクターを構成して動的に生成された出力ファイル名を使用する方法の 詳細については、出力ファイルの構成を参照してください。

静的なファイルの命名

メタオブジェクトを使用して出力ファイル名を指定する場合、変更内容を 有効にするにはコネクターを再始動する必要があります。コネクターが任意のタイプのすべてのビジネス・オブジェクトを単一ファイルに 追加するか、またはビジネス・オブジェクトごとに別々のファイルを作成するように 指定できます。

出荷時のデフォルト構成を使用する場合、コネクターは処理するビジネス・オブジェクト ごとに出力ファイルを作成します。コネクターは受信したビジネス・オブジェクトの 出力ファイルに名前を付け、シーケンス番号を追加して名前を固有のものにします。また、.out という拡張子を付けます。例えば、Customer および Item というビジネス・オブジェクトを 受信した場合、コネクターはこれらのデータをそれぞれ Customer_1.out および Item_1.out という出力ファイルに書き込みます。出力ファイル名の取得の詳細については、ファイル名の戻りを参照してください。シーケンス番号を保管するファイルの詳細については、OutputLogを参照してください。

メタオブジェクトを使用して出力ファイル名を構成するには、以下の手順を実行します。

  1. 以下の MO_JTextConnector_Default メタオブジェクトの属性を構成します。
  2. 出力ディレクトリーに書き込みアクセス権を設定します。

注:
コネクターが、さまざまなビジネス・オブジェクトに さまざまなデータ・フォーマットやファイル命名規則を使用する場合、特定の ビジネス・オブジェクトにメタオブジェクトを作成する必要があります。

ファイル名の戻り

コネクターが生成したファイル名を戻すように設定するには、以下のことを実行します。

注:
コネクターは、FTP サーバーを介してファイルを処理する 場合でも、InFileName 属性にローカル・パスのみを設定します。

重要:
動的子メタオブジェクトを 作成してコネクターが出力ファイル名を生成または戻すように設定するほかに、InterChange Server Express を 統合ブローカーとして使用している場合は、マップまたはコラボレーション・ロジックを 変更して、動的子メタオブジェクトの InFileName 属性に各ビジネス・オブジェクトの パスとファイル名、そして必要な場合は固有のシーケンス番号を挿入する必要があります。

ローカル処理とリモート処理の違い

コネクターは、リモートでファイルを処理する方法は、ローカルでの 処理とほぼ同じです。ただし、いくつかの違いがあります。

詳細については、リモート・アーカイブの指定を参照してください。

出力ファイルの構成

表 9 は、出力ファイルで使用できる 構成オプションを示しています。

表 9. 出力ファイルの指定
要求される出力条件 属性/プロパティーに必要な構成 属性/プロパティーの値
任意のタイプの ビジネス・オブジェクトがファイルに追加され、その絶対パスとファイル名が 実行時にビジネス・オブジェクトの属性から指定される。 動的子メタオブジェクトを使用する
AppSpecificInfo (ビジネス・オブジェクト・レベル) cw_mo_JTextConfig = DynChildMOName
動的子メタオブジェクトの場合: OutFileName ユーザー指定のパス名およびファイル名
FileWriteMode
a または append
任意のタイプの ビジネス・オブジェクトが出力ファイルを上書きし、その絶対パスとファイル名が 実行時にビジネス・オブジェクトの属性から指定される。 動的子メタオブジェクトを使用する
AppSpecificInfo (ビジネス・オブジェクト・レベル) cw_mo_JTextConfig = DynChildMOName
動的子メタオブジェクトの場合: OutFileName ユーザー指定のパス名およびファイル名
FileWriteMode
o または overwrite
任意のタイプのビジネス・オブジェクトが自身の 固有ファイルに書き込まれ、そのファイル名がビジネス・オブジェクトの名前と生成された 固有のシーケンス番号から指定される。
OutputDir
ユーザー指定のパス名
FileSeqEnabled
true
OutputFileName
Native
コネクターが生成したファイル名をすべて戻す。任意のタイプのビジネス・オブジェクトが自身の 固有ファイルに書き込まれ、そのファイル名がビジネス・オブジェクトの名前と生成された 固有のシーケンス番号から指定される。 動的子メタオブジェクトを使用する

AppSpecificInfo (ビジネス・オブジェクト・レベル) cw_mo_JTextConfig = DynChildMOName
InFileName (動的子メタオブジェクトの場合)
CxIgnore
FileWriteMode (動的子メタオブジェクトの場合)
該当なし
次のメタオブジェクト構成を使用する。MO_JTextConnector_businessobjectname:
OutputDir
ユーザー指定のパス名
FileSeqEnabled
true
OutputFileName
Native
任意のタイプのすべてのビジネス・オブジェクトが、ユーザー指定の名前が付いた単一ファイルに追加される。
FileSeqEnabled
false
OutputFileName
ユーザー指定のパス名およびファイル名
任意のタイプのビジネス・オブジェクトが自身の 固有ファイルに書き込まれ、そのファイル名がユーザー指定の名前と 固有のシーケンス番号から構成される。
FileSeqEnabled
true
コネクターが複数のタイプのビジネス・オブジェクトを処理していて 、OutputFileName にストリング Native 以外が設定されている場合、各ビジネス・オブジェクトに自身のトップレベル・メタオブジェクトを持たせる必要があります。詳細については、出力ファイル名の指定を参照してください。
OutputFileName
ユーザー指定のパス名およびファイル名
任意のタイプの ビジネス・オブジェクトが出力ファイルを上書きし、そのファイル名が ビジネス・オブジェクト名から指定される。
OutputDir
ユーザー指定のパス名
FileSeqEnabled
false
OutputFileName
Native
コネクターが生成したファイル名をすべて戻す。任意のタイプのビジネス・オブジェクトが自身の 固有ファイルに書き込まれ、そのファイル名がユーザー指定の名前と 固有のシーケンス番号から構成される。 動的子メタオブジェクトを使用する

AppSpecificInfo (ビジネス・オブジェクト・レベル) cw_mo_JTextConfig = DynChildMOName
InFileName (動的子メタオブジェクトの場合)
CxIgnore
FileWriteMode (動的子メタオブジェクトの場合)
該当なし
次のメタオブジェクト構成をしようする。MO_JTextConnector_BOName:
FileSeqEnabled
true
OutputFileName
ユーザー指定のパス名およびファイル名

複数のイベント・ファイルまたは複数のイベント・ディレクトリーの指定

コネクターを構成して、指定された拡張子を持つファイルのみを取り出すことができます。 また、コネクターを構成して、複数のディレクトリーからファイルを取り出すこともできます。

重要:
EventExt 属性にアスタリスク (*) を使用すると、拡張子がサポートされて いなくても、単一イベント・ディレクトリー内のすべてのファイルをポーリングできます。

ビジネス・オブジェクト・タイプごとに別々のイベント・ディレクトリーを指定するには、以下のステップを実行します。

  1. サポートされるビジネス・オブジェクトごとに個別のメタオブジェクトを作成します。例えば、MO_JTextConnector_CustomerMO_JTextConnector_Itemを作成します。詳細については、特定のビジネス・オブジェクトの JText メタオブジェクトの作成を参照してください。
  2. 各メタオブジェクトの EventDir 属性に適切なディレクトリーを指定します。

注:
JText コネクターは、イベント・ファイルをタイム・スタンプの 古いものから順に、ロケーションに関係なく処理します。つまり JText コネクターは、タイム・スタンプの日時順に別々のディレクトリーにあるファイルを処理します。

特定のビジネス・オブジェクトのポーリング

JText コネクターの構成は、さまざまな要素によって異なります。例えば、すべてのイベント・ファイルが単一ディレクトリーにあるか、すべて同じ拡張子が付いているか、含まれるビジネス・オブジェクトが単一か複数か、含まれるビジネス・オブジェクトのタイプが 単一か複数か、各ビジネス・オブジェクトを単一行で表しているか複数行で表しているか、などです。

このセクションの内容は、以下のとおりです。

EndBODelimiter ベースの解析手法の使用

EndBODelimiter メタオブジェクト属性に値が指定されない場合、コネクターは以下のことを実行します。

イベント・ファイルに 1 つのビジネス・オブジェクトしか含まれない場合、この属性に EOF (ファイル終わり) を指定できます。

EndBODelimiter 属性の値に空でないストリングを設定すると、ストリングはすべてのファイルのビジネス・オブジェクト区切り文字と見なされます。値が設定されていないかクリアされている場合、コネクターは <EndBO:BOName> を区切り文字と見なします。

重要:
DataProcessingModeBinary に設定されていて、EndBODelimiter の値が指定されていない場合、JText はデフォルトの EndBODelimiter FF01 (2 バイト) に設定し、デフォルトの EndOfFileDelimiterFF02 (2 バイト) に設定します。

表 10 は区切り文字のオプションを示しています。

表 10. EndBODelimiter 属性の使用
条件 区切り文字
ファイルに 1 つ以上のビジネス・オブジェクト・ タイプのビジネス・オブジェクト・ストリングが 1 つ以上含まれているか、同一タイプの ビジネス・オブジェクトのビジネス・オブジェクト・ストリングが複数含まれている。各ストリングの行が複数になっている。 <EndBO:BOName>または EOL またはユーザー指定値
  • ビジネス・オブジェクト・ストリングの間に改行があるときは、その数だけセミコロンで 区切られた EOL を指定します。
  • EOL とともにカスタム区切り文字を指定します。カスタム区切り文字を EOL とともに使用するときは、常に最初の要素にする必要があります。次の例は有効です。customEndBO;EOL;EOL次の例は有効ではありませんEOL;customEndBO;EOL
各ファイルにビジネス・オブジェクト・ストリングが 1 つのみ含まれる。 EOL Fまたはユーザー指定値
  • ビジネス・オブジェクト・ストリングの間に改行があるときは、その数だけセミコロンで 区切られた EOL を指定します。
  • 入力ストリングに必要な場合は、EOL および EOF とともに ユーザー指定の区切り文字を指定します。カスタム区切り文字を EOL とともに使用するときは、常に最初の要素にする必要があります。次の例は有効です。customEndBO;EOL;EOL次の例は有効ではありませんEOL;customEndBO;EOL
ファイルに 1 行につき 1 つずつ複数のビジネス・ オブジェクト・ストリングが含まれる。
EOL
ファイルに同一タイプの ビジネス・オブジェクトのビジネス・オブジェクト・ストリングが複数含まれている。各ストリングは複数行に渡り、ビジネス・オブジェクト・ストリング間に区切り文字がない。
なし
出荷時のデフォルト・メタオブジェクトまたはカスタム・メタオブジェクトを使用できます。
注:
このオプションを使用できるのはサービス呼び出し要求時のみで、イベント通知には使用できません。この区切り文字を他の区切り文字とともに 使用しないでください。

注:
ソース・ファイルに空の行が含まれる場合、コネクターはそれらを無視します。
EndBODelimiter の値としての印刷不可能文字の使用

複数のディレクトリーでファイルをポーリングするには、サポートされる ビジネス・オブジェクトごとにメタオブジェクトを作成する必要があります。 各メタオブジェクトの EndBODelimiter 属性に指定する値は、ソース・ファイルに含まれるビジネス・オブジェクトが単一か複数かによって異なります。

注:
コネクターは、指定したストリングの大/小文字を 区別します (EOL および EOF 区切り文字を除く)。

メタオブジェクトの作成の詳細については、特定のビジネス・オブジェクトの JText メタオブジェクトの作成を参照してください。

FixedBOSize ベースの解析手法の使用

このメタオブジェクト・プロパティーが有効になるのは、以下の両方に該当する場合に限られます。

  1. イベント処理を実行中である。
  2. DataProcessingModeBinary に設定されている。

このメタオブジェクト・プロパティーが有効な値とともに指定されている場合、このプロパティーが EndBODelimiter プロパティーに優先し、ユーザーは従来の区切り文字ベースのビジネス・オブジェクト解析に代わる解析を行うことができます。このプロパティーを使用すると、コネクターは一定数のバイトを 1 つのビジネス・オブジェクトに対応付けます。例えば、あるファイルが 300 バイトで構成されており、FixedBOSize プロパティーが 100 に設定されている場合、JText アダプターは、バイナリー対応のデータ・ハンドラーを使用してこのファイルを 3 つの 100 バイト長のパケットに変換し、InterChange Server Express に送信します。

FixedBOSizeEndBODelimiter の両方に値が設定されている場合、Jtext は FixedBOSize に基づいてファイル解析を行い、EndBODelimiter を無視します。

リモート FTP ファイル・システムの指定

このセクションでは、JText アダプターを構成して、イベント処理および要求処理に リモート FTP ファイル・システムを使用する方法について説明します。

重要:
コネクターがリモート FTP ファイル・システムを使用する ためには、EventDir 属性 (イベント 処理用) または OutputDir 属性 (要求処理用) に FTP URL を指定する必要があります。 また、コネクターを使用して FTP 操作を実行する前に、すべてのファイアウォール問題を 解決する必要があります。

このセクションの内容は、以下のとおりです。

リモートのイベント処理

コネクターを構成してイベント処理用にリモート FTP ファイル・システムを 使用するには、FTP URL、FTP ログイン情報、コネクターがリモート・ディレクトリーから ダウンロードしたイベント・ファイルを格納するローカル・ディレクトリー、アーカイブ情報、および FTP サーバーが使用不能な場合のコネクターの振る舞いに関する情報 を指定する必要があります。このセクションでは、これらの構成と 追加のオプション構成について説明します。

FTP URL およびログイン情報の指定

コネクターは、EventDir メタオブジェクト属性で指定したディレクトリーからイベントをポーリングします。 コネクターを構成して、イベント処理用にリモート FTP ファイル・ システムを使用するには、この属性の値として FTP URL を指定します。FTP URL は、IETF 標準に準拠している必要があります。

URL に FTP サーバーを指定するほか、オプションで以下の情報を EventDir メタオブジェクト属性に指定することができます。

重要:
FTP の値は、静的トップレベル・メタオブジェクトまたは動的子メタオブジェクト のどちらにも指定できます。ユーザー名とパスワードがいずれのメタオブジェクト属性 にも指定されていない場合、コネクターは FTP サーバーへの接続の試行を終了します。詳細については、動的子メタオブジェクトの使用を参照してください。

以下の例は、EventDir 属性値の 3 つの異なるフォーマットを示しています。

URL および必須値のみ:

ftp://ftp.companyA.com

URL およびオプションのユーザー名とポート番号:

ftp://companyA:admin@ftp.companyA.com:1433

URL およびオプションのユーザー名、ポート番号、リモート・イベント・ディレクトリー:

ftp://companyA:admin@ftp.companyA.com:1433/temp/JTextConn/Default/Event

Linux/MVS 関連の FTP セットアップの URL

ftp://ftpuser:ftppwd@ftpserver.in.ibm.com:21/home/ftpuser/JText/event
ローカル・ディレクトリーの指定

FTP URL および関連するログイン情報を指定するほかに、コネクターがリモート・ディレクトリー からダウンロードしたイベント・ファイルを格納するローカル・ディレクトリーを指定する必要があります。ローカル・ディレクトリーを指定するには、FTPLocalEventDir メタオブジェクト属性を使用します。

重要:
コネクターが EventDir に適切な FTP URL を 見つけても、FTPLocalEventDir メタオブジェクト属性が なかったり、この属性に無効な値やブランクが指定されている場合、コネクターは始動しません。コネクターがローカルに実行するよう 構成されている場合、FTPLocalEventDir 属性は評価されません。
リモート・アーカイブの指定

コネクターによるリモート・アーカイブの処理方法の指定には、いくつかのオプションがあります。リモート・アーカイブ・ディレクトリーを指定するには、FTPArchiveDir メタオブジェクト属性を使用します。この属性により、FTP サーバーにあるアーカイブ・ディレクトリーの相対パスを指定します。ディレクトリーは既存のものである必要があります。この属性を使用したアーカイブの指定には、いくつかのオプションがあります。

ファイル名へのタイム・スタンプの追加 (リモート FTP サーバー対応)

順次データ・セットを使用するホスト・ファイル・システム (MVS) のサポートが拡張され、ファイル名の重複を回避するためにタイム・スタンプを追加できるようになりました。MVS の場合、データ・セット名やレコード・セット名に特殊文字 (「_」など) を使用できません。Windows、Linux、または i5/OS プラットフォームでは、ファイルのアーカイブ時に、オリジナルのファイル名の中にタイム・スタンプが使用されます。これにより、アーカイブ・フォルダー内でのファイル名の重複が回避され、既存ファイルの上書きが防止されています。

MVS システムでは、上記の制限に対処するため、次のフォーマットが使用されます。

イベント・ファイル: Test.in
アーカイブ・ファイル: Test.TSyyyyMM.TSDDHHMM.TSSsSss
各部分の意味: yyyy -- 年
MM -- 月
DD -- 日
HH -- 時間
MM -- 分
Ss -- 秒
Sss -- ミリ秒

MVS プラットフォームでは、データ・セット名とレコード・セット名に使用される区切り文字は「.」 (ドット) であり、1 つのデータ・セット名またはレコード・セット名に使用できる「.」(ドット) の数は最大 6 個です。データ・セット名またはレコード・セット名では、「.」 (ドット) によって区切られている各部分の文字数が 8 文字を超えてはならず、全文字数が 44 文字を超えてはなりません。このフォーマットのファイル名の例を、以下に示します。

FTPRenameExt -- ARCHIVE
アーカイブ・ファイル -- (SAMPLE).ARCHIVE.TS200304.TS290535.TS42234

注:
PDS のメンバーは、アーカイブ中にタイム・スタンプによって名前変更することはできません。そのため、PDS アーカイブ用に代替手段が用意されています。FTPEventFileMask に入る PDS の各メンバーは、ファイル名を FTPRenameExt として指定して親 PDS の下位にアーカイブされます。アーカイブ・ファイルは、最新の処理済みファイルごとに再書き込みされます。
リモート・ポーリングの指定

FTPPollFrequency 構成プロパティーを使用して、コネクターが FTP サーバーにポーリングする頻度を標準ポーリング・サイクル数で設定できます。 この設定は、コネクターが次のポーリング・サイクルを開始するときに、まだローカル・イベント・ ディレクトリーからファイルを読み取っている場合に便利です。

例えば、PollFrequency10000 に設定され、FTPPollFrequency6 に設定されている場合、コネクターはローカル・イベント・ディレクトリーに 10 秒ごとにポーリングし、リモート・ディレクトリーに 60 秒ごとにポーリングします。コネクターが FTP ポーリングを 実行するのは、このプロパティーに値を指定した場合のみです。FTPPollFrequency0 またはブランクが設定された場合、コネクターは FTP ポーリングを実行しません。

詳細については、JText コネクターのパフォーマンス調整を参照してください。

コネクターがリモート・サイトからイベントを処理する方法

リモート・サイトからイベントをポーリングする場合、コネクターは以下のステップを実行します。

  1. メタオブジェクト属性またはデフォルト値から、サーバー名、ポート番号、ユーザー名、パスワード、およびリモート・イベント・ディレクトリーを取得します。
  2. リモート FTP サイトへの接続を確立して、リモート・ディレクトリーから イベント・ファイルを取得します。
  3. リモート・ディレクトリーから、FTPLocalEventDir メタオブジェクト属性 で指定したローカル・ディレクトリーにイベント・ファイルをダウンロードします。
    注:
    コネクターが FTP を使用してイベントを処理するには、この属性に値が設定されていなければなりません。
  4. ローカル・ディレクトリーにポーリングします。

図 6 は、ローカルおよびリモートのイベント処理を示しています。

図 6. ローカルおよびリモートのイベント通知操作
メインフレーム上のファイルの識別: オプション構成

FTPEventFileMask 属性を使用して、Windows、Linux、または i5/OS システムに適用されるのと同じ命名標準に準拠しないメインフレーム上でファイル拡張子を識別します。この属性に値が設定されないと、コネクターは EventExt 属性で指定された値を使用します。

FTPEventFileMask に値を設定するときには、ワイルドカード文字を組み込むことができます。 次の例は、この属性に使用できるいくつかのフォーマットです。

     ACT.Z1UC.*

     ACT.*.INPT

     *.Z1UC.INPT

コネクターは、リモート・サイトで FTPEventFileMask に指定された基準 に一致するファイルを複数見つけると、以下のことを実行します。

  1. 指定されたすべてのリモート・イベント・ファイルを、FTPLocalEventDir 属性で指定された ディレクトリーにダウンロードします。
  2. FTPRenameExt メタオブジェクト属性 に指定された値を持つリモート・ファイルの拡張子を変更します。 ファイル名を変更することによって、次のポーリング・サイクルに同じファイルを ポーリングすることがなくなります。
  3. FTP サーバーから接続を切断します。
  4. FTPEventFileMask メタオブジェクト属性に指定されたディレクトリー 内で、ローカルにファイルを処理します。
イベント処理の構成操作の要約

コネクターを構成して、イベント処理用にリモート FTP ファイル・システムを 使用するには、以下の構成値を指定します。

リモートの要求処理

コネクターを構成してイベント処理用にリモート FTP ファイル・システムを 使用するには、FTP URL、FTP ログイン情報、コネクターがローカル・ディレクトリーから アップロードした要求ファイルを格納するリモート・ディレクトリーを指定する必要があります。このセクションでは、これらの構成と 追加のオプション構成について説明します。

FTP URL およびログイン情報の指定

コネクターは、OutputDir メタオブジェクト属性で指定したディレクトリーにサービス呼び出し要求ファイルをアップロードします。 コネクターを構成して要求処理用にリモート FTP ファイル・ システムを使用するには、この属性の値として FTP URL を指定します。FTP URL は、IETF 標準に準拠している必要があります。

FTP URL のほかに、オプションで以下の情報を OutputDir メタオブジェクト属性に指定することができます。

重要:
FTP の値は、静的トップレベル・メタオブジェクトまたは動的子メタオブジェクト のどちらにも指定できます。ユーザー名とパスワードがいずれのメタオブジェクト属性 にも指定されていない場合、コネクターは例外のスローによって終了します。詳細については、動的子メタオブジェクトの使用を参照してください。

以下の例は、OutputDir 属性値の 3 つの異なるフォーマットを示しています。

URL および必須値のみ:

ftp://ftp.companyA.com

URL およびオプションのユーザー名とポート番号:

ftp://companyA:admin@ftp.companyA.com:1433

URL およびオプションのユーザー名、ポート番号、リモート出力ディレクトリー:

ftp://companyA:admin@ftp.companyA.com:1433/temp/JTextConn/Default/Out
コネクターがリモート・サイトへのサービス呼び出し要求を処理する方法

コネクターが FTP 処理用に構成されている場合、サービス呼び出し要求を受け取ると 以下のステップを実行します。

  1. メタオブジェクト属性またはデフォルト値から、サーバー名、ポート番号、ユーザー名、およびパスワードを取得します。
  2. リモート FTP サイトへの接続を確立して、ローカル・ディレクトリーから サービス呼び出し要求ファイルを置きます。
  3. ローカル・ディレクトリーからリモート・ディレクトリーに要求ファイルをアップロードします。
  4. リモート・サーバーから接続を切断します。

図 7 は、ローカルおよびリモートの要求処理を示しています。

図 7. ローカルおよびリモートの要求操作
要求処理の構成操作の要約

コネクターを構成して、要求処理用にリモート FTP ファイル・システムを 使用するには、以下の構成値を指定します。

FTP 転送用にコネクターを構成する際の注意事項

以下の機能は、データの FTP 転送に適用されます。

セキュア FTP の構成

JText アダプターは、SSL (Secure Socket Layer) プロトコルを使用して、アダプターと FTP サーバーの間で機密保護機能のある通信チャネルを確立します。この機能では、FTP サーバーをこのプロトコルをサポートするセキュア FTP サーバーにする必要があります。JText アダプターは、SSL プロトコルの実装である IBM JSSE パッケージを利用します。アダプターは受動 FTP モードと暗黙的 SSL モードで動作します。このセクションでは、JText アダプターのセキュア FTP 機能を使用するために必要な、追加の構成について説明します。

セキュア FTP を構成するには、次のステップを実行します。

  1. SSL プロトコルをサポートするセキュア FTP サーバーをインストールして構成します。JText アダプターは、SSL プロトコルを使用してクライアント・アプリケーションと FTP サーバーの間でデータを転送します。したがって、セキュア FTP サーバーは、SSL プロトコルに対応するようにインストールされ、SSL 通信用に適切に構成される必要があります。サーバーには、秘密鍵と証明書が必要です。
  2. 適用可能であれば、ファイアウォールの設定を構成します。JText アダプターは、セキュア FTP サーバーによりデータ転送の受動 FTP モードを使用します。したがって、クライアントとサーバーの間にファイアウォールがある場合は、ファイアウォールの設定を構成してこのモードを使用可能にする必要があります。
  3. クライアントのトラスト・ストアを設定します。SSL での通信時に、サーバーは、検証のため自身の証明書をクライアントに送信します。クライアントはその証明書を検証し、意図するサーバーとの通信であることを確認します。この検証プロセスを使用可能にするため、サーバーの証明書をクライアントのトラスト・ストアに格納してください。サーバーの証明書は、keytool ユーティリティーを使用してクライアントのトラスト・ストアにインポートできます。例えば、次のようにします。
    keytool -import -v -alias serverCert -file server.cert 
     -keystore clientTrustStore 
    ここで、server.cert はサーバーの証明書、clientTrustStore はクライアントのトラスト・ストアです。
  4. アダプターの始動スクリプトの trustStore システム・プロパティーを設定します。アダプターの始動スクリプトには、次のシステム・プロパティーを組み込んでください。
      -Djavax.net.ssl.trustStore=C:¥MyKeyStore¥clientTrustStore
    ここで、clientTrustStore はステップ 3 で指定したクライアントのトラスト・ストアです。
  5. FTP URL で ftps を使用していることを確認します。機密保護機能のある通信の場合は、FTP URL のプロトコルを ftps にしてください。例えば、ftps://host:port/ftpdir のようにします。

データ・ハンドラーの指定

JText コネクターで使用されるデータ・ハンドラーを指定するには、以下のステップを実行します。

  1. JText コネクターが通信するアプリケーションで使用されるフォーマット を判別します。どのフォーマット・タイプでも、登録できるデータ・ハンドラー・クラス は 1 つだけです。
  2. 以下のトップレベル JText メタオブジェクトの子オブジェクトを構成します。

指定されたデータ・ハンドラーの変更

出荷時のデフォルト・データ・ハンドラーを (出荷時の別のデータ・ハンドラー またはカスタム・データ・ハンドラーに) 変更するには、以下のことを実行します。

データ・ハンドラーの作成の詳細については、「データ・ハンドラー・ガイド 」を参照してください。

特定のビジネス・オブジェクトの JText メタオブジェクトの作成

特定のビジネス・オブジェクトの JText メタオブジェクトを作成するときは、メタオブジェクト名を変更して特定のビジネス・オブジェクトを示すようにします。例えば、Customer および Item ビジネス・オブジェクトのメタオブジェクトを作成するには、メタオブジェクトにそれぞれ MO_JTextConnector_Customer および MO_JTextConnector_Item と名前を付けます。

ヒント:
ファイルに書き込まれるすべてのビジネス・オブジェクトがまったく同じ 構成の場合、デフォルト・メタオブジェクトを使用します。つまり、同じイベント・ディレクトリーにあり、同じ出力ディレクトリーに書き込まれる すべてのテキスト・ファイルは、同じデータ・ハンドラーを使用し、同じファイル拡張子 を持ちます (または同じファイルに格納されます)。要求時に、コネクターが 異なるビジネス・オブジェクトに必ず異なる処理を行うようにする場合、または ポーリングに特定の処理命令が必要な場合、独自のメタオブジェクトを作成します。 特定のビジネス・オブジェクトに個別のメタオブジェクトを作成すると、コネクターは統合ブローカー要求とサブスクリプション送達操作の両方にそのメタオブジェクトを 使用します。

メタオブジェクトを作成していないすべてのビジネス・オブジェクトは、デフォルトの MO_JTextConnector_Default メタオブジェクトの値で構成されます。 このデフォルト・メタオブジェクトのビジネス・オブジェクト定義については、¥repository¥JText ディレクトリーを参照してください。

同一ファイルから異なるタイプの複数のビジネス・オブジェクトを読み取る

テキスト・ファイルに異なるタイプの複数のビジネス・オブジェクトが 含まれている場合、MO_JTextConnector_Default メタオブジェクトを 使用し、その EventExt および EventDir 属性がこのイベント・ファイル の格納先ディレクトリーを正しく示している必要があります。ファイル内の各ビジネス・オブジェクト は、同じ区切り文字で区切られていなければなりません。

出荷時のデータ・ハンドラーは、各ビジネス・オブジェクトの名前を 入力ストリングから判別できます。つまり、デフォルトのトップレベル JText メタオブジェクト と出荷時のデータ・ハンドラーを使用すれば、<EndBO:BOName> 区切り文字 を使用して、複数のビジネス・オブジェクト・タイプを含むファイル内で各タイプを識別する必要はありません。

カスタム・データ・ハンドラーを作成して、ビジネス・オブジェクト・ストリング をビジネス・オブジェクトに変換する場合、データ・ハンドラーがビジネス・オブジェクトの タイプを入力ストリングから解釈できるようにします。

ObjectEventID 属性値の指定

ビジネス・オブジェクト・ストリングに ObjectEventId 属性を追加する必要はありません。 イベント通知ビジネス・オブジェクトの場合、コネクターによって ID が取り込まれないと、コネクター・フレームワークによってこれらのビジネス・オブジェクト属性が取り込まれます。

サービス呼び出し要求ビジネス・オブジェクトでは、ObjectEventId 属性は 無視されるかファイルに書き込まれるストリングに組み込まれます。ObjectEventId 属性が出力ファイルに組み込まれるかどうかは、使用するデータ・ハンドラー によって異なります。

JText コネクターの 2 番目のインスタンスのセットアップ

JText コネクターに 2 番目のインスタンスをセットアップするには、以下のステップを実行します。

  1. JText コネクター・ディレクトリーおよびリポジトリー・ディレクトリーのコピーを 作成し、名前を変更します。例えば、2 番目のコネクター定義に JText2 という名前を付けます。2 番目のディレクトリーを作成すると、ディレクトリー構造は以下のようになります。

    ¥connectors¥JText
    ¥connectors¥JText2
    ¥repository¥JText
    ¥repository¥JText2

  2. JText コネクターのすべてのメタオブジェクト (少なくとも 2 つあるはずです) を コピーし、ビジネス・オブジェクト名を変更します。例えば JText2 コネクターの場合、名前を MO_JText2ConnectorBOName から MO_JText2ConnectorBOName に変更します。

    メタオブジェクトをコピーする方法は 2 つあります。

  3. Connector Configurator Express でコネクターの定義をコピーし、この名前を JText2Connector に変更します。 サポートされるメタオブジェクトおよびビジネス・オブジェクトを変更します。
  4. 新規定義ファイルをリポジトリーにコピーします。Business Object Designer Express を 使用してビジネス・オブジェクト定義をリポジトリーにコピーするには、「ファイル」メニュー から「サーバーに保管」サブメニューを選択します。または、InterChange Server Express で以下のステップを 実行して、ビジネス・オブジェクト定義をオペレーティング・システムからリポジトリーにコピーします。
    1. ¥repository¥ReposVersion.txt ファイルの先頭から各定義ファイルの 先頭にテキストをコピーします。
    2. 次の repos_copy コマンドを使用して、新規メタオブジェクトとビジネス・オブジェクトにコピーします。
      repos_copy -sServerName -iFileName
  5. 統合ブローカーの管理ユーティリティーをリフレッシュして、新規ビジネス・オブジェクトを 確認します。
  6. Linux の場合、JText コネクターの既存のコネクター・マネージャー・スクリプトをコピーし、パラメーターを JText2 を参照するように変更します。Windows の 場合、JText コネクターの既存のショートカットをコピーし、パラメーターを JText2 を参照するように変更し、JText ディレクトリーではなく、JText2 ディレクトリーを参照するように変更します。
  7. i5/OS システムの場合は、コンソールに新規コネクター・インスタンスを追加します
  8. 統合ブローカーを再始動します。
  9. Linux の場合、コネクター・マネージャー・スクリプトを実行します。Windows の場合、新規ショートカットをクリックします。i5/OS の場合、コンソールを使用してコネクターを始動します。

JText コネクターのパフォーマンス調整

JText コネクターのポーリング・パフォーマンスを調整するには、以下のようにコネクター構成プロパティーを設定します。

要約すると、ポーリングのパフォーマンスを向上させる最善の 方法は、PollQuantity、PollFrequencyおよび FTPPollFrequency が相互に補完するように値を設定することです。

テスト用サンプル・ファイルの生成

JText コネクターで使用する入力ファイルに似たファイルを 生成することができます。このファイルは、ソース・アプリケーションで 出力フォーマットをセットアップするのに役立ちます。サンプル・ファイルはテストにも使用できます。

InterChange Server Express で、入力ファイルに似たファイルを生成する最も簡単な方法は以下のとおりです。

  1. ファイルに書き込まれるビジネス・オブジェクトを入力として扱い、宛先に 送信するパススルー・コラボレーションを作成します。
  2. ビジネス・オブジェクトをサポートし、Test Connector で エミュレートできるコネクターにソース・ポートをバインドします。
  3. 宛先ポートを JText コネクターにバインドします。
  4. Test Connector にビジネス・オブジェクトのサンプル値を入力し、そのビジネス・オブジェクトを JText コネクターに送信します。JText コネクター は、構成されたフォーマットで出力ファイルに値を書き込みます。

このプロセスによって、単一ファイルに書き込まれた複数のビジネス・オブジェクト を確認でき、それをテストで入力として使用できます。

テスト用サンプル・ビジネス・オブジェクトの生成

JText コネクターで使用するビジネス・オブジェクトに似たビジネス・オブジェクト を生成することができます。値を持つビジネス・オブジェクトを生成 して、テストに使用できます。

コネクターが自動的にビジネス・オブジェクトを生成するようにするには、GenerateTemplate 構成プロパティーを使用します。 コネクターがサポートするビジネス・オブジェクトごとに、定義を生成できます。

コネクターは GenerateTemplate プロパティーの値を使用して、コネクターの始動時に、直列化したビジネス・オブジェクトのインスタンスを作成します。 直列化したビジネス・オブジェクトとは、データ・ハンドラーが 作成するビジネス・オブジェクトのストリング表記です。Connector Configurator を使用して、このプロパティーのビジネス・オブジェクト名を 指定します。

このプロパティーの構文は BOName;BOName です。ここで、BOName は特定のビジネス・オブジェクト名です。大文字小文字は区別されます。複数のビジネス・オブジェクトを指定するには、Customer;Item のように 名前をセミコロンで区切ります。終了句読点は必要ありません。次にコネクターを始動 するときに、これらのビジネス・オブジェクトのテンプレートが作成されます。

生成されるテンプレートには、出荷時のデフォルト値が含まれます。これらの値は、ビジネス・オブジェクト定義内のビジネス・オブジェクト属性用に設定されています。 属性用に出荷時のデフォルト値がない場合、無視される (CxIgnore を使用) か ブランクのままにされます (CxBlank を使用)。各単一カーディナリティーの 子ビジネス・オブジェクトに 1 つの子ビジネス・オブジェクトが作成され、複数カーディナリティー のビジネス・オブジェクトに 2 つの等しい子ビジネス・オブジェクトのインスタンスが 作成されます。

特定のビジネス・オブジェクトのテンプレートを生成するには、コネ クターを始動します。コネクターは、出力ファイルと同じファイルに テンプレートを書き込みます。この機能を使用しない場合は、GenerateTemplate プロパティーを空のままにします。

Copyright IBM Corp. 2004, 2005