(57)【要約】【課題】システム開発の知識に乏しいユーザによるワークフロー編集を可能とするワークフロー管理装置を提供する。【解決手段】ワークフロー管理装置１は、複数のユーザとの情報の入出力を伴う複数の工程の処理を、予め記録されたワークフロー情報に基づいて、順次実行するワークフロー実行部２と、ワークフロー実行部２にさらに追加して実行させる処理を記述したスクリプトの入力を受け付けるスクリプト受付部３と、スクリプト受付部３で入力されたスクリプトと、スクリプトに含めることのできるコマンドを示すコマンド情報とを比較することにより、スクリプトが前記ワークフロー情報の処理に整合するか否かを判断するチェック部４と、チェック部４でワークフロー情報の処理に整合すると判断されたスクリプトの処理をワークフロー実行部２で実行な状態にする更新部５とを備える。【選択図】図１
2011065367.tif 000002
【特許請求の範囲】
【請求項１】
複数のユーザとの情報の入出力を伴う複数の工程の処理を、予め記録されたワークフロー情報に基づいて、順次実行するワークフロー実行部と、
前記各工程または工程間において前記ワークフロー実行部にさらに追加して実行させる処理を記述したスクリプトの入力を受け付けるスクリプト受付部と、
予め記録されたスクリプトに含めることのできるコマンドを示すコマンド情報を参照し、前記スクリプト受付部で入力されたスクリプトと前記コマンド情報とを比較することにより、前記スクリプトが前記ワークフロー情報の処理に整合するか否かを判断するチェック部と、
前記チェック部で前記ワークフロー情報の処理に整合すると判断されたスクリプトの処理を前記ワークフロー実行部で実行な状態にする更新部とを備える、ワークフロー管理装置。
【請求項２】
前記ワークフロー情報は、前記各工程の処理順序を示す情報および各工程において実行する必要のある処理を必須チェックポイントとして特定する情報を含み、
前記コマンド情報は、前記ワークフロー情報の前記必須チェックポイントの処理を実行するために必要な必須コマンドを含み、
前記チェック部は、前記ワークフロー情報の前記必須チェックポイントの必須コマンドが、前記スクリプトに含まれているか否かにより、前記スクリプトが前記ワークフロー情報の処理に整合するか否かを判断する、請求項１に記載のワークフロー管理装置。
【請求項３】
ユーザから、スクリプトに含めることのできるコマンドの追加、削除または変更の指示を受け付け、当該指示に基づいて前記コマンド情報を更新するコマンド情報更新部をさらに備える、請求項１または２に記載のワークフロー管理装置。
【請求項４】
複数のユーザとの情報の入出力を伴う複数の工程の処理を、予め記録されたワークフロー情報に基づいて、順次実行するワークフロー実行処理と、
前記各工程または工程間において前記ワークフロー実行処理にさらに追加して実行させる処理を記述したスクリプトの入力を受け付けるスクリプト受付処理と、
予め記録されたスクリプトに含めることのできるコマンドを示すコマンド情報を参照し、前記スクリプト受付処理で入力されたスクリプトと前記コマンド情報とを比較することにより、前記スクリプトが前記ワークフロー情報の処理に整合するか否かを判断するチェック処理と、
前記チェック処理で前記ワークフロー情報の処理に整合すると判断されたスクリプトの処理を前記ワークフロー実行処理で実行な状態にする更新処理とをコンピュータに実行させる、ワークフロー管理プログラム。
【請求項５】
複数のユーザとの情報の入出力を伴う複数の工程の処理を、予め記録されたワークフロー情報に基づいて、順次実行するワークフロー実行工程と、
前記各工程または工程間においてさらに追加して実行させる処理を記述したスクリプトの入力を受け付けるスクリプト受付工程と、
予め記録されたスクリプトに含めることのできるコマンドを示すコマンド情報を参照し、前記スクリプト受付工程で入力されたスクリプトと前記コマンド情報とを比較することにより、前記スクリプトが前記ワークフロー情報の処理に整合するか否かを判断するチェック工程と、
前記チェック工程で前記ワークフロー情報の処理に整合すると判断されたスクリプトの処理を前記ワークフロー実行処理で実行な状態にする更新工程とを含む、ワークフロー管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークフロー編集を可能とするワークフロー管理装置に関する。
【背景技術】
【０００２】
近年、コンピュータを活用してビジネスプロセスを、効率化、あるいは自動化するためのワークフローシステムが開発され、利用されている。例えば、企業では、ビジネス上の目的を達成するために業務規定を定義し、その業務規定に従ってドキュメントなどの情報を、従業員あるいはシステムの間で受け渡す活動を繰り返している。企業におけるワークフローシステムは、このような情報のやり取りの一連の手順を自動化する仕組みを提供することとなる。
【０００３】
ワークフローシステムは、それを使う企業のビジネスプロセスやルールに沿った処理が可能となるように構築される。すなわち、ワークフローシステムの機能は、企業の業務に沿うようにカスタマイズされる必要がある。そのため、ビジネスプロセスをモデル化するワークフローを編集するためのシステムが提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１０７４７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来のワークフローを編集するためのシステムは、プログラミングインターフェースを提供するものであり、システム開発技術のスキルを持ったプログラマによる編集を前提としており、システム開発技術のスキルを持たない従業員は、上記システムを用いてワークフローを編集することは困難である。
【０００６】
そのため、本発明は、システム開発の知識に乏しいユーザによるワークフロー編集を可能するワークフロー管理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願開示のワークフロー管理装置は、複数のユーザとの情報の入出力を伴う複数の工程の処理を、予め記録されたワークフロー情報に基づいて、順次実行するワークフロー実行部と、前記各工程または工程間において前記ワークフロー実行部にさらに追加して実行させる処理を記述したスクリプトの入力を受け付けるスクリプト受付部と、予め記録されたスクリプトに含めることのできるコマンドを示すコマンド情報を参照し、前記スクリプト受付部で入力されたスクリプトと前記コマンド情報とを比較することにより、前記スクリプトが前記ワークフロー情報の処理に整合するか否かを判断するチェック部と、前記チェック部で前記ワークフロー情報の処理に整合すると判断されたスクリプトの処理を前記ワークフロー実行部で実行な状態にする更新部とを備える。
【発明の効果】
【０００８】
本願開示のワークフロー管理装置によれば、システム開発の知識に乏しいユーザによるワークフロー編集が可能になる。
【図面の簡単な説明】
【０００９】
【図１】図１は、第１の実施形態にかかるワークフロー管理装置の構成例を示す機能ブロック図である。
【図２】図２は、ワークフローで実行される処理の流れの一例を示すフローチャートである。
【図３】図３は、ワークフロー情報の一例を示す図である。
【図４】図４は、コマンド情報の一例を示す図である。
【図５】図５は、ワークフロー実行部による処理の例を示す図である。
【図６】図６は、第２の実施形態にかかるワークフロー管理装置の構成例を示す機能ブロック図である。
【発明を実施するための形態】
【００１０】
［第１の実施形態］
図１は、第１の実施形態にかかるワークフロー管理装置の構成例を示す機能ブロック図である。ワークフロー管理装置１は、例えば、企業における複数のユーザ間での情報のやり取りを含むビジネスプロセスを自動化するワークフローシステムを構築または編集するのに用いることができる。図１に示すワークフロー管理装置１は、ワークフロー実行部２、スクリプト受付部３、チェック部４、更新部５および記録部６を備える。
【００１１】
ワークフロー実行部２は、複数のユーザとの間で情報の入出力を伴う複数の工程の処理を、予め記録部６に記録されたワークフロー情報に基づいて、順次実行する。各工程は、ワークフローシステムにおいて、順次発生するプロセス（あるいはタスク）であり、例えば、１つの工程の処理は、アクティビティと称される単位で認識することができる。通常、アクティビティにはユーザからのデータ入力処理が含まれる。アクティビティにおいて、ユーザからデータが入力されると、ビジネスにとって価値のある情報やデータに変換されて出力される。
【００１２】
ワークフロー情報は、ワークフローシステムにおいて順次実行される各工程の処理内容や実行順序を規定する情報である。ワークフロー情報には、例えば、例えば、ワークフローシステムにおける各工程の処理内容、工程の処理順序、処理の実行条件（分岐条件）等が含まれる。
【００１３】
スクリプト受付部３は、各工程または工程間において前記ワークフロー実行部にさらに追加して実行させる処理を記述したスクリプトの入力を受け付ける。スクリプト受付部３は、例えば、ＧＵＩ等を介して、ユーザからスクリプトの入力を受け付けることができる。スクリプトは、ワークフローシステムに実行させる命令を示すコマンドを含むデータである。スクリプトの形式は特定のものに限定されないが、例えば、Ｊａｖａ  ｓｃｒｉｐｔ、ｐｅｒｌ、Ｒｕｂｂｙ等の、高度なプログラミングの技能を持たない物でも使うことができる簡単な形式であることが好ましい。スクリプトの形式は、このような既存のものでもよいし、あるいは、独自に定義したものでもよい。また、スクリプトは、例えば、ワークフロー実行部２へ実行させる処理を示すコマンドと、コマンドを実行する条件を記述する文により構成されることが好ましい。
【００１４】
スクリプト受付部３は、スクリプトの処理を挿入するワークフロー上の位置を示す情報を、ユーザから別途受け付けることもできる。例えば、ワークフローを画面に表示して、ユーザに挿入位置を選択させてもよいし、ユーザが入力するスクリプトにより受け付けてもよい。
【００１５】
チェック部４は、予め記録部６に記録されたコマンド情報を用いて、入力されたスクリプトがワークフロー情報で規定される各工程の処理に整合するか否かを判断する。コマンド情報は、例えば、スクリプトに含めることのできるコマンドを示す情報である。チェック部４は、このコマンド情報と入力されたスクリプトとを比較することにより、入力されたスクリプトがワークフロー情報で規定される各工程の処理に整合するか否かを判断する。
【００１６】
コマンド情報は、例えば、ワークフロー情報の示す工程において、実行する必要のある処理を実行するために必要な必須コマンドを含んでもよい。この場合、ワークフロー情報には、実行する必要のある処理を必須チェックポイントとして特定する情報が含まれる。チェック部４は、ワークフロー情報の必須チェックポイントの必須コマンドが、入力されたスクリプトに含まれているか否かにより、ワークフロー情報との整合性を判断することができる。
【００１７】
また、コマンド情報は、ワークフローにおいて、外部システムと連携する処理を実行する際の外部システムとのインターフェースを定義した情報であってもよい。例えば、インターネットや移動体通信網などの外部ネットワークに接続してデータ通信を実行する際に、必要となるコマンド、指定するべきパラメータなどを示す情報が、コマンド情報に含まれてもよい。この場合、チェック部４は、入力スクリプトに、外部ネットワークとのデータ通信を含む処理を実行するために必要なコマンドやパラメータが含まれているか否かを判定することにより、ワークフロー情報との整合性を判断することができる。
【００１８】
更新部５は、チェック部４において、ワークフロー情報の各工程の処理に整合すると判断されたスクリプトの処理を、ワークフロー実行部２で実行な状態にする。更新部５は、例えば、入力されたスクリプトが示す処理が、ワークフローが示す処理に含まれるように、記録部６のワークフロー情報を更新する。
【００１９】
また、ワークフロー管理装置１は、ＬＡＮ９に接続されている。ＬＡＮ９には、インターネットや無線通信網などの外部ネットワーク１５に接続するための外部接続サーバ１１、文書管理サーバ１２、外部システム連携サーバ１３、ユーザ端末１４ａ、１４ｂが接続される。ワークフロー管理装置１は、ワークフローの工程において、外部接続サーバ１１を介して外部ネットワーク１５の間でデータ通信を行うことができる。また、ワークフロー管理装置１は、文書管理サーバ１２、外部システム連携サーバ１３およびユーザ端末１４ａ、１４ｂとデータ通信可能である。
【００２０】
ワークフロー管理装置１は、例えば、パーソナルコンピュータやサーバマシン等の汎用コンピュータにより構成することができる。ワークフロー実行部２、スクリプト受付部３、チェック部４および更新部５の各機能部の機能は、コンピュータが備えるプロセッサが所定のプログラムを実行することにより実現される。従って、コンピュータを前記各機能部として機能させるためのプログラムおよびそれを記録した記録媒体も本発明の実施形態に含まれる。また、記録部６は、コンピュータに内蔵された記録媒体または、コンピュータからアクセス可能な外部記録装置により具現化される。なお、ワークフロー管理装置１は、１台のコンピュータで構成されてもよいし、複数のコンピュータに機能を分散させて構成することもできる。
【００２１】
図２は、ワークフロー管理装置１がスクリプト入力を受けた場合の動作例を示すフローチャートである。図２に示す例では、スクリプト受付部３がユーザからのスクリプトを受け付けると（Ｏｐ１１）、チェック部４が、スクリプトがワークフロー情報の示す処理に整合するか否かを判断する（Ｏｐ１２）。チェック部４でワークフロー情報の処理に整合すると判断された場合、更新部５は、そのスクリプトを、ワークフロー実行部２で実行可能な状態になるように、ワークフロー情報を更新する（Ｏｐ１３）。Ｏｐ１２の判断の結果、整合しないと判断された場合、ユーザに対して、エラーメッセージを出力し（Ｏｐ１４）、再度、スクリプトの入力を受け付ける（Ｏｐ１１）。
【００２２】
上記処理により、ワークフローに沿った処理が実行可能なスクリプトを追加することができる。例えば、ユーザは、スクリプトを作成する過程においても、最終的にユーザが実行したいワークフローに沿ったものになっているか確認できる。
【００２３】
チェック部４は、このコマンド情報と入力されたスクリプトとを比較することにより、入力されたスクリプトがワークフロー情報で規定される各工程の処理に整合するか否かを判断することができる。例えば、ワークフロー情報の生成時（ワークフロー定義時）において、スクリプトによって実行するべき処理を必須チェックポイントとして特定することができる。この場合、必須チェックポイントの情報は、ワークフロー情報に追加して記録される。例えば、コマンド情報には、必須チェックポイントごとの必須コマンドを示すデータが含まれる。チェック部４は、ユーザから入力されたスクリプトに対応する必須チェックポイントの必須コマンドを参照することにより、スクリプトとワークフローとの整合性を判断することができる。このように、ワークフローにおいて必須チェックポイントを定義することにより、効率よくスクリプトをチェックすることができる。
【００２４】
ここで、ワークフロー管理システムの動作の具体例を説明する。以下に示す例は、ワークフロー管理システム１が、企業の従業員が新たな取引先を申請する場合のプロセスを実行する場合の例である。
【００２５】
図３は、ワークフロー情報の一例を示す図である。図３に示す例では、各レコードとして、工程を識別する工程ＩＤ、工程名、工程に含まれる処理を識別するＩＤ、処理名、処理順序、処理条件、処理における入力および出力、必須チェックポイントか否かを示す情報、スクリプトを特定する情報ならびに通信先を特定する情報が記録される。スクリプトを特定する情報は、例えば、ユーザにより追加されたスクリプトを実行する処理のレコードに記録される。例えば、スクリプトファイルのパスが記録される。図３に示すようなワークフロー情報は、ユーザから入力されたスクリプトが更新部５により追加された後のワークフロー情報の例である。このように、ワークフロー情報は、メインワークフロー（ＭＷＦ）定義を表す情報であり、マスタデータと呼ばれることもある。なお、ワークフロー情報の内容および形式は、図３に示す例に限られない。
【００２６】
図４は、コマンド情報の一例を示す図である。図４に示す例では、必須ポイントを特定する情報（本例では、工程ＩＤおよび処理ＩＤ）と、必須ポイントにおける必須コマンドおよびパラメータが記録される。
【００２７】
図５は、ワークフロー実行部２が、図３に示すワークフロー情報に従って実行する処理の例を示す図である。図５に示す例では、ワークフロー実行部２は、まず、申請者のユーザ端末１４ａから、取引先として提案する会社の証券コードの入力を受け付け、申請書を作成する（Ｏｐ１）。この処理は、図３に示すワークフロー情報の工程ＩＤ＝００１、処理ＩＤ＝Ａ０１に従って実行される。
【００２８】
申請書作成においては、ワークフロー実行部２は、ユーザ端末から入力された証券コードを基に、外部接続サーバ１１にアクセスし、インターネット１５を介して、会社情報を取得する（Ｏｐ２）。この処理は、処理ＩＤ＝Ａ０２のレコードが示すスクリプト１にしたがって実行される。このスクリプト１は、スクリプト受付部２がユーザから受け付けたスクリプトであり、インターネット接続コマンドおよび接続先を示すパラメータ（ＵＲＬ）が含まれている。このことは、スクリプト入力の際、チェック部４が、図４に示すコマンド情報を用いて、会社情報を取得するために必要なコマンドおよびパラメータが含まれているかチェックするために、担保される。
【００２９】
ワークフロー実行部２は、Ｏｐ１およびＯｐ２で作成された申請書を、経理担当のユーザのユーザ端末１４ｂ（図示せず）へ送信する。経理担当のユーザは、申請書を見て、例えば、「承認」、「却下」または「社長問い合わせ要」の旨の回答を、ユーザ端末を解して返信する（Ｏｐ３）。
【００３０】
ワークフロー実行部２は、社長問い合わせ要の回答を受けた場合、外部接続サーバ１１を介して、社長のモバイル端末へアラーム通知のメールを送信し、社長からの回答を受信する（Ｏｐ４）。ワークフロー実行部２は、図３に示す工程ＩＤ＝００３、処理ＩＤ＝Ｃ０１のレコードに基づいて、スクリプト２を実行することによりＯｐ４のアラーム通知を行うことができる。このスクリプト２は、スクリプト受付部２がユーザから受け付けたスクリプトであり、モバイル端末接続コマンドおよび接続先を示すパラメータ（メールアドレス）が含まれている。スクリプト入力の際、チェック部４は、図４に示すコマンド情報を用いて、アラーム通知に必要なコマンドおよびパラメータが含まれているかチェックする。
【００３１】
ワークフロー実行部２は、社長からの回答または経理承認の結果に基づいて、最終判断承認をする（Ｏｐ５）。ワークフロー実行部２は、図３に示す工程ＩＤ＝００４、処理ＩＤ＝Ｄ０１のレコードに基づいて、スクリプト３を実行することによりＯｐ５の最終判断承認を行うことができる。このスクリプト３は、スクリプト受付部２がユーザから受け付けたスクリプトである。スクリプト３は、例えば、経営状態を示すデータを参照し、経営状態が所定の条件を満たした場合は、自動的に申請を否決するといった処理を記述する。あるいは、スクリプト３は、社長の回答に従った処理を記述するものであってもよい。
【００３２】
ワークフロー実行部２は、Ｏｐ５の処理結果が承認を示す場合、申請書に記載された内容を、社内の文書管理サーバ１２へ登録する（Ｏｐ６）。この処理は、図３に示す工程ＩＤ＝００５、処理ＩＤ＝Ｅ０１のレコードに基づいて実行される。さらにＯｐ６において、ワークフロー実行部２は、申請書に記載された内容を、外部システム連携サーバ１３（本例では、購買管理システム）へ登録する。この処理は、図３に示す工程ＩＤ＝００５、処理ＩＤ＝Ｅ０２のレコードに基づいて、スクリプト４を実行することにより行われる。このスクリプト４は、スクリプト受付部２がユーザから受け付けたスクリプトであり、購買管理システムへの接続コマンドおよび接続情報を示すパラメータが含まれている。スクリプト入力の際、チェック部４は、図４に示すコマンド情報を用いて、購買管理システムへの接続に必要なコマンドおよびパラメータが含まれているかチェックする。
【００３３】
以上、本実施形態によれば、ユーザがスクリプトを入力することで、ワークフロー実行部の処理をカスタマイズするので、例えば、他のシステムとの連携処理や複雑な処理を追加することができる。ユーザによるスクリプト入力の際、チェック部４により、スクリプトがワークフローに沿ったものであるか否かを判断するので、ワークフローに沿ったスクリプトの追加が可能になる。すなわち、ユーザが不適切なスクリプトを入力することにより、ワークフローに沿った処理の実行が妨げられるのを防止することができる。
【００３４】
［第２の実施形態］
図６は、第２の実施形態にかかるワークフロー管理装置１ａの構成例を示す機能ブロック図である。図６に示すワークフロー管理装置１ａは、コマンド情報更新部１６をさらに備える。コマンド情報更新部１６は、ユーザから、スクリプトに含めることのできるコマンドの追加、削除または変更の指示を受け付け、当該指示に基づいて前記コマンド情報を更新する。これにより、ユーザは、コマンド情報を編集することが可能になる。
【００３５】
例えば、外部システム連携サーバ１３の機能追加により、新たな外部システムとの連携が可能になった場合、新たな外部システムとデータ通信するためのインターフェースを、コマンド情報に追加することが可能になる。その結果、ユーザは、ワークフローの処理をより柔軟に、かつ、簡単に編集することができる。
【符号の説明】
【００３６】
１、１ａ        ワークフロー管理装置
２      ワークフロー実行部
３      スクリプト受付部
４      チェック部
５      更新部
【図１】
2011065367.tif 000003
【図２】
2011065367.tif 000004
【図３】
2011065367.tif 000005
【図４】
2011065367.tif 000006
【図５】
2011065367.tif 000007
【図６】
2011065367.tif 000008