Portalには禁断の虎の巻がたくさん。Portalには禁断の虎の巻がたくさん。マスターするなら必須の書庫!2019-10-09TwitterSharePocketHatenaLINEコピーする力が欲しいか、くれてやるはい。Prismをマスターできるかと日々悶々としています。Worldで知り合いましたが、マジで間接業務どげんかせんといかんと頑張ってる人ばかりです。各社エンタープライズ型RPAへのシフトへの意欲が高い!欲しいのは開発すれば、魔法のように永続するエンチャント自分が手を動かすのには限界があります。極限までショートカットを駆使して、マクロを駆使して業務遂行スピードをあげても担当者が変われば、その流れは断ち切れます。自分を極限まで最適化しても、引き継ぎ相手はどうでしょうか。RPAはそのショートカットや効率化のアイディアをフローチャートと共に保存し――保守は必要ですが――よくメンテナンスすれば永続化可能です。担当者が変わって品質やスピードが変わることもない――ドキュメントを読もう。すれば道は開かれるということで、BluePrismPortalからドキュメントを読みあさりました。会社から過去のくだらない手作業を片っ端から消し去るには、要否を検討するには遠回りです。不要と判断されずにずっとやり続けられた業務だから今更不要の判断が下せないのです。あれば、片っ端から自動化する気概で戦おう。正論を言えば要否から検討したいけど、そんな時間が残されてないのよねぇ。いうことで、誰かの助けになればと墓標のように勉強ノートを置いておきます。Processアクションでプロセスアタッチがいけるのね。アタッチができなくて躓くところがあるから、この方法は道具箱にしまっておいて困ったときに試したいところ。スパイモードこの辺り、項目をスパイできるかどうかで手探りで使っていたことは否めない。ドキュメント内の要素名の命名時にスパイモードを末尾につけるという指摘も運用上メンテしやすくなるベストプラクティスだな。IEウィンドウそのものを操作。いうことは、最大化や、画面全体へのキー送信ができるわけですな。ポップアップ新しいオブジェクトを作成する必要あり。Win32かAAでスパイする。IE固有のポップアップ結構あるから、Utilてきなものにまとめれば再利用性が高まりそうだな。JavaアプリケーションWebアプリケーションからJavaアプレットを起動するシステムもたまにある。technique)にチェックを入れれば操作できまっせ。環境変数を使うメリットはオブジェクトやプロセスにパラメータをハードコーディングするとパラメータファイルの場所が変更になった場合、オブジェクトやパラメータに変更が必要です。可変もしくはマスタ的なパラメータは環境変数で管理しておいた方が無難。どんなものが対象になるのというと――URLデータ定義しているパスファイル出力先パス電子メールの設定情報(SMTPサーバのIPやポートなど)アプリごとのタイムアウト値アプリのログイン環境名アラートメール送信先その他修正が予想される変数っていう感じです。RPAっぽくはないですが、DB接続先なども環境変数にするかどうか検討すべきですね。環境変数名についてもルールを決めておいた方がいいでしょう。システム名、プロセス名、部門名を入れて識別しやすくするなど。URLこれら開発標準として定義しておくべきかもしれませんね。オブジェクト設計ガイド少し触れましたが複数人で開発するなら命名規則も決めておいたほうがいいですね。AMでスパイした要素に対してもこの辺りは定義しておいた方がいいですね。一例ですが――txtユーザーID(UI)btnログイン(Win32)上記の例では、要素がどんな種類のものか接頭辞で表しています。txtであればテキスト入力項目で、btnはボタンですね。お尻にはどんなモードでスパイしたようそなのか。これ地味に効いてくると思います。開発中は試行錯誤してスパイするので朧げ覚えてますが、しばらくたったら何でスパイしたっけとなり、オブジェクト内でその要素だけスパイモードが浮いているということも。この辺りはどれだけ厳密にコントロールしたいか、保守性を考えるかというところとのバランスですね。オブジェクトに業務判定を実装しない。それはプロセスの役割オブジェクト設計にあたり守る必要があるのはオブジェクトには業務判定をゆだねないことです。これをしてしまうと再利用性がぐんと下がります。保守性を考えれば、小さなオブジェクトで作り分けたほうが俄然疎結合が実現できます。ベストプラクティス特にオブジェクトレイヤーの考え方は押さえておきたいところ。待機ステージでレイテンシ吸収し、タイムアウトは例外をthrow任意の待機を使用しないオブジェクトから公開されたアクションを呼び出さないオブジェクトで業務上の決定を下さない例外を適切に設定ほかにもたくさんありますが、特に重要だと感じた部分を抜粋しました。1に関してはどのRPAでも同じですが、レイテンシが吸収できなくて、画面遷移前に項目探しに行っておちるだのっていうのは良くある話。項目が表示されたら、そこに値を設定するなどのWaitを入れましょうという話ですね。2も同じく、だいたい10秒待てばいけるっしょ、いやいや、NWに負荷がかかったときに実行して良く止まるというのもありがち。3は疎結合にしておきましょうということです。オブジェクトから非公開のアクションならいいですが、公開したオブジェクトを呼び出すと呼び出した公開したオブジェクトを変更したくなった場合影響範囲が大木ですよという話。プロセスで呼び出そうぜってことですね。4は前述したとおり、これも再利用性を高めるのに重要。catchをExceptionでしか処理しない人もいるけど、ちゃんと処理例外でわけて、例外ごとに振る舞いを替えようねという話です。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。コメントデータの処理方法の詳細はこちらをご覧ください。Prism入門】ハンズオン2を見返してみると、キューからエラー情報抜いてファイルに保存するのめっちゃいいじゃん!オブジェクト化しよう、という話。テストには出なくても、人生を何度かリカバリーできるレベル。いうことで行き詰っている。