RPAにおいて、24時間自動で稼働させるなど、人間が監視しなくても自律的に業務をこなしてくれるBotにするためには、「エラーを出さないBot」「落ちないBot」を作る必要があります。そしてこの**「落ちないBot」**を作るには、プログラミングの知識がある程度必要になってきます。
「え~、RPAってプログラミングの知識がなくてもできるんじゃなかったのー」って思うかもしれません。一人で使って、常に人が監視している環境で動くロボット (Attended Bot)はそれが成り立ちますが、サーバーに管理を任せる自律型のBot (Unattended Bot)はそうはいきません。作成したBotはITに詳しい人のレビューを受けた上で運用をすることになります。
「落ちないBot」で重要な要素
その際、レビューポイントとして一番重要なのが**「エラー処理がきちんとやられているか」**です。エラーが起こる主なパターンを想定して、その対策が取られているかどうかです。v11.xなら「Begin Error Handling」コマンドが適切に使われているか、A2019ならtry/catch/finally処理が適切に行われているか、になります。
また、複数人でレビューをするため、アクションリストの見やすさや規約に従って作られているかも重要になってきます。気を付けるべき主な点をリストにすると以下の通りです。
- エラー処理が適切に行われているか
- コメントが適切に入っているか、(A2019の場合) ステップを使って整理されているか、変数の命名規則
- Botを動かす前後処理 (Excelや関連プログラムを閉じる、一時フォルダーのクリーンアップなど)が行われているか
- PC環境固有の設定値が切り出されているか
- アクションリスト行数の制限 (多い場合は別のBotに分離)、DRY原則、循環的複雑度最小原則を守っているか
- デバッグに必要な適切なログが出力されるようになっているか
Bot開発テンプレートのダウンロード
これらのことに対応したBotテンプレートがBot Store等で配布されているので活用してください。
- v11.xの場合: TaskBot を構築するためのフレームワーク
- @zamaezaaa さんが日本語に翻訳したものが使いやすい (ダウンロード)
- A2019の場合: Bot Starter Template
(v11.x) TaskBot を構築するためのフレームワーク
80行ほどのアクションリストになっており、エラーハンドリング、設定値の外出し、前後処理などが既に作られた状態になっている。69行目以降から本体を作り始める。
構築した.atmxファイルを置くメインフォルダーの下に、「Config」「Input」「Output」「Logs」「Template」「Temp」という名前のサブフォルダーを作成しておくことが想定されている。
また、これは1つのTaskBotファイルのプロジェクトの場合のテンプレートですが、複数のBotファイルが必要なプロジェクトを作成する場合に、「Solution Design」ファイルと呼ばれる以下のようなExcelファイルに必要事項を読ませてProcess Structure Creation.atmxを実行すると、必要な.atmxと、その中のコメントや構造をテンプレートに従って整えた状態で作成してくれるようなツールもBot Storeにあがっているので、試してみるとよいでしょう。(⇒Bot Framework 構造を作成)
(A2019) Bot Starter Template
Bot Storeにはあがっていないのですが、Community EditionにインポートできるBotファイルの一覧の中に、A2019 Bot開発用テンプレートもあります。「Bot+Starter+Automation+Anywhere.zip」というファイルをA2019 Control Roomでインポートすると、「Bot Starter Template」という名前のBotが作成されます。中身は50行のアクションリストです。Bot本体は36行目の部分に挿入します。