SB C&Sの最新技術情報 発信サイト

C&S ENGINEER VOICE

Automation Anywhere - Bot 作成を加速させよう(MetaBot 活用のすすめ)

AI/RPA
2019.12.23

Bot作成の加速
Bot による自動化が検討されるタスクは、多くの場合、一定のルールに従って繰り返す処理を含みます。
異なるタスクを実行する2つの Bot があったとき、実はそれらの内の一部のステップがほぼ同じ処理になっている、といったことはしばしばあるでしょう。

例えば、次のような場合です。

Fig1.png

この場合、タスク A と B は、全体としては違う処理を行っていますが、ステップ2 の「ファイル作成日の■日後を〆切としてシステムに入力する」部分が同じ処理になっていることがわかります。

また、Bot を作成したり、実際に運用したりする過程で、対象システムの仕様やプロセスの変更に伴い、ステップを変更しなければならないケースはよくあるでしょう。
このような時、全ての Bot に対して該当ステップの編集を行うことは、作業時間の増大や編集ミスといった、安定稼働におけるコストやリスクにつながります。

これらの課題に対応できる方法として、Automation Anywhere では MetaBot を用意しています。

※本記事は Automation Anywhere Enterprise v11.3.x についての内容です。


□目次

  1. MetaBot とは
  2. MetaBot を使ってみよう
  3. おわりに

1. MetaBot とは

Automation Anywhere において、実際に自動化タスクを実行するのは TaskBot です。
MetaBot は、TaskBot から呼び出すことが可能な、自動化処理の青写真です。

冒頭の例であれば、「ファイル作成日の■日後を〆切としてシステムに入力する」MetaBot を作成しておき、次のように TaskBot から使用することができます。

Fig2.png

こうしておくと、新たにタスク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を開く

  1. Automation Anywhere Client を開き、「MetaBots」タブを選択します
  2. 「My MetaBots」ビューが表示されている状態で「新規」を選択します
  3. MetaBot で単一のアプリケーションのみ扱うのか(「アプリケーション固有」)、複数のアプリケーションを扱うのか(「すべてのアプリケーション」)選択し、MetaBot 名を設定して「作成」を選択します
    Blog_1.png

    TIPS
    2 で「新規」の代わりに「記録」を選択すると、3 の後、レコーディングによってステップを記録することができます。今回は、「新規」の選択により手動で処理を編集していきます。
  4. MetaBot Designer が開きます
    MetaBot Designer は、次の2つのコンポーネントから成ります。
    ・アセット:DLLや、操作対象スクリーンのビジュアルキャプチャ(Asset)が保持されます。
    ・ロジック:アセットを使用した実際の処理ロジック(Logic)が保持されます。
    Blog_2.png

    TIPS
    ロジックは一般的な開発言語の関数に相当し、処理の構築方法として次の2つがあります。
     1. TaskBot と同様に、 Automation Anywhere のコマンドを使用する
     2. アセットに追加された DLL ファイルの関数を呼び出す
    2 の方法を使用する場合、以降のステップに進む前に「アセット」タブで「DLL追加」を行います。

MetaBot へロジックを追加する

  1. 「ロジック」タブを開き、「ロジックを追加」を選択します
    Blog_3.png
  2. Workbench が開くので、コマンドを選択しながら実装していきます
    TIPS
    DLL の使用
    DLL をアセットに追加していた場合、DLL 内部の関数を選択できます。
    Blog_4.png

    パラメータの使用
    TaskBot と値の受け渡しを行いたい場合、MetaBot において、受け渡しに使用したいユーザー変数の「パラメータタイプ」を次のいずれかに設定します。
    ・Input(入力):TaskBot から MetaBot へのパラメータ渡しに使用
    ・Output(出力):MetaBot から TaskBot へのパラメータ渡しに使用
    ・InputOutput(入出力):TaskBot・MetaBot 双方向のパラメータ渡しに使用
    Blog_5.png
  3. 「新規」 > 「MetaBot Logic」が選択されていることを確認し、「保存」を選択します
    Blog_6.png
  4. ロジック名を設定して「保存」を選択します
    Blog_7.png

TaskBot から MetaBot のロジックを使用する

  1. TaskBot の Workbench で「MetaBot」タブを選択し、対象の MetaBot をアクションリスト上へドラッグアンドドロップします
    Blog_8.png
  2. MetaBot 中の使用したいロジックを選択して「保存」をクリックします
    Blog_9.png
    TIPS
    MetaBot にパラメータを設定していた場合は、MetaBot へ引き渡す値(Input Parameters)や、MetaBot から値を受け取る変数(Output Parameters)を設定します。
  3. MetaBot を実行する Run Logic コマンドが追加されました
    Blog_10.png

3. おわりに

タスクの自動化は、タスク実行にかかる人的コストを削減させると同時に、Bot 自体の作成・運用にかかるコストを発生させます。
しかし、Bot の設計をうまく行うことで、Bot 自体にかけるコストも削減することが可能です。
急いで Bot 作成にとりかかる前に、MetaBot で共通化できる処理がないか、そして Bot Store の MetaBot で実現できる処理がないか、確認してみてはいかがでしょうか。

著者紹介

先端技術推進統括部
RPAビジネス推進部
上野 安貴