変更リクエストのサブミットに同期
以下の表のロボットは、それぞれオブジェクトイベント同期化ロボットに変換されました。
テンプレート
|
ロボット
|
変更調査プロセス
|
リクエストのサブミットに同期
|
変更分析プロセス
|
リクエストのサブミットに同期
|
変更解決案プロセス
|
リクエストのサブミットに同期
|
変更オーダープロセス
|
リクエストのサブミットに同期
|
変更アクティビティプロセス
|
リクエストのサブミットに同期
|
リリース 5.1 以前は、定義式の論理に基づく以下の操作が実行されていました。
1. 変更管理オブジェクトに基づく 1 つまたは 2 つのレベルの関連付けをナビゲーションすることによって、親の変更リクエストを決定します。
◦ 変更調査または変更解決案の場合は、ResearchedBy 関連付けをナビゲーションします。
◦ 変更オーダーの場合は、AddressedBy2 関連付けをナビゲーションします。
◦ 分析作業の場合、最初に DetailedBy 関連付けをナビゲーションして変更調査または変更解決案を取得し、次に ResearchedBy 関連付けをナビゲーションします。
◦ 変更アクティビティの場合は、最初に IncludedIn2 関連付けをナビゲーションして変更オーダーを取得し、次に AddressedBy2 関連付けをナビゲーションします。
2. 変更リクエストの現在のライフサイクル状態を指定します。
3. 「複雑度」属性 (「リクエストのサブミットに同期」の場合のみ) に保存されている現在の値を指定します。
4. ステップ 2 および 3 に基づき、この時点にとどまるか、またはこのワークフローで予想されるいくつかの後続アクティビティのいずれかに進みます。
この論理には以下の変更が加えられました。
• 各ワークフローに parentChangeRequest という新しいプロセス変数を導入しました。これは、親のリクエストを含み、「開始」の遷移定義式によりワークフローが開始されると初期化されます。
• 以下の図は、リリース 5.1 以前に存在した定義式同期化ロボットを示します。
このロボットは、条件付きルータ、次に同期ロボットとなりました。オブジェクトイベント同期化ロボットに変更された新しいロボットを以下の図に示します。
オブジェクトは、前述の新しい変更リクエストのプロセス変数です。イベントはいずれの場合も「STATE CHANGE」(状態変更) です。条件付きルータには、オブジェクトイベント購読ロボットの定義式とまったく同じ論理が含まれます。この条件付きルータの目的は、すでにこの状態に到達しているかどうかをただちに確認することです。これにより、同期化ロボットのインスタンス化以前にこの状態を達成するという競争状態を回避できます。(両方の図は、parentChangeRequest 変数がすでに初期化済みであることを想定しています)。
• オブジェクトイベント同期化ロボットおよび条件付きルータの定義式は、データベースに繰り返しアクセスして親の変更リクエストを指定する代わりに、ワークフロー変数 parentChangeRequest ディレクトリを直接使用するように変更されました。
これらの変更により、以下の点でパフォーマンスが向上しました。
• 変更リクエストをワークフロー変数内に保存した結果、同期化定義式の実行中の照合時間が短縮されました。
• 変更リクエストの状態が変更された後のみ同期化定義式が実行されます。結果として、定義式を実行するたびに適切な状態に到達している可能性が非常に高くなりました。