SlideShare a Scribd company logo
一歩上の安定を目指した
「バックグラウンド実行」
対応のススメ
眞鍋忠喜(ちゅき)
@Chuki
2
#UiPathFriends #UiFes
1. はじめに
2. バックグラウンド実行って?
3. バックグラウンド実行に対応しよう
本日のアジェンダ
1.はじめに
UiPath Friends Tech三昧
4
#UiPathFriends #UiFes
勤務先
• コベルコシステム株式会社
- 株主:日本アイ・ビー・エム 株式会社 51% / 株式会社 神戸製鋼所 49%
- UiPath 認定リセラー
• 所属
- 1996年入社
- R&D部門➡情報システム部門➡システム開発部門➡新規事業開発部門➡技術Gr.(現職)
UiPathとのかかわり
• 2017年より新ビジネス担当としてRPAのビジネス化を担当した
• 関西を中心にコミュニティーに参加している
受賞など
• UiPath Japan MVP 2019-
• Microsoft MVP 2012-
※MVP(Most Valuable Professional)
眞鍋忠喜(ちゅき Chuki@Twitter)
発言は所属する組織・団体を
代表するものではありません
2.バックグラウンド
実行って?
UiPath Friends Tech三昧
6
#UiPathFriends #UiFes
1. フォアグラウンド
1. Desktop画面が表示されている
2. 特徴
① ログイン状態
② 画面がロックされていない
③ UIが操作できる
2. バックグラウンド
1. Desktop画面が表示されていない
① 画面がロック状態かもしれない
② UI操作できない
③ 同時ログインしていて裏になってる
かもしれない
「フォアグランド」 vs 「バックグラウンド」:いろんな定義がありますが、今からは次の状態とします
バックグラウンドの実行とは
図: 同一PCに2人ログイン状態のとき
・フォアグランド:chuki****:****.com
(表示名:Tadayoshi MANABE)
・バックグラウンド:NotAdminUser
7
#UiPathFriends #UiFes
1. 特徴
1. 入力デバイスからの操作ができない
2. クリップボードへのアクセスができない
3. アプリケーション自体は動作している
2. 考慮事項
1. 対話形式のActivityを使用しない
2. エラー通知などはログに書き出す
対話形式のActivity例
Windows OSのロック状態の特徴と考慮事項
😭画面がないので
押せない
😭なんのエラーか
わからん
画面ロック
アクティビティ名(和名) アクティビティ名(英名) 概要
カスタム入力 Custom Input ワークフローにデータを返す HTML ファイルを表示する
ファイルを選択 Select File ファイルを選択するためのダイアログボックスを開く
フォルダーを選択 Select Folder フォルダーを選択するためのダイアログボックスを開く
メッセージボックス Message Box
オプションボタンを含む所定のテキストを有するメッセージボックスを表示
する
入力ダイアログ Input Dialog ユーザーに文字列等の入力を求めるダイアログボックスを表示する
吹き出し Callout
指定のUI要素上で、タイトルとテキストを含むポップアップを一定時間表示
する
8
#UiPathFriends #UiFes
注意:Activityの種類によっては適切なプロパティを設定する必要がある
バックグラウンドでも動作するActivity例
アクティビティ名(和名) アクティビティ名(英名) 概要
クリック Click 指定のUI要素をクリック
ダブルクリック Double Click 指定のUI要素をダブルクリック
ホバー Hover 指定のUI要素上にカーソルを置く
SecureString で文字を入力 Type Secure Text
UI 要素に Secure String に格納された文字列を送
る
ホットキーを押下 Send Hotkey UI要素にキーボードショートカットを送信する
文字を入力 Type Into UI要素に指定した文字列を入力する
テキストを取得 Get Text UI要素からテキストを抽出する
テキストを設定 Set Text UI要素のテキスト属性に文字列を設定
フルテキストを取得 Get Full Text フルテキスト画面スクレイピング
表示中のテキストを取得 Get Visible Text Native画像スクレイピング
構造化データを抽出 Extract Structured Data Webページからデータを抽出する
バックグラウンド実行
に対応しよう
UiPath Friends Tech三昧
10
#UiPathFriends #UiFes
1. 直接的な利点
1. 時間のかかるロボット実行時に画面ロックしても
そのまま稼働し続ける
2. バックグラウンドプロセス機能に対応できる
2. 副次的な効果
1. 不意のマウスやキーボード操作に影響
されにくくなる
2. 異状発生時に原因をつかみやすくなる
バックグラウンド実行に対応させる利点
で、バックグラウンド実行
に対応したら
なにが得すんの?
11
#UiPathFriends #UiFes
一足飛びに答えを出す前に……
バックグラウンドでUI操作するためには
12
#UiPathFriends #UiFes
1. ウィンドウメッセージを送信
• UIに対して、OSのWindow Messageを送信する。受信したUIがその処理を行う
VBとかExcelマクロで出てくるOnClickとかと同じもの(WM_SETTEXTとかのメッセージ)
→バックグラウンド実行可能
2. クリックをシミュレート
• UIクラスのメソッドを利用する
→高速でバックグラウンド実行も可能
- でも、直接利用させてくれるUIが少ない
- 操作対象でチェンジ前イベントなどがうまく飛ばず
処理が中途半端になることがある
3. 既定(上記のどちらにもチェックが入っていない状態)
• デバイス系ドライバの動きをマネする
→人間と競合しちゃうのでフォアグラウンドでも安定しない
バックグラウンド実行もできない
3つの方法がある(一長一短)
UiPathがUI要素を操作するオプションの概要
「クリック」アクティビティ
13
#UiPathFriends #UiFes
「ウィンドウメッセージを送信」(最優先)
• バックグラウンドで動作させるときは、Selectorが必須(図1)
• イベントループが動作しないため、Selectorが必要(Hotkey送信時に注意。親画面ではダメ。直接指定)
「シミュレート」(個人的に好き。コンボボックスとかと相性悪い図2)
• メソッドを直接操作するので速い(個人的に最優先)
• いわゆる Getter/SetterメソッドやSetWindowText()と同等
• 画面に依存しないためバックグラウンドでも動作する
「既定値」:
• キーボードやマウスを奪うので、ユーザーがキーボードやマウスを触ってしまってエラーを誘発する(避けるべき)
→大事なことなので、何度も言いました
各メソッドごとの特徴(参照元→リンク)
UI要素を操作する仕組みの違いによる影響
13
入力機能メソッド 互換性
バックグラウンド
での実行
速度
ホットキーの
サポート
フィールドの
自動消去
1.[既定値 (Default)] 100% × 50% ○ ×
2.[ウィンドウメッセージを送信 (SendWindowMessages)] 80% ○ 50% ○ ×
3-1.ウェブアプリケーション 99% ○ 100% × ○
3-1.デスクトップアプリケーション 60% ○ 100% × ○
3.[入力をシミュレート (Simulate Type)] / [クリックをシミュレート (Simulate Click)]
図1セレクタの選択
図2:相性最悪の例:Excel 「名前を付けて保存」
14
#UiPathFriends #UiFes
1. 開発機と環境差異があるため、不具合が出ることを前提で作成する
2. 想定できるエラーについてはTry-Catchで適切な例外クラスでハンドリングしてロギングする
3. 正常・異常など、ユーザーが判断できる通知を行うこと
4. エラーが出ても気づきにくいため、できるだけエラーや変更に強い作りにする
5. 画像認識を使用していないか
6. Selectorは柔軟か
7. 「待機」Activityではなくイベント待機系を使用する
8. パスワードのような平文で保存できないが更新可能性があるものについて考慮されているか
9. 途中で異常終了した際にもユーザーは正しく業務継続できるよう通知と業務内容のドキュメント化ができ
ているか
10. ロボットがなくても業務が停滞しない手立てが存在するか
などなど
目的は、あくまで「業務」の安定稼働。ロボット君が「正しく」働けるよう、正しく指導(作成)してあげましょう。
業務を安定して稼働させるために・・・
ご清聴ありがとう
ございました。
一歩上の安定を目指した
「バックグラウンド実行」対応のススメ

More Related Content

What's hot

⼤企業で実現するイマドキの内製開発
⼤企業で実現するイマドキの内製開発⼤企業で実現するイマドキの内製開発
⼤企業で実現するイマドキの内製開発
NTT Communications Technology Development
 
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
akio19937
 
#CCSE2019 GREE VR Studio Lab 「VTuber向け特殊表情コントローラの可能性と機械学習的アプローチ」(速公開版)
#CCSE2019 GREE VR Studio Lab 「VTuber向け特殊表情コントローラの可能性と機械学習的アプローチ」(速公開版)#CCSE2019 GREE VR Studio Lab 「VTuber向け特殊表情コントローラの可能性と機械学習的アプローチ」(速公開版)
#CCSE2019 GREE VR Studio Lab 「VTuber向け特殊表情コントローラの可能性と機械学習的アプローチ」(速公開版)
GREE VR Studio Lab
 
BLEACH -Brave Souls- 3DUI演出の実装事例
BLEACH -Brave Souls- 3DUI演出の実装事例BLEACH -Brave Souls- 3DUI演出の実装事例
BLEACH -Brave Souls- 3DUI演出の実装事例
KLab Inc. / Tech
 
AWS IoT サービスこの1年の進化
AWS IoT サービスこの1年の進化AWS IoT サービスこの1年の進化
AWS IoT サービスこの1年の進化
Jun Ichikawa
 
アクセスプラン(実行計画)の読み方入門
アクセスプラン(実行計画)の読み方入門アクセスプラン(実行計画)の読み方入門
アクセスプラン(実行計画)の読み方入門
Akira Shimosako
 
AI時代の要件定義
AI時代の要件定義AI時代の要件定義
AI時代の要件定義
Zenji Kanzaki
 
「Power Platform 管理者」とは?
「Power Platform 管理者」とは?「Power Platform 管理者」とは?
「Power Platform 管理者」とは?
Teruchika Yamada
 
TDDBC 横浜 演習課題
TDDBC 横浜 演習課題TDDBC 横浜 演習課題
TDDBC 横浜 演習課題Hiroyuki Ohnaka
 
ドメイン駆動設計 at DDD.rb #5
ドメイン駆動設計 at DDD.rb #5ドメイン駆動設計 at DDD.rb #5
ドメイン駆動設計 at DDD.rb #5
啓 杉本
 
Confluence と SharePoint 何が違う?
Confluence と SharePoint 何が違う?Confluence と SharePoint 何が違う?
Confluence と SharePoint 何が違う?
アトラシアン株式会社
 
ZabbixでDockerも監視
ZabbixでDockerも監視 ZabbixでDockerも監視
ZabbixでDockerも監視
Atsushi Tanaka
 
IoT×Blockchain活用事例 ~トイレに学ぶHyperledger Fabricシステム開発の勘所~
IoT×Blockchain活用事例 ~トイレに学ぶHyperledger Fabricシステム開発の勘所~IoT×Blockchain活用事例 ~トイレに学ぶHyperledger Fabricシステム開発の勘所~
IoT×Blockchain活用事例 ~トイレに学ぶHyperledger Fabricシステム開発の勘所~
Hyperleger Tokyo Meetup
 
シリコンスタジオによる HDR出力対応の理論と実践
シリコンスタジオによるHDR出力対応の理論と実践シリコンスタジオによるHDR出力対応の理論と実践
シリコンスタジオによる HDR出力対応の理論と実践
Silicon Studio Corporation
 
JTF2018 FIWARE x robot x IoT
JTF2018 FIWARE x robot x IoTJTF2018 FIWARE x robot x IoT
JTF2018 FIWARE x robot x IoT
Nobuyuki Matsui
 
SpectreとMeltdown:最近のCPUの深い話
SpectreとMeltdown:最近のCPUの深い話SpectreとMeltdown:最近のCPUの深い話
SpectreとMeltdown:最近のCPUの深い話
LINE Corporation
 
Active Directory をInternetから使用するための4つのシナリオ
Active Directory をInternetから使用するための4つのシナリオActive Directory をInternetから使用するための4つのシナリオ
Active Directory をInternetから使用するための4つのシナリオ
junichi anno
 
LINE Login総復習
LINE Login総復習LINE Login総復習
LINE Login総復習
Naohiro Fujie
 
OPC UAをオープンソースやフリーのソフトで遊んでみた
OPC UAをオープンソースやフリーのソフトで遊んでみたOPC UAをオープンソースやフリーのソフトで遊んでみた
OPC UAをオープンソースやフリーのソフトで遊んでみた
ミソジ
 
DjangoでさくっとWeb アプリケーション開発をする話
DjangoでさくっとWeb アプリケーション開発をする話DjangoでさくっとWeb アプリケーション開発をする話
DjangoでさくっとWeb アプリケーション開発をする話
Nakazawa Yuichi
 

What's hot (20)

⼤企業で実現するイマドキの内製開発
⼤企業で実現するイマドキの内製開発⼤企業で実現するイマドキの内製開発
⼤企業で実現するイマドキの内製開発
 
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
第1回ROS勉強会発表資料 ROS+Gazeboではじめるロボットシミュレーション
 
#CCSE2019 GREE VR Studio Lab 「VTuber向け特殊表情コントローラの可能性と機械学習的アプローチ」(速公開版)
#CCSE2019 GREE VR Studio Lab 「VTuber向け特殊表情コントローラの可能性と機械学習的アプローチ」(速公開版)#CCSE2019 GREE VR Studio Lab 「VTuber向け特殊表情コントローラの可能性と機械学習的アプローチ」(速公開版)
#CCSE2019 GREE VR Studio Lab 「VTuber向け特殊表情コントローラの可能性と機械学習的アプローチ」(速公開版)
 
BLEACH -Brave Souls- 3DUI演出の実装事例
BLEACH -Brave Souls- 3DUI演出の実装事例BLEACH -Brave Souls- 3DUI演出の実装事例
BLEACH -Brave Souls- 3DUI演出の実装事例
 
AWS IoT サービスこの1年の進化
AWS IoT サービスこの1年の進化AWS IoT サービスこの1年の進化
AWS IoT サービスこの1年の進化
 
アクセスプラン(実行計画)の読み方入門
アクセスプラン(実行計画)の読み方入門アクセスプラン(実行計画)の読み方入門
アクセスプラン(実行計画)の読み方入門
 
AI時代の要件定義
AI時代の要件定義AI時代の要件定義
AI時代の要件定義
 
「Power Platform 管理者」とは?
「Power Platform 管理者」とは?「Power Platform 管理者」とは?
「Power Platform 管理者」とは?
 
TDDBC 横浜 演習課題
TDDBC 横浜 演習課題TDDBC 横浜 演習課題
TDDBC 横浜 演習課題
 
ドメイン駆動設計 at DDD.rb #5
ドメイン駆動設計 at DDD.rb #5ドメイン駆動設計 at DDD.rb #5
ドメイン駆動設計 at DDD.rb #5
 
Confluence と SharePoint 何が違う?
Confluence と SharePoint 何が違う?Confluence と SharePoint 何が違う?
Confluence と SharePoint 何が違う?
 
ZabbixでDockerも監視
ZabbixでDockerも監視 ZabbixでDockerも監視
ZabbixでDockerも監視
 
IoT×Blockchain活用事例 ~トイレに学ぶHyperledger Fabricシステム開発の勘所~
IoT×Blockchain活用事例 ~トイレに学ぶHyperledger Fabricシステム開発の勘所~IoT×Blockchain活用事例 ~トイレに学ぶHyperledger Fabricシステム開発の勘所~
IoT×Blockchain活用事例 ~トイレに学ぶHyperledger Fabricシステム開発の勘所~
 
シリコンスタジオによる HDR出力対応の理論と実践
シリコンスタジオによるHDR出力対応の理論と実践シリコンスタジオによるHDR出力対応の理論と実践
シリコンスタジオによる HDR出力対応の理論と実践
 
JTF2018 FIWARE x robot x IoT
JTF2018 FIWARE x robot x IoTJTF2018 FIWARE x robot x IoT
JTF2018 FIWARE x robot x IoT
 
SpectreとMeltdown:最近のCPUの深い話
SpectreとMeltdown:最近のCPUの深い話SpectreとMeltdown:最近のCPUの深い話
SpectreとMeltdown:最近のCPUの深い話
 
Active Directory をInternetから使用するための4つのシナリオ
Active Directory をInternetから使用するための4つのシナリオActive Directory をInternetから使用するための4つのシナリオ
Active Directory をInternetから使用するための4つのシナリオ
 
LINE Login総復習
LINE Login総復習LINE Login総復習
LINE Login総復習
 
OPC UAをオープンソースやフリーのソフトで遊んでみた
OPC UAをオープンソースやフリーのソフトで遊んでみたOPC UAをオープンソースやフリーのソフトで遊んでみた
OPC UAをオープンソースやフリーのソフトで遊んでみた
 
DjangoでさくっとWeb アプリケーション開発をする話
DjangoでさくっとWeb アプリケーション開発をする話DjangoでさくっとWeb アプリケーション開発をする話
DjangoでさくっとWeb アプリケーション開発をする話
 

Similar to 一歩上の安定を目指した「バックグラウンド実行」対応のススメ

UiPath on Windows 11
UiPath on Windows 11UiPath on Windows 11
UiPath on Windows 11
Chuki ちゅき
 
DX Suite & UiPath さっくり読み取りさっくり連携
DX Suite & UiPath さっくり読み取りさっくり連携DX Suite & UiPath さっくり読み取りさっくり連携
DX Suite & UiPath さっくり読み取りさっくり連携
Chuki ちゅき
 
UIフレームワークのAAとUIAってそもそもなんやろか
UIフレームワークのAAとUIAってそもそもなんやろかUIフレームワークのAAとUIAってそもそもなんやろか
UIフレームワークのAAとUIAってそもそもなんやろか
Chuki ちゅき
 
ExcelからITそしてDXの世界へ
ExcelからITそしてDXの世界へExcelからITそしてDXの世界へ
ExcelからITそしてDXの世界へ
Chuki ちゅき
 
First impression of UiPath StudioX
First impression of UiPath StudioX First impression of UiPath StudioX
First impression of UiPath StudioX
Chuki ちゅき
 
RPA運用自動化パイプライン
RPA運用自動化パイプラインRPA運用自動化パイプライン
RPA運用自動化パイプライン
JunShiomi
 
MVPの軌跡と実現したい世界観 『 誰もが自動化に取り組む未来 』
MVPの軌跡と実現したい世界観 『 誰もが自動化に取り組む未来 』MVPの軌跡と実現したい世界観 『 誰もが自動化に取り組む未来 』
MVPの軌跡と実現したい世界観 『 誰もが自動化に取り組む未来 』
JunShiomi
 
企業と勉強会 @nifty エンジニアサポート
企業と勉強会 @nifty エンジニアサポート企業と勉強会 @nifty エンジニアサポート
企業と勉強会 @nifty エンジニアサポートDaichi Morifuji
 
勉強会で歩き方を教えたお話
勉強会で歩き方を教えたお話勉強会で歩き方を教えたお話
勉強会で歩き方を教えたお話
和希 正治
 
UiPath Go!フレームワーク探求記
UiPath Go!フレームワーク探求記UiPath Go!フレームワーク探求記
UiPath Go!フレームワーク探求記
JunShiomi
 
実践!RPA のテクノロジーを活用した自動テスト
実践!RPA のテクノロジーを活用した自動テスト実践!RPA のテクノロジーを活用した自動テスト
実践!RPA のテクノロジーを活用した自動テスト
JunShiomi
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
Koichi ITO
 
au Webポータル デプロイ・ジャーニー
au Webポータル デプロイ・ジャーニーau Webポータル デプロイ・ジャーニー
au Webポータル デプロイ・ジャーニー
Yasufumi Moritake
 
Innovation egg 第6回 『io t 今と未来』
Innovation egg 第6回 『io t 今と未来』Innovation egg 第6回 『io t 今と未来』
Innovation egg 第6回 『io t 今と未来』
Hiroyuki Hiki
 
第7回SIA研究会(例会)プレゼン資料 油野様
第7回SIA研究会(例会)プレゼン資料 油野様第7回SIA研究会(例会)プレゼン資料 油野様
第7回SIA研究会(例会)プレゼン資料 油野様Tae Yoshida
 
Msセミナー20170830 slideshare
Msセミナー20170830 slideshareMsセミナー20170830 slideshare
Msセミナー20170830 slideshare
NHN テコラス株式会社
 
SORACOM Conference "Discovery" 2018 | E4. 現場で”結果を出す”IoT活用の進め方 〜SORACOMユーザーとイン...
SORACOM Conference "Discovery" 2018 | E4. 現場で”結果を出す”IoT活用の進め方 〜SORACOMユーザーとイン...SORACOM Conference "Discovery" 2018 | E4. 現場で”結果を出す”IoT活用の進め方 〜SORACOMユーザーとイン...
SORACOM Conference "Discovery" 2018 | E4. 現場で”結果を出す”IoT活用の進め方 〜SORACOMユーザーとイン...
SORACOM,INC
 
20191024_optim_tech_night_techleadmeeting
20191024_optim_tech_night_techleadmeeting20191024_optim_tech_night_techleadmeeting
20191024_optim_tech_night_techleadmeeting
Kazuhiro Wada
 
シラサギ紹介20170525
シラサギ紹介20170525シラサギ紹介20170525
シラサギ紹介20170525
Naokazu Nohara
 

Similar to 一歩上の安定を目指した「バックグラウンド実行」対応のススメ (20)

UiPath on Windows 11
UiPath on Windows 11UiPath on Windows 11
UiPath on Windows 11
 
DX Suite & UiPath さっくり読み取りさっくり連携
DX Suite & UiPath さっくり読み取りさっくり連携DX Suite & UiPath さっくり読み取りさっくり連携
DX Suite & UiPath さっくり読み取りさっくり連携
 
UIフレームワークのAAとUIAってそもそもなんやろか
UIフレームワークのAAとUIAってそもそもなんやろかUIフレームワークのAAとUIAってそもそもなんやろか
UIフレームワークのAAとUIAってそもそもなんやろか
 
ExcelからITそしてDXの世界へ
ExcelからITそしてDXの世界へExcelからITそしてDXの世界へ
ExcelからITそしてDXの世界へ
 
First impression of UiPath StudioX
First impression of UiPath StudioX First impression of UiPath StudioX
First impression of UiPath StudioX
 
RPA運用自動化パイプライン
RPA運用自動化パイプラインRPA運用自動化パイプライン
RPA運用自動化パイプライン
 
MVPの軌跡と実現したい世界観 『 誰もが自動化に取り組む未来 』
MVPの軌跡と実現したい世界観 『 誰もが自動化に取り組む未来 』MVPの軌跡と実現したい世界観 『 誰もが自動化に取り組む未来 』
MVPの軌跡と実現したい世界観 『 誰もが自動化に取り組む未来 』
 
企業と勉強会 @nifty エンジニアサポート
企業と勉強会 @nifty エンジニアサポート企業と勉強会 @nifty エンジニアサポート
企業と勉強会 @nifty エンジニアサポート
 
勉強会で歩き方を教えたお話
勉強会で歩き方を教えたお話勉強会で歩き方を教えたお話
勉強会で歩き方を教えたお話
 
UiPath Go!フレームワーク探求記
UiPath Go!フレームワーク探求記UiPath Go!フレームワーク探求記
UiPath Go!フレームワーク探求記
 
実践!RPA のテクノロジーを活用した自動テスト
実践!RPA のテクノロジーを活用した自動テスト実践!RPA のテクノロジーを活用した自動テスト
実践!RPA のテクノロジーを活用した自動テスト
 
アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱アジャイルソフトウェア開発の道具箱
アジャイルソフトウェア開発の道具箱
 
au Webポータル デプロイ・ジャーニー
au Webポータル デプロイ・ジャーニーau Webポータル デプロイ・ジャーニー
au Webポータル デプロイ・ジャーニー
 
Innovation egg 第6回 『io t 今と未来』
Innovation egg 第6回 『io t 今と未来』Innovation egg 第6回 『io t 今と未来』
Innovation egg 第6回 『io t 今と未来』
 
第7回SIA研究会(例会)プレゼン資料 油野様
第7回SIA研究会(例会)プレゼン資料 油野様第7回SIA研究会(例会)プレゼン資料 油野様
第7回SIA研究会(例会)プレゼン資料 油野様
 
Msセミナー20170830 slideshare
Msセミナー20170830 slideshareMsセミナー20170830 slideshare
Msセミナー20170830 slideshare
 
ndsと要求開発
ndsと要求開発ndsと要求開発
ndsと要求開発
 
SORACOM Conference "Discovery" 2018 | E4. 現場で”結果を出す”IoT活用の進め方 〜SORACOMユーザーとイン...
SORACOM Conference "Discovery" 2018 | E4. 現場で”結果を出す”IoT活用の進め方 〜SORACOMユーザーとイン...SORACOM Conference "Discovery" 2018 | E4. 現場で”結果を出す”IoT活用の進め方 〜SORACOMユーザーとイン...
SORACOM Conference "Discovery" 2018 | E4. 現場で”結果を出す”IoT活用の進め方 〜SORACOMユーザーとイン...
 
20191024_optim_tech_night_techleadmeeting
20191024_optim_tech_night_techleadmeeting20191024_optim_tech_night_techleadmeeting
20191024_optim_tech_night_techleadmeeting
 
シラサギ紹介20170525
シラサギ紹介20170525シラサギ紹介20170525
シラサギ紹介20170525
 

More from Chuki ちゅき

AIのリスクを一緒におさらいしましょう (推し技術:生成AI)Let's review the risks of AI together
AIのリスクを一緒におさらいしましょう(推し技術:生成AI)Let's review the risks of AI togetherAIのリスクを一緒におさらいしましょう(推し技術:生成AI)Let's review the risks of AI together
AIのリスクを一緒におさらいしましょう (推し技術:生成AI)Let's review the risks of AI together
Chuki ちゅき
 
去年はやったもの、今年はやりそうなもの Meetup App Osaka @5出張版!
去年はやったもの、今年はやりそうなものMeetup App Osaka @5出張版!去年はやったもの、今年はやりそうなものMeetup App Osaka @5出張版!
去年はやったもの、今年はやりそうなもの Meetup App Osaka @5出張版!
Chuki ちゅき
 
RPA RECAP (RPALT kobe01
RPA RECAP (RPALT kobe01RPA RECAP (RPALT kobe01
RPA RECAP (RPALT kobe01
Chuki ちゅき
 
RPA overview
RPA overviewRPA overview
RPA overview
Chuki ちゅき
 
PowerShell と Active Directory
PowerShell と Active DirectoryPowerShell と Active Directory
PowerShell と Active Directory
Chuki ちゅき
 
デブサミ関西2012 わんくま同盟LT
デブサミ関西2012 わんくま同盟LTデブサミ関西2012 わんくま同盟LT
デブサミ関西2012 わんくま同盟LT
Chuki ちゅき
 
デブサミ関西2011 わんくま同盟紹介LT
デブサミ関西2011 わんくま同盟紹介LTデブサミ関西2011 わんくま同盟紹介LT
デブサミ関西2011 わんくま同盟紹介LT
Chuki ちゅき
 

More from Chuki ちゅき (7)

AIのリスクを一緒におさらいしましょう (推し技術:生成AI)Let's review the risks of AI together
AIのリスクを一緒におさらいしましょう(推し技術:生成AI)Let's review the risks of AI togetherAIのリスクを一緒におさらいしましょう(推し技術:生成AI)Let's review the risks of AI together
AIのリスクを一緒におさらいしましょう (推し技術:生成AI)Let's review the risks of AI together
 
去年はやったもの、今年はやりそうなもの Meetup App Osaka @5出張版!
去年はやったもの、今年はやりそうなものMeetup App Osaka @5出張版!去年はやったもの、今年はやりそうなものMeetup App Osaka @5出張版!
去年はやったもの、今年はやりそうなもの Meetup App Osaka @5出張版!
 
RPA RECAP (RPALT kobe01
RPA RECAP (RPALT kobe01RPA RECAP (RPALT kobe01
RPA RECAP (RPALT kobe01
 
RPA overview
RPA overviewRPA overview
RPA overview
 
PowerShell と Active Directory
PowerShell と Active DirectoryPowerShell と Active Directory
PowerShell と Active Directory
 
デブサミ関西2012 わんくま同盟LT
デブサミ関西2012 わんくま同盟LTデブサミ関西2012 わんくま同盟LT
デブサミ関西2012 わんくま同盟LT
 
デブサミ関西2011 わんくま同盟紹介LT
デブサミ関西2011 わんくま同盟紹介LTデブサミ関西2011 わんくま同盟紹介LT
デブサミ関西2011 わんくま同盟紹介LT
 

Recently uploaded

遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
t m
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
Matsushita Laboratory
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
Takayuki Nakayama
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
harmonylab
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
Toru Tamaki
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
CRI Japan, Inc.
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
chiefujita1
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
0207sukipio
 

Recently uploaded (9)

遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
遺伝的アルゴリズムと知識蒸留による大規模言語モデル(LLM)の学習とハイパーパラメータ最適化
 
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
ReonHata_便利の副作用に気づかせるための発想支援手法の評価---行為の増減の提示による気づきへの影響---
 
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援しますキンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
キンドリル ネットワークアセスメントサービスご紹介 今のネットワーク環境は大丈夫? 調査〜対策までご支援します
 
Generating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language ModelsGenerating Automatic Feedback on UI Mockups with Large Language Models
Generating Automatic Feedback on UI Mockups with Large Language Models
 
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
論文紹介:Deep Learning-Based Human Pose Estimation: A Survey
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアルLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LB 日本語マニュアル
 
This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.This is the company presentation material of RIZAP Technologies, Inc.
This is the company presentation material of RIZAP Technologies, Inc.
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさJSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
JSAI_類似画像マッチングによる器への印象付与手法の妥当性検証_ver.3_高橋りさ
 

一歩上の安定を目指した「バックグラウンド実行」対応のススメ

  • 2. 2 #UiPathFriends #UiFes 1. はじめに 2. バックグラウンド実行って? 3. バックグラウンド実行に対応しよう 本日のアジェンダ
  • 4. 4 #UiPathFriends #UiFes 勤務先 • コベルコシステム株式会社 - 株主:日本アイ・ビー・エム 株式会社 51% / 株式会社 神戸製鋼所 49% - UiPath 認定リセラー • 所属 - 1996年入社 - R&D部門➡情報システム部門➡システム開発部門➡新規事業開発部門➡技術Gr.(現職) UiPathとのかかわり • 2017年より新ビジネス担当としてRPAのビジネス化を担当した • 関西を中心にコミュニティーに参加している 受賞など • UiPath Japan MVP 2019- • Microsoft MVP 2012- ※MVP(Most Valuable Professional) 眞鍋忠喜(ちゅき Chuki@Twitter) 発言は所属する組織・団体を 代表するものではありません
  • 6. 6 #UiPathFriends #UiFes 1. フォアグラウンド 1. Desktop画面が表示されている 2. 特徴 ① ログイン状態 ② 画面がロックされていない ③ UIが操作できる 2. バックグラウンド 1. Desktop画面が表示されていない ① 画面がロック状態かもしれない ② UI操作できない ③ 同時ログインしていて裏になってる かもしれない 「フォアグランド」 vs 「バックグラウンド」:いろんな定義がありますが、今からは次の状態とします バックグラウンドの実行とは 図: 同一PCに2人ログイン状態のとき ・フォアグランド:chuki****:****.com (表示名:Tadayoshi MANABE) ・バックグラウンド:NotAdminUser
  • 7. 7 #UiPathFriends #UiFes 1. 特徴 1. 入力デバイスからの操作ができない 2. クリップボードへのアクセスができない 3. アプリケーション自体は動作している 2. 考慮事項 1. 対話形式のActivityを使用しない 2. エラー通知などはログに書き出す 対話形式のActivity例 Windows OSのロック状態の特徴と考慮事項 😭画面がないので 押せない 😭なんのエラーか わからん 画面ロック アクティビティ名(和名) アクティビティ名(英名) 概要 カスタム入力 Custom Input ワークフローにデータを返す HTML ファイルを表示する ファイルを選択 Select File ファイルを選択するためのダイアログボックスを開く フォルダーを選択 Select Folder フォルダーを選択するためのダイアログボックスを開く メッセージボックス Message Box オプションボタンを含む所定のテキストを有するメッセージボックスを表示 する 入力ダイアログ Input Dialog ユーザーに文字列等の入力を求めるダイアログボックスを表示する 吹き出し Callout 指定のUI要素上で、タイトルとテキストを含むポップアップを一定時間表示 する
  • 8. 8 #UiPathFriends #UiFes 注意:Activityの種類によっては適切なプロパティを設定する必要がある バックグラウンドでも動作するActivity例 アクティビティ名(和名) アクティビティ名(英名) 概要 クリック Click 指定のUI要素をクリック ダブルクリック Double Click 指定のUI要素をダブルクリック ホバー Hover 指定のUI要素上にカーソルを置く SecureString で文字を入力 Type Secure Text UI 要素に Secure String に格納された文字列を送 る ホットキーを押下 Send Hotkey UI要素にキーボードショートカットを送信する 文字を入力 Type Into UI要素に指定した文字列を入力する テキストを取得 Get Text UI要素からテキストを抽出する テキストを設定 Set Text UI要素のテキスト属性に文字列を設定 フルテキストを取得 Get Full Text フルテキスト画面スクレイピング 表示中のテキストを取得 Get Visible Text Native画像スクレイピング 構造化データを抽出 Extract Structured Data Webページからデータを抽出する
  • 10. 10 #UiPathFriends #UiFes 1. 直接的な利点 1. 時間のかかるロボット実行時に画面ロックしても そのまま稼働し続ける 2. バックグラウンドプロセス機能に対応できる 2. 副次的な効果 1. 不意のマウスやキーボード操作に影響 されにくくなる 2. 異状発生時に原因をつかみやすくなる バックグラウンド実行に対応させる利点 で、バックグラウンド実行 に対応したら なにが得すんの?
  • 12. 12 #UiPathFriends #UiFes 1. ウィンドウメッセージを送信 • UIに対して、OSのWindow Messageを送信する。受信したUIがその処理を行う VBとかExcelマクロで出てくるOnClickとかと同じもの(WM_SETTEXTとかのメッセージ) →バックグラウンド実行可能 2. クリックをシミュレート • UIクラスのメソッドを利用する →高速でバックグラウンド実行も可能 - でも、直接利用させてくれるUIが少ない - 操作対象でチェンジ前イベントなどがうまく飛ばず 処理が中途半端になることがある 3. 既定(上記のどちらにもチェックが入っていない状態) • デバイス系ドライバの動きをマネする →人間と競合しちゃうのでフォアグラウンドでも安定しない バックグラウンド実行もできない 3つの方法がある(一長一短) UiPathがUI要素を操作するオプションの概要 「クリック」アクティビティ
  • 13. 13 #UiPathFriends #UiFes 「ウィンドウメッセージを送信」(最優先) • バックグラウンドで動作させるときは、Selectorが必須(図1) • イベントループが動作しないため、Selectorが必要(Hotkey送信時に注意。親画面ではダメ。直接指定) 「シミュレート」(個人的に好き。コンボボックスとかと相性悪い図2) • メソッドを直接操作するので速い(個人的に最優先) • いわゆる Getter/SetterメソッドやSetWindowText()と同等 • 画面に依存しないためバックグラウンドでも動作する 「既定値」: • キーボードやマウスを奪うので、ユーザーがキーボードやマウスを触ってしまってエラーを誘発する(避けるべき) →大事なことなので、何度も言いました 各メソッドごとの特徴(参照元→リンク) UI要素を操作する仕組みの違いによる影響 13 入力機能メソッド 互換性 バックグラウンド での実行 速度 ホットキーの サポート フィールドの 自動消去 1.[既定値 (Default)] 100% × 50% ○ × 2.[ウィンドウメッセージを送信 (SendWindowMessages)] 80% ○ 50% ○ × 3-1.ウェブアプリケーション 99% ○ 100% × ○ 3-1.デスクトップアプリケーション 60% ○ 100% × ○ 3.[入力をシミュレート (Simulate Type)] / [クリックをシミュレート (Simulate Click)] 図1セレクタの選択 図2:相性最悪の例:Excel 「名前を付けて保存」
  • 14. 14 #UiPathFriends #UiFes 1. 開発機と環境差異があるため、不具合が出ることを前提で作成する 2. 想定できるエラーについてはTry-Catchで適切な例外クラスでハンドリングしてロギングする 3. 正常・異常など、ユーザーが判断できる通知を行うこと 4. エラーが出ても気づきにくいため、できるだけエラーや変更に強い作りにする 5. 画像認識を使用していないか 6. Selectorは柔軟か 7. 「待機」Activityではなくイベント待機系を使用する 8. パスワードのような平文で保存できないが更新可能性があるものについて考慮されているか 9. 途中で異常終了した際にもユーザーは正しく業務継続できるよう通知と業務内容のドキュメント化ができ ているか 10. ロボットがなくても業務が停滞しない手立てが存在するか などなど 目的は、あくまで「業務」の安定稼働。ロボット君が「正しく」働けるよう、正しく指導(作成)してあげましょう。 業務を安定して稼働させるために・・・