共通処理を部品化して使い回す(ログインや結果書き込みを複数のロボットで共有する考え方)
複数のロボットで同じログインや結果の書き込みを作り直していませんか。共通処理を部品として切り出す考え方と、部品の入口・出口の決め方、変更時の注意点を整理します。
同じ処理を何度も作っていないか
たとえば経理部門で、会計システムを操作するロボットが5本あるとします。どのロボットも最初に同じログイン画面で ID とパスワードを入力し、最後に同じ形式で結果ファイルに書き込んでいます。ある日、会計システムのログイン画面が改修されると、5本すべてを1本ずつ修正し、5本すべてをテストし直すことになります。
同じ処理をロボットごとにコピーして作ると、最初は早く作れても、修正のたびに手間が積み上がります。何度も出てくる処理は「部品」として切り出し、複数のロボットで使い回す設計にしておくと、保守の手間を大きく減らせます。
部品化に向く処理
部品にする価値があるのは、複数のロボットで同じ手順になり、しかも変更が起きやすい処理です。代表的なものを挙げます。
- システムへのログイン、ログアウト、セッション切れからの復帰
- トップ画面から目的のメニューまでの画面遷移
- 処理結果(完了・エラー・エラー内容)を結果ファイルに書き込む処理
- 日付や金額など、抽出した値を決まった形式に変換する処理
- 営業日かどうかの判定、実行開始・終了の記録
BizRobo! で部品化する手段
Design Studio には、ステップのまとまりを切り出して複数のロボットから使う仕組み(一般にスニペットと呼ばれます)があります。また、共通のタイプを1か所にまとめて各ロボットで同じものを使うことも、データの形をそろえるという意味で部品化の一種です。仕組みの名称や、部品を変更したときに各ロボットへどのように反映されるかは、バージョンや構成によって異なる場合があります。導入している環境で、変更がいつ・どのロボットに効くのかを事前に確認しておくと安心です。
そのほか、処理の段階ごとにロボット自体を分け、「データ取得」「登録」「通知」のように役割単位で組み合わせる方法もあります。どの手段を選ぶにしても、考え方の中心は「同じことを1か所にだけ書く」です。
部品の入口と出口を決める
部品を使い回すときにいちばん大切なのは、部品が「どの状態から始まり、どの状態で終わるか」をはっきりさせておくことです。ここが曖昧だと、あるロボットでは動くのに別のロボットでは止まる、ということが起きます。部品ごとに、次の4点を短く書き残しておきます。
- 開始時の前提:どの画面が表示されている状態で呼ばれるか(例:ログイン画面)
- 受け取る値:どの変数・タイプの項目を使うか(例:接続先、利用する認証情報の名前)
- 終了時の状態:どの画面で終わるか(例:トップメニューが表示されている)
- 失敗したとき:その場で止めるのか、呼び出し元に失敗を伝えるのか
よくある失敗
部品化でつまずきやすい点を挙げます。どれも、作った本人には問題に見えにくいのが特徴です。
- 部品の中に特定のロボットだけの事情(特定の業務の分岐など)を入れてしまい、汎用性がなくなる
- 部品を修正したときに、どのロボットが使っているかが分からず、テストが漏れる
- 部品の中で変数名を勝手に決めてしまい、呼び出し側の変数と名前がそろわない
- 細かく分けすぎて、1つの処理を追うのに部品をいくつも開く必要がある
部品も台帳で管理する
ロボットの台帳と同じように、部品にも「名前・役割・入口と出口・使っているロボット・最終更新日」を記録した一覧を用意します。部品を変更するときは、一覧から使っているロボットを洗い出し、すべてをテストしてから本番に反映するルールにしておきます。部品化は作る手間を減らすためというより、直す手間とテストの漏れを減らすための工夫だと考えると、どこまで切り出すべきかの判断がしやすくなります。
※BizRobo! は RPA テクノロジーズ株式会社の製品です。本サイトは同社とは関係のない個人の解説サイトです。画面や機能の名称は、製品のバージョンによって異なる場合があります。