はじめに
Blue Prismの導入方法について、0から実運用を意識した環境構築手順をガイドした記事があまりなかったため、今回まとめてみました。
簡単なプロセスをスケジュール実行するところまでの手順を解説しています。
ある程度、ベストプラクティスに沿って実際の運用に近い形でまとめていますので、これからBlue Prism導入を検討されている方の参考になるかと思います。
目次
- Blue Prismをインストールする(今回はトライアル版を使います)
-
Blue Prismサーバーを構成し、起動する -
ランタイムリソース(以下、RR)を起動する - サンプルのプロセスをインポートする
-
認証情報を設定する -
スケジュールを設定する - スケジュールを起動する
1. Blue Prismをインストールする
以下サイトより、Blue Prismのトライアル版のインストーラーをダウンロードし、インストールします。
Blue Prismポータルにアクセスするにはユーザー登録が必要です。
(記事執筆時点ではv7.1.2が最新版です)
https://portal.blueprism.com/products/trial

言語を日本語に設定。変更して続行ボタンをクリック
元の画面に戻り、開始するボタンをクリック

ライセンス契約の条件に同意します。にチェックを入れて、次へボタンをクリック

インストールが始まります。
ユーザーアカウント制御のダイアログが表示されるので、はいボタンをクリック


しばらくすると、インストールが完了します。
インストーラーを終了してBlue Prismを起動するボタンをクリックしましょう。

Blue Prismのログイン画面が表示されます。
初期ユーザー名とパスワードはともにadminですので、パスワードは適宜変更しておきましょう。


パスワードの変更が完了すると、ライセンス認証を求められます。
ポータルのユーザー登録にて登録したメールアドレス宛にライセンスファイル(拡張子が.licのファイル)が添付されたメールが届いているはずなので、そのファイルをアップロードしましょう。


もろもろガイドが出てきますが、次へボタンで読み飛ばしましょう。
最後のページの画面左下のチェックボックスにチェックを入れると、次回からガイドが表示されなくなります。

Blue Prismのホーム画面が表示されていることを確認します。

1-1. 標準VBOをインポートする
Blue Prismはプロセスからオブジェクトのアクションを呼び出し、繋げていくことでフローを構成します。
オブジェクトは自作することもできますが、Excelなどのファイル操作、ワークキュー、コレクションの操作といった、よく使う基本的な処理を構成する標準VBO(Visual Business Object)と呼ばれる部品群があります。
開発前に事前にこれらのオブジェクトをインポートしておきましょう。
画面左上のファイルタブをクリックし、インポート > プロセス/オブジェクトを選択します。

C:\Program Files\Blue Prism Limited\Blue Prism Automate\VBO直下の各XMLファイルを全選択し、開くボタンをクリックします。

プロセスログの概要画面が表示されるので、次へボタンをクリックします。

スタジオタブをクリックし、画面左のオブジェクトツリーからDefaultという名前のグループをクリックすると、標準VBOがインポートされていることが確認できます。

2. Blue Prismサーバーを構成し、起動する
1.でBlue Prismをインストール後、ログイン画面で接続先を設定する箇所があったのですが、デフォルトのLocalDB Connectionにしていたと思います。
Blue Prismはほぼ全ての情報をデータベース上で管理しているのですが、LocalDB Connectionはそのデータベースに直接アクセスしていることを指します。(別のデータベースを構成し、そこにアクセスするよう変更することもできます)
ただし、この方式だと認証情報、スケジュールといった機能が使えません。
認証情報(対向システムへのログイン情報などセキュアな情報の格納領域)を暗号化するための暗号化キーがBlue Prismサーバー(以下、BPサーバー)上に保存されるためであり、スケジュール機能はBPサーバーサービス上で実行されるためです。
参考:https://bpdocs.blueprism.com/bp-7-1/ja-jp/helpBPServer.htm

では、BPサーバーを構成し、サービスを起動させてみましょう。
まず、BPServer.exeを起動します。
C:\Program Files\Blue Prism Limited\Blue Prism Automate\BPServer.exe
起動すると以下のような画面が表示されます。新しい構成ボタンをクリックします。

詳細タブ内にて、各項目を以下のように設定します。
| 項目名 | 値 |
|---|---|
| 名前 | Default |
| データベース接続 | LocalDB Connection |
| 接続モード | WCF:安全でない |
| ホスト名またはIPアドレス | 自端末のIPアドレス(※) |
| ポート | 8199 |
次に、キー保存タブをクリックし、画面右上の新規リンクをクリックします。

暗号キーの詳細画面にて、以下のように入力してください。
キーを生成リンクをクリックし、暗号化キーを生成しておきましょう。
| 項目名 | 値 |
|---|---|
| スキーム名 | Default Encryption Scheme(※) |
| メソッド | AES-256 AesCryptoService(256 bit) |
(※)スキーム名は、IC(Interactive Client:インタラクティブクライアント=開発やリソース監視を行うPCのこと)で定義された暗号化方式の名前と一致させてください。

画面下部の開始ボタンをクリックし、BPサーバーサービスを起動させます。
"Scheduler: Waiting forever"などと表示されたら起動成功です。

Blue Prismの画面に戻り、一度サインアウトしましょう。
ログイン画面にて、接続構成リンクをクリックします。

画面下部の新しい接続ボタンをクリックし、現在の接続欄を以下のように設定します。
| 項目名 | 値 |
|---|---|
| 接続名 | BPServer |
| 接続タイプ | Blue Prismサーバー |
| Blue Prismサーバー | 自端末のIPアドレス(※1) |
| 接続モード | WCF:安全でない(※) |
| サーバーポート | 8199 |
(※1)BPサーバーとして扱う端末のIPアドレスを入力してください。今回はBPサーバーとRRを同端末にしていますが、分けるのが一般的です。
(※2)接続モードはBPサーバー構成時の接続モードと同じものを選択してください。

テスト接続ボタンをクリックし、以下のように接続が確認できればOKです。

ログイン画面に戻り、接続先を"BPServer"としたときにユーザー名、パスワードの入力欄が活性化していれば接続OKです。
それぞれ入力し、ログインができることを確認しましょう。

3. ランタイムリソースを起動する
実際に作成したプロセスを稼働させるためのリソースのことをランタイムリソースと呼びます。
Blue PrismをリソースPCモードで起動させることで、その端末をRRとして扱うことができます。
リソースPCモードで起動させるためには、Automate.exeを特定のスイッチで実行させればOKです。
ちなみにAutomate.exeやAutomateC.exeの各種スイッチを用いることで、コマンドラインでBlue Prismの様々な操作を行うことが可能です。
参考:コマンドラインオプション
以下のようなソースのbatファイルを作っておき、スタートアップフォルダに配置しておきましょう。
@echo off
echo %~dp0
rem Automate.exe起動(ランタイムリソース初期設定)
echo "Automate.exeをPublicオプションで起動します。"
start "" "C:\Program Files\Blue Prism Limited\Blue Prism Automate\Automate.exe" /resourcepc /public /dbconname "BPServer" /port 8181
exit
エクスプローラを開き、shell:common startupと入力してスタートアップフォルダを開きます。
ここに先ほどのbatファイルを配置すると、どのユーザーがWindowsにログインしても必ずbatが起動します。
また、特定のユーザーがログインしたときのみbatを起動させたい場合は、そのユーザーでログイン後、エクスプローラにてshell:startupと入力後に表示されたフォルダにbatファイルを配置してください。

batファイルを実行すると、以下のようなウィンドウが表示されます。
"Listener started."と表示されたら、リソースPCモードでの起動成功です。

4. サンプルのプロセスをインポートする
サンプルプロセスをインポートします。
CodeボタンのDownload ZIPでリリースファイルをダウンロードしてください。
https://github.com/kktrip/testcrm

ファイルタブ > インポート > リリース/スキルを選択します。

ダウンロードしたリリースファイルを選択し、インポートします。

プロセスツリーにてTestCRMグループ直下にTestCRM_ログインプロセス、オブジェクトツリーにてTestCRMグループ直下に01_TestCRM_ログインオブジェクトがあればOKです。

5. 認証情報を設定する
認証情報とは、対向システムへのログイン情報などセキュアな情報を指し、Blue Prismではそのような情報を暗号化してデータベースに保存しています。認証情報には許可されたユーザー、リソースのみアクセスすることができます。
4.でインポートしたサンプルプロセスでは、テスト用のサイトにログインする処理がありますので、認証情報にログイン情報を設定していきましょう。
システムタブ > セキュリティ > 認証情報をクリックし、画面右上の新規リンクをクリックします。

認証情報の詳細画面にて、以下のように設定します。
アプリケーション認証情報
| 項目名 | 値 |
|---|---|
| 名前 | RRの端末名(※) |
| ユーザー名 | 任意(今回は使用しません) |
| パスワードを入力 | 任意(今回は使用しません) |
(※)端末名は、コマンドプロンプトでhostnameと打つと確認することができます。

追加プロパティ
値はマスクされた状態で表示されますが、以下のように入力します。
| 名前 | 値 |
|---|---|
| TestCRM_ログインユーザー名 | guest |
| TestCRM_ログインパスワード | guest |
アクセス権
セキュリティの役割
認証情報にアクセスできるユーザーロールを指定します。
すべてのロールにチェックを入れます。

プロセス(レガシー)
認証情報にアクセスできるプロセスを指定します。
今回はすべてのプロセスにチェックを入れます。

リソース(レガシー)
認証情報にアクセスできるリソースを指定します。
今回はすべてのリソースにチェックを入れます。

これで認証情報の設定は完了です。
プロセスから認証情報にアクセスできるかテストしてみます。
開始ステージを選択し、右クリックします。メニューからこのステージを「次のステージ」とするをクリックします。

F10キー、もしくは画面左上のステップオーバーボタンでステップ実行していきます。
Utility - Environment::Machine Nameアクションで端末名を取得後、認証情報のプロパティを取得するアクション(ログインユーザー名取得、ログインパスワード取得)と続いているフローとなっています。
認証情報名がRRの端末名となっている認証情報のプロパティを取得する処理なのですが、正しくユーザー名とパスワードが取得できていればOKです。プロパティ値はマスクされた状態(パスワード型)で取得されます。

6. スケジュールを設定する
Blue Prismのスケジュールはタスクで構成されています。
タスクではプロセスを稼働させるリソースの設定、次に行うタスクの設定などを設定します。
それらのタスクを束ねているスケジュールにて、いつそれらのタスクを実行するかを制御するための設定を行います。
インポートしたサンプルプロセスについて、実行スケジュールを設定していきます。
コントロールタブ > スケジュール > New Scheduleをクリックし、名前を"TestCRM"に変更します。
直下のNew Taskも名前を"TestCRM_ログイン"に変更します。

利用可能なプロセス欄にある"TestCRM_ログイン"を選択し、利用可能なリソースに表示されているリソース(3.にてRRとして設定した端末)にドラッグ&ドロップします。

画面下部のスケジュールされたセッション欄に1行追加されました。
プロセスとリソースの紐付きに間違いがないか確認しましょう。

最後に画面左下の変更を適用ボタンをクリックして、設定を保存します。

7. スケジュールを起動する
6.で設定したスケジュールを実際に動かしてみましょう。
スケジュールは定期的に実行するよう設定することもできますが、即時実行させることもできます。
取り急ぎ、スケジュールが正しく実行されることを確認するため、コントロールタブ > スケジュール > TestCRM を右クリックしてください。
メニューから今すぐ実行を選択し、スケジュールを実行させてみましょう。

テスト用のサイトが開かれ、認証情報に登録されたログイン情報を用いてログインを行った後、数秒待機して自動的にブラウザを閉じるという一連の処理が実行されます。

コントロールルームの画面下部の環境に、実行されたプロセス、リソースの情報や実行ステータスなど、スケジュールの実行状況が表示されます。正常に完了すると、状態列に完了と表示されます。

最後に
今回はBlue Prismの実行環境を0から作ってみました。
PoCレベルだとBPサーバーは構築せずに簡易的な環境に留まることが多いのですが、今回の記事では実用的な手順で環境構築しています。
ぜひ参考にしてみてください。











