(57)【要約】【課題】ワークフローを設定するための装置および方法を提供する。【解決手段】ワークフローを設定するための装置において、前記ワークフローは、少なくとも１つのアクティビティを有する。前記装置は、前記アクティビティのためのアクティビティ・インプリメンテーションの、テンプレートを作成または編集するためのテンプレートエディタを具備し、前記テンプレートは、コンピュータが読み取り可能な命令と、少なくとも１つの編集可能な変数と、を具備することを特徴とする。【選択図】図２
2010250826.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのアクティビティを有するワークフローを設定するための装置であって、前記装置は、
前記アクティビティのための、アクティビティ・インプリメンテーションのテンプレートを作成または編集するためのテンプレートエディタを具備し、
前記テンプレートは、コンピュータ読み取り可能な命令と、少なくとも１つの編集可能な変数と、を具備することを特徴とする装置。
【請求項２】
前記アクティビティ・インプリメンテーションを定義するために、少なくとも１つの変数を決定するためのアクティビティ定義モジュールをさらに具備することを特徴とする請求項１に記載の装置。
【請求項３】
前記テンプレートをそこに格納するとともに前記テンプレートをそこから取り出すためのテンプレートリポジトリをさらに具備することを特徴とする請求項１または請求項２に記載の装置。
【請求項４】
新規に作成されたテンプレートを前記テンプレートリポジトリに格納し、前記テンプレートリポジトリ内に既存のテンプレートを表示し、そして前記テンプレートリポジトリから選択されたテンプレートを取り出すためのユーザのためのテンプレートマネージャをさらに具備することを特徴とする請求項３に記載の装置。
【請求項５】
前記ワークフローを実行するための実行モジュールをさらに具備することを特徴とする請求項１から４のいずれか１項に記載の装置。
【請求項６】
前記テンプレートエディタおよび前記アクティビティ定義モジュールにアクセスするための少なくとも１つのユーザコンソールをさらに具備することを特徴とする請求項１から５のいずれか１項に記載の装置。
【請求項７】
少なくとも１つのアクティビティを有するワークフローを設定するための方法であって、前記方法は、
ワークフローを設定するための装置におけるテンプレートエディタを使用して、少なくとも１つのアクティビティのためのアクティビティ・インプリメンテーションのテンプレートを作成または編集するステップを具備し、
前記テンプレートは、コンピュータ読み取り可能な命令と、少なくとも１つの編集可能な変数と、を具備することを特徴とする方法。
【請求項８】
前記テンプレートを作成する前に、前記装置のテンプレートリポジトリに既存のテンプレートを調べるステップをさらに具備することを特徴とする請求項７に記載の方法。
【請求項９】
前記テンプレートリポジトリに、前記作成されたテンプレートを格納するステップをさらに具備することを特徴とする請求項８に記載の方法。
【請求項１０】
前記テンプレートリポジトリを調べる前に、前記装置のアクティビティ・インプリメンテーションライブラリに既存のアクティビティ・インプリメンテーションを調べるステップをさらに具備することを特徴とする請求項８または請求項９に記載の方法。
【請求項１１】
前記装置におけるアクティビティ定義モジュールを使用して、少なくとも１つの変数を定義するステップをさらに具備することを特徴とする請求項７から１０のいずれか１項に記載の方法。
【請求項１２】
アクティビティ・インプリメンテーションライブラリに、前記アクティビティ・インプリメンテーションの定義を格納するステップをさらに具備することを特徴とする請求項１１に記載の方法。
【請求項１３】
前記装置における実行モジュールを使用して、前記ワークフローを実行するステップをさらに具備することを特徴とする請求項１１または請求項１２に記載の方法。
【請求項１４】
前記少なくとも１つの変数を定義するステップは、前記アクティビティ定義モジュールのダイアログボックスにおける前記変数に適切な値を入力するステップを具備することを特徴とする請求項１１から１３のいずれか１項に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークフローを設定するための装置および方法に関する。限定する趣旨ではないが、特に企業における業務提携のためのワークフローの設定に関する。
【背景技術】
【０００２】
企業における業務提携は、通常、企業におけるワークフローを構成する多くのアクティビティを備えている。前記アクティビティは、会社内の異なる部署が関与するとともに、外部の関係者が含まれる。その結果ワークフローは、しばしば複雑なものとなる。前記ワークフローは、スケジュールに関係しうるが、それぞれのアクティビティは、さらに１以上のタスクおよび／または人対人または人対コンピュータの複数の相互作用点を有しうる。多くの場合、複雑なワークフローは、コンピュータまたはコンピュータのクラスターおよび関連するソフトウェアアプリケーションのほかにコンピュータにより制御されうる他の装置およびデバイスを含むリソースの組み合わせにより通常遂行される。
【０００３】
リソースを組み合わせることによりワークフローを効果的に遂行させるには、前記ワークフローが、適切に設定される必要がある。ワークフローの設定は、通常、ワークフローを構成するアクティビティを適切に順序付けることと、他の関連データまたは前記ワークフローに関連するかまたは前記ワークフローにより必要とされる情報を組み込むことと、を含む。これは、通常ワークフロービルダアプリケーションを使用した、コンピュータで利用可能なグラフィカルユーザインターフェースを介してなされる。ワークフローの設定には、提供されるワークフローに関与するそれぞれのアクティビティのためのインプリメンテーションもまた必要とする。それぞれのアクティビティのための前記インプリメンテーションを提供する１つの方法は、前記インプリメンテーションを作成するデベロッパーを有することである。前記デベロッパーは、そのアクティビティに関連するいろいろなタスクを実施する、適切なリソースに適した特定のプログラムコードまたはスクリプトなどの、コンピュータが読み取り可能な命令を記述することにより前記インプリメンテーションを作成する。前記デベロッパーは、それぞれのリソースが実施可能な任意のタスクに適した異なるコードまたはスクリプトを記述できるので、これにより、任意のアクティビティを実施する柔軟な方法が提供される。アクティビティが実装された後、前記ワークフローに適切に統合される。
【０００４】
アクティビティを実施するためのコンピュータが読み取り可能な命令を記述する場合、前記デベロッパーは、そのアクティビティと関連するすべての他の必要な要素(factors)または変数(variables)を確実にするために、そのアクティビティのための特定のロジックを作成する。ネットワークプロトコル設定、データベース接続設定、数式の係数、および他の関連データまたは情報なども前記プログラムにおいて定義される。たとえアクティビティが類似していても、前記デベロッパーまたは複数のデベロッパー達は、ワークフローにおけるすべてのアクティビティのための特定のインプリメンテーションを作成しなければならないため、単一のワークフローが非常に多くのアクティビティを備えうることを考慮すると、前記ワークフローの設定には、多大な時間と、反復的でありかつ面倒な処理が必要とされる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前記ワークフローの設定処理を簡単にするために、前記ワークフローソフトウェアの購入者が、まず、いくつかの基本的なアクティビティ・インプリメンテーションを有するように、ワークフローソフトウェアプロバイダーが、彼らが所有するワークフロービルダアプリケーションにアクティビティ・インプリメンテーションのライブラリを備えることはよくあることである。しかし、前記ソフトウェアが備えるインプリメンテーションの数には、制限があるとともに、簡単な、一般に使用されるアクティビティに限定されている。ライブラリにおいて見つけることができないアクティビティは、それゆえ、依然としてプログラムコードまたはスクリプトを記述することによりスクラッチで個別に実装しなければならない。いくつかのワークフローソフトウェア製品では、前記ライブラリにおける既存のアクティビティ・インプリメンテーションをエンドユーザデベロッパーにより、カスタマイズまたは変更することが可能である。しかし、前記ライブラリにおける既存のアクティビティ・インプリメンテーションのプログラミングを変更するためには、前記デベロッパーに、特定のワークフローソフトウェア製品の詳細なプログラム知識が必要となる。それを行える能力は、少数しか有していないため、カスタマイズする処理が困難となる。
【課題を解決するための手段】
【０００６】
本発明の第１構成において、ワークフローを設定するための装置が提供される。前記ワークフローは、少なくとも１つのアクティビティを具備する。前記装置は、前記アクティビティのための、アクティビティ・インプリメンテーションのテンプレートを作成または編集するためのテンプレートエディタを具備する。前記テンプレートは、コンピュータが読み取り可能な命令と、少なくとも１つの編集可能な変数と、を具備することを特徴とする。
【０００７】
前記装置は、前記アクティビティ・インプリメンテーションを定義するために、少なくとも１つの変数を定義するためのアクティビティ定義モジュールを具備する。
【０００８】
前記装置は、前記テンプレートを格納し、また前記テンプレートを取り出すためのテンプレートリポジトリを具備する。前記装置は、前記テンプレートリポジトリに新たに作成されたテンプレートを格納し、前記テンプレートリポジトリにおける既存のテンプレートを表示し、そして、選択されたテンプレートを前記テンプレートリポジトリから取り出す、ユーザのためのテンプレートマネージャも具備する。
【０００９】
前記装置は、前記ワークフローを実行するための実行モジュールを具備する。
【００１０】
前記装置は、前記テンプレートエディタへアクセスし、また前記アクティビティ定義モジュールへアクセスするための少なくとも１つのユーザコンソールを具備する。
【００１１】
第２構成において、ワークフローを設定するための方法が提供される。前記ワークフローは、少なくとも１つのアクティビティを備えている。前記方法は、ワークフローを設定するための装置におけるテンプレートエディタを使用して、少なくとも１つのアクティビティのための、アクティビティ・インプリメンテーションのテンプレートを作成または編集するステップを具備する。前記テンプレートは、コンピュータが読み取り可能な命令と、少なくとも１つの編集可能な変数と、を具備する.
【００１２】
前記方法は、前記テンプレートを作成する前に、前記装置のテンプレートリポジトリの既存のテンプレートを確認するステップと、前記作成されたテンプレートを前記テンプレートリポジトリに格納するステップと、を具備する。前記方法は、前記テンプレートリポジトリを確認するステップの前に、前記装置のアクティビティ・インプリメンテーションライブラリの既存のアクティビティ・インプリメンテーションを確認するステップをさらに具備する。
【００１３】
前記方法は、前記装置のアクティビティ定義モジュールを使用して少なくとも１つの変数を定義するステップと、アクティビティ・インプリメンテーションの定義をアクティビティ・インプリメンテーションライブラリに格納するステップと、をさらに具備する。前記少なくとも１つの変数を定義するステップは、前記アクティビティ定義モジュールのダイアログボックスにおける前記変数のための適切な値を入力するステップを具備する。
【００１４】
前記方法は、前記装置における実行モジュールを使用して前記ワークフローを実行するステップを具備する。
【００１５】
本発明が完全に理解され、容易に実用的効果を得られるように、本発明の限定されない例示としての実施形態が、添付の図面を参照しながら以下に説明される。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態におけるワークフローを例示する略図である。
【図２】本発明の一実施形態におけるワークフローを設定するための装置の構造図である。
【図３】図２の装置のアクティビティ定義モジュールのダイアログボックスの概略図である。
【図４】本発明の一実施形態におけるワークフローを設定するための方法のフローチャートである。
【発明を実施するための形態】
【００１７】
図２は、図１に例示されているワークフローを設定するための一実施形態である装置 10を示している。例示されているワークフロー 100は、アクティビティのシーケンス 102a, 102b, 102cを備えている。それぞれのアクティビティ 102は、コンピュータが読み取り可能な命令を具備した、それ自身に固有のアクティビティ・インプリメンテーションにより定義されている。例えば、工場のオペレーターが、指示通りに正確な行動を実施できるように、前記アクティビティ 102aは、サーバのために、イントラネットまたはローカルエリアネットワークを介して、工場サイトのタスクディスパッチングシステムにいくつかの情報を送信する。このアクティビティ 102aは、通信プロトコル設定やセキュリティ設定といった時々変化するとともに工場によっても異なる変数が関与しているため非常に複雑となりうる。
【００１８】
前記装置 10は、ワークフロービルダソフトウェア製品であってもよい。前記装置 10は、それぞれのアクティビティ 102のためのアクティビティ・インプリメンテーションのテンプレート 14を、作成および編集するテンプレートエディタ 12を具備する。前記テンプレート 14は、コンピュータが読み取り可能な命令と、特定のアクティビティ・インプリメンテーション 18を定義する、後続の定義処理のための少なくとも１つの編集可能な変数と、を具備する。前記テンプレートエディタ 12は、好適にはテキストエディタであり、デベロッパーが、コンピュータ読み取り可能な命令および前記テンプレート 14における前記編集可能な変数を構成するプログラムコードまたはスクリプトを記述するために使用される。前記テンプレートエディタ 12は、好適には、オートコンプリート機能、文法強調表示、および構文チェックなどの使い勝手のよい機能を含んでいる。
【００１９】
好適には、デベロッパーが、テンプレート 14の作成または編集に標準のセマンティック(standard semantics)を使用できるように、前記装置 10は、前記テンプレートエディタ 12により使用されるＶＢスクリプト、Java(登録商標)スクリプト、Ｃ＃、およびＶＢ.Ｎｅｔなどといった通常のスクリプト言語またはプログラム言語を認識する。これにより、アクティビティ・インプリメンテーションをカスタマイズするために、特定のワークフローソフトウェア製品ノウハウをデベロッパーが所有する必要がなくなる。
【００２０】
前記テンプレート 14は、前記テンプレートエディタ 12を使用してゼロから作成されるか、または前記テンプレート 14は、テンプレートリポジトリ 20から取り出されるとともに、前記テンプレートエディタ 12を使用して編集される。好適には、前記装置には、新規に作成したテンプレート 14をテンプレートリポジトリ 20に格納し、前記テンプレートリポジトリ 20における既存のテンプレートを表示し、そして前記テンプレートリポジトリ 20から選択されたテンプレートを取り出すために、テンプレートリポジトリ 20とインターフェースするユーザのためのテンプレートマネージャ 22が備えられている。
【００２１】
好適には、前記テンプレート 14における編集可能な変数は、前記テンプレート 14が作成されたときに、編集できるようにマークされているかまたはタグ付けされている。編集できるように、テンプレート 14における変数にマークするかタグ付けすることにより、その後に、それらの適切な値または要求されたデータの入力のための前記マークされたまたはタグ付けされた変数を呼び出すことだけで、異なる変数値を有する異なったアクティビティ・インプリメンテーション 18が、同一のテンプレート 14から容易に定義される。前記テンプレート 14におけるそれぞれのマークまたはタグには、マークされたまたはタグ付けされた編集可能な変数の意味または使用法を示すための適切な説明が添付されてもよい。
【００２２】
前記テンプレート 14に基づいて特定のアクティビティ・インプリメンテーション 18を定義するために、前記装置 10は、それゆえ好適には、テンプレート 14におけるマークされたまたはタグ付けされた編集可能な変数を呼び出すとともに定義するためのアクティビティ定義モジュール 16も具備する。前記アクティビティ定義モジュール 16は、好適には、図３に示されているようにグラフィカルユーザインターフェース 300を具備する。前記グラフィカルユーザインターフェース 300は、好適には、前記テンプレートにおける編集可能な変数 301を特定変数定義(variable definitions) 302と入れ替えるためのユーザのためのダイアログボックスを備える。前記テンプレート 14におけるそれぞれマークされたまたはタグ付けされた編集可能な変数に付随するいかなる記述も、好適には、ユーザが、いかなる情報がそれぞれの編集可能な変数に必要とされているかを知るためにグラフィカルユーザインターフェース 300に表示される。
【００２３】
例えば、特定のロジックのアクティビティ・インプリメンテーションのためのテンプレート 14は、前記ダイアログボックスの左欄における「ネットワークプロトコル」のような編集可能な変数 301を具備している。同一の特定ロジックを有する特定のアクティビティ・インプリメンテーションのために、前記アクティビティ定義モジュール 16は、ユーザに、前記テンプレート 14における前記変数「ネットワークプロトコル」を前記ダイアログボックスの右欄における「ＴＣＰ」に定義することを可能とする。前記装置 10は、その後、前記テンプレート 14における前記編集可能な変数を、前記アクティビティ定義モジュール 16を解して前記ユーザにより提供される情報と置き換えることにより、その特定のアクティビティのためのアクティビティ・インプリメンテーション 18を定義する。完成したアクティビティ・インプリメンテーション 18は、前記アクティビティ定義モジュール 16を介して入力され、定義された変数値とともに前記テンプレート 14に規定されているコンピュータ読み取り可能な命令を備える。
【００２４】
すべての前記アクティビティ 102のためのアクティビティ・インプリメンテーション18が定義されている場合には、前記ワークフロー 100を、その後実行してもよい。好適には、前記装置 10は、前記ワークフロー 100を実行するとともに関連するアクティビティ・インプリメンテーション 18をそれぞれ実施するためのワークフローランタイムエンジンのような実行モジュール 24を具備する。好適には、前記装置 10は、その後に使用するために、定義されたアクティビティ・インプリメンテーション 18を格納するためのアクティビティ・インプリメンテーションライブラリ 26も具備している。
【００２５】
好適には、前記装置 10は、少なくとも１つのユーザコンソール 28を具備し、前記ユーザコンソール 28を介して、提供されうる前記テンプレートエディタ 12、前記アクティビティ定義モジュール 16、前記テンプレートマネージャ 22、および前記アクティビティ・インプリメンテーションライブラリ 26にアクセスする。
【００２６】
本発明の一実施形態において前記装置 10を使用する方法 400が図４に示されている。開始すると、402では、前記アクティビティ・インプリメンテーションライブラリ 26において、所望のアクティビティ・インプリメンテーション 18が利用可能であり使用に適しているかどうかを確認する。「ＹＥＳ」の場合、前記所望のアクティビティ・インプリメンテーション 18は、前記ライブラリから取り出され(404)、やがて前記実行モジュール 24を使用してワークフローとともに実行される(406)。
【００２７】
所望のアクティビティ・インプリメンテーション 18がアクティビティ・インプリメンテーションライブラリ 26において見つらなかった場合には、前記テンプレートリポジトリ 20は、適切なテンプレート 14が利用可能であり使用に適しているかどうか確認される(408)。「ＹＥＳ」の場合、前記適切なテンプレートが、前記テンプレートリポジトリ 20から取り出される(410)。その後前記所望のアクティビティ・インプリメンテーション 18は、前記アクティビティ定義モジュール 16を使用して前記テンプレート 14から定義される(412)。前記所望のアクティビティ・インプリメンテーション 18は、前述のようにその後実行され(406)、そして、再び使用するようであるならば、前記ライブラリに格納される。
【００２８】
適切なテンプレート 14が前記テンプレートリポジトリ 20に見つからなかった場合には、前記所望のアクティビティ・インプリメンテーション 18は、再び使用されそうかどうか確認される(414)。「ＮＯ」の場合、前記アクティビティ・インプリメンテーション 18は、好適には、適切なコードまたはスクリプトを記述することでゼロから作成され(416)、前述のようにその後実行される(406)。
【００２９】
適切なテンプレート 14が前記テンプレートリポジトリ 20に見つからず、かつ前記所望のアクティビティ・インプリメンテーション 18が再び使用されそうである場合には、前記テンプレートエディタ 12を使用して適切なテンプレート 14が作成される(418)。前記作成されたテンプレート 14は、好適には、前記テンプレートリポジトリ 20に格納される。前記所望のアクティビティ・インプリメンテーション 18は、前記アクティビティ定義モジュール 16を使用して前記テンプレート 14からその後定義される(412)。前記適切なアクティビティ・インプリメンテーション 18は、前述のようにその後実行され(406)、そして、好適には、前記アクティビティ・インプリメンテーションライブラリ 26に格納される。
【００３０】
テンプレート 14における前記編集可能な変数を単に定義することだけで、新たなアクティビティ・インプリメンテーション 18が、既存の適切なテンプレート 14から容易に定義できるので、アクティビティ・インプリメンテーション 18のためのテンプレート 14を作成する前記装置 10および方法 400を提供することにより、デベロッパーが面倒なコードを記述する負担が軽減される。その結果、ユーザは、ワークフローをより効果的に構築するとともに設定することが可能となる。既存のアクティビティ・インプリメンテーションは、直接それを編集するか、または前記既存のテンプレート 14を使用して新たなアクティビティ・インプリメンテーションを作成することにより簡単に修正可能であるので、類似したアクティビティの変数が、時間によりまたは工場により変化するけれども、ワークフローを維持管理することもまた簡単となる。アクティビティ・インプリメンテーションの前記ライブラリが増加するとともに、そして前記リポジトリにおけるテンプレートの数が大きくなるとともに、それに対応してワークフローの設定のために必要とされる時間と労力は減少していく。
【００３１】
本発明の一実施形態について説明してきたが、当技術分野における同業者ならば、デザイン、構造、および／または操作の細部における多くの変形形態が、本発明から逸脱することなく作成可能である。例えば、新たなテンプレートを作成可能とするまたは既存のテンプレートを編集可能とすることに加えて、前記装置および方法は、既存のものに基づき新たなテンプレートを作成するために、既存のテンプレートをコピーしその後修正できるようにも構成しうる。編集可能な変数のみを表示するダイアログボックス以外に、前記アクティビティ定義モジュール 16は、前記テンプレート 14に含まれているコンピュータが読み取り可能な命令も表示してもよい。前記ワークフローの設定に従事するさまざまなアクティビティに取り組むために、１以上のデベロッパーが同時に前記装置 10および方法 400を使用できるように複数のユーザコンソール 28を提供してもよい。
【符号の説明】
【００３２】
１０      装置
１２      テンプレートエディタ
１４      テンプレート
１６      アクティビティ定義モジュール
１８      アクティビティ・インプリメンテーション
２０      テンプレートリポジトリ
２２      テンプレートマネージャ
２４      実行モジュール
２６      ライブラリ
２８      ユーザコンソール
１００    ワークフロー
１０２    アクティビティ
３００    グラフィカルユーザインターフェース
【図１】
2010250826.tif 000003
【図２】
2010250826.tif 000004
【図３】
2010250826.tif 000005
【図４】
2010250826.tif 000006