| ワークフローのデータタイププログラミングのベストプラクティス | |
ここでは、ワークフローのデータタイプを使用するときの、プログラミングのベストプラクティスの確立について説明します。
最初に考慮すべき重要な点は、ワークフロー データ タイプを単独で使用する場合、GeneXus では自動でコミットは行われないということです。つまり、ワークフロー データ タイプは使用時にコミットされないため、ワークフロー データ タイプを使用して更新するたびに、すべての変更内容をコミットする必要があります。また、ワークフロー データ タイプを使用してコミットするときは、変更内容がアプリケーションに正しく適用されるように、LUW について考慮することも非常に重要です。
-
ワークフロー データ タイプをプログラミングして使用するときのデータの整合性を保証するため、アプリケーションと同じ LUW を使用する必要があります。
例: トランザクションの入力後にアクションを実行する場合、このアクションを After TRN イベント内にプログラミングするのではなく、イベントの LUW 内に格納します。
-
また、バッチタスク、条件、マルチインスタンスのエクスプレッションプロシージャー、またはイベントハンドラーからコミットすることはできません。このような場合、ワークフロー データ タイプの使用元がコミットを実行します。これにより、障害が発生した場合に、実行済みのすべてのアクションのロールバックが実行されることが保証されます。
例: WorkflowWorkitem データタイプを完了するためにワークフロー データ タイプを使用します。この Workitem に定義されたアプリケーションがコミットする場合、"workitem.complete()" メソッド以降のアクション (存在する場合) は、同じ LUW 内には定義されません。ほとんどの場合、これは誤りです。
|
|
|
|
|