Oracle® Fusion Middleware Oracle Business Process Managementモデリングおよび実装ガイド 11g リリース1 (11.1.1.6.2) B61409-05 |
|
![]() 前 |
![]() 次 |
この付録では、プロセス・ワークスペースで、プロセス所有者およびプロセス・ワークスペース管理者が実行中のプロセス・インスタンスのフローを変更する方法について説明します。また、プロセス・ワークスペースでインスタンスを移行する方法についても説明します。
この項の内容は次のとおりです。
実行中のプロセス・インスタンスのトークンを現在のアクティビティから別のものに移動できますが、次の構造的制約があります。
インスタンスは、同じプロセス・レベルで定義されているアクティビティにのみ移動できます。
インスタンスは境界イベントに移動できません。
境界イベントが連続しておらず、同じレベルで定義されている場合を除き、インスタンスを境界イベント・フローに移動することはできません。インスタンスをイベント・サブプロセスの内部または外部に移動することはできません。
インスタンスはゲートウェイのブランチの外部に移動できません。ただし、それをマージ・ゲートウェイに移動して、そのパスをマージできます。
実行中のプロセス・インスタンスのフローを変更するには:
「プロセス・トラッキング」タブ・ページから、プロセス・インスタンスを選択します。そのインスタンスの詳細が表示されます。
「アクション」リストから、「フローを変更して一時停止」を選択します。
1つのプロセス・インスタンスを選択した場合、図A-1の例に示すように、「フローの変更」ダイアログ・ボックスが表示されます。
デフォルトでは、「フローの変更」ダイアログ・ボックスにはプロセスおよびプロジェクト・データ属性のみが表示されます。いずれかのオープン・アクティビティを選択すると、そのオープン・アクティビティのコンテキストにおけるデータ・オブジェクトが表示されます。たとえば、オープン・アクティビティがサブプロセスである場合、「フローの変更」ダイアログ・ボックスにはサブプロセス・レベルのデータ・オブジェクトが表示されます。
「フローの変更」ダイアログ・ボックスで、次のいずれかまたはすべてを実行できます。
「オープン・アクティビティ」表に、実行中のプロセス・インスタンスの現在のアクティビティのリストを表示します。トークンを移動する新しいアクティビティを選択できます。「新規アクティビティ」リストには、トークンを有効に移動できる場所のみが表示されます。
図A-1に示すように、データ・オブジェクトのリストに相関キーを含めます。相関キーは、プロセスで相関が使用されている場合のみ表示されます。これを行うには、「相関キーの表示」を選択します。相関キーを選択した場合、そのキーを構成する相関プロパティが詳細セクションに表示されます。相関キーをリセットするには、「相関キーのリセット」を選択します。
相関キーの詳細は、第24章「相関を使用したビジネス・プロセスの通信」を参照してください。
図A-1に示すように、データ・オブジェクトのリストにプロセス・インスタンス属性を含めます。これを行うには、「インスタンス属性の表示」を選択します。特定のインスタンス属性の詳細を表示するには、その属性を選択します。変更できるインスタンス属性のみが編集可能として表示されます。その他は読取り専用です。
「コメント」フィールドにコメントを追加します。
次のいずれかをクリックします。
再開: トークンを別のアクティビティに移動し、プロセスを実行中の状態に戻します。
保存: プロセス・インスタンスを一時停止します。後で戻って、フローを変更したり再開できます。
取消: プロセス・インスタンスを最後に保存された状態に戻します。プロセスは引き続き実行中の状態になります。
注意:
|
同じコンポジット・リビジョンの新しい実装がデプロイされ、以前にデプロイされたコンポジットに、より新しいBPMプロセスの定義を持つコンポーネントがある場合、影響を受けるコンポーネントは一時停止状態になります。一時停止中のコンポーネントを再開するには、移行を保留している状態のプロセス・インスタンスを移行または一時停止します。
Oracle BPMでは、再デプロイ時にプロセスの既存の実行中のインスタンスを保持できます。これを行うには、Fusion Middleware Controlコンソールでのプロセスの再デプロイ中に、「実行中のインスタンスの保持」を選択します。再デプロイが成功した場合、インスタンスは移行を保留している状態になり、プロセス・コンポーネントは一時停止します。
この項では、移行を保留しているインスタンスを移行する方法と、一時停止していたコンポーネントを再開する方法について説明します。内容は次のとおりです。
次の2つの方法のいずれかで、プロセス・インスタンスを移行できます。
そのままの状態で移行: トークンを移動したりペイロードを更新せずにインスタンスを移行します。
変更して移行: 指定した新しいアクティビティにトークンを移動し、指定したとおりにペイロードを更新してからインスタンスを移行します。
プロセス・インスタンスを移行するには:
1つまたは複数のプロセス・インスタンスを選択します。「アクション」リストから、「移行」を選択します。「移行」ダイアログ・ボックスが表示されます。
このダイアログ・ボックスの要素は、選択によって変わります。「そのままの状態で移行」を選択した場合は、「コメント」フィールドのみが利用可能になります。1つのインスタンスを選択してから「変更して移行」を選択した場合は、図A-2に示すように「移行」ダイアログ・ボックスが表示されます。
「変更して移行」を選択すると、次のいずれかまたはすべてを実行できます。
「オープン・アクティビティ」表に、トークンが現在実行中のアクティビティを表示できます。トークンを移動する新しいアクティビティを選択できます。「新規アクティビティ」リストには、トークンを有効に移動できる場所のみが表示されます
注意:
|
データ・オブジェクトのリストに相関キーを含めます。これを行うには、「相関キーの表示」を選択してから、「データ・オブジェクト」タブで「ツリーで表示」を選択し、データ・オブジェクトを展開します。相関キーを選択した場合、そのキーを構成する相関プロパティが詳細セクションに表示されます。相関キーをリセットするには、「リセット」を選択します。
相関キーの詳細は、第24章「相関を使用したビジネス・プロセスの通信」を参照してください。
データ・オブジェクトのリストにプロセス・インスタンス属性を含めます。これを行うには、「インスタンス属性の表示」を選択してから、「データ・オブジェクト」タブで「ツリーで表示」を選択し、データ・オブジェクトを展開してから「インスタンス属性」を展開します。特定のインスタンス属性の詳細を表示するには、その属性を選択します。変更できるインスタンス属性のみが編集可能として表示されます。その他は読取り専用です。
「コメント」フィールドにコメントを追加します。
次のいずれかをクリックします。
保存: プロセスを、移行を保留している状態のままにします。
移行: プロセスを移行し、実行中の状態にします。
取消: プロセス・インスタンスを最後に保存された状態に戻します。
なんらかの原因で移行に失敗した場合、図A-3に示すように、「移行確認」ダイアログ・ボックスに原因が表示されます。
同じコンポジット・リビジョンの新しい実装がデプロイされ、以前にデプロイされたコンポジットに、より新しいBPMプロセスの定義を持つコンポーネントがある場合、影響を受けるコンポーネントは一時停止状態になります。一時停止中のコンポーネントを再開するには、移行を保留している状態のプロセス・インスタンスを移行または一時停止します。
移行を保留しているすべてのインスタンスを再開するときに明示的または自動的にコンポーネントを再開する場合を除いて、トークンを移動しても新しいタスク・インスタンスは作成されません。
図A-4の例に示すように、すべての一時停止中のコンポーネントは、「保留中コンポーネント」パネルに一覧表示されます。
一時停止中のコンポーネントを再開するには:
「保留中コンポーネント」パネルから、再開するコンポーネントを選択します。図A-5の例に示すように、「コンポーネントの再開」ダイアログ・ボックスが表示されます。そのコンポーネントで移行を保留しているインスタンスの数が表示されます。
「コンポーネントの再開」ダイアログ・ボックスで、移行を保留しているプロセス・インスタンスの状態を選択します。
そのままの状態で移行
一時停止中
そのままの状態で移行できないインスタンスがあるときに、コンポーネントを再開する必要がある場合は、「移行されないインスタンスを一時停止にする」を選択します。このオプションを選択せず、そのままの状態で移行できないインスタンスがある場合は、コンポーネントを再開できません。
「再開」をクリックします。コンポーネントが再開され、「保留中コンポーネント」パネルが表示されなくなります。「コンポーネント再開の確認」ダイアログ・ボックスに、結果と一時停止しているインスタンスの数が表示されます。新しいプロセス・インスタンスを開始できるようになり、リクエストが処理されます。
注意: コンポーネントが一時停止している場合でも、プロセス・インスタンスを開始できます。ただし、この場合、リクエストはキューに格納され、コンポーネントが再開されるまで処理されません。 |
プロセスを再デプロイする場合、設計時に「実行中のインスタンスの保持」オプションを選択すると、次のシナリオでは再デプロイに失敗します。
排他または包含ゲートウェイ・ペアが削除される
包含-複合ゲートウェイ・ペアが包含-包含ゲートウェイ・ペアに変更される
サブプロセスが削除されるか、そのループ特性が変更される
ユーザー・タスクがゲートウェイ・ペアの別のブランチまたはゲートウェイ・ペアの外部に移動される
アクティビティ・レベルが変更される。たとえば、アクティビティがサブプロセス内またはゲートウェイ構造内で移動される
サブプロセスまたはイベント・サブプロセスまたはコール・アクティビティが追加される
イベント・サブプロセスが連続しないタイプから連続するタイプに変更される
境界イベントが連続しないタイプから連続するタイプに変更される
境界イベントが追加される
ユーザー・タスクの実装が別のヒューマン・タスクを使用するように変更される
これらのシナリオで再デプロイが失敗することを望まない場合は、Oracle JDeveloperでcomposite.xml
ファイルを編集し、force.deploy
フラグを手動で設定する必要があります。force.deploy
をコンポーネント・レベルで設定するには、次のように入力します。
<component name="T4"> <property name="oracle.bpm.bpmn.force.deploy">true</property> <implementation.bpmn src="processes/T4.bpmn"/> </component>
force.deploy
をコンポジット・レベルで設定するには、図A-6の例に示すように、同じ.xml
要素をコンポジット要素の子として使用できます。