見出し画像

Blue Prismベストプラクティス 構築編 3 データアイテム – グローバル変数、環境変数、セッション変数

データアイテム(変数)

、、、まず、アクションやページへのパラメータに値を直書きすることは止めましょう。こんなことを本番稼働ロボットでしている人はいないですよね。。。

値をハードコードすることは、特に、オブジェクトに変数を保持・記載することも避けましょう。なるべくパラメータ渡しにして、プロセス側から指定するように実装しておくと、再利用性が高まります。値は要件によって違うでしょうから。

Blockを使って、種類別に色分けするなどして、視認性を向上させ、メンテナンス性を高めることもお勧めです。

グローバル変数

特定のプロセスやオブジェクトで共通的に同じ値を扱う変数は、グローバル変数を利用しましょう。Waitステージで利用するタイムアウト値や、リトライ件数などが、良くありますね。
オブジェクトでは、変数(データアイテム)をInitialiseページに配置し、「プロセス内の他のページから隠す」オプションをオフにするだけです。

環境変数

本番環境と開発環境とで違う値が想定される場合は、環境変数を利用するようにしましょう。例えば、テスト機、本番機のURL、フォルダのパスなどが考えられます。
環境ごとに違う値を入力するのに、いちいちスタジオでデータアイテムを編集する、ということになると、手間ですし、監査ログにも不必要な保存記録が残ることになります。

セッション変数

ロボット実行時に、任意の値を指定したい場合は、セッション変数が利用できます。コントロールルーム上で任意の値を指定するんですね。例えば、テスト実行の際は処理対象件数を最初の10件だけ、にしたい、本番はもちろん全件数処理するよね、とか。

データセキュリティ

パスワードはPassword型というデータタイプ(変数型)を利用していると思います。センシティブなデータ(クレジットカード番号、顧客氏名など)も、このPassword型を利用して、マスクするようにしましょう。
これにより、ログに不用意にセンシティブなデータが露呈することを回避できます。この際、サブページやオブジェクトアクションのパラメータの型もPassword型にすることを忘れずに。

センシティブなデータについては、不用意に露出しないよう、ロボットが値を保持している時間を極力短くするような実装も必要です。(必要なタイミングにのみ都度取りに行き、不要となったらすぐデータアイテムからクリアしてしまう、など)

まとめ

Blue Prismでは、様々な種類の変数を利用できます。目的に合わせて、適切なものを選んで利用するようにしましょう。

※本投稿は、別ブログで掲載・公開していた内容に加筆・修正を加え再掲載しています。