Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
200520 A2019 共通部品開発方法パッケージとDLLとMetaBotの開発 Ivo B...
Search
RPACommunity
May 20, 2020
Technology
0
1.2k
200520 A2019 共通部品開発方法パッケージとDLLとMetaBotの開発 Ivo Bartecek
200520 A2019 共通部品開発方法パッケージとDLLとMetaBotの開発 Ivo Bartecek
RPACommunity
May 20, 2020
Tweet
Share
More Decks by RPACommunity
See All by RPACommunity
201023 Automation Anywhere「A2019」を触ってみた Ayy
rpabank
0
1k
201023 DX Suiteを触ってみた Ayy
rpabank
0
1k
201023 RPA超初心者がWinActorにチャレンジしてみた ユーコさん
rpabank
0
620
201023 PowerPlatform はじめの一歩 みさみささん
rpabank
0
620
201023 アシロボで実際に沼ってみた たまいさん
rpabank
0
670
201018 RPAの本質とトレンド Mitz
rpabank
0
520
201006 僕がいまRPAで伝えたいことのすべて いろはまるさん
rpabank
0
470
201006 UiPath MVP 2019-2020 はなっち!さん
rpabank
0
450
201006 今からでも間に合う!UiPathトーク一気に振り返り たまいさん
rpabank
0
410
Other Decks in Technology
See All in Technology
改竄して学ぶコンテナサプライチェーンセキュリティ ~コンテナイメージの完全性を目指して~/tampering-container-supplychain-security
mochizuki875
1
350
身近なCSVを活用する!AWSのデータ分析基盤アーキテクチャ
koosun
0
1.9k
Progressive Deliveryで支える!スケールする衛星コンステレーションの地上システム運用 / Ground Station Operation for Scalable Satellite Constellation by Progressive Delivery
iselegant
1
200
ある編集者のこれまでとこれから —— 開発者コミュニティと歩んだ四半世紀
inao
5
3.4k
Redux → Recoil → Zustand → useSyncExternalStore: 状態管理の10年とReact本来の姿
zozotech
PRO
18
8.7k
2ヶ月で新規事業のシステムを0から立ち上げるスタートアップの舞台裏
shmokmt
0
230
個人から巡るAI疲れと組織としてできること - AI疲れをふっとばせ。エンジニアのAI疲れ治療法 ショートセッション -
kikuchikakeru
4
1.6k
AI駆動開発を実現するためのアーキテクチャと取り組み
baseballyama
2
840
仕様は“書く”より“語る” - 分断を超えたチーム開発の実践 / 20251115 Naoki Takahashi
shift_evolve
PRO
1
1.1k
[mercari GEARS 2025] Building Foundation for Mercari’s Global Expansion
mercari
PRO
1
150
今、MySQLのバックアップを作り直すとしたら何がどう良いのかを考える旅
yoku0825
2
460
FFMとJVMの実装から学ぶJavaのインテグリティ
kazumura
0
140
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
6.7k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
670
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Thoughts on Productivity
jonyablonski
73
4.9k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
We Have a Design System, Now What?
morganepeng
54
7.9k
Designing for humans not robots
tammielis
254
26k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Become a Pro
speakerdeck
PRO
29
5.6k
Transcript
A2019 共通部品開発方法 パッケージとDLLとMetaBotの開発 プロフェッショナルサービス Ivo Bartecek オートメーション・エニウェア・ジャパン株式会社
A2019 パッケージとDLLとMetaBot 1. 自己紹介 2. Package、DLL、MetaBotの開発概要 1. HelloWorld.dll 2. DLL
コマンド 3. Package開発 3. 参考 1. よくある課題 2. 質問と答え Copyright © 2020 Automation Anywhere Japan, Co., Ltd. 2 目次
A2019 パッケージとDLLとMetaBot Copyright © 2020 Automation Anywhere Japan, Co., Ltd.
3 Who am I ? イヴォ・バルテチェク IVO BARTECEK • 東京で7年間BPM、ルールエンジン、RPA、人工知 能のアーキテクトコンサルタントです。 • AAでシニア・ソリューション・アーキテクト • PackageとDLLとMetaBot開発集中 • (7つのMetaBot作成) Facebook : bartecek LinkedIn : ivo-bartecek
A2019 パッケージとDLLとMetaBot ① Google Sheets MetaBot ② Excel MetaBot ③
Excel NPOI MetaBot POC ④ LibreOffice Calc MetaBot POC ⑤ OpenOffice Calc MetaBot POC ⑥ Rest and Proxy MetaBot POC ⑦ HelloWorld MetaBot ⑧ AA CUSTOMER MetaBot Copyright © 2020 Automation Anywhere Japan, Co., Ltd. 4 Who am I ? - MetaBots by Ivo Bartecek
Package、DLL、MetaBotの開発概要 開発概要
A2019 パッケージとDLLとMetaBot 開発Lifecycle のおすすめ Package、DLL、MetaBotの開発 ライフサイクルは、 標準の ソフトウェア開発 ライフサイクルに 従います
スーパーアジャイル開発 の場合、これらのフェーズは 一緒に行うことができます Copyright © 2020 Automation Anywhere Japan, Co., Ltd. 6 1 企画 3 設計 4 実装 5 テスト 6 メンテナンス 2 分析 マージ リリース
A2019 パッケージとDLLとMetaBot A2019とパッケージ、DLL、MetaBot • V11のMetaBotはA2019では利用できませんが、 • MetaBotに含まれるDLLを呼び出して利用することはできます。 • MetaBotの移行も将来可能になる予定です。 •
最新情報: • Bot Storeではパッケージの販売も可能になる予定です。 • Bot Storeの日本語翻訳も予定があります。 Copyright © 2020 Automation Anywhere Japan, Co., Ltd. 7 V11 A2019 メモ - Package Package( Javaのjarのパッケージ)はコアの機能です。 MetaBot(DLL ) DLLコマンド DLLコマンド( MetaBotのDLLの利用のため)もあります 。 MetaBot 移行機能 移行したMetaBotも使えるようになる予定
HelloWorld.dll 紹介 サンプルコードのクイックスタート
A2019 パッケージとDLLとMetaBot Hello World ソースコード • HelloWorldWrapper • HelloWorld.cs –
機能 • Resources.ja-JP.resx – 翻訳 • Resources.resx – 翻訳 • HelloWorldWrapper.Tests • HelloWorldWrapper_Tests.cs – ユニットテスト HelloWorldのコードは後程Meetup参加ゲストに差し上げます! Copyright © 2020 Automation Anywhere Japan, Co., Ltd. 9
A2019 パッケージとDLLとMetaBot Hello World ソースコード – 機能 Copyright © 2020
Automation Anywhere Japan, Co., Ltd. 10
A2019 パッケージとDLLとMetaBot Hello World ソースコード – ユニットテスト Copyright © 2020
Automation Anywhere Japan, Co., Ltd. 11
A2019 パッケージとDLLとMetaBot Hello World ソースコード – 翻訳サンプル Copyright © 2020
Automation Anywhere Japan, Co., Ltd. 12
DLL コマンド クイックスタート
A2019 パッケージとDLLとMetaBot 準備 - Dictionary変数作成 • Dictionary 型変数を作成する • 名前:“message”
• チェック: “Use as input” • キー: “message” Copyright © 2020 Automation Anywhere Japan, Co., Ltd. 14
A2019 パッケージとDLLとMetaBot 準備 – 結果変数作成 • 結果変数を作成 • 名前: “result“
• チェック: “Use as output” Copyright © 2020 Automation Anywhere Japan, Co., Ltd. 15
A2019 パッケージとDLLとMetaBot ワークフロー概要 ①テストメッセージ表示 ②DLL Open ③Dic型変数取り出し (テスト用) ④③で取り出した メッセージ表示
Copyright © 2020 Automation Anywhere Japan, Co., Ltd. 16 ⑤DLL 機能起動 ⑥結果表示 ⑦DLL 閉じる ① ② ③ ④ ⑤ ⑥ ⑦
A2019 パッケージとDLLとMetaBot DLL: Open • DLL: Open • HelloWorld.dll Copyright
© 2020 Automation Anywhere Japan, Co., Ltd. 17
A2019 パッケージとDLLとMetaBot テスト Dictionary Get • Dictionary: Get • Dictionary
“message” Key “message” • Output “result” Copyright © 2020 Automation Anywhere Japan, Co., Ltd. 18
A2019 パッケージとDLLとMetaBot DLL: 機能実行 • DLL: 機能実行 • MyNamespace •
MyClass • HelloWorld • Input “message” • Output “result” Copyright © 2020 Automation Anywhere Japan, Co., Ltd. 19
A2019 パッケージとDLLとMetaBot DLL: 閉じる • DLL: Close Copyright © 2020
Automation Anywhere Japan, Co., Ltd. 20
A2019 パッケージとDLLとMetaBot 最終結果 • 最終結果 • 注:最新のパッケージにアップグレードしてから実行する ようにしてください。 Copyright ©
2020 Automation Anywhere Japan, Co., Ltd. 21
Package開発 開発のクイックスタート方法
1. アクションのアーキテクチャ 2. SDKで使うJavaに関して 3. SDKの基本構造 4. サンプルコード作成 5. 追加方法
アジェンダ 23 Copyright © 2020 Automation Anywhere Japan, Co., Ltd.
A2019 パッケージとDLLとMetaBot オリジナルの パッケージを追加 アイコン指定可能 詳細設定画面を設計可能 表示項目を指定可能 アクションを開発画面に追加可能 24
A2019 パッケージとDLLとMetaBot 史上初のマルチプラットフォーム・ マルチ OS 対応の RPA 企業全体で総保有コストを削減 セキュリティ パッチ適用済みの
Java プラットフォーム 軽量、迅速、最小限のアップデート コマンド用のプラットフォームツール Bot を書き直す必要なし コマンド コマンド コマンド 共通コマンド ツール SDK Bot Runner 基盤 軽量、安全、マルチプラットフォームの環境 Linux および Windows に対応 25 Copyright © 2020 Automation Anywhere Japan, Co., Ltd.
A2019 パッケージとDLLとMetaBot SDKの入手 • docs.automationanywhere.comから入手 • SDK Demo Package: A2019-package-sdk-2.0.1.zip
• Documentation: A2019-package-annotations-javadoc.zip IDEを利用して開発(Java) • プロジェクト設定(Gradle) • ビルド ビルドしたパッケージをControl Roomへ登録 • jarファイルをWebブラウザからアップロード SDKによるアクション開発の流れ 26 Copyright © 2020 Automation Anywhere Japan, Co., Ltd.
A2019 パッケージとDLLとMetaBot • https://docs.automationanywhere.com/にて 「sdk」を検索 SDKをダウンロードします 27 Copyright © 2020
Automation Anywhere Japan, Co., Ltd.
A2019 パッケージとDLLとMetaBot • 多言語対応など機能が追加されています SDKの変遷 28 Copyright © 2020 Automation
Anywhere Japan, Co., Ltd.
A2019 パッケージとDLLとMetaBot • SDK Demo Packageのzipをダウンロード SDKをダウンロードします 29 Copyright ©
2020 Automation Anywhere Japan, Co., Ltd.
A2019 パッケージとDLLとMetaBot • 任意の場所に解凍します • IntelliJで解凍したフォルダを開きます SDKをIntelliJで開きます 30
A2019 パッケージとDLLとMetaBot こんな画面が開きます 31
A2019 パッケージとDLLとMetaBot • メインのコードと 表示用ファイルに分かれる フォルダの構成 アクション用Java エラーメッセージ アイコンファイル 言語ファイル
パッケージ設定
A2019 パッケージとDLLとMetaBot パッケージの設定 パッケージ設定
A2019 パッケージとDLLとMetaBot メッセージ エラーメッセージ 言語ファイル
A2019 パッケージとDLLとMetaBot サンプルコード docs.automationanywhere.com ※日本語化進行中
A2019 パッケージとDLLとMetaBot @BotCommand コマンドタイプ:BotCommand, Condition, Iteratorのいずれかを指定 @CommandPkg コマンド詳細:表記名や内容を指定 @Execute BotCommandの場合にメソッドに記載
@Idx , @NotEmpty ,@MatchRegex ,@LocalFileなど アノテーション例 @CommandPkg(label = “画面表示コマンド名”, name = “commandName”, description = “コマンドの動作説明”, node_label = “{{変数名(str1)}}", icon = "file.svg") @Execute public void create( @Idx(index = "1", type = FILE) @LocalFile @Pkg(label = "File“ , description = "e.g. C:\\MyDoc\\MyFile.doc") @NotEmpty String filePath, @Idx(index = "2", type = CHECKBOX) @Pkg(label = "Overwrite an existing file") @NotEmpty Boolean isOverwrite) { createFile(filePath, isOverwrite); }
A2019 パッケージとDLLとMetaBot サンプルコード アクションの • 表示名 • アイコン • 表示する項目
• メッセージの読み込み
A2019 パッケージとDLLとMetaBot サンプルコード アクションの処理 • 引数(使用する変数) • 変数の型 • 空かどうかなどのチェック
(バリデーション) • Javaコードの処理
A2019 パッケージとDLLとMetaBot • アイコン • SVG形式で作成しresourceへ配置+アノテーションで指定 • 依存関係(外部パッケージ) • 利用する外部パッケージはbuild.gradleへすべて記載
• エラーメッセージ • BotCommandExceptionを利用し多言語対応させること • バリデーション • アノテーションを利用してチェックすること • ループ • CPU負荷を上げやすく、ボットが応答しない原因となるため、 ループを避けること • ロギング • log4Jを利用し、オリジナルロガーを追加しないこと SDKによるアクション(ボットコマンド)開発のコツ 39
A2019 パッケージとDLLとMetaBot • ターミナルで下記を実行します • gradlew.bat clean build shadowJar ビルド
• jarファイルが作成されます
A2019 パッケージとDLLとMetaBot パッケージをアップロード • CRのパッケージメニューから作成したファイルを指定してアップロードします。 • Manual: https://docs.automationanywhere.com/bundle/enterprise-v2019/page/enterprise-cloud/topics/developer/cloud-manage-package-in-bot.html 41 Copyright
© 2020 Automation Anywhere Japan, Co., Ltd.
A2019 パッケージとDLLとMetaBot コマンドからビルド • Manual: https://docs.automationanywhere.com/bundle/enterprise-v2019/page/enterprise-cloud/topics/developer/cloud-create-package- overview.html • Download •
April 2020, Release (2019.12.1) • April 2019-package-sdk-2.0.1.zip • Javaインストール • Javaインストールする。 • java は PATH に追加する。 • java –versionで確認する。 • Gradleインストール • gradleインストールする。 • gradle は PATH に追加する。 • gradle -vで確認する。 Copyright © 2020 Automation Anywhere Japan, Co., Ltd. 42
A2019 パッケージとDLLとMetaBot コマンドからビルド • Manual: https://docs.automationanywhere.com/bundle/enterprise-v2019/page/enterprise-cloud/topics/developer/cloud-compile-demo-jar.html • cd …\A2019DemoPackage •
gradlew.bat • Result: • build\libs\A2019DemoPackage-1.0.0.jar Copyright © 2020 Automation Anywhere Japan, Co., Ltd. 43
参考
A2019 パッケージとDLLとMetaBot よくある課題 • A2019は現在機能をアップグレードしています。V11の機能は2020年夏にすべ て搭載する予定です。 • 迅速に不具合の修正をしていますので、不具合がありましたら教えてください。 • 現在のCEバージョンでパッケージテストすることができません。A2019の
Enterpriseが必要があります。 • AAEのTrialでもパッケージアップロードは可能です。 • DLLコマンドで “bot error” • おそらくパッケージのバージョンの原因の課題です。 Copyright © 2020 Automation Anywhere Japan, Co., Ltd. 45
A2019 パッケージとDLLとMetaBot 質問と答え ご清聴ありがとうございました。 Copyright © 2020 Automation Anywhere Japan,
Co., Ltd. 46 ご質問は?
Enterprise A2019
None