5.6. WinActor連携チュートリアル¶
項目
5.6.1. チュートリアルの概要¶
本章では、IM-RPAのWinActor連携機能を使用して、 WinActorのロボットを実行する方法をチュートリアル形式でご説明します。
このチュートリアルに沿って設定を行うことで、以下のような機能を実現できます。
- intra-mart Accel PlatformからIM-LogicDesignerを介してWinActorのロボットを実行します。
- WinActorのロボットに対してパラメータを渡し、計算した結果を受け取ります。
本章では、説明を簡単にするために、ロボットのシナリオはシンプルなものにしております。
WinActor連携においては、ロボット実行時に、intra-mart Accel Platformからロボット実行端末へシナリオファイルを送付します。
また、ロボットとのパラメータのやりとりには「データファイル」というCSVファイルを使用します。
シナリオの実行イメージは以下の通りです。
5.6.2. 準備・環境設定¶
5.6.2.1. WinActor環境の確認¶
WinActorのロボット実行端末上にIM-RPAの提供しているWinActorエージェントをセットアップした環境を用意してください。あらかじめ、 WinActorのロボット実行端末上で単体のロボットが実行できることをご確認ください。WinActorのロボット実行端末はintra-martサーバとhttpポートで通信できる必要があります。図:構成イメージコラム
WinActor連携のセットアップでは、intra-mart Accel Platformのセットアップ、 WinActorエージェント、および設定ファイルを記載します。詳細は、「セットアップ」を参照してください。
5.6.2.3. 確認ポイント¶
よくある接続ミスを事前に確認するポイントを記載します。確認ポイントのチェックが確認できない場合、WinActor連携の実行時にエラーが発生します。「セットアップ」を再度確認し、セットアップを行ってください。
5.6.3. シナリオの作成¶
コラム
WinActorを使用したロボットの作成方法については、 詳細は、「WinActorマニュアルページ」を参照してください。
5.6.3.1. パラメータの設定¶
コラム
WinActorでは変数は全て文字列型として扱われます。
なお、IM-LogicDesigner側でパラメータを受け取る際に別のデータ型を指定した場合、自動的に型変換をします。
具体的な対応表は、 「IM-LogicDesigner仕様書」 - 「IM-LogicDesigner データ型変換 仕様書」を参照してください。
5.6.4. シナリオのアップロード¶
WinActorにて作成したシナリオファイル、およびデータファイルをIM-RPAのパブリックストレージにアップロードします。ここでは、テナント管理者機能の「ファイル操作」を利用した方法を説明します。ファイル操作の利用方法については、「テナント管理者操作ガイド」 - 「ファイル操作を使用する」を参照してください。ファイル操作にて、「default」ディレクトリの配下に任意のディレクトリを作成します。ここではディレクト名を「RPA」とします。作成したディレクトリ配下に、シナリオファイル、およびデータファイルをアップロードします。アップロードの具体的な操作の流れについては、動画にてご覧いただけます。
5.6.5. IM-LogicDesignerユーザ定義タスクの準備¶
IM-LogicDesignerユーザ定義タスクとは、IM-LogicDesignerにおいて作成可能な、各種機能を持つ独自タスクです。本チュートリアルにおいては、IM-LogicDesignerで作成したWinActor用のデータファイルをintra-mart Accel Platformのストレージに保存する時と、ロボットから返却されたデータファイルを参照する際に、この独自タスクを使用します。図:ユーザ定義タスクの使用箇所ユーザ定義タスクの具体的な説明については、「IM-LogicDesigner仕様書」 - 「ユーザ定義タスク」を参照してください。本チュートリアルでは、 2つのユーザ定義タスクを用意いたします。
ユーザタスク種別 内容 テンプレート定義 IM-LogicDesignerへの入力値を使って、データファイルの内容を作成します。データファイルは、WinActor連携においてロボットとパラメータの入出力を行うためのCSVファイルです。CSV Fetch定義 WinActorのロボット実行後、返却されたデータファイルの内容をIM-LogicDesignerに読み込みます。
5.6.5.1. ユーザ定義作成(テンプレート定義)¶
「サイトマップ」→「LogicDesigner」→「ユーザ定義」→「テンプレート定義新規作成」をクリックします。テンプレート定義を下記のように編集します。入力パラメータで動的にWinActorに渡すデータファイルのテキストを作成します。図:「テンプレート定義新規作成」 - 「標準」テンプレート入力例は以下の通りです。<#setting url_escaping_charset="SJIS"> "param1","param2","result" "${param1}","${param2}","dummy"ユーザ定義タスク(テンプレート定義)の具体的な説明については、「IM-LogicDesigner仕様書」 - 「ユーザ定義タスク-テンプレート」を参照してください。返却値について、今回使用するデータファイルに合わせてキー項目を設定してください。図:「テンプレート定義新規作成」 - 「入力値/出力値」「ユーザ定義名」など適宜設定し、テンプレート定義を完了します。
注意
記載のコードはサンプルです。
本チュートリアルのシナリオ上では動作しますが、最低限の記載となっており、文字列内の改行などに対応しておりません。
実際に運用する際には、要件に合わせて必要な表現を追加してください。
5.6.5.2. ユーザ定義作成(CSV Fetch定義)¶
「サイトマップ」→「LogicDesigner」→「ユーザ定義」→「CSV Fetch定義新規作成」をクリックします。今回使用するデータファイルの形式に合わせて「CSV Fetch定義」カテゴリを設定します。図:「CSV Fetch定義新規作成」 - 「CSV Fetch定義」ユーザ定義タスク(テンプレート定義)の具体的な説明については、「IM-LogicDesigner仕様書」 - 「ユーザ定義タスク-CSV Fetch」を参照してください。返却値について、今回使用するデータファイルに合わせてキー項目を設定してください。図:「CSV Fetch定義新規作成」 - 「入力値/出力値」「ユーザ定義名」など適宜設定し、CSV Fetch定義を完了します。
5.6.6. LDフローの呼び出し¶
5.6.6.2. ロボットに連携するパラメータを設定します¶
IM-LogicDesignerの「入出力設定」を行います。
設定値の説明(入出力設定) カテゴリ 設定値 説明 入力 param1 ロボットに渡す引数1 入力 param2 ロボットに渡す引数2 出力 result ロボットからの返り値 図:IM-LogicDesigner- 「入出力設定」次に、IM-LogicDesignerの「定数設定」を行います。
設定値の説明(定数設定) カテゴリ 設定値 説明 定数 DATA_PATH パブリックストレージ上のデータファイルのパス 定数 GROUP_ID 呼び出すエージェントのグループID 定数 SCENARIO_PATH パブリックストレージ上のシナリオファイルのパス 図:IM-LogicDesigner- 「定数設定」
5.6.6.3. データマッピングをします¶
各タスクをダブルクリックして、「データマッピング」の設定を行います。各図を参考にマッピングをしてください。シナリオ取得タスク(「ストレージ操作」-「パブリックストレージ取得」)のデータマッピングを行います。図:データマッピングの設定 - シナリオ取得タスクデータファイル取得タスク(「ストレージ操作」-「パブリックストレージ取得」)のデータマッピングを行います。図:データマッピングの設定 - データファイル取得タスクデータファイル作成タスク(作成したユーザ定義テンプレート)のデータマッピングを行います。図:データマッピングの設定 - データファイル作成タスクストレージ出力(「ストレージ操作」 - 「ストレージ出力(文字列)」)のデータマッピングを行います。「ストレージ出力(文字列)」のプロパティには「SJIS」を指定してください。図:データマッピングの設定 - ストレージ出力エージェント呼び出し(「WinActor」 - 「エージェント呼び出し」)のデータマッピングを行います。図:データマッピングの設定 - エージェント呼び出しストレージ出力(「ストレージ操作」 - 「ストレージ出力(バイナリ)」)のデータマッピングを行います。図:データマッピングの設定 - ストレージ出力データファイル読込タスク「作成したユーザ定義 CSV Fetch定義」のデータマッピングを行います。図:データマッピングの設定 - データファイル読込タスクログ出力(「汎用タスク」 - 「ログ出力」)のデータマッピングを行います。図:データマッピングの設定 - ログ出力ロボットの実行結果を、フローの出力用変数にマッピングします。図:データマッピングの設定 - 終了タスク
5.6.6.4. デバッグ実行で動作を確認します¶
ロジックフロー定義編集画面の「デバッグ」をクリックし、作成しているロジックフローをデバッグ実行します。図:IM-LogicDesigner- 「デバッグ実行」デバッグ画面にて、「実行」をクリックします。図:IM-LogicDesigner- 「デバッグ実行」 - 「実行」デバッグ実行時の入力値の設定を行います。ロボットに引き渡すパラメータとなる、param1とparam2を設定してください。図:IM-LogicDesigner - 「デバッグ実行」 - 「実行」- 「入出力値の設定」デバッグ実行をし、 WinActor連携の入出力が正しく行えていることを確認します。図:IM-LogicDesigner- デバッグ実行実行の成功ロボットからの返却値となる、resultが正しく表示されていることを確認します。図:IM-LogicDesigner- 「フローの変数情報(デバッグ実行後)」
コラム
デバッグ実行時にエラーが発生した場合、デバッグ実行を「ステップ実行」にすることで、フローのどこでエラーとなったか確認することができます。
コラム
エラーが発生した場合、WinActorエージェント、WinActor連携設定を確認します。
[よくあるエラー]
・WinActor7.exeのパスは通っていますか?
・WinActor端末で、すでにWinActorが起動していませんか?
図:IM-LogicDesigner- 「デバッグ実行」 - エラー例
入力値: null
フローの実行を開始しました。flowId=winactor0001,version=1
パブリックストレージ取得 タスクを実行します。executeId=im_publicStorageScenario,taskId=ApplicationElementKey(elementId=im_publicStorage)
パブリックストレージ取得 タスクを実行します。executeId=im_publicStorageData,taskId=ApplicationElementKey(elementId=im_publicStorage)
エージェント呼び出し タスクを実行します。executeId=im_winactorCallAgent1,taskId=ApplicationElementKey(elementId=im_winactorCallAgent)
jp.co.intra_mart.foundation.logic.exception.FlowExecutionException: [E.IWP.WINACTOR.TASK.00008] エージェントがエラーレスポンスを返しました。 title="Abnormal termination", detail="Process terminated with code 1056"
5.6.7. フロールーティングの設定¶
作成したIM-LogicDesignerのフローを、intra-mart Accel Platform他機能やREST経由で実行するため、フロールーティングの設定を行います。「サイトマップ」→「LogicDesigner」→「ルーティング定義一覧」→「新規作成」をクリックします。フロールーティングの設定については、「IM-LogicDesigner仕様書」 - 「フロールーティングの認可設定」を参照してください。図:フロールーティングの設定コラム
メソッドには「POST」を選択してください。ロジックフロールーティング定義一覧より「認可」をクリックして、認可設定を行います。「認証済みユーザ」へ実行権限を付与します。図:認可設定コラム
実運用をする際は適切な権限付与を検討してください。
5.6.8. swaggerで動作確認¶
ロジックフロールーティング定義一覧より「SPEC」をクリックしてswaggerを表示します。swaggerの設定については、「IM-LogicDesigner仕様書」 - 「Swaggerの利用」を参照してください。リクエストbodyを適宜設定し、「Try it out!」をクリックします。図:swaggerでリクエストを設定図:swaggerでレスポンスを確認フロールーティングの設定からswaggerでの動作確認の具体的な操作の流れについては、動画にてご覧いただけます。