ロボット実行モード
Kofax RPA Design Studio は、デザイン時に以下の 2 つのロボット実行モードをサポートします:最小実行 (ダイレクト) およびスマート再実行 (フル) です。このトピックでは、この 2 つのモードについて詳しく説明します。
新しいロボットの作成時に、新規ロボット ウィザードで実行モードを選択できます。実行モードを表示または変更するには、ロボットの設定のデザイン モード タブを使用します。選択されたロボットの実行モードは、デザイン モードでの実行にのみ影響し、デバッグ モードや RoboServer の実行には影響しません。
スマート再実行 (フル)
スマート再実行モードにおいて、デザイン モードでのロボットの実行方法は、実行時またはデバッグ モードで実行される方法と同様です。このモードは新規ロボットのデフォルトのモードです。
一例として、以下のロボットでステップ C をクリックすると、値判定ステップでテストが失敗した場合に、トライ構造の一番下の分岐を通ってロボットが自動的に実行されます。
![スマート再実行ステップ](../../All_Images/full_ex_try_step.png)
[値判定] ステップの青色の感嘆符アイコンは、[次の代替手段を試行] へのエラー処理がトリガーされたことを示します。
ループ内のステップをクリックすると、繰り返しステップによって、選択したイテレーションまでを含むすべてのステップが実行されます。
以下の例では、ステップ C をクリックするとループのイテレーションが 3 回実行されます。
![スマート再実行の例](../../All_Images/full_ex_loop.png)
さらに、ループの下の分岐のステップをクリックすると、ループのすべてのイテレーションが実行されます。例として、以下のロボットをご覧ください。
![スマート再実行の例](../../All_Images/full_ex_branch.png)
ステップ D をクリックすると、ステップ A の実行と ステップ B および C の繰り返し (ループ B の反復回数と同じ回数) が実行され、最終的にステップ D で停止します。
スマート再実行モードが特に便利なのは、グローバル変数で作業する場合や、正確な変数に応じたステップがロボット内で後続する場合などです。このモードは、ウェブサービス (REST または SOAP) 呼び出しのペイロードを構築したり、Excel ドキュメントを作成したりするのに便利です。XML または Excel ドキュメントはグローバル変数に埋め込まれますが、そのコンテンツはループの実行中に追加されます。ドキュメントを生成するループの下の分岐で、ロボットはドキュメント全体を取り出し、それをウェブ サービスまたは同等のサービスにポストします。この場合、ドキュメントが確実に埋め込まれているため、デザイン モードでウェブ サービスの呼び出しをテストする場合に、スマート再実行モードによるロボットの構築が容易となります。
スマート再実行では、ウェブサイト、データベース、またはウェブ サービスによる外部とのやりとりがキャッシュされます。実行結果を格納するための前提条件 (ロードする URL を決定する変数など) が変更されるまで、キャッシングによってステップの再実行が回避されます。スマート再実行モードには、最小実行モードよりも高いメモリ フットプリントがあります。
スマート再実行モードは、Desktop Automation ワークフローをサポートするモードです。Desktop Automation ステップを最初に実行すると、戻された変数の状態がキャッシュされます。キャッシュされた変数は、Desktop Automation ステップが更新された場合も更新されません。Desktop Automation ステップを変更しても、キャッシュされた変数の状態は更新されません。Desktop Automation ステップから戻された変数値を更新するには、ロボット全体を再実行します。
外部と重要なやりとりを行う大型ロボットや長時間稼働するロボットには、スマート再実行モードはお勧めしません。こうしたロボットでは、実行時間が長くなり、メモリの使用量が高くなり過ぎてしまいます。
ロボットのデザイン時の実行時間を短縮するために、Design Studio で分岐を右クリックしてロボットを無効にすることもできます。デバッグ モードでも同様の設定を適用することができます。さらに、選択したイテレーションで指定された条件に基づいて、分岐を無効にすることもできます。
![スマート再実行の例](../../All_Images/edge_configuration.png)
また、ロボットの設定の [デザイン モード] タブには、[外部の再実行を回避] オプションがあります。このオプションにチェックを入れると、前の実行でキャッシュされた結果が使用できない場合でも、ステップが再実行されないようにすることができます。この場合、ロボットの編集は可能ですが、作業対象となる現在の入力状態は表示されません。このオプションは、外部環境とのやりとりの再実行を避ける場合にのみ使用します (たとえば、再実行によりパートナーのシステムでデータに不整合が生じる、または重複が発生するといった場合など)。
最小実行 (ダイレクト)
最小実行 (ダイレクト) モードは、従来の Design Studio 実行モードです。9.5 以前のバージョンで記述されたロボットはすべてこの実行モードを使用します。
ロボット グラフの最小実行モードでステップをクリックすると、ダイレクト パスにない以前の分岐とイテレーションをスキップし、Design Studio はそのステップへの最短のダイレクト パスを選択します。
次の例を考えてみましょう。
![](../../All_Images/direct_ex_branch.png)
通常、ロボットは実行時にステップ E へ到達する前にステップ A、B、C および D を実行します。ただしデザイン モードでは、ステップ E をクリックするとステップ A および D の実行のみが行われます。
同様に、ステップがループ内にある場合は、選択されたイテレーションのみが実行されます。
![ダイレクトの実行例](../../All_Images/direct_ex_loop.png)
イテレーション カウンタが 3 に設定されているため、ステップ C をクリックするとステップ A、B および C のみが一度実行され、ステップ B では第 3 のイテレーションが選択されます。
最小実行モードは、できるだけ少ないステップを実行するように最適化されています。複雑なウェブサイトとやり取りするステップなど、実行にかなりの時間がかかる大きなロボットやステップがあるとき、このモードが便利です。一般的に、データ収集を行う多くの場合または外部サイトとの重要なやりとりを行うロボットには、最小実行が推奨されます。
最小実行モードの欠点は、デフォルトのパスを使用してステップにロボットを直接実行できない場合に、ユーザーが指定されたステップへのパスを選択する必要があることです。たとえば、パスのトライ ステップによってロボットの一番上の分岐が妨げられることがあります。
次の例をご覧ください。
![ダイレクトの実行例](../../All_Images/direct_ex_try_step.png)
ステップ C をクリックした場合に、[値判定] ステップでテストが失敗すると、最小実行モードは続行されません。この場合、ステップ C に対する実行パスを指定するには、ユーザーが最初にトライ ステップの一番下の分岐を明示的にクリックする必要があります。