リッチクライアントに気をつけろ!

来週から小学校の早いところでは夏休みが終わり授業が始まりますね。
季節も秋らしくなってきました。残りの夏を楽しみましょうね。渡部です。

今日はRPAが苦手とするリッチクライアント・言語のお話です。

リッチクライアントとは

リッチクライアント」というものを聞いたことがありますか?


リッチインターネットアプリケーションは、パーソナルコンピュータ等のソフトウェアの分類の1つであり、ウェブブラウザなどのクライアントの機能を活かした、柔軟なインタフェースをもつウェブアプリケーションのことである。
RIAを使用することにより、従来はHTML(またはXHTML)とCSSにより記述されていたウェブページに、さらなる機能を付加することができる。また、実現しにくかった動的なアプリケーションの作成がより容易になっている。
Flash等のRIAの普及により、ウェブ表示をこれまでの固定的なものから動的なものに変え、画面に表現力を与えている。

特徴

  1. アプリケーションと実行環境を含むソフトウェアの配布と更新が容易である
  2. 複数の異なるプラットフォームに対応する
  3. 表現力の高いユーザインタフェースが構築できる

製品リスト

カテゴリ リッチクライアント クライアント側の実行環境/
サーバ側の実行環境
開発環境 ベンダー
Browser-Based
リッチクライアント
Flashアプリケーション Flash Player(無償) Flash MX マクロメディア
Flash Player(無償)/Flex(有償) Flex Builder
Curlアプリケーション Curl Surge RTE(無償) Curl Surge Lab IDE カール
Biz/Browserアプリケーション Biz/Browser(有償) Biz/Designer アクシスソフト
Java Appletアプリケーション Java VM(無償) Java準拠の開発環境  
FlyingServアプリケーション FlyingServ J-Frame Server(有償)/FlyingServ J-Frame Server(有償) Borland JBuilderなど 東芝ソリューション

ただこれは古い話で、200X年までのIE6が全盛期で、ブラウザ単体による表現力がまだ弱かった時代のものです。そのブラウザの弱いところを保管し、高い表現力(ユーザー体験)を実現するツールとしてリッチクライアントというものが出てきました。

しかし、ブラウザも大きな進歩をし、2005年にはPrototype.js、2006年にはjQueryという高機能なJavaScriptライブラリが出てきて、HTML+CSS+JavaScriptというブラウザの基本性能だけで高い表現力を実現することができるようになり、リッチクライアントは衰退していきました。

個人的な話になりますが、200X年当時、ブラウザの表現力に物足りなさを感じていた時リッチクライアント「Curl」に出会い、その考え方や可能性に惹かれて、「これはすばらしい!!」と思って勉強していました。

CurlとRPAとの組み合わせを検証してみた

ブラウザから見た場合、CurlもFlashもただのプラグイン(アプレット)で、プラグイン(アプレット)の操作はRPAが苦手としているのですが、ダメ元でオブジェクト認識できるか検証してみました。

UiPath⇒NG

外枠しか認識できず、実際のオブジェクトがつかめていない。

BluePrism⇒NG

外枠しか認識できず、実際のオブジェクトがつかめていない。。

AutomationAnyware⇒NG

外枠しか認識できず、実際のオブジェクトがつかめていない。。。

WinActor⇒NG

外枠しか認識できず、実際のオブジェクトがつかめていない。。。。。

結果は予想どおりすべてNGで、昔私が好きだった言語(Curl)が今の自分の仕事(RPA)では対象外になってしまうという悲しい現実に直面しました。(画像認識ではもちできるんですが・・・)

実は、別のBizBrowserというリッチクライアント製品も検証しているのですが、こちらはOK(一部製品・各種条件付きですが)だったので、リッチクライアント全体がダメというわけではありません。
その他の製品はまだ未検証ですが、NGの可能性が高いと考えています。

まとめ

RPAエンジニアの方々はよくお客さんにRPA製品と提案するときに、「業務のアプリケーション名」は聞くと思いますが、その開発言語が何かを聞くことをお勧めします。
開発言語が分かれば、どのRPA製品がいいのか目星がつけれるようになりますので、実際にRPA開発をしようとしたときに「操作できない!」ということが少なくなります。(というか事前検証は必須です

参考)
https://www.uipath.com/ja/solution/gui
Java、Oracleアプリケーション、SAP GUI、Siebel、Flash、Silverlight、Win32、MFC、VB、.NET、HTML、PDF、QT、そしてDelphiを含むほとんどのGUIフレームワークのオブジェクトを認識

ページトップ