3.9.8 ドメイン間連携機能の運用上の注意事項

ここでは,ドメイン間連携機能を運用する場合の注意事項とその対処について説明します。また,対処する場合に必要な,各ユーザ環境に合わせたシステム定義の設定とユーザ運用について説明します。

<この項の構成>
(1) 運用上の注意事項
(2) システム定義とユーザ運用
(3) 連携管理IDと要求番号指定によるメール再送時の注意
(4) Flowmate/Development Kitを使用して作成したアプリケーションプログラムについて

(1) 運用上の注意事項

ドメイン間連携機能(Groupmax Workflow Server - Connection)ではE-Mailを使用して連携情報データを転送します。そのため,次の点に注意する必要があります。

 

次に,これらの注意点の対処について説明します。

(a) メールの順序性に対する対処

送信時の順番を確認する情報を管理し,受信したメールの順序が不正な(メール追い越しが発生した)場合,そのメールは再スケジュールされ,他のメールの受信処理後に再度処理します。

この再処理を一定回数(環境定義のドメイン間連携メール送受信リトライ回数)繰り返してもメール追い越し状態が改善されない場合,エラーメッセージをイベントログに出力し,その受信メールを保留状態にします。

保留状態になった場合,送受信エラー要求再処理コマンド(WFifrtry)で再処理要求すると,再度そのメールを処理できます。

(b) メールの紛失に対する対処

メールの紛失に対する対処として,メール再送機能を提供します。メール再送には次の二つの方法があります。

コマンドでのメールの再送
Groupmax Workflow Server - Connectionでは,応答メールが受信できない場合にそれに対応する要求メールを再送するための,要求再送コマンド(WFifrsnd)を提供しています。
要求再送コマンドの実行によるメールの再送信は,一定回数(環境定義のドメイン間連携再送回数)繰り返されます。それでも応答メールが受信されない場合は,エラーメッセージをイベントログに出力し,再送を中止します。この場合は障害が発生したか,又は応答メールが紛失した可能性があるのでイベントログを参照して障害を取り除いてください。その後,要求再送コマンドで再度送信してください。
要求再送コマンドの使用方法については,「4.3運用コマンドの文法」のWFifrsnd(要求再送コマンド)の項を参照してください。
ドメイン間連携サーバ環境定義ファイルの設定によるメールの自動再送
Groupmax Workflow Server - Connectionでは,応答メールを受信していない場合に,それに対応する要求メールを自動的に再送する機能を提供しています。この機能は,ドメイン間連携サーバ環境定義ファイルでの設定に従って動作します。ドメイン間連携サーバ環境定義ファイルの設定については,「2.4.4ドメイン間連携機能の定義ファイルの作成」を参照してください。
(c) データの切り捨て・改変に対する対処

メール中にデータの内容をチェックするデータを入れて送信し,受信時にそのチェックデータを基にデータの切り捨て・改変をチェックします。このチェックで不正を検知した場合,エラーメッセージをイベントログに出力し,送信元にエラーが発生したことを通知するメールが送信されます。

この場合,「(b)メールの紛失に対する対処」と同様に,メール再送機能を使用して対処してください。

(d) メールの重複に対する対処

連携間でメールの送受信状態をシステムで保持し,メールが重複して送付されたかを判断し,処理済みのメールを受信した場合,無効なメールとして破棄します。

また,メールの処理期限を設定して,送信してから処理可能な時間以内に受信していない場合,エラーメッセージをイベントログに出力し,送信元にエラーが発生したことを通知するメールが送信されます。

この場合,「(b)メールの紛失に対する対処」と同様に,メール再送機能を使用して対処してください。

(e) その他

ドメイン間連携機能では,送信したデータと受信したデータをそれぞれ送信ログ・受信ログとして保持します。これらのログにより,連携間での整合性をチェックできるようにします。

(2) システム定義とユーザ運用

「(1)運用上の注意事項」に示した対処をするために,御使用の環境に合わせたシステム定義とユーザ運用を行う必要があります。この場合のシステム定義は,ドメイン間連携サーバ環境定義ファイルに定義します。ドメイン間連携サーバ環境定義ファイルに指定できる値については,「2.4.4ドメイン間連携機能の定義ファイルの作成」を参照してください。

(a) システム定義の設定

ドメイン間連携サーバ環境定義ファイルを次に示すように設定します。

ドメイン間連携再送インターバル時間
ドメイン間連携再送インターバル時間は,要求メール送信後応答メールが返却されない場合に自動的に要求メールを再送する間隔です。
ここで指定した値は,メールの自動再送時,及び要求再送コマンド(WFifrsnd -sの形式)によるメール再送時に再送対象とするメールを決定するための値となります。自動再送の機能及びWFifrsnd -sは,要求メール送信後,ドメイン間連携再送インターバル時間を経過しても応答メールが届かないメールを再送の対象とするためです。
したがって,ドメイン間連携再送インターバル時間には,御使用の通信環境から判断して,ドメイン間をメールが往復するのに必要な時間よりも大きい値を設定してください。
ドメイン間連携再送回数
ドメイン間連携再送回数は,要求メール送信後応答メールが返却されない場合に自動的に要求メールを再送する回数です。
この値は,連携先ドメインでサーバが停止している場合や,通信環境の不正によって応答メールが届かない場合に,不要なメールの再送を防止するための値になります。再送回数がドメイン間連携再送回数を超えたメールは,メールの自動再送,及び要求再送コマンド(WFifrsnd)の再送対象から除外されるためです。
したがって,ドメイン間連携再送回数には,御使用の通信環境から判断して,通信環境の不正などの場合にそれ以上再送しても応答メールが届かないと考えられる回数を設定してください。
ドメイン間連携再送メール監視間隔
ドメイン間連携再送メール監視間隔は,メールを自動再送する場合の,再送する必要がある要求メールの有無を監視する間隔です。ドメイン間連携機能起動後,指定された時間ごとに,再送する必要がある要求メールの有無をチェックし,該当要求メールがあった場合自動的に再送します。
ドメイン間連携メール処理期限
ドメイン間連携メール処理期限は,要求メールの送信から一定時間経過したメールを無効とする期限です。
この値は,要求メールの受信が使用の通信環境から判断して不当に長く時間がかかっている場合に,そのメールを不要メールとして削除する時期の基準となる値です。メール到着までの時間が不当に長い場合,連携元のドメインで要求メールを再送している可能性があり,この場合,Groupmax Workflow Server - Connectionは,要求メールの重複を防ぐために,ドメイン間連携メール処理期限を超えて届いた要求メールを削除します。したがって,ドメイン間連携メール処理期限には,連携先のドメインから連携先のドメインにメールが届くのに必要な時間より大きな値を設定する必要があります。
 
ドメイン間連携メール処理期限を変更する場合,連携する全サーバに対して連携中の案件がないことを未応答要求表示コマンドを「WFifscon -a」の形式で実行して確認してください。確認したら,Groupmax Workflow Server - Connectionを停止してから変更してください。WFifscon -aを実行して要求が何も表示されていなければ,連携中案件はありません。
ドメイン間連携管理情報最大保存期間
ドメイン間連携では,既に送信した要求メールを,自動再送や要求再送コマンド(WFifrsnd)によって再送することで,要求メールが重複する場合があります。Groupmax Workflow Server - Connectionは,要求メールの重複をチェックし,不要な要求メールを削除するための管理情報を持っています。この管理情報をドメイン間連携管理情報といい,ドメイン間連携管理情報最大保存期間はこの管理情報を保存する期間です。
ドメイン間連携管理情報最大保存期間は次の計算式によって求めることができます。
 
 ドメイン間連携管理情報最大保存期間(単位:分)
 =Max(R×(連携相手のドメイン間連携再送回数+1))+
 自サーバのドメイン間連携再送メール処理期限
注※
Rは,連携先でのドメイン間連携再送インターバル時間とドメイン間連携再送メール監視間隔とを比べて大きい方の値を表します。
 
ドメイン間連携管理情報最大保存期間の指定値は,ワークフローデータベースのディスク占有量(WF_send_area)及びグローバルキャッシュパラメタに影響するため,必ず指定値を見積もってください。見積もるための計算式については,「付録E ディスク占有量の計算式」を参照してください。
また,連携相手のドメイン間連携再送インターバル時間やドメイン間連携再送回数が変更された場合,及び自サーバのドメイン間連携再送メール処理期限を変更した場合は,必ずドメイン間連携管理情報最大保存期間を再設定してください。
ドメイン間連携送受信ログ保存形式
ドメイン間連携送受信ログ保存形式は,ドメイン間連携機能で取得する送受信ログの保存形式です。保存形式には循環上書き保存によって,3メガバイトまで保存する形式と,全データを保存する形式があります。ユーザの運用形態に応じて設定してください。デフォルトは循環上書き保存です。
システム定義で共通の注意事項
ドメイン間連携機能では,連携相手サーバの時刻と自サーバの時刻を用いて処理されます。したがって,連携する全サーバの時刻(標準時刻)を合わせる必要があります。
(b) ユーザ運用

システム管理者は,定期的にイベントログを参照し,再送回数を超えたメールがないかを確認してください。再送回数を超えた場合,障害が発生している場合があるので,その他(メールシステムを含む)のイベントログなどを参照し障害を取り除いてください。その後,要求再送コマンド(WFifrsnd)を使用して該当メールを再送してください。

また,システムに異常が見当たらない場合,応答メールが紛失している場合があります。この場合は,連携先と連携元で未応答要求表示コマンド(WFifscon)を実行し,双方の連携状態の情報を出力して突き合わせてください。その後,要求再送コマンド(WFifrsnd)を使用して該当応答メールを再送してください。

(3) 連携管理IDと要求番号指定によるメール再送時の注意

メール再送コマンド(WFifrsnd)を連携管理IDと要求番号を指定して実行する場合(WFifrsnd -c XXX -m XXXの形式),必ず次の(a)~(e)の手順で,案件の遷移状態を確認して実行してください。確認しないで実行した場合,連携先での案件の重複や連携管理情報の残留が発生する場合があります。

(a) 遷移しない案件の特定

Groupmax Workflow Monitorで,直列連携ノード又は階層連携ノードに不当に長時間滞留している案件を特定してください。また,その案件でエラーが発生していないかイベントログで確認してください。イベントログでエラーが表示されている場合,その対処方法に従って対処してください。この時点で連携管理IDと要求番号指定によるメール再送コマンド(WFifrsnd)を実行する場合は,ここで対処が終わった案件に対してだけ実行してください。

(b) 案件の連携状態の確認

「(a)遷移しない案件の特定」で確認した結果,イベントログにエラーが表示されていない案件について,次の手順で連携状態を確認してください。

  1. 未応答要求表示コマンド(WFifscon)を「WFifscon -a」の形式で実行して,その結果リストを出力する
  2. 1.のリストから,「(a)遷移しない案件の特定」で特定した,遷移しない案件のワークIDと同じ連携元ワークIDの案件を抽出する
  3. 2.で抽出した案件を,表3-12を基に,連携状態ごとに分類する

    表3-12 連携元の連携状態

    連携種別要求種別状態コード連携状態
    直列連携go0直列-投入要求未送信
    1直列-投入要求応答待ち
    4stpcの状態コードに依存
    stpc0直列-終了要求未送信
    1直列-終了要求応答待ち
    階層連携call0階層-投入要求未送信
    1階層-投入要求応答待ち
    4階層-戻り要求待ち
    retn2階層-戻り要求応答未送信
    3stpcの状態コードに依存
    stpc0階層-終了要求未送信
    1階層-終了要求応答待ち
(c) 連携元での対処

(b)で分類した状態を基に,表3-13に従って対処してください。

連携先での確認の結果によっては,連携元でさらに対処が必要になる場合があります。この場合,表3-14に従って対処してください。

表3-13 連携元での対処(その1)

連携元状態対処
直列-投入要求未送信
直列-終了要求未送信
階層-投入要求未送信
階層-戻り要求応答未送信
階層-終了要求未送信
メール送信が終了していません。送受信要求表示コマンド(WFifsreq)で該当要求がエラーになっていないか確認し,エラーになっている場合,エラー要因を取り除いた後,送受信エラー要求再処理コマンド(WFifrtry)で再処理してください。
直列-投入要求応答待ち
直列-終了要求応答待ち
階層-投入要求応答待ち
階層-戻り要求待ち
階層-終了要求応答待ち
要求を送信していますが応答を受信していません。連携管理ID・要求番号・相手連携管理ID(「****」の場合があります)を連携相手に連絡し,「(d)連携先での案件の連携状態の確認」の説明に従って,連携相手に連携状態の確認を依頼し,必要な場合は対処を依頼してください。
連携先の連携状態の確認の結果,連携元状態と連携先状態の関係が表3-14に示す対応になった場合,連携元で対処が必要です。

表3-14 連携元での対処(その2)

連携元状態連携先状態連携元での対処
直列-投入要求応答待ち連携要求未受信要求再送コマンド(WFifrsnd)でgoの要求を再送する。
直列-終了要求応答待ち直列-投入要求応答送信済み要求再送コマンド(WFifrsnd)でstpcの要求を再送する。
階層-投入要求応答待ち連携要求未受信要求再送コマンド(WFifrsnd)でcallの要求を再送する。
階層-終了要求応答待ち階層-戻り要求応答待ち要求再送コマンド(WFifrsnd)でretnの要求を再送する。
階層-終了要求待ち要求再送コマンド(WFifrsnd)でstpcの要求を再送する。
(d) 連携先での案件の連携状態の確認

「(c)連携元での対処」の結果,連携先での確認が必要な案件について,連携管理ID・要求番号・相手連携管理IDを基に,次の手順で連携状態を確認してください。

  1. 連携先での確認が必要な案件について,連携管理IDが分かっている場合は,未応答要求表示コマンドを「WFifscon -c」の形式で実行する
    連携管理IDが「****」の場合は,「WFifscon -a」の形式で実行して,連携元から指定された連携管理IDと,相手連携管理ID(WFifscon -aの実行により出力されます)が一致する案件を抽出する
  2. 1で抽出した案件を,表3-15を基に,連携状態ごとに分類する

    表3-15 連携先の連携状態

    連携種別要求種別状態コード連携状態
    直列連携go0直列-投入要求未処理
    2直列-投入要求応答未送信
    3直列-投入要求応答送信済み
    stpc0直列-終了要求未処理
    2直列-終了要求応答未送信
    3直列-終了要求応答送信済み
    階層連携call0階層-投入要求未処理
    2階層-投入要求応答未送信
    3階層-投入要求応答送信済み
    retn1階層-戻り要求応答待ち
    4階層-終了要求待ち
    stpc0階層-終了要求未処理
    2階層-終了要求応答未送信
    該当連携管理情報なし連携要求未受信
(e) 連携先での対処

(d)で分類した状態を基に,表3-16に従って対処してください。

表3-16 連携先での対処

連携元状態連携先状態連携先での対処
直列-投入要求未処理
直列-投入要求応答未送信
直列-終了要求未処理
直列-終了要求応答未送信
階層-投入要求未処理
階層-投入要求応答未送信
階層-終了要求応答未送信
階層-終了要求未処理
メールは受信していますが,受信処理に失敗している状態です。送受信要求表示コマンド(WFifsreq)で該当要求がエラーになっていないか確認し,エラーになっている場合,エラー要因を取り除いた後,送受信エラー要求再処理コマンド(WFifrtry)で再処理してください。
直列-投入要求応答待ち直列-投入要求応答送信済み要求再送コマンド(WFifrsnd)でgoの要求を再送する。
直列-終了要求応答待ち直列-終了要求応答送信済み要求再送コマンド(WFifrsnd)でstpcの要求を再送する。
階層-投入要求応答待ち階層-戻り要求応答待ち要求再送コマンド(WFifrsnd)でcallの要求を再送する。
階層-戻り要求待ち階層-投入要求応答送信済み要求再送コマンド(WFifrsnd)でretnの要求を再送する。

(4) Flowmate/Development Kitを使用して作成したアプリケーションプログラムについて

Flowmate/Development Kitを使用して作成したアプリケーションプログラムで,案件を操作(投入・遷移)した場合,案件がドメイン間で連携しないでエラー案件となる場合がありますので,注意してください。