UiPath Blog
はじめに
本記事では、UiPath Studio/RobotのCitrix環境への対応状況について説明いたします。 2019年8月時点での情報を元に執筆しておりますので、将来のバージョンにおいて内容が異なる可能性があります。あらかじめご了承ください。
UiPath Studio/RobotをCitrix Virtual Apps and Desktops (旧: XenApp and XenDesktop) 環境にて使用するユースケースは、大きく分けると2つの場合があり、それぞれのポイントは下記の通りとなります。
それぞれの詳細について説明します
1. UiPathによるCitrix Virtual Apps自動化
この環境はクライアント端末で主に業務を行うケースで、一部の業務アプリケーションをCitrix Virtual Appsで仮想化しています。 UiPath Studio/Robotはクライアント側にインストールし、仮想化されたアプリケーションとローカルアプリケーションの操作を組み合わせて業務処理の自動化を行います。
Citrix Virtual Appsで仮想化されたアプリケーションは実際にはCitrix Virtual Appsサーバー側で動作し、クライアント側には画面転送されるため画像として認識されます。
v2018.3 以前
そのため通常の方法では画像認識を使用して自動することになりますが、次の欠点があります。
個別 UI 要素を識別するセレクターが取得できないため、アンカーなどを使用してオブジェクト特定の精度を上げるのに試行錯誤が必要になります。
セレクター取得が困難なため画面操作にホットキーやクリップボードを多用しがちになり、ワークフローの保守性が低下します。 (例えば、あるアプリケーションのメニューを呼び出すのに「Alt+F、↓4回、→1回、↓2回、Enter」というホットキーのシーケンスがワークフローに記述されていた場合に、第三者が作成者の意図を即座に理解するのは困難です)
Citrix Virtual Appsで仮想化されたアプリケーションはリモートサーバーで動作するためネットワーク遅延などの影響を受け、画面描画に時間がかかる場合があります。そのためオブジェクト認識にもリトライを実装するなど安定性向上に追加の工数が必要になります。
これらの欠点を改善するためにv2018.4以降のUiPath Studio/Robotでは、Citrix Virtual Appsで仮想化されたアプリケーションに対してもローカルインストールされたアプリケーションと同様にセレクターが取得できるようになりました。 これによってホットキーやクリップボードなどの使用は必要最低限に留め、ワークフローの開発効率、精度、信頼性および保守性を向上することが可能になりました。
v2018.4 以降
ではUiPath Studio/Robotはリモートサーバーのセレクターをどのように取得するのでしょうか? これを実現するためにはCitrix Virtual Appsサーバーとクライアントにプラグインをインストールする必要があります。
サーバー側のプラグインはUiPath Remote Runtimeと呼ばれるモジュールとして提供されており、入手方法は弊社カスタマーサポートにお問い合わせください。
クライアント側のプラグインは、UiPath Studio > ツール > Citrix 拡張機能よりインストールします。(または管理者権限コマンドプロンプトで次のコマンドを実行します:"C:\Program Files (x86)\UiPath\Studio\UiPath\SetupExtensions" /CitrixClient)
UiPath Remote RuntimeはCitrix Virtual Appsサーバー側でユーザーセッションごとに動作します。アプリケーションのセレクターを取得し、Citrix ICA Virtual Channelを使用してセレクター情報をクライアント側に送信します。 クライアント側ではCitrix 拡張機能を使用して、Citrix Virtual Appsサーバーで取得されたセレクター情報をアクティビティに渡します。
この仕組みによってCitrix Virtual Appsで仮想化されたリモートアプリケーションに対しても、ローカルアプリケーションのターゲットと同様に Click や Type Into などのアクティビティを使用することが可能になります。
一つ注意点として、仮想化されたWindowsアプリケーションの自動化は v2018.4以降のUiPath Studio/Robotで対応していますが、仮想化されたブラウザーの自動化は、v2019 FT (FastTrack) でサポートされています。 このため仮想化されたブラウザーの自動化を行うには UiPath Studio/Robotを v2019 FT以降にバージョンアップする、もしくは UiPath.UIAutomation.Activities の v19.4.0以降を使用します。 ブラウザーはIE、Google Chrome、Mozilla Firefoxに対応していますが、ChromeとFirefoxはCitrix Virtual Appsサーバー側に拡張機能をインストールする必要があります。
より詳細な情報は弊社WebサイトのStudioガイドをご参照ください。
https://docs.uipath.com/studio/lang-ja/docs/about-automating-citrix-technologies
https://docs.uipath.com/studio/lang-ja/docs/extension-for-chrome
https://docs.uipath.com/studio/lang-ja/docs/extension-for-firefox
2. Citrix Virtual Apps and Desktops上でのUiPath運用
この環境は、仮想デスクトップ側で主に業務を行うケースで、業務アプリケーションはすべて仮想デスクトップ側で稼働します。 クライアント側はシンクライアント端末などを使用して業務アプリケーションや業務データを残さず、業務処理はすべて仮想デスクトップ側で行うことによりセキュリティを強化する構成になります。 このケースではUiPath Studio/Robotは仮想デスクトップ側にインストールし、業務処理の自動化を行います。 UiPath Studio/Robotは ソフトウェア要件 に記載の通り、クライアントOSとサーバーOSの両方に対応しており、Citrix Virtual Apps and Desktops 環境でも問題なく使用することができます。
ではUiPath Studio/Robotを仮想デスクトップで使用するメリットはどこにあるでしょうか? まずUiPath Robotを物理端末で動作させる場合の課題について考えてみましょう。
物理端末上で自動化処理を実行している間は、他の日常業務が行えない。
個人情報など機密情報を収集するワークフローを実行することにより、故意または過失により情報漏洩させるリスクがある。
端末の利用実態が把握できない。
遠隔地に配置されている端末はトラブルシューティングがしにくい。
仮想デスクトップ上でUiPath Robotを使用することによって、これらの課題を解決することができます。
ワークフロー実行環境をVDIとして提供することによりセキュアに自動化実行環境を拡張することが可能になる。
自動化処理は個別のデスクトップセッション内で起動するため、Citrix Virtual Appsによる同一サーバー上のマルチユーザーセッションも対応可能になる。
専用または共有デスクトップとしてワークフローの実行環境が利用可能になる。
次にUiPath Studioを物理端末で動作させた場合はどのような課題があるでしょうか? UiPath Studioで自動化ワークフロー開発するには自動化対象の業務アプリケーションへのアクセスが必要となります。 セキュリティの観点からワークフローの開発拠点は物理的な制約を受けます。つまりエンドユーザーのオフィスにワークフロー開発者が一同に会するため、
場所の確保
ワークフロー開発端末の準備
セキュリティカードの準備
などが必要となり、開発チームを拡大することが困難となります。
仮想デスクトップ上でUiPath Studioを使用することによって、この課題を解決することができます。
ワークフロー開発環境をVDIとして提供することにより、セキュアに社内外からリモートアクセスが可能になる。
ワークフロー開発を外注する場合でも開発ベンダーは自社オフィスからエンドユーザーの開発環境にリモートアクセスし、業務アプリの自動化ワークフローを開発することが可能になる。
データセンターのVDI環境からリモート端末へのデータコピーをポリシーによって制御することも可能になる。
仮想デスクトップ上でUiPath Studioを使用することによって、この課題を解決することができます。
このように一般的にCitrix Virtual Apps and Desktopsを利用するメリットを、UiPath Studio/Robotの利用においてもそのまま享受することができます。
Citrix環境サポートの更なる取り組み
最後にCitrix環境サポートに関する更なる取り組みをいくつか紹介したいと思います。
・Citrix Ready
UiPath Studio/RobotはCitrix Ready認定による互換性テストをパスしており動作保証されております。 検証済みのバージョンについてはこちらのサイトをご参照ください。 https://citrixready.citrix.com/uipath.html
・ナレッジベース
VDI環境におけるUiPath製品展開に関するノウハウを下記サイトに公開しております。 https://www.uipath.com/ja/resources/knowledge-base/install-step-for-vdi-20181221
・Citrix Cloud
UiPath Studio/Robotはオンプレミスでもクラウド環境でも ソフトウェア要件 を満たす範囲においてサポートされます。 今後はCitrix Cloudでの検証を行いナレッジベースなどで情報発信を行っていく予定です。
Senior Solution Architect, UiPath