Groupmax Workflow - Library,Groupmax Workflow - Library ExtensionのAPI関数では,クライアントに正常リターンした場合,必ずGroupmax Workflow Server,Groupmax Workflow - Library Extensionにデータが反映されています。
このため,アプリケーションでGroupmax Workflow - Library,Groupmax Workflow - Library Extensionとデータベースシステムを連携させて使用する場合,自動的にデータベースと同期を取ってコミットすることができません。したがって,データベースとGroupmax Workflowのデータとの整合性に注意する必要があります。
処理例を次に示します。
案件投入の例1 1フェーズコミットのデータベースの場合
例えば上の図の場合,HwfPutCaseが成功していれば,案件は既にWorkflowサーバに生成されています。
1フェーズコミットだけのデータベースの場合では,HwfPutCaseの成功の後,かつ,コミット処理の前に障害が発生すると,データベースはロールバックされ,更新前の状態に戻ります。この場合,改めて案件の投入状況を調査し,投入が成功していれば,データベースの更新処理だけを行う必要があります。
案件投入の例2 2フェーズコミットのデータベースの場合
2フェーズコミットが可能なデータベースの場合では,HwfPutCase成功の後,かつ,コミット処理の前に障害が発生すると,データベースは凍結状態になります。この場合,案件の投入状況を調査し,それに合わせてデータベースの回復処理を行う必要があります。