Bot作成の加速
Bot による自動化が検討されるタスクは、多くの場合、一定のルールに従って繰り返す処理を含みます。
異なるタスクを実行する2つの Bot があったとき、実はそれらの内の一部のステップがほぼ同じ処理になっている、といったことはしばしばあるでしょう。
例えば、次のような場合です。
この場合、タスク A と B は、全体としては違う処理を行っていますが、ステップ2 の「ファイル作成日の■日後を〆切としてシステムに入力する」部分が同じ処理になっていることがわかります。
また、Bot を作成したり、実際に運用したりする過程で、対象システムの仕様やプロセスの変更に伴い、ステップを変更しなければならないケースはよくあるでしょう。
このような時、全ての Bot に対して該当ステップの編集を行うことは、作業時間の増大や編集ミスといった、安定稼働におけるコストやリスクにつながります。
これらの課題に対応できる方法として、Automation Anywhere では MetaBot を用意しています。
※本記事は Automation Anywhere Enterprise v11.3.x についての内容です。
□目次
1. MetaBot とは
Automation Anywhere において、実際に自動化タスクを実行するのは TaskBot です。
MetaBot は、TaskBot から呼び出すことが可能な、自動化処理の青写真です。
冒頭の例であれば、「ファイル作成日の■日後を〆切としてシステムに入力する」MetaBot を作成しておき、次のように TaskBot から使用することができます。
こうしておくと、新たにタスクC でもステップ2 と同じ処理が必要になった場合、MetaBot の使用によって簡単に自動化できます。
また、ステップの編集が必要になった際には、MetaBot のみを編集すれば、それを利用する全ての TaskBot に対して編集が反映されることになります。
2. Metabot を使ってみよう
MetaBot を入手する方法は、2つあります。
- 方法1:Bot Store の MetaBot をダウンロードする
- 方法2:MetaBot を作成する
方法1:Bot StoreのMetaBotをダウンロードする
Automation Anywhere は、開発済み MetaBot をダウンロードできるマーケットプレイス Bot Store を提供しています。
求める処理がそれほど複雑ではなく一般的なものである場合、まずはBot Storeで提供されている MetaBot で実現できるか、確認してみてください。
例えば「■日後の日付を計算する」処理だけ欲しいといった場合、日付を扱う MetaBot は既に Bot Store にあります。
実際に、こちらのブログでは、日付変換 MetaBot をBot Storeからダウンロードして使用しています。
他の MetaBot であっても、ダウンロードからロジック選択までの流れは同様です。
方法2:MetaBotを作成する
Bot Store に希望の MetaBot が無い場合は、以下の手順により、MetaBot を自身で作成できます。
※前提
・MetaBot を作成するには Control Room 管理者から AAE_MetaBot Designer 権限を付与されている必要があります。
・TaskBot の基本的な作成方法 は習得済みであることを前提とし、コマンドの追加方法等に関する説明は省略します。
MetaBot Designerを開く
- Automation Anywhere Client を開き、「MetaBots」タブを選択します
- 「My MetaBots」ビューが表示されている状態で「新規」を選択します
- MetaBot で単一のアプリケーションのみ扱うのか(「アプリケーション固有」)、複数のアプリケーションを扱うのか(「すべてのアプリケーション」)選択し、MetaBot 名を設定して「作成」を選択します
TIPS
2 で「新規」の代わりに「記録」を選択すると、3 の後、レコーディングによってステップを記録することができます。今回は、「新規」の選択により手動で処理を編集していきます。 - MetaBot Designer が開きます
MetaBot Designer は、次の2つのコンポーネントから成ります。
・アセット:DLLや、操作対象スクリーンのビジュアルキャプチャ(Asset)が保持されます。
・ロジック:アセットを使用した実際の処理ロジック(Logic)が保持されます。
TIPS
ロジックは一般的な開発言語の関数に相当し、処理の構築方法として次の2つがあります。
1. TaskBot と同様に、 Automation Anywhere のコマンドを使用する
2. アセットに追加された DLL ファイルの関数を呼び出す
2 の方法を使用する場合、以降のステップに進む前に「アセット」タブで「DLL追加」を行います。
MetaBot へロジックを追加する
- 「ロジック」タブを開き、「ロジックを追加」を選択します
- Workbench が開くので、コマンドを選択しながら実装していきます
TIPS
DLL の使用
DLL をアセットに追加していた場合、DLL 内部の関数を選択できます。
パラメータの使用
TaskBot と値の受け渡しを行いたい場合、MetaBot において、受け渡しに使用したいユーザー変数の「パラメータタイプ」を次のいずれかに設定します。
・Input(入力):TaskBot から MetaBot へのパラメータ渡しに使用
・Output(出力):MetaBot から TaskBot へのパラメータ渡しに使用
・InputOutput(入出力):TaskBot・MetaBot 双方向のパラメータ渡しに使用 - 「新規」 > 「MetaBot Logic」が選択されていることを確認し、「保存」を選択します
- ロジック名を設定して「保存」を選択します
TaskBot から MetaBot のロジックを使用する
- TaskBot の Workbench で「MetaBot」タブを選択し、対象の MetaBot をアクションリスト上へドラッグアンドドロップします
- MetaBot 中の使用したいロジックを選択して「保存」をクリックします
TIPS
MetaBot にパラメータを設定していた場合は、MetaBot へ引き渡す値(Input Parameters)や、MetaBot から値を受け取る変数(Output Parameters)を設定します。 - MetaBot を実行する Run Logic コマンドが追加されました
3. おわりに
タスクの自動化は、タスク実行にかかる人的コストを削減させると同時に、Bot 自体の作成・運用にかかるコストを発生させます。
しかし、Bot の設計をうまく行うことで、Bot 自体にかけるコストも削減することが可能です。
急いで Bot 作成にとりかかる前に、MetaBot で共通化できる処理がないか、そして Bot Store の MetaBot で実現できる処理がないか、確認してみてはいかがでしょうか。
著者紹介
SB C&S株式会社
C&S Engineer Voice運営事務局
最新の技術情報をお届けします!