JText コネクターは、テキスト・ファイルまたはバイナリー・ファイルの交換を通じて アプリケーションと通信します。このコネクターは、ビジネス・オブジェクトを処理する際に、以下の基本タスクを実行します。
このセクションでは、以下のタスクについて説明します。また、データ・ハンドラー の処理がどのように行われるか、および JText コネクターが動詞をどのように処理するかについても説明します。
JText コネクターは、他のコネクターとは異なる方法でイベント を処理します。JText コネクターは、サード・パーティーのアプリケーションに 依存するコネクターと異なり、イベント表を持ちません。その代わりに、コネクターはイベント・ディレクトリー をイベント表として使用します。
以下に、JText コネクターがイベントを処理する ときに行う操作を示します。
JText コネクターは、ファイル名に基づき、アルファベット順にイベント・ファイルを処理します。JText コネクターは、構成によって、イベント・ディレクトリー内の すべてのファイルを選択したり、指定された拡張子が付いたファイルのみを 選択できます。詳細については、複数のイベント・ファイルまたは複数のイベント・ディレクトリーの指定を参照してください。SortFilesOnTimestamp プロパティーにより、JText コネクターは、イベント・ファイルの最も古いものから最も新しいものまでを、ロケーションに関係なく、タイム・スタンプの順に処理することができます。つまり JText コネクターは、別々のディレクトリーに格納されているファイルを、それぞれのタイム・スタンプによって日時順に処理します。詳細については、SortFilesOnTimestampを参照してください。
PollQuantity プロパティーは、コネクターが任意のポーリング中に統合ブローカーに 通知できるビジネス・オブジェクトの最大数を 指定します。例えば、PollQuantity の値を 5 に設定し、コネクターがポーリングを行っているディレクトリー内に 2 つのファイルが存在すると想定します。最初のファイルにはビジネス・オブジェクト が 4 つあり、2 つ目のファイルには 12 のビジネス・オブジェクトがあるとします。コネクターは 1 度目のポーリング呼び出しのときに以下の手順を実行します。
コネクターは 2 度目のポーリング呼び出しのときに、2 つ目のファイルの 2 から 6 番目のビジネス・オブジェクトを送信します。コネクターは 3 度目のポーリング呼び出しのときに、2 つ目のファイルの 7 から 11 番目のビジネス・オブジェクトを送信します。コネクターは 4 度目の ポーリング呼び出しのときに、最後のビジネス・オブジェクトを送信します。コネクターは処理が完了するごとに 各ビジネス・オブジェクトをアーカイブします。ファイル内のビジネス・オブジェクトの いずれかの処理が失敗した場合は、コネクターは .orig 拡張子を付けてファイル全体をアーカイブします。
詳細については、以下を参照してください。
図 3 はイベント通知操作を 表します (図形の数字は、上記で説明した手順とは対応して いません)。
JText コネクターは、アーカイブを行うように構成されている場合には、イベント処理の完了後、1 つのビジネス・オブジェクトを表しているストリングまたはバイト配列を、ローカル・アーカイブ・ディレクトリー内のファイルに書き込みます。コネクターは 下線 (_)、タイム・スタンプ、およびイベント状況に応じた ファイル拡張子を持つ名前をそのファイルに 付けます。引き渡されるデフォルトの拡張子は、success、partial、unsub、orig、および fail です。下線とタイム・スタンプは、ファイル名と ファイル拡張子の間に追加されます。
タイム・スタンプでは、システム時刻の年、月、日、時、分、秒、ミリ秒 がそれぞれ下線で区切られています。アーカイブされたファイル名は常に固有なので、コネクターが既存のファイルを同じ名前のファイルで上書きすることは ありません。アーカイブされたファイル名の形式を以下に示します。
BOName_YYYY_MM_DD_HH_MM_SS_sss.[extension]
例えば、コネクターは、Customer.in という名前のファイルを正常に処理したときに、Customer_2003_11_15_18_24_59_999.success というファイル名に変更します。
JText コネクターは、フォーマット・エラーが発生したり、統合ブローカーへの ビジネス・オブジェクトの送信に失敗した場合は、そのビジネス・オブジェクトを .fail ファイルにアーカイブします。また、コネクターがサブスクライブしない場合は、JText コネクターは、拡張子が .unsub のファイルに ビジネス・オブジェクトをアーカイブします。ユーザーが上記のアーカイブ・ファイル をチェックして、フォーマット・エラーがあればそれを訂正したり、ビジネス・オブジェクト をサブスクライブする処理を開始したら、次にこれらのアーカイブ・ファイルの中の ビジネス・オブジェクトを再サブミットしてください。
アーカイブに関する詳細は、イベント・アーカイブの指定を参照してください。
JText コネクターは、イベント表やアーカイブ表を 使用しないためイベント状況を更新する場合はファイル拡張子を変更します。表 1 は、JText アダプターが、イベント・ファイルとアーカイブ・ファイル用に引き渡すデフォルトのファイル拡張子の値を示しています。
ファイル・ タイプ | イベント状況/説明 | デフォルトのファイル拡張子 | 引き渡されるデフォルト・ディレクトリー |
---|---|---|---|
イベント | new |
in |
Linux:
/tmp/JTextConn/Default/Event Windows: C:¥temp¥JTextConn¥Default¥Event i5/OS: デフォルトなし |
アーカイブ | success (イベント・ファイル内の すべてのビジネス・オブジェクト が正常に処理された場合は、このファイルにはすべてのビジネス・ オブジェクトが含まれます) |
success |
Linux:
/tmp/JTextConn/Default/Archive Windows: C:¥temp¥JTextConn¥Default¥Archive i5/OS: デフォルトなし |
アーカイブ | success (イベント・ファイル内の一部の ビジネス・オブジェクトの 処理に失敗した場合は、このファイルには正常に 処理されたビジネス・オブジェクト のみが含まれます) |
partial |
Linux:
/tmp/JTextConn/Default/Archive Windows: C:¥temp¥JTextConn¥Default¥Archive i5/OS: デフォルトなし |
アーカイブ | unsubscribed |
unsub |
Linux:
/tmp/JTextConn/Default/Archive Windows: C:¥temp¥JTextConn¥Default¥Archive i5/OS: デフォルトなし |
アーカイブ | entire original event file (このファイルは処理に失敗したビジネス・オブジェクトがある、またはアンサブスクライブされたビジネス・オブジェクトがある場合にのみ作成される。ただし、このイベント・ファイルにビジネス・オブジェクトが 1 つしか含まれていない場合も同様。) |
orig |
Linux:
/tmp/JTextConn/Default/Archive Windows: C:¥temp¥JTextConn¥Default¥Archive i5/OS: デフォルトなし |
アーカイブ | fail |
fail |
Linux:
/tmp/JTextConn/Default/Archive Windows: C:¥temp¥JTextConn¥Default¥Archive i5/OS: デフォルトなし |
出力 | out |
out |
Linux: /tmp/JTextConn/Default/Out
Windows: C:¥temp¥JTextConn¥Default¥Out i5/OS: デフォルトなし |
新しいファイル拡張子、イベント、ディレクトリー、および出力ディレクトリー の指定に関する詳細については、表 8 を参照してください。
コネクターは、サービス呼び出し要求を処理するとき、ビジネス・オブジェクトを出力ストリングまたは出力バイト配列に変換し、ファイルに書き込みます。
ただし、コネクターはビジネス・オブジェクトを変換する前に、そのビジネス・オブジェクトが動的なファイルの命名のために構成されているかどうかについて 判別します。これは、ビジネス・オブジェクトに動的子メタオブジェクトが含まれているかどうかで判別します。このケースでは、コネクターは動的に出力 ファイルの名前を付けたり、コネクターが生成する出力ファイルの名前を 戻したりします。
このセクションでは、以下の場合のサービス呼び出し要求処理について説明します。
データ・ビジネス・オブジェクトが動的ファイルの命名を指定しない 場合は、コネクターはサービス呼び出し要求を処理するために以下の操作を 実行します。
cw_mo_JTextConfig = DynChildMOAttrName
要求を処理するようにコネクターを構成するための情報は、要求処理の指定を参照してください。
データ・ビジネス・オブジェクトに動的子メタオブジェクトが含まれる場合は、コネクターはサービス呼び出し要求を処理するために以下の操作を 実行します。
cw_mo_JTextConfig = DynChildMOAttrName
図 4 に、JText コネクターが、統合ブローカー InterChange Server Express から宛先アプリケーションへの要求を処理するときの、JText コネクターのコンポーネントを示します。
コネクターは、データ・ハンドラー・インスタンスを使用して、ビジネス・オブジェクトと、イベント・ファイルから読み取ったストリングまたはバイト配列との間で、変換を行います。データ・ハンドラーはエラーの報告やトレースの提供も行います。
コネクターはトップレベルの JText メタオブジェクト内の EventDataHandler 属性と OutputDataHandler 属性の値に基づいてデータ・ハンドラーのインスタンスを作成します。これらの属性は、コネクターがデータ・ハンドラーのインスタンスを作成するために使用する データ・ハンドラーのメタオブジェクトを識別します。データ・ハンドラーのメタオブジェクト は引き渡されたデータ・ハンドラー、またはカスタム・データ・ハンドラーを表せます。詳細については、「データ・ハンドラー・ガイド」を参照してください。
コネクターは、DataProcessingMode メタオブジェクトの設定を基に、インターフェース (ストリングまたはバイト配列) を判別します。このメタオブジェクトの詳細については、表 8 を参照してください。
コネクターは構成情報を受け取ると、以下の手順を 実行します。
データ・ハンドラーの作成と構成が完了すると、コネクターは ビジネス・オブジェクトに、またはビジネス・オブジェクトからデータの変換を行う ためにデータ・ハンドラー内の適切なメソッドを呼び出します。
getBO(String) (または getBO(byte[])) メソッドと getStringFromBO() (または getByte ArrayFromBO()) メソッドは、それぞれ、トップレベルの親のビジネス・オブジェクトとすべての子ビジネス・オブジェクトからなるビジネス・オブジェクト階層全体を送信するか、これらを受信するかのどちらかです。
いずれの場合も、データ・ハンドラーはすべてのメタオブジェクト・データ をフィルターに掛けて、ビジネス・オブジェクト固有のデータのみを受け渡し ます。本製品で提供されている各データ・ハンドラーは、この機能を備えています。カスタム・データ・ハンドラーを使用する場合は、この機能を備えていなければなりません。
JText コネクターは要求を処理する際に、1 つの動詞を他の動詞と分けて処理しません。コネクターは 動詞がビジネス・オブジェクトと関連付けられているかどうかにかかわらず、更新、検索、削除を行わずにファイルに書き込みます。
JText コネクターは要求を処理する際に、以下の条件が true の場合に CxIgnore の値を持つすべての属性をそれらのデフォルト値に 設定します。