ヘッダーをスキップ

Oracle Workflow APIリファレンス
リリース2.6.3.5

部品番号: B15622-01
前へ 次へ       目次 索引 用語集
         前へ  次へ          目次  索引  用語集

同期プロセス、非同期プロセスおよび強制同期プロセス

ワークフロー・プロセスには、同期プロセスまたは非同期のプロセスがあります。同期プロセスは、開始から終了まで中断しないで実行されるプロセスです。バックグラウンド・エンジンにすぐに渡される関数アクティビティなど、プロセスに含まれるアクティビティが遅延アクティビティでない場合、ワークフロー・エンジンはプロセスを同期的に実行します。ワークフロー・エンジンは、プロセスが完了するまで、ワークフローを開始したコール元のアプリケーションに制御を返しません。同期プロセスの場合、項目属性に書き込まれたプロセスの結果またはデータベースに直接書き込まれたプロセスの結果をすぐにチェックできます。 ただし、ユーザーはプロセスが完了するまで待機する必要があります。

非同期プロセスには、フローを中断するアクティビティが含まれます。このため、ワークフロー・エンジンは非同期プロセスの実行を待機します。非同期プロセスを要求するアクティビティには、遅延アクティビティ、応答を必要とする通知、ブロック・アクティビティ、待機アクティビティなどがあります。ワークフロー・エンジンがこれらのアクティビティを検出すると、無期限に待機するのではなく、監査表を適切に設定したうえでコール元のアプリケーションに制御を返します。ワークフロー・プロセスは、再開されるまで未完了の状態になります。このプロセスは、通知システム(ユーザーが通知に応答したときなど)、バックグラウンド・エンジン(遅延アクティビティが実行されたときなど)、またはビジネス・イベント・システム(イベント・メッセージが受信キューからデキューされ、ワークフロー・プロセスに送信されたときなど)によって再開されます。非同期プロセスの場合、ユーザーはプロセスが完了するまで待機する必要がなく、アプリケーションの使用を続行できます。 ただし、プロセスの結果は、プロセスが完了するまで確認できません。

ワークフロー・エンジンでは、通常の同期プロセスと非同期プロセスの他に、強制同期プロセスと呼ばれる、特別な種類の同期プロセスも使用できます。強制同期プロセスは、開始から終了まで1つのSQLセッションで完了し、データベース表に対して挿入または更新を行いません。そのため、強制同期プロセスの実行速度は、通常の同期プロセスよりもかなり速くなります。プロセスの結果は、完了時にすぐに確認できます。 ただし、監査証跡は記録されません。

強制同期プロセスは、監査証跡を記録する必要がなく、特定の結果をすばやく出力するときに使用します。たとえば、Oracle Applicationsで、複数の製品で勘定科目生成処理ワークフローを使用して、様々な表から導出された一連の連結セグメントによって、有効なフレックスフィールド・コードを生成する場合です。 この場合は、勘定科目生成処理ワークフローが強制同期プロセスとなり、ここで計算が実行され、完了したフレックスフィールド・コードが、コールしたアプリケーションに即時に戻されます。

強制同期プロセスを作成するには、プロセスの項目キーを#SYNCHまたはwf_engine.eng_synchに設定する必要があります。これにより、必要なWF_ENGINE APIをコールすると、#SYNCH定数が戻されます。強制同期プロセスでは、データベースに対して書込みを行わないため、#SYNCHなどの重複した項目キーを使用しても問題ありません。 ただし、プロセス定義は次の制限事項に従う必要があります。

注意: 強制同期プロセスでエラーが見つかった場合は、同期モードで一意の項目キーを使用してプロセスに戻り、ワークフロー・モニターまたはスクリプトwfstat.sqlを使用してエラー・スタックをチェックする必要があります。同期プロセスが正常終了しているのに、強制同期プロセスでエラーが見つかった場合は、前述の制約に違反していることが原因と考えられます。 『Oracle Workflow管理者ガイド』のWfstat.sqlに関する項を参照してください。

注意: プロセス・インスタンスの項目キーに使用できるのは、1バイトのキャラクタのみです。マルチバイトの値を含めることはできません。

関連項目

『Oracle Workflow管理者ガイド』の同期ワークフロー、非同期ワークフローおよび強制同期ワークフローに関する項


          前へ   次へ           目次   索引   用語集



Oracleロゴ
Copyright © 2003, 2004, Oracle. All rights reserved.