JP2023539853A - ロボティックプロセスオートメーション(rpa)パッケージおよびワークフローのウェブベースの閲覧 - Google Patents
ロボティックプロセスオートメーション(rpa)パッケージおよびワークフローのウェブベースの閲覧 Download PDFInfo
- Publication number
- JP2023539853A JP2023539853A JP2023513195A JP2023513195A JP2023539853A JP 2023539853 A JP2023539853 A JP 2023539853A JP 2023513195 A JP2023513195 A JP 2023513195A JP 2023513195 A JP2023513195 A JP 2023513195A JP 2023539853 A JP2023539853 A JP 2023539853A
- Authority
- JP
- Japan
- Prior art keywords
- rpa
- workflow
- web
- packages
- user interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
ウェブベースのユーザーインターフェースを使用して少なくとも1つのロボティックプロセスオートメーション(RPA)ワークフローを閲覧するためのシステムおよびコンピュータ実装方法が本明細書に開示される。コンピュータ実装方法は、ウェブベースのユーザーインターフェースにアクセスすることおよび閲覧するための少なくとも1つのRPAワークフローを特定することを含む。コンピュータ実装方法はさらに、ワークフローオブジェクトモデルコンポーネントを使用して、特定された少なくとも1つのRPAワークフローのワークフロー図を生成することを含む。コンピュータ実装方法はさらに、ウェブベースの視覚化エンジンコンポーネントを使用して、特定された少なくとも1つのRPAワークフローのために生成されたワークフロー図をレンダリングし、ウェブベースのユーザーインターフェース上で少なくとも1つのRPAワークフローを閲覧するためにレンダリングされたワークフロー図を表示することをさらに含む。
Description
(関連出願への相互参照)
これは、2020年10月12日に出願された米国特許出願第17/068,734号の利益および優先権を主張する国際出願であり、これは2020年8月28日に出願されたインド国特許出願第202011037088号の利益および優先権を主張する。これらの先に出願された出願の主題は、その全体を参照することにより、本明細書に組み込まれる。
これは、2020年10月12日に出願された米国特許出願第17/068,734号の利益および優先権を主張する国際出願であり、これは2020年8月28日に出願されたインド国特許出願第202011037088号の利益および優先権を主張する。これらの先に出願された出願の主題は、その全体を参照することにより、本明細書に組み込まれる。
本発明は概して、ロボティックプロセスオートメーション(RPA)に関し、より具体的には、RPAパッケージおよびRPAワークフローの探索に関する。
RPAは、企業内に大量に存在する比較的単純で反復可能な作業のその遂行であるため、ソフトウェア自動化の普及を促進するように使用されてきた。RPAは概して、従来はユーザーがコンピューティングシステムに手動で入力していた単純作業を自動化するもので、現在ではRPAツールを用いてソフトウェアロボットが行うことが多くなってきている。現在、RPAツールは、ソフトウェア開発者が企業の単純作業および反復的な作業を設計、遂行、展開、およびテストするのに役立ち得るものが利用されている。例えば、これらの作業は設計ツールを使って設計され、展開ツールを使って展開され得る。RPAアプリケーションの単純作業および反復的な作業のワークフローを設計するためのいくつかのデザイナツールがあり得る。これらのデザイナツールは、RPAワークフローの開発に使用される。
しかし、さらに言えば、RPAワークフローおよび任意のRPAパッケージおよびワークフローファイルへのアクセスに使用され得るデザイナツールの代替手段が必要である。
本発明の特定の実施形態は、現在のRPA技術によってまだ十分に特定されていない、評価されていない、または解決されていない本分野における問題およびニーズのよりよいかつ容易なソリューションを提供する。例えば、本発明のいくつかの実施形態は、ウェブベースのユーザーインターフェースを使用してパッケージおよびワークフローを探索および比較することに関する。
実施形態では、コンピュータ実装方法が提供される。コンピュータ実装方法は、一連の動作を遂行するために少なくとも1つのハードウェアプロセッサを用い、ここで、一連の操作は、ウェブベースのユーザーインターフェース上で少なくとも1つのロボティックプロセスオートメーション(RPA)ワークフローを閲覧するために使用される。一連の動作は、ウェブベースのユーザーインターフェース上で閲覧するための少なくとも1つのRPAワークフローを特定することを含む。一連の動作は、ワークフローオブジェクトモデルコンポーネントを使用して、特定された少なくとも1つのRPAワークフローのワークフロー図を生成することをさらに含む。生成されたワークフロー図は、ウェブベースの視覚化エンジンコンポーネントを使用してレンダリングされ、少なくとも1つのRPAワークフローの閲覧のためにウェブベースのユーザーインターフェースに表示される。
さらに別の実施形態では、システムが提供される。システムは、コンピュータ遂行可能命令を格納するように構成されたメモリ、および命令を実行するように構成された1または複数のプロセッサを備える。コンピュータ遂行可能命令は、1または複数のプロセッサに、ウェブベースのユーザーインターフェース上で少なくとも1つのロボティックプロセスオートメーション(RPA)ワークフローを閲覧できるようにさせるように構成される。コンピュータ遂行可能命令は、1または複数のプロセッサに、ウェブベースのユーザーインターフェース上で閲覧するための少なくとも1つのRPAワークフローを特定し、ワークフローオブジェクトモデルコンポーネントを使用して特定された少なくとも1つのRPAワークフローのワークフロー図を生成させるようにさらに構成される。生成されたワークフロー図は、ウェブベースの視覚化エンジンコンポーネントを使用してレンダリングされ、少なくとも1つのRPAワークフローの閲覧のためにウェブベースのユーザーインターフェースに表示される。
さらに別の実施形態では、コンピュータプログラムは、非一時的なコンピュータ読み取り可能な媒体上に格納される。プログラムは、1または複数のプロセッサによって遂行されると、1または複数のプロセッサに、ウェブベースのユーザーインターフェース上で少なくとも1つのロボティックプロセスオートメーション(RPA)ワークフローを閲覧するための動作を実行させるコンピュータ遂行可能命令を格納するように構成される。動作は、ウェブベースのユーザーインターフェース上で閲覧するための少なくとも1つのRPAワークフローを特定することを含む。動作は、ワークフローオブジェクトモデルコンポーネントを使用して、特定された少なくとも1つのRPAワークフローのワークフロー図を生成することをさらに含む。生成されたワークフロー図は、ウェブベースの視覚化エンジンコンポーネントを使用してレンダリングされ、少なくとも1つのRPAワークフローの閲覧のためにウェブベースのユーザーインターフェースに表示される。
本発明の特定の実施形態の利点が容易に理解されるように、上記で簡単に説明した本発明のより特定の説明は、添付の図面に図示されている特定の実施形態を参照して描写される。これらの図面は、本発明の典型的な実施形態のみを描いており、したがって、その範囲を限定するものとは考えられないことが理解されるべきであるが、本発明は、以下の添付の図面を使用することにより、さらなる特定および詳細をもって描写され、説明されるであろう。
(実施形態の詳細な説明)
いくつかの実施形態は、ウェブベースのユーザーインターフェースを使用して、少なくとも1つのRPAワークフロー、少なくとも2つのRPAパッケージバージョン、少なくとも2つのRPAワークフロー、またはそれらの組み合わせを、閲覧し、比較するための機能を提供するように構成されたシステム(以下、コンピューティングシステムと呼ぶ)に関する。例えば、コンピューティングシステムは、ウェブベースのユーザーインターフェースを使用して、RPAパッケージのリストを表示し、選択されたRPAパッケージを比較し、また、選択されたRPAワークフローを比較する。実施形態では、方法およびシステムは、改善された遂行時間およびユーザーまたは開発者のための容易なアクセスを有するように構成される。従来の方法では、ワークフロー開発者またはユーザーは、実装前に統合開発環境に戻って案内されてワークフローパッケージおよび作成されたワークフローをレビューする必要があったが、本発明では、UiPath Studio(登録商標)にアクセスする必要なしに、ウェブベースのインターフェースからパッケージおよび/またはワークフローの比較を通じて、開発者は、UiPath Studio(商標登録)などの統合開発環境から公開されているパッケージおよびワークフローをレビューすることができる。さらに、遂行時間およびストレージ要件の改善は、コンピューティングシステム上の演算オーバーヘッドを減少させる。いくつかの実施形態は、開発者またはユーザーに単純かつ容易なアクセスを提供する。このようにして、RPAパッケージの比較および/またはRPAワークフローの比較は、本明細書に開示されたコンピューティングシステムおよびコンピュータ実装方法を用いて実現される。
いくつかの実施形態は、ウェブベースのユーザーインターフェースを使用して、少なくとも1つのRPAワークフロー、少なくとも2つのRPAパッケージバージョン、少なくとも2つのRPAワークフロー、またはそれらの組み合わせを、閲覧し、比較するための機能を提供するように構成されたシステム(以下、コンピューティングシステムと呼ぶ)に関する。例えば、コンピューティングシステムは、ウェブベースのユーザーインターフェースを使用して、RPAパッケージのリストを表示し、選択されたRPAパッケージを比較し、また、選択されたRPAワークフローを比較する。実施形態では、方法およびシステムは、改善された遂行時間およびユーザーまたは開発者のための容易なアクセスを有するように構成される。従来の方法では、ワークフロー開発者またはユーザーは、実装前に統合開発環境に戻って案内されてワークフローパッケージおよび作成されたワークフローをレビューする必要があったが、本発明では、UiPath Studio(登録商標)にアクセスする必要なしに、ウェブベースのインターフェースからパッケージおよび/またはワークフローの比較を通じて、開発者は、UiPath Studio(商標登録)などの統合開発環境から公開されているパッケージおよびワークフローをレビューすることができる。さらに、遂行時間およびストレージ要件の改善は、コンピューティングシステム上の演算オーバーヘッドを減少させる。いくつかの実施形態は、開発者またはユーザーに単純かつ容易なアクセスを提供する。このようにして、RPAパッケージの比較および/またはRPAワークフローの比較は、本明細書に開示されたコンピューティングシステムおよびコンピュータ実装方法を用いて実現される。
図1は、本発明の実施形態による、RPAシステム100を示すアーキテクチャ図である。RPAシステム100は、開発者またはユーザーがワークフローを設計および実装することを可能にするデザイナ110を含む。デザイナ110は、アプリケーション統合のためのソリューションを提供するとともに、サードパーティアプリケーション、管理情報技術(IT)タスク、およびビジネスITプロセスを自動化する。デザイナ110は、ビジネスプロセスのグラフィック表現である自動化プロジェクトの開発をさらに容易にする。簡単に言えば、デザイナ110は、ワークフローおよびロボットの開発および展開を容易にする。
自動化プロジェクトは、本明細書で「アクティビティ」と定義されるワークフローで開発されたステップのカスタムセット間の遂行順序および関係の制御を開発者に与えることにより、ルールベースのプロセスの自動化を可能にする。デザイナ110の実施形態の商業的な一例は、UiPath Studio(商標)である。各アクティビティは、ボタンをクリックする、ファイルを読む、ログパネルに書き込むなどのアクションを含む。いくつかの実施形態では、ワークフローは入れ子になっているか、または埋め込まれ得る。
ワークフローのいくつかのタイプには、シーケンス、フローチャート、有限状態機械(FSM)、および/またはグローバル例外ハンドラなどを含むが、これらに限定されない。シーケンスは、ワークフローを乱雑にすることなく、あるアクティビティから別のアクティビティへのフローを可能にする、線形プロセスに特に適する。フローチャートは、特により複雑なビジネスロジックに適し、複数の分岐ロジックオペレータを介して、より多様な方法で意思決定の統合およびアクティビティの接続を可能にする。FSMは、大規模なワークフローに特に適する。FSMは、条件(すなわち、遷移)またはアクティビティによりトリガされ得る有限の数の状態をそれらの遂行中に使用する。グローバル例外ハンドラは、遂行エラーに遭遇したときのワークフローの挙動を決定したり、プロセスをデバッグしたりするのに特に適する。
ワークフローがデザイナ110内で開発されると、ビジネスプロセスの遂行は、コンダクタ120により調整され、デザイナ110内で開発されたワークフローを遂行する1または複数のロボット130を調整する。コンダクタ120の実施形態の商業的な一例は、UiPath オーケストレータ(商標)である。コンダクタ120は、環境におけるリソースの生成、監視、および展開の管理を容易にする。コンダクタ120は、サードパーティのソリューションおよびアプリケーションとの統合ポイントとして動作する。実施形態では、コンダクタ120は、ウェブベースのユーザーインターフェースと統合される。
コンダクタ120は、全てのロボット130を管理し、ロボット130を集中ポイントから接続して遂行する。管理されるロボット130のタイプには、アテンディッドロボット132、アンアテンディッドロボット134、開発ロボット(アンアテンディッドロボット134と同様であるが、開発およびテストの目的で使用される)、および非生産ロボット(アテンディッドロボット132と同様であるが、開発およびテストの目的で使用される)が含まれるが、これらに限定されない。アテンディッドロボット132は、ユーザーイベントによってトリガされ、同じコンピューティングシステム上で人と並んで動作する。アテンディッドロボット132は、集中プロセスデプロイメントおよびロギング媒体のためのコンダクタ120とともに使用される。アテンディッドロボット132は、人間のユーザーが様々なタスクを達成するのを支援し、ユーザーイベントによってトリガされる。いくつかの実施形態では、プロセスは、このタイプのロボット上でコンダクタ120から開始できず、および/またはそれらはロックされた画面の下で実行しない。特定の実施形態では、アテンディッドロボット132は、ロボットトレイからまたはコマンドプロンプトから開始される。アテンディッドロボット132は、いくつかの実施形態では、人の監督下で動作する。
アンアテンディッドロボット134は、仮想環境で無人で動作し、多くのプロセスを自動化する。アンアテンディッドロボット134は、リモート遂行、監視、スケジューリング、および作業キューのサポートの提供を担当する。全てのロボットタイプのためのデバッグは、いくつかの実施形態では、デザイナ110で実行される。アテンディッドロボット132およびアンアテンディッドロボット134の両方は、メインフレーム、ウェブアプリケーション、仮想マシン(VM)、エンタープライズアプリケーション(例えば、SAP(登録商標)、SalesForce(登録商標)、Oracle(登録商標)などにより生成されたもの)、およびコンピューティングシステムアプリケーション(例えば、デスクトップおよびラップトップアプリケーション、モバイルデバイスアプリケーション、ウェアラブルコンピュータアプリケーションなど)を含むが、これらに限定されない様々なシステムおよびアプリケーションを自動化する。
コンダクタ120は、プロビジョニング、展開、構成、キューイング、監視、ロギング、および/または相互接続性の提供を含むがこれらに限定されない様々な能力を有する。プロビジョニングは、ロボット130とコンダクタ120(例えば、ウェブアプリケーション)との間の接続を作成し、維持することを含む。展開は、遂行のために割り当てられたロボット130へのパッケージバージョンの正しい配信を保証することを含む。構成は、ロボット環境およびプロセス構成の維持および配信を含む。キューイングは、キューおよびキュー項目の管理を提供することを含む。監視は、ロボットの特定データを追跡し、ユーザーの権限を維持することを含む。ロギングは、データベース(例えば、SQLデータベース)および/または別のストレージメカニズム(例えば、大規模なデータセットを格納し、迅速にクエリを実行する能力を提供するElasticSearch(登録商標))へのログの保存およびインデックス作成を含む。コンダクタ120は、サードパーティのソリューションおよび/またはアプリケーションのための通信の集中点として動作することにより、相互接続性を提供する。
ロボット130は、デザイナ110で構築されたワークフローを実行する遂行エージェントであり得る。ロボット(複数可)130のいくつかの実施形態の1つの商業的な例は、UiPath Robots(商標)である。いくつかの実施形態では、ロボット130は、デフォルトで、Microsoft Windows(登録商標)Service Control Manager(SCM)管理サービスをインストールする。その結果、ロボット130は、ローカルシステムアカウントの下でインタラクティブなWindows(登録商標)セッションを開くことができ、Windows(登録商標)サービスの権利を有し得る。
いくつかの実施形態では、ロボット130は、ユーザーモードで設置される。このようなロボット130については、所定のロボット130が設置されているユーザーと同じ権利を有することを意味する。この特色はまた、各マシンを最大限に全活用することを保証する高密度(HD)ロボットにも利用可能である。いくつかの実施形態では、いずれかのタイプのロボット130は、HD環境で構成され得る。
いくつかの実施形態におけるロボット130は、複数のコンポーネントに分割され、それぞれが特定の自動化タスクに特化されている。いくつかの実施形態におけるロボットコンポーネントは、SCM管理ロボットサービス、ユーザーモードロボットサービス、エグゼキュータ、エージェント、およびコマンドラインを含むが、これらに限定されない。SCM管理ロボットサービスは、Windows(登録商標)セッションを管理および監視し、コンダクタ120と遂行ホスト(すなわち、ロボット130が遂行されるコンピューティングシステム)との間のプロキシとして動作する。これらのサービスは、ロボット130の資格情報を任されて管理する。コンソールアプリケーションは、ローカルシステム下のSCMにより起動される。
いくつかの実施形態におけるユーザーモードロボットサービスは、Windows(登録商標)セッションを管理および監視し、コンダクタ120と遂行ホストとの間のプロキシとして動作する。ユーザーモードロボットサービスは、ロボット130の資格情報を任されて管理し得る。SCM管理ロボットサービスがインストールされていない場合、Windows(登録商標)アプリケーションが自動的に起動される。
エグゼキュータは、Windows(登録商標)セッションの下で与えられたジョブを遂行する(つまり、それらはワークフローを遂行し得る)。エグゼキュータは、モニタ毎のドットパーインチ(DPI)設定を認識する。エージェントは、システムトレイウィンドウに利用可能なジョブを表示するWindows(登録商標) Presentation Foundation(WPF)アプリケーションであり得る。エージェントは、サービスのクライアントであり得る。エージェントは、ジョブの開始または停止、および設定の変更を要求する。コマンドラインはサービスのクライアントである。コマンドラインは、ジョブの開始を要求し、その出力を待つコンソールアプリケーションである。
上で説明したように、ロボット130のコンポーネントが分割されていることは、開発者、サポートユーザー、およびコンピューティングシステムが、各コンポーネントが遂行していることをより容易に実行し、特定し、および追跡するのに役立つ。この方法では、エグゼキュータとサービスに異なるファイアウォールルールを設定するなど、コンポーネントごとに特別な挙動を構成し得る。エグゼキュータは常に、いくつかの実施形態では、モニタごとのDPI設定を認識する。その結果、ワークフローは、ワークフローが作成されたコンピューティングシステムの構成に関係なく、いずれかのDPIで遂行され得る。また、いくつかの実施形態では、デザイナ110からのプロジェクトは、ブラウザのズームレベルに依存しないようにし得る。DPIを認識していないまたは意図的に認識していないとマークされているアプリケーションの場合、いくつかの実施形態ではDPIを無効にする。
図2は、本発明の実施形態による、展開したRPAシステム200を示すアーキテクチャ図である。いくつかの実施形態では、RPAシステム200は、図1のRPAシステム100の一部であってもよくまたはその一部でなくてもよい。クライアント側、サーバー側、またはその両方が、本発明の範囲から逸脱することなく、いずれかの所望の数のコンピューティングシステムを含み得ることに留意すべきである。クライアント側では、ロボットアプリケーション210は、エグゼキュータ212、エージェント214、およびデザイナ216(例えば、デザイナ110)を含む。しかし、いくつかの実施形態では、デザイナ216は、ロボットアプリケーション210上で実行していない。エグゼキュータ212はプロセスを実行している。図2に示すように、複数のビジネスプロジェクト(すなわち、エグゼキュータ212)が同時に実行する。エージェント214(例えば、Windows(登録商標)サービス)は、本実施形態では、全てのエグゼキュータ212のための単一の接続ポイントである。この実施形態における全てのメッセージは、コンダクタ230に記録され、それは、データベースサーバー240、インデクササーバー250、またはその両方を介して、それらをさらに処理する。図1に関して上述したように、エグゼキュータ212は、ロボットコンポーネントである。
いくつかの実施形態では、ロボットは、マシン名とユーザー名との間の関連付けを表す。ロボットは、複数のエグゼキュータを同時に管理する。同時に実行する複数のインタラクティブセッションをサポートするコンピューティングシステム(Windows(登録商標)Server 2012など)では、そこで、複数のロボットが同時に実行しており、それぞれが一意のユーザー名を使用して別々のWindows(登録商標)セッションで実行している。これは、上記のHDロボットと呼ばれる。
エージェント214はまた、ロボットの状態を送信し(例えば、ロボットがまだ機能していることを示す「ハートビート」メッセージを定期的に送信する)、遂行されるパッケージの要求されるバージョンをダウンロードすることにも責任を負う。エージェント214とコンダクタ230との間の通信は、いくつかの実施形態では、常にエージェント214によって開始される。通知シナリオでは、エージェント214は、後にコンダクタ230によってロボットにコマンド(例えば、開始、停止など)を送信するために使用されるWebSocketチャネルを開く。
サーバー側には、プレゼンテーション層(ウェブアプリケーション232、オープンデータプロトコル(OData)代表状態転送(REST)アプリケーションプログラミングインターフェース(API)エンドポイント234、通知および監視API236)、サービス層(API実装/ビジネスロジック238)、永続層(データベースサーバー240およびインデクササーバー250)が含まれる。コンダクタ230は、ウェブアプリケーション232、OData REST APIエンドポイント234、通知および監視API236、ならびにAPI実装/ビジネスロジック238を含み得る。いくつかの実施形態では、ユーザーがコンダクタ230のインターフェース(例えば、ブラウザ220を介して)で実行するほとんどのアクションは、様々なAPIを呼び出すことによって実行される。このような動作は、本発明の範囲を逸脱することなく、ロボット上でのジョブの起動、キュー内のデータの追加/削除、無人で実行するジョブのスケジューリングなどを含むが、これらに限定されない。ウェブアプリケーション232は、サーバープラットフォームのビジュアル層である。この実施形態では、ウェブアプリケーション232は、ハイパーテキストマークアップ言語(HTML)およびジャバスクリプト(JS)を使用する。しかし、本発明の範囲を逸脱することなく、いずれかの所望のマークアップ言語、スクリプト言語、または他のいずれかのフォーマットを使用し得る。ユーザーは、コンダクタ230を制御するための様々な動作を実行するために、本実施形態ではブラウザ220を介してウェブアプリケーション232からのウェブページとインタラクションする。例えば、ユーザーは、ロボットグループを作成し、ロボットへのパッケージの割り当てを行い、ロボット毎および/またはプロセス毎のログを解析し、ロボットを起動しおよび停止などをする。
ウェブアプリケーション232に加えて、コンダクタ230は、OData REST APIエンドポイント234を公開するサービス層も含む。しかし、本発明の範囲を逸脱することなく、他のエンドポイントが含まれていてもよい。REST APIは、ウェブアプリケーション232とエージェント214の両方により消費される。エージェント214は、本実施形態では、クライアントコンピュータ上の1または複数のロボットのスーパーバイザである。
本実施形態のREST APIは、構成、ロギング、監視、およびキューイング機能をカバーする。構成エンドポイントは、いくつかの実施形態では、アプリケーションのユーザー、権限、ロボット、アセット、リリース、および環境を定義し、構成するために使用される。ロギングRESTエンドポイントは、例えば、エラー、ロボットによって送信された明示的なメッセージ、およびその他の環境固有の情報など、様々な情報をログに記録するために使用される。デプロイメントRESTエンドポイントは、コンダクタ230においてジョブ開始コマンドが使用された場合に遂行されるべきパッケージバージョンを問い合わせるためにロボットにより使用される。キューイングRESTエンドポイントは、キューへのデータの追加、キューからのトランザクションの取得、トランザクションのステータスの設定など、キューおよびキューアイテムの管理を担う。
RESTエンドポイントの監視は、ウェブアプリケーション232およびエージェント214を監視する。通知および監視API236は、エージェント214の登録、エージェント214への構成設定の配信、ならびにサーバーおよびエージェント214からの通知の送受信に使用されるRESTエンドポイントであってもよい。通知および監視API236はまた、いくつかの実施形態では、WebSocket通信を使用する。
永続層は、本実施形態では、一対のサーバー-データベースサーバー240(例えば、SQLサーバー)およびインデクササーバー250を含む。本実施形態におけるデータベースサーバー240は、ロボット、ロボットグループ、関連するプロセス、ユーザー、役割、スケジュールなどの構成を格納する。この情報は、いくつかの実施形態では、ウェブアプリケーション232を介して管理される。データベースサーバー240は、キューおよびキューアイテムを管理する。いくつかの実施形態では、データベースサーバー240は、ロボットにより記録されたメッセージを(インデクササーバー250に加えて、またはそれに代えて)格納する。
いくつかの実施形態では任意であるが、インデクササーバー250は、ロボットにより記録された情報を保存し、インデックスを作成する。特定の実施形態では、インデクササーバー250は、構成設定を介して無効化されてもよい。いくつかの実施形態では、インデクササーバー250は、オープンソースプロジェクトの全文検索エンジンであるElasticSearch(登録商標)を使用する。ロボットにより記録されたメッセージ(例えば、ログメッセージまたはライン書き込みのようなアクティビティを使用して)は、ロギングRESTエンドポイント(複数可)を介してインデクササーバー250に送信されて、そこで将来の利用のためにそれらはインデックス化される。
図3は、本発明の実施形態による、ウェブベースのユーザーインターフェース310、ユーザー定義アクティビティ320、ユーザーインターフェース(UI)自動化アクティビティ330、およびドライバ340間の関係300を示すアーキテクチャ図である。上記により、開発者はウェブベースのユーザーインターフェース310を使用して、閲覧、探索、比較、および修正のためにRPAワークフローおよびRPAパッケージにアクセスする。いくつかの実施形態によると、ウェブベースのユーザーインターフェース310は、RPAパッケージおよびRPAワークフローにアクセスするために起動され得るデスクトップアプリケーションである。いくつかの実施形態では、ウェブベースのユーザーインターフェースは、開発者などのユーザーを、RPAパッケージおよびRPAワークフローにアクセスするために使用されるウェブポータルのログインページにリダイレクトするウェブポータルまたはウェブサイトのURLを入力することによってアクセスされる。
いくつかの代替的な実施形態では、ウェブベースのユーザーインターフェースは、統合開発環境(IDE)の設計モジュールの一部であり、それは、ユーザーまたは開発者がワークフローに関連する1または複数の機能を実行することを可能にする。機能は、ワークフローについての編集、コーディング、デバッグ、ブラウジング、保存、修正などを含む。さらに、いくつかの実施形態では、ウェブベースのユーザーインターフェース310は、例えば、ウェブベースのマルチウィンドウユーザーインターフェースのようなマルチウィンドウユーザーインターフェースにおいて、少なくとも2つのRPAパッケージ、および/または少なくとも2つのRPAワークフローを比較するように構成される。ワークフローは、ユーザー定義のアクティビティ320およびUI自動化アクティビティ330を含む。いくつかの実施形態では、ワークフローに関連する画像中の非テキストの視覚的コンポーネントを特定することができ、これは、本明細書ではコンピュータビジョン(CV)と呼ばれる。このようなコンポーネントに関連するいくつかのCVアクティビティは、クリック、タイプ、テキストを取得、ホバー、要素の有無を検出、スコープの更新、ハイライトなどを含み得るが、これらに限定されない。いくつかの実施形態では、クリックは、例えば、CV、光学的文字認識(OCR)、ファジーテキストマッチング、およびマルチアンカーを使用して要素を特定し、それをクリックする。タイプは、上記および要素内のタイプを用いて要素を特定する。テキストの取得は、特定のテキストの場所を特定し、OCRを使用してそれをスキャンする。ホバーは、要素を特定し、その上にホバーする。要素の有無の検出は、上述した技術を用いて、画面上に要素の有無を検出するかどうかを確認する。いくつかの実施形態では、ユーザー定義アクティビティ320コンポーネントで実装され得る数百または数千ものアクティビティが存在し得る。しかし、本発明の範囲を逸脱することなく、いずれかの数および/またはアクティビティのタイプを利用することができる。
UIオートメーションアクティビティ330は、低レベルのコード(例えば、CVアクティビティ)で記述され、画面とのインタラクションを促進する特別な低レベルのアクティビティのサブセットである。いくつかの実施形態では、UI自動化アクティビティ330は、ワークフローにおける欠陥のデバッグまたは欠陥の修正に関連する、アクティビティを含む。UIオートメーションアクティビティ330は、ロボットが所望のソフトウェアとインタラクションすることを可能にするドライバ340を介して、これらのインタラクションを促進する。例えば、ドライバ340は、オペレーティングシステム(OS)ドライバ342、ブラウザドライバ344、VMドライバ346、エンタープライズアプリケーションドライバ348などを含む。
ドライバ340は、フックを探したり、キーを監視したりするなど、低レベルでOSドライバ342とインタラクションするように構成される。それらは、Chrome(登録商標)、IE(登録商標)、Citrix(登録商標)、SAP(登録商標)などとの統合を促進してもよい。例えば、「クリック」アクティビティは、ドライバ340を介して、これらの異なるアプリケーションにおいて同じ役割を果たす。ドライバ340は、RPAシステムにおけるRPAアプリケーションの遂行を可能にし得る。ブラウザドライバ344は、ユーザーまたは開発者がインタラクションするためのウェブベースのユーザーインターフェースを含む。例えば、ウェブベースのユーザーインターフェース310は、いくつかの実施形態では、ブラウザドライバ344の一部であり得る。
図4は、本発明の実施形態による、RPAシステム400を示すアーキテクチャ図である。いくつかの実施形態では、RPAシステム400は、図1および/または図2のRPAシステム100および/または200であってもよいし、それを含んでもよい。RPAシステム400は、複数のクライアントコンピューティングシステム410(例えば、ロボットを実行する)を含む。いくつかの実施形態では、複数のクライアントコンピューティングシステム410は、複数のRPAパッケージおよびRPAワークフローを比較するように構成される。複数のクライアントコンピューティングシステム410は、その上で実行されるウェブアプリケーションを介してコンダクタコンピューティングシステム420と通信するようにさらに構成される。コンダクタコンピューティングシステム420は、順に、データベースサーバー430(例えば、データベースサーバー240)および任意のインデクササーバー440(例えば、任意のインデクササーバー250)と通信するように構成される。
図1および図3に関して、これらの実施形態ではウェブアプリケーションが使用されているが、本発明の範囲から逸脱することなく、任意の適切なクライアント/サーバーソフトウェアが使用され得ることに留意すべきである。例えば、コンダクタは、クライアントコンピューティングシステム上で、非ウェブベースのクライアントソフトウェアアプリケーションと通信するサーバーサイドアプリケーションを実行してもよい。
図5は、本発明の実施形態による、ウェブベースのユーザーインターフェースを使用してRPAパッケージおよび/またはRPAワークフローを探索および比較するように構成されたコンピューティングシステム500を示すアーキテクチャ図である。いくつかの実施形態では、コンピューティングシステム500は、本明細書に描かれたおよび/または記載された1または複数のコンピューティングシステムであってもよい。コンピューティングシステム500は、情報を通信するためのバス510または他の通信機構と、情報を処理するためのバス510に結合されたプロセッサ(複数可)520とを含む。プロセッサ(複数可)520は、中央処理ユニット(CPU)、特定用途集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、グラフィックスプロセッシングユニット(GPU)、それらの複数のインスタンス、および/またはそれらのいずれかの組み合わせを含む、いずれかのタイプの一般的または特定用途向けプロセッサであり得る。プロセッサ(複数可)520はまた、複数の処理コアを有してもよく、コアの少なくとも一部は、特定の機能を実行するように構成され得る。いくつかの実施形態では、複数並列処理が使用される。特定の実施形態では、少なくとも1つのプロセッサ(複数可)520は、生物学的ニューロンを模倣する処理要素を含むニューロモーフィック回路であり得る。いくつかの実施形態では、ニューロモーフィック回路は、フォンノイマンコンピューティングアーキテクチャの典型的なコンポーネントを必要としない。
コンピューティングシステム500は、プロセッサ(複数可)520によって遂行される情報および命令を格納するためのメモリ530をさらに含む。メモリ530は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ、キャッシュ、磁気ディスクもしくは光ディスクなどの静的記憶装置、または他のタイプの非一時的なコンピュータ読み取り可能な媒体、あるいはそれらのいずれかの組み合わせで構成され得る。非一時的なコンピュータ読み取り可能な媒体は、プロセッサ(複数可)520によりアクセス可能ないずれかの利用可能な媒体であってもよく、揮発性媒体、不揮発性媒体または両方を含み得る。また、媒体は、取り外し可能なもの、取り外し不可能なもの、または両方であってもよい。
さらに、コンピューティングシステム500は、無線および/または有線接続を介して通信ネットワークへのアクセスを提供するために、トランシーバなどの通信デバイス540を含む。いくつかの実施形態では、通信デバイス540は、周波数分割多元接続(FDMA)、シングルキャリアFDMA(SC-FDMA)、時分割多元接続(TDMA)、符号分割多元接続(CDMA)、直交周波数分割多重方式(OFDM)、直交周波数分割多元接続(OFDMA)、移動体用グローバルシステム(GSM:Global System for Mobile)通信、汎用パケット無線サービス(GPRS:General Packet Radio Service)、ユニバーサル移動体通信システム(UMTS:Universal Mobile Telecommunications System)、cdma2000、広帯域CDMA(W-CDMA:Wideband CDMA)、高速ダウンリンクパケットアクセス(HSDPA:High-Speed Downlink Packet Access)、高速アップリンクパケットアクセス(HSUPA:High-Speed Uplink Packet Access)、高速パケットアクセス(HSPA:High-Speed Packet Access)、ロングタームエボリューション(LTE:Long Term Evolution)、LTEアドバンスト(LTE-A:LTE Advanced)、802.11x、Wi-Fi、Zigbee、超広帯域無線(UWB:Ultra-WideBand)、802.16x、802.15、Home Node-B(HnB)、Bluetooth、無線IDタグ(RFID:Radio Frequency Identification)、IrDA(Infrared Data Association)、近距離無線通信(NFC:Near-Field Communications)、第5世代(5G)、New Radio(NR)、それらのいずれかの組み合わせ、および/または本発明の範囲から逸脱することなく、いずれかの他の現在存在するまたは将来実装される通信標準および/またはプロトコルを使用するように構成される。いくつかの実施形態では、通信デバイス540は、本発明の範囲から逸脱することなく、単数のアンテナ、アレイ状のアンテナ、フェーズドアンテナ、スイッチドアンテナ、ビームフォーミングアンテナ、ビームステアリングアンテナ、それらの組み合わせ、および/またはいずれかの他のアンテナ構成である1または複数のアンテナを含む。
プロセッサ(複数可)520は、バス510を介して、プラズマディスプレイ、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、電界放出ディスプレイ(FED)、有機発光ダイオード(OLED)ディスプレイ、フレキシブルOLEDディスプレイ、フレキシブル基板ディスプレイ、プロジェクションディスプレイ、4Kディスプレイ、高精細ディスプレイ、Retina(登録商標)ディスプレイ、IPS(In-Plane Switching)ディスプレイ、またはユーザーに情報を表示するためのいずれかの他の適切なディスプレイなどのディスプレイ550にさらに結合されている。ディスプレイ525は、抵抗方式、静電容量方式、表面弾性波(SAW)静電容量方式、赤外線方式、光学イメージング方式、分散信号方式、音響パルス認識方式、フラストレート全内部反射方式などを用いて、タッチ(ハプティック)ディスプレイ、3次元(3D)タッチディスプレイ、マルチ入力タッチディスプレイ、マルチタッチディスプレイなどとして構成される。本発明の範囲を逸脱することなく、いずれかの好適な表示デバイスおよびハプティックI/Oを使用することができる。
コンピュータマウス、タッチパッドなどのようなキーボード560およびカーソル制御デバイス570は、ユーザーがコンピューティングシステムとインターフェースすることを可能にするために、バス510にさらに結合されている。しかしながら、特定の実施形態では、物理的なキーボードおよびマウスが存在せず、ユーザーは、ディスプレイ550および/またはタッチパッド(図示せず)のみを介してデバイスとインタラクションする。任意の入力デバイスの種類および組み合わせは、設計の選択の問題として使用され得る。特定の実施形態では、物理的な入力デバイスおよび/またはディスプレイは存在しない。例えば、ユーザーは、コンピューティングシステム500と通信している別のコンピューティングシステムを介してリモートでコンピューティングシステム500とインタラクションし、コンピューティングシステム500は自律的に動作し得る。
メモリ530は、プロセッサ(複数可)520により遂行されたときに機能を提供するソフトウェアモジュールを格納する。モジュールは、コンピューティングシステム500のためのオペレーティングシステム532を含む。モジュールは、ウェブベースのユーザーインターフェース310などのウェブベースのユーザーインターフェース上で1もしくは複数のRPAパッケージまたはRPAワークフローの視覚化を提供するために、本明細書に記載された処理のすべてもしくは一部またはその派生物を行うように構成される、閲覧モジュール534をさらに含む。さらに、閲覧モジュール534は、少なくとも2つのRPAワークフローファイル(例えば、2つ以上の.xamlファイル)および/または少なくとも2つのRPAパッケージを比較するように構成される比較モジュールを含む。コンピューティングシステム500は、付加的な機能を含む1または複数の付加的な機能モジュール536を含み得る。
当業者であれば、「システム」は、本発明の範囲から逸脱することなく、サーバー、組み込みコンピューティングシステム、パーソナルコンピュータ、コンソール、パーソナルデジタルアシスタント(PDA)、携帯電話、タブレットコンピューティングデバイス、量子コンピューティングシステム、または他のいずれかの適切なコンピューティングデバイス、またはデバイスの組み合わせとして具現化され得ることを理解するであろう。上述した機能を「システム」により実行されるものとして提示することは、何ら本発明の範囲を限定することを意図するものではなく、本発明の多くの実施形態の一例を提供することを意図するものである。実際、本明細書に開示された方法、システム、および装置は、クラウドコンピューティングシステムを含むコンピューティング技法と整合性のあるローカライズされた形態および分配された形態で実装されてもよい。
本明細書で説明するシステム特色のいくつかは、実装の独立性をより強調するために、モジュールとして提示されていることに留意すべきである。例えば、モジュールは、カスタムの非常に大規模な集積(VLSI)回路またはゲートアレイ、ロジックチップ、トランジスタ、または他の個別部品のような既製の半導体を含むハードウェア回路として実装され得る。また、モジュールは、フィールドプログラマブルゲートアレイ、プログラマブルアレイロジック、プログラマブルロジックデバイス、グラフィックス処理ユニットなどのプログラマブルハードウェアデバイスに実装され得る。
モジュールはまた、様々なタイプのプロセッサにより遂行されるためのソフトウェアに少なくとも部分的に実装され得る。例えば、遂行可能コードの特定された単位は、例えば、オブジェクト、プロシージャ、または関数として編成されるコンピュータ命令の1または複数の物理的または論理的なブロックを含む。それにもかかわらず、遂行可能な特定されたモジュールは、物理的に一緒に配置されている必要はなく、論理的に結合されたときにモジュールを含み、モジュールのために述べられた目的を達成するために、異なる場所に格納された別々の命令を含んでいてもよい。さらに、モジュールは、例えば、ハードディスクドライブ、フラッシュデバイス、RAM、テープのような非一時的なコンピュータ読み取り可能な媒体、および/または本発明の範囲から逸脱することなくデータを格納するために使用される他のいずれかの非一時的なコンピュータ読み取り可能な媒体に格納されていてもよい。
実際、遂行可能コードのモジュールは、単一の命令であってもよいし、多数の命令であってもよいし、さらには、複数の異なるコードセグメント、異なるプログラム間、および複数のメモリデバイス間に分散されていてもよい。同様に、動作データは、モジュール内で特定され、ここで示されてもよく、いずれかの適切なタイプのデータ構造体内でいずれかの適切な形態で具現化され、組織化され得る。動作データは、単一のデータセットとして収集されてもよいし、または異なる記憶デバイスにわたり異なる場所に分散されていてもよく、少なくとも部分的には、単にシステムまたはネットワーク上の電子信号として存在していてもよい。図6A~図6Eは、本発明の様々な実施形態による、RPAパッケージおよびワークフローの可視化、表現、比較、アクセス、探索またはアクセスのためのウェブベースのユーザーインターフェースの例示的な機能を示す。
図6Aは、本発明の様々な実施形態による、パッケージならびにワークフローの閲覧および比較のためのウェブベースのユーザーインターフェース600aの例示的なブロック図である。ウェブベースのユーザーインターフェース600aは、入力ストリーム610a、出力ストリーム630a、ならびに閲覧および差別化サービス620aに関連付けられる。入力ストリーム610aは、閲覧、探索、または分析のための1または複数の入力データ型を、閲覧および差別化サービス620aに提供するために使用される。入力データのタイプは、ワークフローまたはパッケージを含む。入力データのタイプがワークフローの場合、入力ストリーム610aは、サービス層238に格納された1または複数のAPIからgetxaml(xaml1、xaml2)関数を使用して取得され得るような、以下では互換的にワークフローファイルとも呼ばれる、1または複数の.xamlファイルを含む。ワークフローファイルは、いくつかの実施形態では、RPAドキュメントリポジトリから、またはコンピューティングシステム500などのRPAシステムから取得され得る。いくつかの代替的な実施形態では、ワークフローファイルは、データベースサーバー240からなど、図2に開示されたサーバー側から取得される。入力ストリーム610aは、コンピューティングシステム500から取得された1または複数のパッケージも含み得る。1または複数のパッケージは、例えば、RPAシステム200に関連する1または複数の事前定義されたAPIで定義され、サービス層238に格納されるgetPackageDiff(パッケージ1、パッケージ2)関数を使用して取得され得る。入力ストリーム610aに含まれるデータは、入力ストリーム610aのコンテンツを閲覧するための可視化を生成すること、または入力ストリーム610aのコンテンツを差別化するための視覚化を生成することの2つの動作のうちの1つを実行する閲覧および差別化サービス620aに提供される。例えば、入力ストリーム610aに1つのワークフローまたは1つのパッケージのみが含まれる場合、閲覧および差別化サービス620aは、入力ストリーム610aのワークフローまたはパッケージのコンテンツのための視覚化を生成する。しかし、2つのワークフローまたは2つのパッケージが入力ストリーム610aに含まれる場合、閲覧および差別化サービス620aは、入力ストリーム610aに含まれる2つのワークフローまたは2つのパッケージ間の差異の視覚的表現を生成する。
いくつかの実施形態では、差異は、ウェブベースのユーザーインターフェース600a上で呼び出された比較動作に応答して生成される。生成された視覚化に基づいて、出力ストリーム630aは、入力ストリーム610aのコンテンツの視覚化をレンダリングし、または入力ストリーム610aに含まれる2つのワークフローまたは2つのパッケージ間の差異の視覚化をレンダリングする。その後、レンダリングされた視覚化は、コンピューティングシステム500に関連するディスプレイ550などに表示される。
図6Bは、いくつかの例示的な実施形態による、ウェブベースのユーザーインターフェース600bによって提供されるパッケージ閲覧またはパッケージ探索機能の例示的な機能を示す。ウェブベースのユーザーインターフェース600bは、1または複数のRPAパッケージ610bを探索するための機能を提供するために使用される。このために、パッケージビューワコンポーネント620bが使用される。パッケージビューワコンポーネント620bによって提供される出力は、1または複数のRPAパッケージ610bのコンテンツの視覚的表現630bを使用してレンダリングされる。いくつかの実施形態では、1または複数のRPAパッケージ610bのコンテンツの視覚的表現630bは、ウェブベースのユーザーインターフェース600bに関連するディスプレイコンポーネント上に提供される。例えば、コンピューティングシステム500のディスプレイユニット550は、パッケージビューワコンポーネント620bを使用することによって、1または複数のRPAパッケージ610bのコンテンツの視覚的表現630bを閲覧するために使用され得る。
いくつかの実施形態では、パッケージビューワコンポーネント620bは、ユーザーがコンピューティングシステム500にログインし、ブラウザアプリケーションにアクセスするときなど、ウェブベースのユーザーインターフェース600bを使用することによってアクセスされる。コンピューティングシステム500は、コンピューティングシステム500のメモリユニット530に格納され得る、複数のRPAパッケージおよびRPAワークフローを含む。各ユーザーは、ログイン資格情報に基づいて決定されるそれらの役割、アクセス権限、タイプなどに基づいて、コンピューティングシステム500によって特定され得る。いくつかの実施形態では、ユーザーはユーザーコンテキスト情報に関連付けられ、およびこのユーザーコンテキスト情報は、1または複数のRPAパッケージ610bのリストをユーザーに提示するためにさらに使用される。1または複数のRPAパッケージのリスト610b内の異なるRPAパッケージはそれぞれ、固有のバージョン番号フィールドおよび識別(ID)情報とも関連付けられる。
コンピューティングシステム500は、ユーザーがウェブベースのユーザーインターフェース600bで1または複数のRPAパッケージバージョン(例えばバージョン1.0、バージョン1.1...バージョン1.20)のリストを閲覧できるようにする。ユーザーは、RPAパッケージバージョンのリストから少なくとも2つのRPAパッケージバージョン(例えば、バージョン1.0およびバージョン1.1)を選択する。任意の2つのRPAパッケージバージョンを選択すると、コンピューティングシステム500はパッケージビューワコンポーネント620bにアクセスする。パッケージビューワコンポーネント620bは、コンピューティングシステム500の閲覧モジュール534のコンポーネントとして具現化され得る。しかし、いくつかの実施形態では、パッケージビューワコンポーネント620bは、スタンドアロン処理ユニットを有するスタンドアロンコンポーネントとして実装される。パッケージビューワコンポーネント620bは、RPAパッケージバージョンの両方のファイル(例えば.xamlファイル)およびサブフォルダを取得し、ウェブベースのインターフェース600bに表示する。例示的な実施形態では、ウェブベースのユーザーインターフェース600bは、パッケージビューワとも呼ばれる。1または複数のRPAパッケージのリスト内の各RPAパッケージは、固有の識別子(ID)と関連付けられ、各IDは、パッケージ名およびバージョン番号フィールドを含む。さらに、各RPAパッケージは、パッケージの依存関係、パッケージファイル、パッケージの作成者、およびパッケージの説明に関する情報を含む関連コンテンツを含む。ウェブベースのユーザーインターフェース600bは、パッケージの特定のバージョンを選択すると、パッケージに関連するすべてのコンテンツを閲覧し得る。したがって、異なるバージョン番号に対応する1または複数のRPAパッケージ610bの表示されたリストからパッケージが選択され、およびユーザーが特定のパッケージバージョンをクリックしてそれを選択すると、ウェブベースのユーザーインターフェース600bは、以下を含むパッケージコンテンツの視覚的表現630bを生成する:
1.依存関係(パッケージ名をIDとして)-バージョン番号または厳密性が変更された場合、修正される。
a.バージョン番号
b.IsStrictVersion
2.ファイルアイテム(IDとしてpath+isDirectory)
a.ディレクトリ-追加、削除、または未修正され得る。ディレクトリが修正されることはない(変修正可能なプロパティが存在しないため)
I.ファイルアイテム
b.テキストコンテンツを含むファイル-コンテンツが変更された場合、修正される
3.作成者
4.記述
1.依存関係(パッケージ名をIDとして)-バージョン番号または厳密性が変更された場合、修正される。
a.バージョン番号
b.IsStrictVersion
2.ファイルアイテム(IDとしてpath+isDirectory)
a.ディレクトリ-追加、削除、または未修正され得る。ディレクトリが修正されることはない(変修正可能なプロパティが存在しないため)
I.ファイルアイテム
b.テキストコンテンツを含むファイル-コンテンツが変更された場合、修正される
3.作成者
4.記述
ユーザーが1つのRPAパッケージバージョンを選択してそのコンテンツを閲覧する場合、選択したRPAパッケージのコンテンツのみが表示される。しかし、ユーザーが2つのRPAパッケージバージョンを選択した場合、ユーザーは2つのRPAパッケージのコンテンツを閲覧および比較し得る。例えば、2つのRPAパッケージバージョンを選択した後、ユーザーは、ウェブベースのユーザーインターフェース600b上で提供される2つのパッケージバージョンを「比較」するオプションを選択して、選択した2つのRPAパッケージ間の差異を視覚化する。さらに、ウェブベースのユーザーインターフェース600bは、いくつかの実施形態では、第1の色630b1および第2の色630b2などの異なる色を使用して、選択された2つのRPAパッケージ間のコンテンツおよび差異の視覚的表現630bを提供するように構成される。そのために、コンピューティングシステム500は、2つのRPAパッケージの差異の要約をウェブベースのユーザーインターフェース600bに提供するように構成される。いくつかの実施形態では、これら2つのRPAパッケージバージョンが、コンピューティングシステム500への入力となる。コンピューティングシステム500は、閲覧モジュール534を遂行して、ウェブベースのユーザーインターフェース600bに示されるような差異の視覚的表現630bを生成し得る。例えば、選択された2つのRPAパッケージのコンテンツ間の差異の視覚的表現630bにおいて、異なる色(例えば、第1の色630b1および第2の色603b2)が、追加、削除または修正された異なるファイル/フォルダを示すために使用される。RPAパッケージのバージョン1.0は、いくつかのファイルおよびフォルダを含み、それらは削除されているため、第1の色(例えば、赤)630b1で表示される。RPAパッケージのバージョン1.1は、パッケージバージョン1.0に対してバージョン1.1で追加されたファイルおよびフォルダを示し、第2の色(例えば、緑)630b2で表示される。図6Bに示される異なる色/パターンによる2つのパッケージバージョン間の差異の表現は、例示的な目的に過ぎず、決して本発明の範囲を限定するものではないことは、当業者であれば理解されよう。
いくつかの実施形態では、差異の要約を計算するために、閲覧モジュール534は、各パッケージの修正を個別にチェックする比較モジュールをさらに備える。実施形態では、比較モジュールは、RPAパッケージの依存関係を比較する。異なるRPAパッケージバージョンは、RPAパッケージに関連するバージョン番号フィールドが変更された場合、または依存関係の厳密性が変更された場合に、修正されたとみなされる。別の実施形態では、比較モジュールは、RPAパッケージのファイルアイテムも比較する。ファイルアイテムは、ディレクトリおよびテキストコンテンツを含むファイルを含む。RPAパッケージバージョンは、ディレクトリ内で何かが削除または追加されたときに修正されたとみなされる。同様に、RPAパッケージバージョンは、ファイル内のいくつかのテキストコンテンツが修正されたときに修正されたものと見なされる。いくつかの実施形態では、閲覧モジュール534は、RPAワークフローを閲覧および比較するための機能を提供する。
図6Cは、ワークフロー比較能力を提供するためのウェブベースのユーザーインターフェース600cの機能の一例を示す図である。ウェブベースのユーザーインターフェース600cは、パッケージの同じバージョン、バージョン1.0.21に属する2つのワークフロー(すなわち、.xamlファイル)、filename1.xamlワークフローおよびfilename2.xamlワークフローを示す。この実施形態では、ユーザーは1つのRPAワークフローを選択し、その関連するワークフロー図を閲覧する。例えば、ユーザーが彼または彼女のコンピューティングシステム500上のブラウザを使用するなどしてウェブベースのユーザーインターフェース600cにアクセスし、異なるパッケージバージョンが提示された場合、ユーザーはパッケージバージョン1.0.21からfilename1.xamlワークフローを選択する。示された例では、filename1.xamlは単純なシーケンスタイプワークフローである。このように、ワークフローオブジェクトモデルコンポーネント(図7と合わせて詳しく説明される)は、filename1.xamlワークフローを解析し、単純なシーケンスfilename1.xamlワークフローのワークフロー図を生成する。次に、ワークフロー図は、ウェブベースの視覚化エンジンコンポーネント(図7と合わせて詳しく説明される)により、ウェブベースのユーザーインターフェース600c上でレンダリングされる。このようにして、アクティビティのシーケンスの形式であるfilename1.xaml RPAワークフローのコンテンツが、ウェブベースのユーザーインターフェース600c上で閲覧される。いくつかの他の実施形態では、特定されたRPAワークフローは、FSMの形式など、より複雑な形式である。その場合、その特定されたワークフローのワークフロー図は、ワークフローの異なるアクティビティ間のより複雑な関係をグラフまたは視覚的なモデルの形式で表現する。したがって、ウェブベースのユーザーインターフェース600cなどの本発明の様々な実施形態によって提供されるウェブベースのユーザーインターフェース上のワークフロー図の視覚化は、複雑なRPAワークフローを閲覧するための単純かつ直感的な方法を提供する。さらに、本明細書で説明されるワークフローおよびパッケージの閲覧能力は、大規模なストレージおよび処理要件を必要とせずに、ウェブベースのユーザーインターフェースを使用してアクセスされ得る。これは、RPAパッケージまたはRPAワークフローのコンテンツの視覚的表現を生成するために、システム内に存在する大規模なストレージおよび処理能力を必要とし、およびその視覚的表現も直感的で明確ではない、本技術分野の既存のソリューションに比べて技術的に有利であることを証明する。さらに、これらの既知のソリューションの多くでは、少なくともUiPath(登録商標)Studio(商標)とUiPath(登録商標)Orchestrator(商標)の両方のような完全なRPAソフトウェアスイートをインストールする必要があり、それらは、任意のRPAパッケージまたはRPAワークフローにアクセスするためにインストールされる必要があり得る。しかし、いくつかの実施形態は、UiPath(登録商標)Studio(商標)およびUiPath(登録商標)Orchestrator(商標)のような重量のあるコンポーネントをインストールする必要なく、異なるRPAパッケージおよびRPAワークフローを閲覧および比較するために使用される、軽量のウェブベースのユーザーインターフェース(ウェブベースのユーザーインターフェース600cなど)を提供する。ウェブベースのユーザーインターフェース600cは、比較ボタン620cも提供し、これがクリックまたは押されると、任意の2つ(またはそれ以上)の選択されたRPAパッケージまたはRPAワークフローを比較でき、異なるRPAパッケージバージョン間の差異を異なる色/パターン(例えば、第1の色630c1および第2の色630c2)で表示する。パッケージへの追加が第1の色(例えば緑色)630c1で示され、削除が第2の色(赤色)630c2で示される。さらに、ウェブベースのユーザーインターフェース600cは、特定されたRPAワークフローまたはRPAパッケージの視覚的表現内を案内するために使用される、1または複数のナビゲーションコントロール610cを提供することもできる。いくつかの実施形態では、ナビゲーションコントロール610cは、選択されたRPAワークフローに関連するワークフロー図のレンダリングされた視覚的表現に表示される様々なアクティビティの間で、厳密に上から下への順序ではないなど、ユーザーが非線形な方法で案内することを可能にする。
いくつかの実施形態では、ウェブベースのユーザーインターフェースは、図6Dに示すように、選択された任意の2つのパッケージまたはワークフロー間の差異の視覚的表現を提供する。図6Dは、パッケージバージョン1.0.21の以前のバージョンと比較した変更または差異の視覚的表現を提供するウェブベースのユーザーインターフェース600dを示す。ウェブベースのユーザーインターフェース600dは、RPAパッケージバージョン1.0.21のコンテンツに関する視覚的表現も提供し、コンテンツは、依存関係、ファイルアイテム、およびパッケージの説明を示す。さらに、いくつかの実施形態では、パッケージの作成者情報も表示される。ウェブベースのユーザーインターフェース600dは、現在のRPAパッケージバージョン1.0.21の以前のバージョンに対する変更を示すために強調された色を持つファイルを含む要約ウィンドウを表示する。
いくつかの実施形態では、要約ウィンドウは、追加、削除、または修正されたワークフローファイルに基づいて取り込まれる、追加されたファイル、削除されたファイル、および修正されたファイルを含む。いくつかの実施形態によると、RPAパッケージの変更は、異なる色(例えば、第1の色610d、第2の色620d、および第3の色630d)で強調される。他のいくつかの実施形態では、RPAパッケージの変更は、異なるパターンで強調される。例えば、RPAパッケージの新しく追加されたファイルは、第1の色(例えば、緑)またはパターン610dで強調され、削除されたファイルは、第2の色(例えば、赤)またはパターン620dで強調され、RPAパッケージの修正ファイルは、第3の色(例えば、黄)またはパターン630dで強調される。
いくつかの実施形態では、ユーザーインターフェース600d上の要約ウィンドウは、ユーザーの選択に基づいて追加/削除または修正されたファイルのみのフィルタおよびハイライトリストも含む。例えば、ユーザーが削除されたファイルだけを見たい場合、このフィルタはパッケージ内の削除されたファイルだけを強調し得る。図6Eは、ウェブベースのユーザーインターフェース600eの機能を示しており、ここで、ユーザーは、フィルタメニュー610eに基づいて、選択したRPAパッケージまたは選択したRPAワークフローにおける1または複数の変更のタイプを選択し得る。フィルタメニュー610eは、RPAパッケージバージョン1.0.21における追加4件、修正4件、および削除3件を表示する。任意のタイプのメニューオプションをクリックすると、そのタイプの変更のみが要約ウィンドウに表示され得、選択したRPAパッケージバージョンと以前のバージョンとの差異の視覚化を提供する。例えば、+4をクリックすることにより、ウェブベースのユーザーインターフェース600e上の4箇所に関連する色/パターン620e(例えば、緑色)により追加が表示される。
図6A~図6Eに様々な機能を開示したウェブベースのユーザーインターフェースは、先に開示したようなRPAワークフローを閲覧する能力も提供する。
図7は、本発明の実施形態による、RPAワークフローを閲覧および比較するためのウェブベースのユーザーインターフェース700を示すブロック図を示す。ウェブベースのユーザーインターフェース700は、1または複数のRPAワークフローのコンテンツを閲覧、探索、案内、および比較するための機能を提供する。ウェブベースのユーザーインターフェース700は、RPAパッケージを消費すること、およびさらなる処理のために必要なメタデータまたはファイルを含むRPAパッケージのコンテンツをそれから抽出することも可能である。例えば、ウェブベースのユーザー700は、RPAパッケージ710のコンテンツを抽出する。抽出されたコンテンツは、ワークフロー関連コンテンツ720a(互換的にRPAワークフローとも呼ばれる)、およびプロジェクト関連コンテンツ720bを含む。ワークフロー関連コンテンツ720aは、1または複数のRPAワークフローファイルを含み、これは、シーケンス、フローチャートおよびステートマシンを含むがこれらに限定されない任意の定義されたワークフロータイプであってよい.xamlファイルである。プロジェクト関連コンテンツ720bは、パッケージの依存関係、作成者および同様のものに関連するデータなどの、RPAプロジェクトファイルおよびRPAメタデータを含んでもよい。ウェブベースのユーザーインターフェース700は、RPAパッケージ710のコンテンツの抽出を提供する。さらに、ウェブベースのユーザーインターフェース700は、ワークフロー関連コンテンツ720aのRPAワークフローファイル、すなわち.xamlファイルを読み取り、.xamlファイル内の異なるワークフロー要素間のアクティビティおよび関係を表すカスタムデータモデルにそれを変換し、かつカスタムデータモデルを使用してウェブベースのユーザーインターフェース700上でRPAワークフローの構造をインタラクティブな階層的グラフの形式でレイアウトすることを提供する。これを行うために、ワークフローオブジェクトモデルコンポーネント730およびウェブベース視覚化エンジンコンポーネント740が提供される。
ワークフローオブジェクトモデルコンポーネント730は、少なくとも1つの選択されたRPAワークフローのためのワークフロー図を生成する。例えば、ワークフローオブジェクトモデルコンポーネント730は、RPAワークフロー関連コンテンツ720aに含まれる.xamlファイルに関連するワークフロー図を生成する。このため、.xamlファイルを解析および分析し、.xamlファイルに含まれる複数のワークフロー要素を特定する。例えば、これらのワークフロー要素は、複数のアクティビティおよびそれらの関係を含み得る。さらに、異なるワークフローアクティビティ間の関係は、.xamlファイルに関連付けられたカスタムデータモデルを生成するために使用され得、これは、.xamlファイルに関連付けられたワークフロー図を生成するためにさらに使用される。ワークフロー図は、.xamlファイルに関連付けられたカスタムデータモデルにおける複数のワークフロー要素、アクティビティおよび関係を、ウェブベースのユーザーインターフェース700上で表現するインタラクティブな階層的グラフである。
ワークフロー図は、ウェブベースの視覚化エンジンコンポーネント740を使用して、ウェブベースのユーザーインターフェース700上にレンダリングされる。視覚化エンジンコンポーネント740は、生成されたワークフロー図を、ウェブベースのユーザーインターフェース700に関連するディスプレイ上にレンダリングする。例えば、コンピューティングシステム500のディスプレイユニット550は、いくつかの実施形態では、レンダリングされたワークフロー図を閲覧するために使用され得る。既に説明したように、コンピューティングシステム500は、ラップトップ、デスクトップ、携帯電話、タブレット、スマートフォンなど、本技術分野で既知の任意のコンピューティングシステムであり得る。例えば、ウェブベースのユーザーインターフェース700は、RPAワークフロー720aに関連するワークフロー図の生成された視覚化をモバイルデバイス750のディスプレイ上にレンダリングするために使用される。したがって、ウェブベースのユーザーインターフェース700は、専用のRPA開発環境またはIDEにアクセスする必要なく、ブラウザから直接、1もしくは複数のRPAワークフローまたはRPAパッケージの視覚的表現を閲覧、比較、および案内するために使用される。これは、ワークフローオブジェクトモデルコンポーネント730およびワークフローウェブベースの視覚化エンジン740コンポーネントによって提供される1または複数の機能によって可能である。いくつかの実施形態では、ワークフローオブジェクトモデルコンポーネント730およびワークフローウェブベースの視覚化エンジン740コンポーネントは、コンピューティングシステム500の閲覧モジュール534の一部として具現化される。いくつかの実施形態では、ワークフローオブジェクトモデルコンポーネント730およびワークフローウェブベースの視覚化エンジン740コンポーネントは、他の機能モジュール536の一部として具現化される。さらに、いくつかの実施形態では、ワークフローオブジェクトモデルコンポーネント730およびワークフローウェブベースの視覚化エンジン740コンポーネントは、ウェブベースユーザーインターフェース700にアクセスするために使用され得る、例えば、軽量アプリケーションの形式、ブラウザプラグインとして、ウェブポータルとしてなどの、別の処理モジュールの形式で具現化される。
いくつかの例では、ウェブベースのユーザーインターフェース700は、ワークフローファイルまたは,xamlファイルを読み取り、データモデルに解析するパーサーモジュールなどの追加のモジュールを含む。ウェブベースのユーザーインターフェース700はまた、xmlテキストを読み、それをxmlオブジェクトモデルに変換するxmlリーダーを含む。ウェブベースのユーザーインターフェース700は、内部ドメインモデルおよびウェブベースのユーザーインターフェース700の異なるブロックまたはコンポーネント間で交換可能なクラスを表す1または複数の事前定義されたモデルも含む。いくつかの実施形態では、ウェブベースのユーザーインターフェース700は、ウェブベースのユーザーインターフェース700を実装するために使用される複数の機能、アルゴリズムおよびコードバンドルを含むAPIライブラリからの事前定義および既存のAPIのセットにアクセスする。既存のAPIセットは、ユーザーが、コンピューティングシステム500上などのそれらのシステム上で初めて、ウェブベースのユーザーインターフェース700用のアプリケーションをインストールするとき、またはウェブベースのユーザーインターフェース700用のウェブポータルにアクセスするときに作成される。その最初のアクセスで、ウェブベースのユーザーインターフェース700の新しいインスタンスが作成され、その後、同じインスタンスを使用して、ユーザーが望み得るだけ多くのワークフローおよびパッケージを閲覧、比較、および探索する。いくつかの実施形態では、ウェブベースのユーザーインターフェース700は、任意のウェブベースまたはJavaScriptベースのアプリケーションを使用して実装される。
図7に示されるように、ウェブベースのユーザーインターフェース700は、.xamlファイル720a(RPAワークフローファイルとも呼ばれる)であるワークフロー、730などのデータモデル、および740などのウェブビューワインターフェースを含む。いくつかの実施形態では、.xamlファイルは、RPAワークフローファイルのソフトウェアコードのためのフォーマットである。コンピューティングシステム500は、パーサーモジュールを使用して、RPAワークフローファイルをその独自のデータモデルに変換する。実施形態では、パーサーモジュールは、データを小さな要素に分割する。それは、命令またはコードの形式で入力を受け取り、.xamlファイルを解析して得られたデータモデルのようなデータ構造またはデータモデルを、ツリーまたはフローチャートの形式で構築する。コンピューティングシステム500は、視覚化モジュール(ウェブベースの視覚化エンジンコンポーネント740)を用いて、データモデルをウェブビューワインターフェース700上で閲覧するための構造的表示に変換する。ウェブビューワインターフェース上での構造的表示は、フローチャートまたはグラフを用いて視覚的表現を作成し、ワークフロー図の形式で、ユーザーが容易に理解できるようにする。
図8A~図8Bは、本発明の実施形態による、RPAワークフローの比較のための視覚的表現のための例示的なユーザーインターフェースを示す。コンピューティングシステム500は、ユーザーがウェブベースのユーザーインターフェース800aでRPAパッケージバージョン(例えばバージョン1.0、バージョン1.1...バージョン1.20)のリストを閲覧できるように構成される。本実施形態では、ユーザーは、RPAパッケージバージョンのリストから、少なくとも2つのRPAワークフローファイル(例えば、filename1.xamlおよびfilename2.xaml)を選択する。例えば、ユーザーは、1つのRPAパッケージから少なくとも2つのRPAワークフローファイルを選択する。別の例では、ユーザーは、2つの異なるRPAパッケージバージョンから少なくとも2つのRPAワークフローファイルを選択する。いずれの例においても、2つのRPAワークフローファイルを選択した後、ユーザーは、ウェブベースのユーザーインターフェース800a上の「比較」ボタン(図示せず)を選択して、選択したRPAワークフローファイル間の差異をサイドバイサイド(side by side)方式で視覚化する。
コンピューティングシステム500は、ウェブベースのユーザーインターフェース800a上のフローチャートを含む、ワークフロー図810aおよび820aの形式で、2つのRPAワークフローファイルを提供し得る。いくつかの実施形態では、これらの2つのRPAワークフローフローチャートは、コンピューティングシステム500への入力である。コンピューティングシステム500は、次に、閲覧モジュール534を遂行して、2つのRPAワークフロー間の差異を特定する。
コンピューティングシステム500は、2つのRPAワークフロー間の差分も計算する。2つのRPAワークフローにおける2つの類似アイテムの間の差異は、未修正、または修正、または追加、または削除のうちの1または複数であり得る。ワークフロー内の各アイテムまたはアクティビティは、各アイテムに割り当てられた固有のIDに基づいて、アイテムが追加または削除または修正されたかを決定するために、一意に特定される。例えば、コンピューティングシステム500は、新バージョンのRPAワークフローにおいてIDを有する任意のアイテムが追加された場合、2つのRPAワークフロー間の差分のステータスを追加されたとして表示する。同様に、コンピューティングシステム500は、既存のIDに対していくつかのプロパティが更新または追加または削除された場合、2つのRPAワークフロー間の差異のステータスを修正されたとして表示する。例えば、ウェブベースのユーザーインターフェース800a上のメニュー830aは、ワークフロー図810aおよび820a間の異なるタイプの差異を表示する。さらに、ウェブベースのユーザーインターフェース800aは、ワークフロー図810aおよび820aによって表される2つのRPAワークフロー間の差異をサイドバイサイド方式で示し、異なる色および/または異なるパターン、830aおよび840aが特定の差異について所定の場所で使用され得る。例えば、RPAパッケージの削除されたアイテムは、第1の色(例えば、赤)830a1で強調され、左側に表示される。同様に、RPAパッケージの追加されたアイテムは、強調され、右側に表示される。同様に、いくつかのアイテムが修正された場合、修正されたアイテムは、第2の色(例えば、黄色)840a1および両側で強調され得る。
しかし、いくつかの実施形態では、そのような差異の要約は、要約ウィンドウの形式でウェブベースのユーザーインターフェースに提供される。
図8Bは、要約ウィンドウ810bの形式でウェブベースのユーザーインターフェース800bに示すように、2つのRPAワークフロー間の差異、または少なくとも1つの選択されたRPAワークフローで行われた変更の要約の視覚的表現を示す。例えば、図8Bにおいて、コンピューティングシステム500は、異なる色(例えば、第1の色810b1および第2の色810b2)で強調された2つのRPAフローチャートの間の差異を表示する。2つのRPAワークフロー間で算出された差異に基づいて、コンピューティングシステム500は、2つのRPAワークフロー間の差異に寄与する特性または構成を表示する。例えば、ウェブベースのユーザーインターフェース800bを参照する。この例では、第1の色(例えば、赤)810b1は削除を示すために用いられ、第2の色(例えば、緑)810b2は追加されたプロパティを示すために用いられ、第3の色(黄)810b3は要約ウィンドウ810上で選択されたRPAワークフロー上の修正されたプロパティを示すために用いられる。したがって、上で示された様々な例示的なユーザーインターフェースを使用して、本発明に開示されるシステムおよび方法は、異なるRPAパッケージおよびワークフローの閲覧、探索、分析、および比較、またはそれらの組み合わせを可能にする。これらに使用されるステップおよびアルゴリズムの具体的な内容を詳しく説明した様々な方法は、以下の図(図9~図12)で説明される。
図9は、本発明の実施形態による、RPAパッケージを探索するための方法900を示すフローチャートである。
方法900は、ステップ910において、ウェブベースのユーザーインターフェース700などのウェブベースのユーザーインターフェースにアクセスすることを含む。いくつかの実施形態では、ウェブベースのユーザーインターフェース700は、ウェブポータルにログインすることによってアクセスされる。いくつかの実施形態では、ウェブベースのユーザーインターフェース700のクライアントインスタンスは、ユーザーのコンピューティングシステムにインストールされ、ウェブポータルにアクセスすることによってまたはブラウザベースのプラグインにアクセスすることによって、呼び出される。ウェブベースのユーザーインターフェース700のクライアントインスタンスの呼び出しに際して、クライアントインスタンスは初期化される。ウェブベースのユーザーインターフェース700のクライアントインスタンスの初期化は、ワークフローオブジェクトモデルコンポーネント730に含まれるようなパーサーモジュールの初期化、ウェブベースのレジストリサービスの初期化、ウェブベースの視覚化エンジンコンポーネント740の初期化、およびそのすべての内部セットアップを行い、最後にウェブベースのユーザーインターフェース700の完全に初期化されたクライアントインスタンスをユーザーに返すことを含む。
さらに、方法900は、ステップ920において、複数のRPAパッケージのリストをウェブベースのユーザーインターフェース700上に表示することを含む。複数のRPAパッケージのリストは、複数のRPAパッケージのリストの中から各RPAパッケージに関連付けられたバージョン番号フィールドを含む。例えば、ウェブベースのユーザーインターフェース600bに示すように、1または複数のRPAパッケージ610bが複数のRPAパッケージのリストを形成し、各RPAパッケージは、バージョン1.0、バージョン1.1などのそれらのバージョン番号で示される。したがって、RPAパッケージのリスト内の各RPAパッケージは、固有の識別子(ID)と関連付けられ、各IDは、パッケージ名およびバージョン番号フィールドを含む。
方法900は、ステップ930において、表示されたRPAパッケージのリストから、少なくとも1つのRPAパッケージを選択することをさらに含む。例えば、ウェブベースのユーザーインターフェース600dに示すように、ユーザーは、バージョン番号1.0.21を有する少なくとも1つのRPAパッケージを選択した。いくつかの実施形態では、ユーザーは、異なる関連するバージョン番号フィールドを有する少なくとも2つのRPAパッケージを選択する。ユーザーは、RPAパッケージのリストから、これら少なくとも2つのRPAパッケージを選択して比較し得る。次に、方法900は、ステップ940において、ウェブベースのユーザーインターフェース700上で、RPAパッケージを探索するための少なくとも1つのRPAパッケージのコンテンツに対する視覚的表現を生成することを含む。少なくとも1つのRPAパッケージのコンテンツの視覚的表現は、パッケージ依存関係、ファイルアイテム、パッケージ作成者、およびパッケージ説明関連情報のうちの少なくとも1つを含む。例えば、ウェブベースのユーザーインターフェース600dは、選択されたパッケージバージョン1.0.21に含まれる様々なフォルダおよび依存関係を表示する。ウェブベースのユーザーインターフェース600dは、パッケージバージョン1.0.21のフォルダ3内に含まれる複数のRPAワークフロー(filename_1.xamlおよびprocess_1.xamlなど)も表示する。ユーザーはまた、これらのRPAワークフローのうちの1または複数を選択し、ウェブベースのユーザーインターフェース600dでそれらを閲覧または比較し得る。1または複数のワークフローは、RPAワークフローを介して閲覧および案内を可能にする階層的なインタラクティブグラフを表すワークフロー図を使用して閲覧される。例えば、ウェブベースのユーザーインターフェース800aは、2つのRPAワークフローfilename_1.xamlおよびfilename_2.xamlのコンテンツの視覚的表現を提供するワークフロー図810aおよび820aを示す。
いくつかの実施形態では、方法900はまた、選択された少なくとも2つのRPAパッケージ間の1または複数の差異の視覚的表現を生成することにより、選択された少なくとも2つのRPAパッケージを比較するためのサポートを提供する。しかし、比較処理の詳細は、図10に例示した方法で説明される。
図10は、本発明の実施形態による、ウェブベースのユーザーインターフェースを使用して少なくとも2つのRPAパッケージを比較するためのプロセスまたは方法1000を示すフローチャートである。
方法1000は、ステップ1010において、ウェブベースのユーザーインターフェース700上に、複数のRPAパッケージのリストを表示することを含み、ここで、リストは、複数のRPAパッケージのリストから各RPAパッケージに関連するバージョン番号フィールドを含む。さらに、方法1000は、ステップ1020において、表示された複数のRPAパッケージのリストから、選択された少なくとも2つのRPAパッケージが異なる関連するバージョン番号フィールドを有するように、少なくとも2つのRPAパッケージを選択することを含む。例えば、例示的なウェブベースのユーザーインターフェース600bにおいて、ユーザーは、表示された複数の/1または複数のRPAパッケージ610bのリストから、2つのRPAパッケージ、パッケージバージョン1.0およびパッケージバージョン1.1を選択する。これらの選択された少なくとも2つのパッケージは、パッケージビューワ620bコンポーネントに提供され、これは、ウェブベースのユーザーインターフェース600bのクライアントインスタンスにすぎないが、選択されたパッケージの詳細で初期化される。
方法1000はさらに、ステップ1030で、選択された少なくとも2つのRPAパッケージ間の1または複数の差異の視覚的表現を生成することにより、選択された少なくとも2つのRPAパッケージを比較することを含む。例えば、ユーザーインターフェース600cに示すように、ユーザーは比較ボタン620cをクリックして、任意の2つのアクティブなパッケージ、すなわち利用可能なパッケージ、例えばパッケージ1.0.21、1.0.19などのいずれかを比較する。比較ボタンをクリックすると、選択された少なくとも2つのRPAパッケージの間の差異の視覚的表現が生成される。
さらに、選択された少なくとも2つのRPAパッケージ(またはパッケージバージョン)の間の差異が特定されると、方法1000は、ステップ1040において、ウェブベースのユーザーインターフェース700上に差異の視覚的表現を提供することを含む。生成された少なくとも2つのパッケージ間の差異の視覚的表現は、グラフまたはフローチャートの形式であり、少なくとも2つのパッケージ間の差異の視覚的表現は、差異を表現するための1または複数のカラーハイライターまたは1または複数のパターンをさらに含む。いくつかの実施形態では、差異はディスプレイ上の差異要約の形式で表され、ここで、差異要約は、追加、削除、および修正のような要約アイテムを含む。例えば、ウェブベースのユーザーインターフェース600dは、パッケージ(バージョン番号付き)1.0.21とその前のバージョンの1つとの間の差異の視覚的表現を差異要約の形式で提供し、ここで、追加は、第1の色(例えば、緑)610dで表され、削除は第2の色(例えば、赤)620dで示され、修正は第3の色(例えば、黄)630dで示される。例えば、ウェブベースのユーザーインターフェース600dでは、filename1.xamlが追加され、以前のfilename1.xamlが削除され、およびprocess_1.xamlが修正されていることが示される。
いくつかの実施形態では、ユーザーは、RPAパッケージに含まれる任意のRPAワークフローファイルを選択し、ウェブベースのユーザーインターフェース700上でそのコンテンツを閲覧することができる。
図11は、本発明の実施形態による、ウェブベースのユーザーインターフェースを使用してRPAワークフローを閲覧するための方法1100を示すフローチャートである。
方法1100は、ステップ1110において、ウェブベースのユーザーインターフェース700などのウェブベースのユーザーインターフェースにアクセスすることを含む。
さらに、方法1000は、ステップ1120において、少なくとも1つのRPAワークフローを特定することを含む。少なくとも1つのRPAワークフローは、ウェブベースのユーザーインターフェース700に表示されるパッケージバージョンから少なくとも1つのRPAワークフローを選択することなどによって特定され得る。例えば、ウェブベースのユーザーインターフェース600cは、パッケージ1.0.21からfilename_1.xamlワークフローを特定する(選択することによって)ことを示す。いくつかの実施形態では、ユーザーは、少なくとも1つのワークフローを選択した後に、第2のワークフローを選択することもできる。
さらに、方法1100は、ステップ1130において、ワークフローオブジェクトモデルコンポーネント(例えば、ワークフローオブジェクトモデルコンポーネント730)を使用して、特定された少なくとも1つのワークフローダイアグラムに関連する、ワークフローダイアグラムを生成することを含む。ワークフロー図は、特定されたRPAワークフローのコンテンツの視覚的表現をウェブベースのユーザーインターフェース上に提供する。ワークフロー図は、いくつかの実施形態では、インタラクティブな階層的グラフの形式であり、これは、ワークフロー図のコンテンツについての非線形ナビゲーションを可能にする。つまり、ユーザーは、特定の順序に従うことなく、任意のコンテンツ要素から任意の他のコンテンツ要素に案内することができる。ワークフロー図を用いて表現されるワークフローのコンテンツは、ワークフロー、アクティビティ、および関係のうちの1または複数を含む。アクティビティは、スコープ/コンテナアクティビティが他のアクティビティを子として持つことができるツリー構造を持っており、それらの子アクティビティはすべて、スコープ/コンテナアクティビティがそれらの親として設定される。アクティビティは、メインスコープ/コンテナがルートアクティビティであるn変数(n-ary)のツリー構造である。一方、ワークフローダイアグラムで表現されるワークフローは、有向グラフ構造を有する。ワークフローそのものを考えた場合、フローチャートおよびステートマシンのワークフローは、アクティビティをノードとし、接続または遷移で結ばれた循環有向マルチグラフを形成する。一方で、シーケンスワークフローは、非循環有向グラフを形成する。これら全てのワークフロー要素は、生成されたワークフロー図に表される。例えば、ウェブベースのユーザーインターフェース800aは、2つのワークフローダイアグラム810aおよび820aを示す。
一旦、特定されたワークフローに関連するワークフロー図が生成されると、方法1100は、ステップ1140において、ウェブベースの視覚化エンジン740などのウェブベースの視覚化エンジンコンポーネントを使用して、モバイルデバイス、例えば、モバイルデバイス750に関連するディスプレイなどのディスプレイ550に生成されたワークフロー図をレンダリングすることを含む。したがって、ステップ1150において、方法1100は、レンダリングされたワークフローダイアグラムを閲覧することを含む。
いくつかの実施形態では、ユーザーは、ディスプレイ上で閲覧または比較するための第2のワークフローを選択する。
図12は、本発明の実施形態による、ウェブベースのユーザーインターフェースを使用して少なくとも2つのRPAワークフローを比較するための方法1200を示すフローチャートである。方法1200は、ステップ1210において、ウェブベースのユーザーインターフェース700上に、複数のRPAパッケージのリスト(例えば、1または複数のRPAパッケージ610b)を表示することを含む。さらに、方法1200は、ステップ1220において、表示されたRPAパッケージのリストから、少なくとも2つのRPAワークフローを選択することを含む。例えば、ウェブベースのユーザーインターフェース800aは、2つのワークフローfilename 1.xamlおよびfilename 2.xamlを示す。
方法1200はさらに、ステップ1230で、選択された少なくとも2つのワークフロー間の差異の視覚的表現を生成することにより、選択された少なくとも2つのワークフローを比較することを含む。例えば、ユーザーは、2つのワークフローfilename 1.xamlおよびfilename 2.xamlを比較するために、ウェブベースのユーザーインターフェース600cに示された比較ボタン620cをクリックし得る。いくつかの実施形態では、ワークフロー比較アルゴリズムは、以下のように提供され得る:
アルゴリズムの開始
アクティビティ
IDとしてのIdRef(IdRef as ID)
以下の場合修正される(Modified if)
プロパティの値/タイプのいずれかが変更される(プロパティの場合、名前がIDになる)
アクティビティが新しいコンテナ/スコープアクティビティ内に移動した、つまり親が変更された
コンテナ/スコープアクティビティは、任意の子が追加/削除/修正されても、修正されない。ステートマシンは例外であり、以下を参照。
DisplayName、またはText、または任意のその他のプロパティは、特別なステータスを全く与えられない。それらはすべてプロパティとみなされる
シーケンスまたはフローチャートタイプのワークフローについて、それらは常にExpandAllモードで表示される。そのため、すべてのコンテナ/スコープ内の入れ子になった(nested)アクティビティが表示され、それらのそれぞれに対して差分ロジックが適用される。
フォーカスビュー(Focused View)でワークフロー内の特定のアクティビティが閲覧される場合、同じルールを提供する
ステートマシンのみ、ステートアクティビティが拡張されない。そして、ステートマシンビューのステートアクティビティのみ、上記のルールに沿って、以下の場合にそれらが修正されたとみなされる
ステート内の任意の子アクティビティが追加、削除、または修正された
これは、通常のアクティビティとして動作する状態のフォーカスビューには適用されない
ワークフローは、グラフィカルで2次元であり、およびX軸とY軸の両方向に成長し、ネスティング(nesting)を有するため、1つの子は別の親に移動および/または親内で移動することができる。
上記のようなワークフローに対して、シンク・ステップ・スルー機能を提供する。
ウェブベースのユーザーインターフェースを使用して、ワークフローのすべての変更をステップスルーするための前および次のボタンを提供する。変更のステップ実行中、比較される要素がキャンバスの可視領域に常に存在するように、システムはウェブベースのユーザーインターフェースに関連するディスプレイのキャンバスを自動的に2Dでスクロールさせる。
それが小さな要素(表示画面より小さい寸法)の場合
それが完全に表示されている場合、表示領域は移動しない。それが表示されていない/部分的に表示されている場合は、X軸およびY軸のスクロール機能を実装し、画面の中央にそれを移動させる
それがより大きな要素(表示画面より大きな寸法)の場合
その任意の一部でも見えている場合、移動しない
一部も見えていない場合、X軸およびY軸をスクロールして、画面上で中央上部が見えるようにする
比較される要素は常に強調されるので、画面上でそれを簡単に見つけられる
また、ステップスルーは、特定のタイプの変更のみを比較するフィルタを提供する(例えば、追加、削除、修正された要素のみ、または
すべての変更)
アルゴリズムの終了
アルゴリズムの開始
アクティビティ
IDとしてのIdRef(IdRef as ID)
以下の場合修正される(Modified if)
プロパティの値/タイプのいずれかが変更される(プロパティの場合、名前がIDになる)
アクティビティが新しいコンテナ/スコープアクティビティ内に移動した、つまり親が変更された
コンテナ/スコープアクティビティは、任意の子が追加/削除/修正されても、修正されない。ステートマシンは例外であり、以下を参照。
DisplayName、またはText、または任意のその他のプロパティは、特別なステータスを全く与えられない。それらはすべてプロパティとみなされる
シーケンスまたはフローチャートタイプのワークフローについて、それらは常にExpandAllモードで表示される。そのため、すべてのコンテナ/スコープ内の入れ子になった(nested)アクティビティが表示され、それらのそれぞれに対して差分ロジックが適用される。
フォーカスビュー(Focused View)でワークフロー内の特定のアクティビティが閲覧される場合、同じルールを提供する
ステートマシンのみ、ステートアクティビティが拡張されない。そして、ステートマシンビューのステートアクティビティのみ、上記のルールに沿って、以下の場合にそれらが修正されたとみなされる
ステート内の任意の子アクティビティが追加、削除、または修正された
これは、通常のアクティビティとして動作する状態のフォーカスビューには適用されない
ワークフローは、グラフィカルで2次元であり、およびX軸とY軸の両方向に成長し、ネスティング(nesting)を有するため、1つの子は別の親に移動および/または親内で移動することができる。
上記のようなワークフローに対して、シンク・ステップ・スルー機能を提供する。
ウェブベースのユーザーインターフェースを使用して、ワークフローのすべての変更をステップスルーするための前および次のボタンを提供する。変更のステップ実行中、比較される要素がキャンバスの可視領域に常に存在するように、システムはウェブベースのユーザーインターフェースに関連するディスプレイのキャンバスを自動的に2Dでスクロールさせる。
それが小さな要素(表示画面より小さい寸法)の場合
それが完全に表示されている場合、表示領域は移動しない。それが表示されていない/部分的に表示されている場合は、X軸およびY軸のスクロール機能を実装し、画面の中央にそれを移動させる
それがより大きな要素(表示画面より大きな寸法)の場合
その任意の一部でも見えている場合、移動しない
一部も見えていない場合、X軸およびY軸をスクロールして、画面上で中央上部が見えるようにする
比較される要素は常に強調されるので、画面上でそれを簡単に見つけられる
また、ステップスルーは、特定のタイプの変更のみを比較するフィルタを提供する(例えば、追加、削除、修正された要素のみ、または
すべての変更)
アルゴリズムの終了
比較後、方法1200は、1240において、ウェブベースのユーザーインターフェース700上での選択された少なくとも2つのRPAワークフロー間の差異の視覚的表現を含む。例えば、ユーザーインターフェース800aおよび800bは、選択された少なくとも2つのRPAワークフロー間の差異の視覚的表現を表す2つの異なる方法を表す。最後に、ステップ1240で、差異の視覚的表現は、ウェブベースのユーザーインターフェース700およびディスプレイユニット550などのその関連ディスプレイに表示される。
例示的な実施形態では、上記図9~図12の方法900~1200は、一連の動作を遂行するように構成されたハードウェアプロセッサに関連付けられたコンピュータプログラムを構成することを含み、ここで、一連の動作は、方法900~1200の各々と関連して説明されたステップのすべてまたはいくつかを実行するために使用される。ハードウェアプロセッサは、例えば、ハードウェアに実装された論理関数の実行、格納された命令の遂行、または各動作を実行するためのアルゴリズムの遂行によって、方法900~1200のそれぞれに関連する一連の動作を遂行するように構成され得る。あるいは、装置は、上述した各動作を実行するための手段を含む。この点に関し、例示的な実施形態によると、方法900~1200の各々に関連する一連の動作を遂行するための手段の例は、例えば、システム500に実装されるプロセッサ520および/または上述したように情報を処理するための命令を遂行するもしくはアルゴリズムを遂行するためのデバイスもしくは回路を含み得る。
コンピュータプログラムは、ハードウェア、ソフトウェア、またはハイブリッド実装で実装され得る。コンピュータプログラムは、互いに動作可能な通信を行うモジュールで構成され得、情報または指示をディスプレイに送るように設計されている。コンピュータプログラムは、汎用コンピュータ、ASIC、またはいずれかの他の好適なデバイスで動作するように構成され得る。
本発明の様々な実施形態のコンポーネントは、本明細書に一般的に記載され、図示されているように、様々な異なる構成で配置され、設計されてもよいことが、容易に理解されるであろう。したがって、添付の図に表されるような本発明の実施形態の詳細な説明は、特許請求されるような本発明の範囲を限定することを意図するものではなく、本発明の選択された実施形態を代表するものにすぎない。
本明細書を通して記載された本発明の特色、構造、または特徴は、1または複数の実施形態では、いずれかの好適な方法で組み合わせられ得る。例えば、本明細書全体を通して「特定の実施形態」、「いくつかの実施形態」、または類似の言語を参照することは、実施形態に関連して記載された特定の特色、構造、または特徴が、本発明の少なくとも1つの実施形態に含まれていることを意味する。したがって、本明細書全体を通して「特定の実施形態では」、「いくつかの実施形態では」、「他の実施形態では」、または類似の言語の出現は、必ずしも全ての実施形態の同じグループを指すものではなく、記載された特色、構造、または特徴は、1または複数の実施形態ではいずれかの好適な方法で組み合わせられ得る。
本明細書全体を通して特色、利点、または類似の言語への参照は、本発明で実現され得る特色および利点の全てが、本発明のいずれかの単一の実施形態にあるべきであること、または本発明のいずれかの実施形態であることを意味するものではないことに留意すべきである。むしろ、特色および利点に言及する言語は、実施形態に関連して記載された特定の特色、利点、または特徴が、本発明の少なくとも1つの実施形態に含まれることを意味すると理解される。したがって、本明細書全体での特色および利点の議論、ならびに類似の言語は、同じ実施形態を参照することができるが、必ずしもその必要性はない。
さらに、本発明の記載された特色、利点、および特徴は、1または複数の実施形態では、いずれかの好適な方法で組み合わせることができる。関連する技術の当業者は、本発明が、1または複数の特定の実施形態の特定の特徴または利点なしに実施され得ることを認識するであろう。他の例では、追加の特徴および利点は、本発明の全ての実施形態には存在しないかもしれないが特定の実施形態では認識され得る。
本分野における通常の技術を有する者は、上述したような本発明を、異なる順序でのステップを用いて、および/または開示されているものとは異なる構成のハードウェア要素を用いて実施することができることを容易に理解するであろう。したがって、本発明は、これらの好ましい実施形態に基づいて説明されてきたが、本発明の精神および範囲内にとどまりながら、特定の変更、変形、および代替的な構成が明らかになることは、当業者には明らかであろう。したがって、本発明の範囲を決定するためには、添付の特許請求の範囲を参照すべきである。
Claims (20)
- ウェブベースのユーザーインターフェースを使用して少なくとも1つのロボティックプロセスオートメーション(RPA)ワークフローを閲覧するためのコンピュータ実装方法であって、前記方法は、
ウェブベースのユーザーインターフェースにアクセスし、
前記ウェブベースのユーザーインターフェース上で閲覧するための前記少なくとも1つのRPAワークフローを特定し、
ワークフローオブジェクトモデルコンポーネントを使用して、特定された前記少なくとも1つのRPAワークフローのワークフロー図を生成し、
ウェブベースの視覚化エンジンコンポーネントを使用して、特定された前記少なくとも1つのRPAワークフローの生成された前記ワークフロー図をレンダリングし、
前記少なくとも1つのRPAワークフローを閲覧するために、レンダリングされた前記ワークフロー図を前記ウェブベースのユーザーインターフェースに表示することを含む、コンピュータ実装方法。 - 一連の動作を遂行することはさらに、レンダリングされた前記ワークフロー図を案内するための非線形ナビゲーション機能を提供することを含む、請求項1に記載のコンピュータ実装方法。
- 一連の動作を遂行することはさらに、
複数のRPAパッケージのリストを前記ウェブベースのユーザーインターフェースに表示し、
表示された前記複数のRPAパッケージのリストから、少なくとも2つのRPAワークフローを選択し、ここで、前記少なくとも2つのRPAワークフローは、前記RPAパッケージのリスト内の、同じRPAパッケージからまたは2つの異なるRPAパッケージから選択され、
選択された前記少なくとも2つのRPAワークフロー間の差異の視覚的表現を生成することにより、選択された前記少なくとも2つのRPAワークフローを比較し、
選択された前記少なくとも2つのRPAワークフロー間の差異の前記視覚的表現を、前記ウェブベースのユーザーインターフェース上で表示することを含む、請求項1に記載のコンピュータ実装方法。 - 選択された前記少なくとも2つのワークフロー間の差異の前記視覚的表現はさらに、ディスプレイ上で前記差異を表すための指定された色および指定された場所を含む、請求項3に記載のコンピュータ実装方法。
- 前記差異の視覚的表現は、差異要約を表示することを含み、ここで、前記差異要約は、追加、削除、および変更などの要約アイテムを含む、請求項3に記載のコンピュータ実装方法。
- 前記ウェブベースのユーザーインターフェース上に、複数のRPAパッケージのリストを表示し、ここで、前記複数のRPAパッケージのリストからの各RPAパッケージは、バージョン番号フィールドに関連付けられ、
前記複数のRPAパッケージのリストから少なくとも1つのRPAパッケージを選択し、
前記RPAパッケージを探索するために、前記少なくとも1つのRPAパッケージのコンテンツの視覚的表現を、前記ウェブベースのユーザーインターフェース上で生成し、ここで、前記少なくとも1つのRPAパッケージの前記コンテンツの前記視覚的表現は、パッケージ依存関係、ファイルアイテム、パッケージ作成者、およびパッケージ記述のうちの少なくとも1つを含むことをさらに含む、請求項1に記載のコンピュータ実装方法。 - 前記複数のRPAパッケージの表示されたリストから、少なくとも2つのRPAパッケージを選択し、ここで、前記少なくとも2つのRPAパッケージは異なる関連バージョン番号フィールドを有し、
選択された前記少なくとも2つのRPAパッケージ間の1または複数の差異の視覚的表現を生成することにより、選択された前記少なくとも2つのRPAパッケージを比較し、
選択された前記少なくとも2つのRPAパッケージ間の差異の前記視覚的表現を、前記ウェブベースのユーザーインターフェース上で表示することをさらに含む、請求項6に記載のコンピュータ実装方法。 - 第2のRPAワークフローを選択し、
前記第2のRPAワークフローに関連付けられた第2のワークフロー図を生成し、
前記少なくとも1つのRPAワークフローと前記第2のRPAワークフローとを比較して、前記少なくとも1つのRPAワークフローと前記第2のRPAワークフローとの間の1または複数のワークフローの差異を特定し、
第1のワークフロー図および前記第2のワークフロー図のうちの少なくとも1つに、前記1または複数のワークフローの差異の視覚的表現を生成し、
前記ウェブベースのユーザーインターフェース上に、前記1または複数のワークフローの差異の前記視覚的表現を表示することをさらに含む、請求項1に記載のコンピュータ実装方法。 - ウェブベースのユーザーインターフェースを使用して少なくとも1つのロボティックプロセスオートメーション(RPA)ワークフローを閲覧するためのシステムであって、前記システムは、
コンピュータ遂行可能命令を格納するように構成されたメモリと、
前記ウェブベースのユーザーインターフェースにアクセスし、
前記ウェブベースのユーザーインターフェース上で閲覧するための前記少なくとも1つのRPAワークフローを特定し、
ワークフローオブジェクトモデルコンポーネントを使用して、特定された前記少なくとも1つのRPAワークフローのワークフロー図を生成し、
ウェブベースの視覚化エンジンコンポーネントを使用して、特定された前記少なくとも1つのRPAワークフローの生成された前記ワークフロー図をレンダリングし、
前記少なくとも1つのRPAワークフローを閲覧するために、レンダリングされた前記ワークフロー図を前記ウェブベースのユーザーインターフェースに表示する前記命令を遂行するように構成された1または複数のプロセッサと、を含む、システム。 - 前記1または複数のプロセッサはさらに、前記命令を遂行して、レンダリングされた前記ワークフロー図を案内するための非線形ナビゲーション機能を提供するように構成される、請求項9に記載のシステム。
- 前記1または複数のプロセッサはさらに、
複数のRPAパッケージのリストを前記ウェブベースのユーザーインターフェースに表示し、
表示された前記複数のRPAパッケージのリストから、少なくとも2つのRPAワークフローを選択し、ここで、前記少なくとも2つのRPAワークフローは、前記RPAパッケージのリスト内の、同じRPAパッケージからまたは2つの異なるRPAパッケージから選択され、
選択された前記少なくとも2つのRPAワークフロー間の差異の視覚的表現を生成することにより、選択された前記少なくとも2つのRPAワークフローを比較し、
選択された前記少なくとも2つのRPAワークフロー間の差異の前記視覚的表現を、前記ウェブベースのユーザーインターフェース上で表示する前記命令を遂行するように構成される、請求項9に記載のシステム。 - 選択された前記少なくとも2つのRPAワークフロー間の差異の前記視覚的表現はさらに、ディスプレイ上で前記差異を表すための指定された色および指定された場所を含む、請求項11に記載のシステム。
- 前記差異の視覚的表現は、差異要約を表示することを含み、ここで、前記差異要約は、追加、削除、および変更などの要約アイテムを含む、請求項11に記載のシステム。
- 前記1または複数のプロセッサはさらに、
前記ウェブベースのユーザーインターフェース上に、複数のRPAパッケージのリストを表示し、ここで、前記複数のRPAパッケージのリストからの各RPAパッケージは、バージョン番号フィールドに関連付けられ、
前記複数のRPAパッケージのリストから少なくとも1つのRPAパッケージを選択し、
前記RPAパッケージを探索するために、前記少なくとも1つのRPAパッケージのコンテンツの視覚的表現を、前記ウェブベースのユーザーインターフェース上で生成し、ここで、前記少なくとも1つのRPAパッケージの前記コンテンツの前記視覚的表現は、パッケージ依存関係、ファイルアイテム、パッケージ作成者、およびパッケージ記述のうちの少なくとも1つを含む前記命令を遂行するように構成される、請求項9に記載のシステム。 - 前記1または複数のプロセッサはさらに、
前記複数のRPAパッケージの表示されたリストから、少なくとも2つのRPAパッケージを選択し、ここで、前記少なくとも2つのRPAパッケージは異なる関連バージョン番号フィールドを有し、
選択された前記少なくとも2つのRPAパッケージ間の1または複数の差異の視覚的表現を生成することにより、選択された前記少なくとも2つのRPAパッケージを比較し、
選択された前記少なくとも2つのRPAパッケージ間の差異の前記視覚的表現を、前記ウェブベースのユーザーインターフェース上で表示する前記命令を遂行するように構成される、請求項14に記載のシステム。 - 前記少なくとも2つのRPAパッケージ間の差異の前記視覚的表現を提供するために、前記少なくとも1つのプロセッサは、
前記少なくとも2つのパッケージ間の差異の前記視覚的表現は、グラフィカルレイアウトの形式であること、および
前記少なくとも2つのパッケージ間の差異の前記視覚的表現は、前記差異を表す1または複数のカラーハイライター(color highlighter)をさらに含む、ことを生成するように構成される、請求項15に記載のシステム。 - 非一時的なコンピュータ読み取り可能な媒体に格納されたコンピュータプログラムであって、前記コンピュータプログラムは、1または複数のプロセッサによって遂行されると、ウェブベースのユーザーインターフェースを使用して少なくとも1つのロボティックプロセスオートメーション(RPA)ワークフローを閲覧するための動作を前記1または複数のプロセッサに実行させるように構成され、前記動作は、
前記ウェブベースのユーザーインターフェースにアクセスし、
前記ウェブベースのユーザーインターフェース上で閲覧するための前記少なくとも1つのRPAワークフローを特定し、
ワークフローオブジェクトモデルコンポーネントを使用して、特定された前記少なくとも1つのRPAワークフローのワークフロー図を生成し、
ウェブベースの視覚化エンジンコンポーネントを使用して、特定された前記少なくとも1つのRPAワークフローの生成された前記ワークフロー図をレンダリングし、
前記少なくとも1つのRPAワークフローを閲覧するために、レンダリングされた前記ワークフロー図を前記ウェブベースのユーザーインターフェースに表示することを含む、コンピュータプログラム。 - 前記動作はさらに、レンダリングされた前記ワークフロー図を案内するための非線形ナビゲーション機能を提供することを含む、請求項17に記載のコンピュータプログラム。
- 前記動作はさらに、
複数のRPAパッケージのリストを前記ウェブベースのユーザーインターフェースに表示し、
表示された前記複数のRPAパッケージのリストから、少なくとも2つのRPAワークフローを選択し、ここで、前記少なくとも2つのRPAワークフローは、前記RPAパッケージのリスト内の、同じRPAパッケージからまたは2つの異なるRPAパッケージから選択され、
選択された前記少なくとも2つのRPAワークフロー間の差異の視覚的表現を生成することにより、選択された前記少なくとも2つのRPAワークフローを比較し、
選択された前記少なくとも2つのRPAワークフロー間の差異の前記視覚的表現を、前記ウェブベースのユーザーインターフェース上で表示することを含む、請求項17に記載のコンピュータプログラム。 - 選択された前記少なくとも2つのRPAワークフロー間の差異の視覚的表現はさらに、ディスプレイ上で前記差異を表すための指定された色および指定された場所を含む、請求項17に記載のコンピュータプログラム。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN202011037088 | 2020-08-28 | ||
IN202011037088 | 2020-08-28 | ||
US17/068,734 | 2020-10-12 | ||
US17/068,734 US11513499B2 (en) | 2020-08-28 | 2020-10-12 | Web based viewing of robotic process automation (RPA) packages and workflows |
PCT/US2021/047399 WO2022046805A1 (en) | 2020-08-28 | 2021-08-24 | Web based viewing of robotic process automation (rpa) packages and workflows |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2023539853A true JP2023539853A (ja) | 2023-09-20 |
Family
ID=80355624
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2023513195A Pending JP2023539853A (ja) | 2020-08-28 | 2021-08-24 | ロボティックプロセスオートメーション(rpa)パッケージおよびワークフローのウェブベースの閲覧 |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP2023539853A (ja) |
CN (1) | CN116324767A (ja) |
WO (1) | WO2022046805A1 (ja) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9395959B2 (en) * | 2011-12-09 | 2016-07-19 | Microsoft Technology Licensing, Llc | Integrated workflow visualization and editing |
US10339027B2 (en) * | 2016-09-06 | 2019-07-02 | Accenture Global Solutions Limited | Automation identification diagnostic tool |
US11157855B2 (en) * | 2017-01-09 | 2021-10-26 | Sutherland Global Services Inc. | Robotics process automation platform |
US10146781B2 (en) * | 2017-01-31 | 2018-12-04 | Xactly Corporation | System and method for prior period adjustment processing |
US10654166B1 (en) * | 2020-02-18 | 2020-05-19 | UiPath, Inc. | Automation windows for robotic process automation |
-
2021
- 2021-08-24 JP JP2023513195A patent/JP2023539853A/ja active Pending
- 2021-08-24 WO PCT/US2021/047399 patent/WO2022046805A1/en active Application Filing
- 2021-08-24 CN CN202180067833.8A patent/CN116324767A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2022046805A1 (en) | 2022-03-03 |
CN116324767A (zh) | 2023-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2023534638A (ja) | ロボティックプロセスオートメーション用のユーザーインターフェース(ui)記述子、uiオブジェクトライブラリ、uiオブジェクトリポジトリ、およびuiオブジェクトブラウザ | |
EP3910468A1 (en) | Application integration for robotic process automation | |
WO2021230902A1 (en) | Application integration for robotic process automation | |
JP2023541548A (ja) | ロボティックプロセスオートメーションのためのユーザーインターフェース(ui)マッパー | |
US11693891B2 (en) | Entity engine of a computing platform | |
CN114556387A (zh) | 针对机器人过程自动化工作流的可重新配置工作台流水线 | |
JP2023544278A (ja) | テスト中のアプリケーションのテストオートメーションのためのコンピュータ実装方法およびシステム | |
US11544082B2 (en) | Shared variable binding and parallel execution of a process and robot workflow activities for robotic process automation | |
US11513499B2 (en) | Web based viewing of robotic process automation (RPA) packages and workflows | |
US11507059B1 (en) | System and computer-implemented method for seamless consumption of automations | |
EP4086755B1 (en) | Robotic process automation (rpa) comprising automatic document scrolling | |
JP2023539853A (ja) | ロボティックプロセスオートメーション(rpa)パッケージおよびワークフローのウェブベースの閲覧 | |
JP2023542559A (ja) | 組み合わせた直列および遅延並列実行統一ターゲット技術、デフォルトのグラフィカル要素検出技術、またはその両方を用いたグラフィカル要素検出 | |
US11618160B2 (en) | Integrating robotic process automations into operating and software systems | |
US11650871B2 (en) | System and computer-implemented method for verification of execution of an activity | |
KR102447072B1 (ko) | 둘 이상의 그래픽 요소 검출 기법들로부터의 사용자 인터페이스 디스크립터 속성들의 조합을 사용한 그래픽 요소 검출 | |
US20220075603A1 (en) | Dynamic robot tray by robotic processes | |
JP2023089951A (ja) | ロボティックプロセスオートメーションのためのマルチターゲットライブラリ、プロジェクト、およびアクティビティ |