Microsoft自動化ブログ

VBA、PAD、Power Automateを中心に

デスクトップフローとクラウドフローの違いについて

Power Automateには2つの種類があり、1つがデスクトップ版、もう1つがクラウド版です。「アプリケーションの操作を自動化する」という目的は同じなのですが、2つは全く異なるアプローチを取っています。

トップ画面もそっくり

特に初学者の方は混乱しがちな部分でもあるので、この記事では2つの違いを整理したいと思います。

結論

結論から言うと次のような違いがあります。

クリックをするか?コンセントをつなぐか?

デスクトップ版:クリックやキー入力を再現する
クラウド版:コンセントをつないで操作する

それぞれ具体的に考えていきましょう。

デスクトップフローとは

デスクトップ版(RPA)はクリックやキー入力をPC上で再現する仕組みとなっています。そもそも私たちが普段行っているPCの作業を考えた時に、究極的にはクリックやボタンの押下といった単純な動作から成り立っているのではないでしょうか。

手動操作を1つ1つプログラムへ置き換える

これらの手動操作を1つ1つプログラムに置き換える。手動操作と1対1の対応でプログラムへ変換していく。これによってアプリの操作を自動化します。

デスクトップ版の強み

デスクトップ版の強みはクリックできれば何でも操作できるという対象の幅広さです。特に(後述する)APIの用意されていないレガシーなアプリケーションの操作も可能です。そのため会社専用の基幹システムや特殊な業務アプリケーションの自動化に使われることが多いです。

異なるシステム間をつなげる点が強み

システムはあくまで業務に特化したアプリケーションであり、システム外の業務については対応することができません。そのためワークフローの一連の作業を行うため、従来は人の手でシステム間の転記作業などを行っていました。このようなシステム間をつなぐ作業がRPAの1番の強みであり、起源であるとも言われています。

デスクトップ版の弱み

一方でデスクトップ版には処理が安定しないデメリットがあります。画面上の部品(UI)に依存した操作となるため、些細な理由でエラーとなる可能性を秘めています。

画面上のUI要素は頻繁に変更される

UI(ユーザーインターフェース)は人間のためのインターフェースであり、あくまで人間専用です。コンピュータやプログラミングが得意とするモノではありません。そのため他の自動化の技術(VBA、GAS、Pythonクラウドフローなど)に比較すると、圧倒的にエラーが多い・運用コストが高いのがデメリットとなっています。

クラウドフローとは

クラウドフローも「アプリケーションの操作を自動化する」という目的は同じです。しかしこちらの場合、コンセントをつないで操作する仕組みとなっています。

API(アプリに用意された接続口)からプログラムを直接操作

アプリケーションにはプログラムの内部へ直接接続するための窓口が用意されています。これを難しい言葉で「API」と呼ぶのですが、このプログラム内部にある窓口を通じてアプリを操作します。

※)先ほどのデスクトップ版では画面上のリンクやボタンを直接操作したのに対し、クラウド版ではアプリケーション内部にあるプログラムを直接操作する点に注目して下さい。

クラウドフローの強み・弱み

クラウド版のメリットは処理が安定することです。プログラム専用の窓口を通じてデータをやり取りするため、デスクトップ版と比べてずっと処理が安定します。

一方でデメリットはとってもシンプルで、APIがないモノは操作できません。特にAPIが用意されていないようなレガシーなアプリケーション(会社専用の基幹システムなど)はデスクトップ版で自動化することになります。

どちらを使うべきか?

結論としては「基本的にはクラウド版で対応して、できないモノについてはデスクトップ版で対処すること」をオススメしています。先ほど申し上げたようにクラウドフローはAPIを通じて処理を行うため、非常に安定した動作が可能です。しかしアプリによってはAPIが用意されていないモノもあります。それについてはデスクトップ版で対応する...といった切り分けができるとベストではないでしょうか。

最後に..

どちらの技術も万能なモノではないので、状況に応じて使い分けることが大切です。

・今回はAPIが用意されているので、クラウドフローで対応しよう!
・今回はデスクトップアプリの操作も含めて自動化したいので、デスクトップフローで対応しよう!

上記のような柔軟に使い分ける姿勢を持つことが何よりも重要なことではないかと思います。