Blue PrismでJavaアプレットのデータを取り込む
Javaアプレットは、そこそこ昔から使われている、枯れた技術のひとつです。
(私が最初に触れたのは、確か学生時代の授業だったと思います)
最先端の技術者の方には、Javaアプレットも「旧石器時代の技術」…なんて言われそうですね(Javascriptですら、書き方次第では旧石器時代の遺産のようなので、、)。
しかしながら、そんなJavaアプレットも、企業システムにおいてはまだまだ現役です。
しばしばJavaのセキュリティが話題に上がりますが、これは、クライアントで実行されるJavaアプレットの存在が大きいと思います。
さて、ここでは、そんなJavaアプレットをBlue Prismで自動化する方法について考えたいと思います。
Java Access Bridge を使う
Blue Prismは人の代わりにUIを操作できますが、その際に利用する様々な技術の一つが「アクセシビリティAPI」です。
アクセシビリティAPIは一般的な概念で、例えば目の不自由な方のために画面を読み上げるツールを作る際に、読み上げるための画面の表示(画面にどんな項目が、どのように並んでいるか、など)を取り出すことが可能なAPIです。
この考え方は、WindowsやJavaなどプラットフォームレベルでも多く採用・実装されています。
Blue Prismが人間の眼よりも正確に、素早く操作を行うために活用する技術のひとつが、このアクセシビリティAPIなのです。
Javaアプレットを扱う際は、JavaのアクセシビリティAPIである「Java Access Bridge」を利用します。
Java Access Bridgeの詳細や設定方法は、以下を参照してください。
Blue Prismの設定
Blue PrismでJavaアプレットを操作する方法は、実は極めて簡単です。
アプリケーションを設定する際に、「Enable java integration techniques」にチェックを入れるだけです。
あとは、実際にElementをidentifyする際に、Javaアプレットの要素に対してはスパイモードを切り替えるだけです。
やってみよう
実際にやってみましょう。Javaアプレットについては、勝手ながらゆんぽんすさんのサンプルを利用させていただきました。
(ゆんぽんすさん、メールをお出ししましたが届かなかったようで、、Twitterをフォローさせていただいたので、もし問題ありましたら、お手数ですがメッセージいただけますと幸いです)
以下がスパイモードを切り替えているところです。
HTMLモードだと識別できません(緑の枠がJavaアプレットの中に入っていけていない)が、
(Altキーで)Javaモードに切り替えると、、
おお、なんらか識別できたみたいですね(黄色い枠がJavaアプレット内の表をとらえている)。
実際に動かしてみましょう。
ちゃんと表のデータがBlue Prismに取り込まれています。
やったぜ。
まとめ
Blue Prismは、Java Access Bridgeを利用してJavaアプレットを操作することが可能です。
実際に行う際も、簡単な設定とスパイモードの切り替えだけで実行可能です。
ただ、上記はあくまでサンプルに対する簡易的な検証です。
Javaアプレットを使った特定のシステムを自動化する際には、特定のシステムに対する検証が必要になると思います。
Blue Prismに限らず、IT製品を導入する際には、慎重な検討が必要です。