BizRobo!でDSとDAロボットの使い分け

BizRobo!でロボット開発するにあたり、開発環境であるDS(Design Studio)とその拡張機能であるDA(Desktop Automation)の違い、使い分けをどのように実施していけばいいかイメージがつかないこともあるかと思います。

今回は、それぞれの特徴を解説し、使い分けの部分にフォーカスしていきますのでぜひ参考していただけると幸いです。

DSとDAの違い

DSとDAの違いを簡単に解説!

BizRobo!で新規ロボットを作成する際は、まずDS(Design Studio)を開き、プロジェクトファイルを作成してからロボットを作成し、開発が始まると思いますが、ver.11.3以降ではベースエンジンロボットとロボットという2種類のロボットの名称が存在しています。

ここではベースエンジンロボットをDS、ロボットをDAと定義して進めていきます。

処理方法の違い

DSとDAの大きな違いはロボットの処理動作です。

DSはサーバーによるバックグラウンド処理を実行してくれるため処理が速く、安定性があります。

対してDAではDA内に搭載されたブラウザ操作用の「Chromium」・Excel操作用の「Build-in Excel」を使用するバックグラウンド処理と、操作対象端末を利用して、リモートで実際に私たちが操作しているような形で動かすフォアグラウンド処理があります。

ブラウザの操作範囲の違い

DAはDSでは操作の限界がある範囲を補うことができます。

DSはブラウザの操作に限界があり、サーバー上の情報をそのままユーザーにブラウザに表示させる、シンプルで変化のない静的なサイトにまでしか操作できません。

動的なサイトと呼ばれる、アクセスした時間、場所などに応じて、表示する情報を変えられるように作られたサイトはDAの「Chromium」を使用して操作します。

※主にSNSやECサイトが動的サイトにあたる

設定方法の違い

DSでは、初心者でも難しい設定をすることなく、すぐに開発を進めることができます。

しかし、DAではまず、開発を進める前にいくつか準備が必要になります。

どんな準備が必要か確認していきましょう。

オートメーションデバイスの設定

DAとして使用する操作対象端末で、DAS(Desktop Automation Service)をインストールし、以下の情報を設定します。

  1. ホスト名にIPアドレスを入力
  2. コマンドポートに4998・ストリームポートに49999を入力
  3. トークン名に任意の名前を入力

これでDA端末側の設定は完了です。

DSでオートメーションデバイスマッピングを作成

  1. DSのDAを使用するプロジェクトファイル上を右クリックし、「新規作成(W)」から「オートメーションデバイスマッピング(M)」を選びます。
  2. 任意の名前を設定し、「次へ(N)」をクリック
  3. 「デバイスマッピング」を選択し、DASで設定したホスト名・コマンドポート・トークンを入力し、「終了(F)」をクリック

プロジェクトファイル内に❷前の.deviceが作成されていれば設定は完了です。

DSでロボット呼び出しステップを使用

  1. ロボット呼び出しステップのプロパティで、デバイスを設定
  2. DAのデバイス設定部分でデバイスを設定

これでDA端末の準備が完了となります。

このように、DSは初心者にとっては設定が簡単で、かつDSはバックグラウンド処理なので処理速度が速く、安定性があります。

ただし、DSでは処理の限界があるので、特にアプリケーションの操作などはDAの機能を使用して、より機能性の高いロボットを開発することができます。

DSとDAそれぞれのメリット・デメリット

まずはDSでできることから、難しい部分はDAを使用しましょう

BizRobo!で開発するうえで、まずはDSで開発していくことが基礎となっていくことを、DSとDAの違いを交えてお話しました。

では互いにどんなメリット・デメリットがあるのでしょうか。その部分を確認しましょう。

DSメリット・デメリット

メリット

  1. 動作が安定する
  2. デバッグが簡単
  3. PC1台で開発と実行ができる
  4. 処理速度が速い
  5. ステップの無効化ができる

デメリット

  1. Excel操作に制限がある
  2. 最新のWebサイトに対応しきれていない
  3. デスクトップアプリケーションを操作ができない

DAメリット・デメリット

メリット

  1. Excelの大量のデータを処理できる
  2. Excelでピボットテーブル、マクロ、グラフの操作ができる
  3. デスクトップアプリケーションのほとんどを操作できる
  4. 実際に操作されている画面を見てエラー箇所を認識できる

デメリット

  1. DSとは別にリモート操作用PC(開発VMでも可)を用意しなければならない
  2. 処理スピードが操作対象端末の状態(操作対象アプリケーション、回線混雑、OS)で変わる
  3. ステップの無効化ができない

DSとDAの使い分け

メリット・デメリットを知ったうえで、どのようにこの2つを使い分けていくのでしょうか。

まず開発にあたって大事な基準となるのは、DSで完結できることなのか、DAを使わないとできないことなのかの線引きです。

私たちのお勧めとしては、基本的にはDSで開発し、DSで実現できない部分のみDAを使うことを検討します。

中でも、デスクトップアプリケーションの操作とExcel操作はDSとDAを使い分けていく必要があります。

デスクトップアプリケーション

クライアントインストール型のアプリケーションをBizRobo!で開発する際には、DAを使ってロボットを開発する必要があります。

例えばSAPを使用して伝票登録をする場合は、DSでDAのデバイスに接続した状態で、DAをリモート操作する形でSAPのアプリケーションを開く動作から自動化していきます。

アプリケーションに対応した仮想キーはキープレスステップを設定することで使用ができるので、操作手順に沿って開発を進めていくことで自動化できます。

SAPを使った自動化の事例コンテンツは以下になります。ご参考ください。

参照:RPA×SAPの自動化

Excel

  1. 使用できるアプリケーションアクションによる使い分け
    Excelの操作はDSの中でも使用できるアクションがありますが、DAに比べると、使えるExcelのアクションの種類と数が比較的に少ないです。
    例えばコピー&貼り付け(ペースト)はDAにしかないアクションになるので、コピー&貼り付けの操作が必要な場合はDAで開発します。
  1. アプリケーションアクションにはない操作を行う場合
    アプリケーションアクションに入っていないExcelの操作が必要な場合、Excelのアプリケーションを立ち上げてから作業するように開発することになります。
    その場合は、DAでロボットを開発する必要があります。
    例えばマクロの実行やピポットテーブルを作成するなど、DAのリモート操作を使用して、Excelのリボンタブを操作していくことで開発していきます。

BizRobo!でExcel業務を開発する際のTipsは以下のコンテンツで紹介していますので、よかったら併せて読んでみてください。

参照:BizRobo!でExcel操作のDS、DA使い分け

上記理由によって、BizRobo!でロボットを開発する際に、まずはDSで開発できるのかを分析し、DSで簡潔できる内容はDSで開発し、DSでは難しい部分はDAで開発することがお勧めいたします。

親子関係DSxDS、DSxDAの使い分け

タイプファイルを上手く活用しよう

ロボットの開発を進めていくうえで、親子関係を構築することにはメリットが2つあります。

  1. メンテナンスが容易になる
    業務の各プロセスを小分けにし、1つのプロセスを1個のロボットを開発することで、各ロボットの役割が明確となり、メンテナンスを行う際に、改修が必要なプロセスのロボットのみ変更すれば十分なので、改修時間を短縮することができます。
    また、重複な操作を1つのロボットにまとめることによって、複数箇所を改修する手間なく、1つのロボットをメンテナンスするだけですべて適用することができます。
  2. ロボットの管理をよりわかりやすくできる
    業務プロセスごとにロボットを分けることにより、どこで何をしているかロボットごとに明確になり、前述のメンテナンスもしやすくなります。
    また、共通操作の要素を「共通部品化」や「フレーワーク化」にすることで、都度開発の作業を簡略化することができ、管理も容易にできます。
    例えば、基幹システムのログイン・ログアウトなど、共通部品化にしていけば、基幹システムを利用する業務のロボットにすべて適用することができます。

RPAのロボットフレームワークに関する作り方について、以下のコンテンツで紹介していますので、ご参考ください。

参照:フレームワークを利用したロボット開発

ではBizRobo!ではどのように親子関係を構築されていくのか、DSとDSの関係、DSとDAの関係を分けて考えていきましょう。

親子関係DSxDS

特定の動きをスニペット化する

BizRobo!にはスニペットと呼ばれる、ロボットの一連のステップのフローを1つのグループとしてまとめることができます。

さらに他のプロジェクトファイルにそのスニペットファイルを追加することで他のプロジェクトでその一連のフローを使用することができます。

いわゆる上記ご紹介させていただいた同じ操作を1つのロボットにまとめると同じ、共通部品化することができます。

業務フローをそれぞれスニペット化して分けることで、同じ業務フロー(例:同じアプリのログイン操作等)で使用したスニペットのロボット1つ改修するだけで、すべての同じスニペットでその改修内容を反映することができます。

変数の受け渡しに関してはタイプファイルを使用する

スニペット化したフローで変数を使用する際はタイプファイルにまとめ、スニペットファイルと同じ階層に存在させることが必要になります。

なぜなら、スニペットのフローで使用する変数はそれ単体では値のない空っぽの変数になってしまうのです。

また、スニペットファイル自体は編集できないので、元のロボットファイルをスニペットとセットにしておくことで、編集時にわかりやすくなります。

ですので、スニペットの元になったロボットファイル・スニペットファイル・タイプファイルを1つのファイルにまとめることで、別のプロジェクトファイルで使用した際も、変数をそのまま使うことができ、さらに改修が容易になります。

注意点

ロボットのフローは多くなるほどどこに何があるか把握するのが難しくなります。それはスニペットを使用しても同じです。

そのため、どのプロジェクトでどのスニペットを使っているか把握できるようにすることが大切です。

各スニペットファイルの管理番号やタスク名などの命名規則を明確にし、ロボットの全容を誰でも把握できるようにしましょう。

親子関係DSxDA

DSからDAを呼び出す方法

DSとDAの違い>設定方法の違い>DSでロボット呼び出しステップを使用で前述したようにDAはDSから呼び出さないとアクションを実行できません。そこでまず、DSでロボット呼び出しステップを使用します。

するとCall○○(DAロボットに設定した名前)のステップが挿入されます。

このアクションステップ上でツールバーにある「ロボットにステップ」をクリックすることで、対象のDAを呼び出し、開発画面に移行することができます。

変数の受け渡しが必要

DSとDAで同じ変数を使用した場合、DSからDAに変数を受け渡す必要があります。

  1. DSのロボットを呼び出すステップのアクションプロパティで「入力値・戻り変数」を設定します
  2. DAの変数設定部分で、DSの入力値に設定したものと同じ入力値を入れます
    リターンタイプには戻り変数と同じ変数の属性を設定し、かつリターンステップにてDSで戻り変数に設定したものと同じ変数を設定

これで変数の受け渡しができます。

注意点

DS側で設定した変数の内容と差異がある場合は、DSのロボットを呼び出すステップでエラーになります。

なので追加で入力値、戻り変数がある場合はその都度追加していくことが必要になります。

親子関係の組み合わせの具体例

DS×DS・DS×DAを駆使してロボットを作成した事例を紹介

今までの説明では、親子関係の内容を紹介してきました。

ここでは実際に親子関係を使用したロボットの具体例を見ていきましょう。

自動化した内容

  1. サイトからデータを出力
  2. そのデータをExcelに転記し、ピボットテーブルを作成
  3. サイトにデータをアップロード

ロボット作成時のポイント

  1. ログイン・ログアウトはDSで完結できるものかつ、同じ動作を用いるもののためスニペットを使用
  2. Excel操作はDSでは行えないピボットテーブルの操作が含まれるためDAを使用

ポイントの解説

まずはDSでできることはDSで開発していきます。

さらにスニペットを使用し、わかりやすく、改修もやりやすいロボット構成になっています。

  1. ではスニペットを使用することで開発の際に2回同じロボットを作成する手間がなくなり、改修が発生した際もスニペットA・Bをそれぞれ1つ改修するだけで完結します。
  2. ではピボットテーブルを使用する動作が必要なため、Excelの一連の動作をDSからDAを呼び出して開発しています。

この時、DSで取得したデータを変数の値に格納し、タイプファイル化してDAに受け渡すことで、それぞれの変数を入力値に設定しなくても受け渡しができました。

弊社ではBizRobo!Automation 360などのツールを使用して、様々な業務をRPA自動化する支援をさせていただいております。

自動化できるかわからないけど自動化できたらいいなと感じる業務や、条件や手順を整理しきれなくて自動化を諦めている業務などございましたら、一度ご相談ください。

内容をヒアリングしたうえで、自動化の可能性をご提案させていただきます。

本記事の執筆者

ペネトレイター株式会社 井上