(57)【要約】【課題】  ワークフローを組織やグループに依存せずに利用する。【解決手段】  組織やグループといったユーザの所属範囲を示す属性、および、ロールなど所属範囲内におけるユーザの役割を示す属性、という2種類の属性を持つユーザ管理機能と、ワークフローを定義する手段と、定義されたワークフローを動作させる手段を持つシステムにおいて、  ワークフローを定義する際に、各処理の担当者としてユーザの役割を示す属性を指定しておき、ワークフローの実行時にジョブを担当する所属範囲を動的に設定することによって、所属範囲と所属範囲内における役割から、ユーザを特定する。【選択図】  図１
2008015986.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの所属範囲を示す属性を管理する手段と、所属範囲内におけるユーザの役割を示す属性を管理する手段と、ユーザ情報を管理する手段と、所属範囲と役割とユーザ情報を結びつけて管理する手段と、ワークフローを定義する手段と、定義されたワークフローを動作させる手段を持つシステムにおいて、
ワークフローを定義する際に、各処理の担当者としてユーザの役割を示す属性を指定しておき、ワークフローの実行時にジョブを担当する所属範囲を動的に設定することによって、所属範囲と所属範囲内における役割から、ユーザを特定することが可能なワークフローシステム。
【請求項２】
請求項１のシステムにおいて、所属範囲と所属範囲内における役割から特定するユーザが存在しない場合に、代替処理を行うことが可能なワークフローシステム。
【請求項３】
請求項１のシステムにおいて、所属範囲と所属範囲内における役割から特定するユーザが複数存在する場合に、複数存在するユーザの内の誰か１人に処理を行わせる、または、複数存在するユーザ全てに処理を行わせることが可能なワークフローシステム。
【請求項４】
請求項１のシステムにおいて、それぞれ異なる所属範囲のワークフローを連結することで、異なる所属範囲間にまたがるワークフローを実行することが可能なワークフローシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、稟議フローや業務フローをシステム化した、ワークフローシステムに関するものである。
【背景技術】
【０００２】
複数の部門や人が係わる業務の流れをルール化し、そのルールを基にコンピュータネットワーク上で業務処理や業務支援を行う仕組みをワークフローシステムという。
【０００３】
ワークフローシステムは1990年代後半から製品化され始めていたが、各ベンダーが個別に実装を行っていたため、実装形態や仕様はそれぞれ異なっており、システム連携ができなかった。しかし、1993年に設立されたWfMC（Workflow Management Coalition）により、その標準が提案された。WfMCは、ソフトウェアに関するワークフロー関連仕様の標準化団体であり、300を越える企業がメンバーとして参加している（非特許文献１）。その後もワークフローシステムの標準化は、他社ベンダーや非営利組織によって行われているが、WfMCの標準がそのベースとなっている。
【０００４】
ワークフローシステムを使うことで、文書の稟議や交通精算など、社内の各部門やメンバー間を巡回していた書類が電子化され、効率的に処理することが可能となる。
【０００５】
ワークフローシステムでは、予め、作業フローを定義することによって、作業の流れを自動化する。例えば稟議などでは、承認ルートを予め作成し、文書を電子化することで、ルートに沿った承認フローをシステム上で実行することが可能となる。
【０００６】
ワークフローシステムには、一般的に次のような効果があるとされている。
【０００７】
*一連の作業フローを定義することにより、作業の流れや担当者（誰が，何を，いつ行うのか）が明確になる。
【０００８】
*コンピュータネットワークを用い、作業フローを自動化することで、作業の効率化がはかれる。
【０００９】
*データを電子化し、一元管理することで、入力の手間や入力ミスが減る。また、データの保管と管理を自動化することができる。
【００１０】
*作業フローを記録することで、業務分析や業務改善のためのデータが得られる。
【００１１】
近年、ワークフローシステムやそのコアモジュールが各種ベンダーから提供されている。しかし、それらのシステムやコアモジュールは、単体として利便性の高い機能を提供するに至ってはいない。なぜなら、企業における業務は、各々の企業が独自に積み上げてきたノウハウによって構築されており、その運用方法が異なっているからである。
【００１２】
そのため、ワークフローシステムの実装形態は、次の２通りの方向へ分かれてきた。また、この２通りの方向はトレードオフの関係にあると考えることができる。
【００１３】
（１）汎用的な部分のみをモジュール化し、他の部分は業務ごと個別に作成する。
【００１４】
（２）利便性は失われるが、多くの業務に対応をするためのインタフェースを設け、運用でカバーする。
【００１５】
（１）では、結果的にワークフローシステム全体としての汎用性が損なわれる。（２）では利便性が失われ、実作業における効率は低下する。
【００１６】
現在、ワークフローシステムでは、利便性が高く、より汎用性のある機能を実装して行くことが、求められている。
【非特許文献１】Workflow Management Coalition Webサイト（http://www.wfmc.org/）、2004年9月14日現在
【発明の開示】
【発明が解決しようとする課題】
【００１７】
ワークフローシステムでは、個々の作業に関して「誰が」「何を」行うのかを定義し、その処理を遷移で結んでフローを作成する。この際、誰が行うのかを固有の個人に特定してしまうと、そのワークフローは他の人には適用できない。そこで、一般のワークフローシステムでは、組織上の役職や上司といった属性をユーザ情報に付加し、役職や上司といった設定（上長承認）を用いて柔軟性を持たせている。しかし、この方法においても、ワークフローが特定の組織に依存してしまう、といった問題が残る。
【課題を解決するための手段】
【００１８】
本システムでは、上記の課題を解決するために、次のような構成を備える。
【００１９】
組織やグループといったユーザの所属範囲を示す属性、および、ロールなど所属範囲内におけるユーザの役割を示す属性、という2種類の属性を持つユーザ管理機能と、ワークフローを定義する手段と、定義されたワークフローを動作させる手段を持つシステムにおいて、
ワークフローを定義する際に、各処理の担当者としてユーザの役割を示す属性を指定しておき、ワークフローの実行時にジョブを担当する所属範囲を動的に設定することによって、所属範囲と所属範囲内における役割から、ユーザを特定する。
【発明の効果】
【００２０】
組織やグループといったユーザの所属範囲を示す属性、および、ロールなど所属範囲内におけるユーザの役割を示す属性、という2種類の属性を持つユーザ管理機能と、ワークフローを定義する手段と、定義されたワークフローを動作させる手段を持つシステムにおいて、
特定の組織や特定のグループに依存しないワークフローを定義することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施の形態を図面に基づき説明する。
【００２２】
図１は、本発明の実施の形態に係るネットワークシステムの構成例を示す概略図である。
【００２３】
図１において、ネットワークシステムは、ＬＡＮ１０５、１１１、インターネット１０７を備えており、ＬＡＮ１０５に接続されたクライアントパーソナルコンピュータ（以下クライアントＰＣと略称）１０１、１０２、画像読取装置１０３、複合機（マルチファンクションデバイス）１０４と、ＬＡＮ１１１に接続されたＨＴＴＰ（Hypertext Transfer Protocol）サーバ１０８、Ｗｅｂアプリケーションサーバ１０９と、インターネット１０７に直接接続されたクライアントＰＣ１０６から構成されている。
【００２４】
クライアントＰＣ１０１及び１０２は、企業のシステム管理者が新規データファイルを登録したり、ユーザ管理情報の修正等のシステムメンテナンス処理を行ったり、或いは企業の登録作業者がＷｅｂアプリケーションサーバ１０９上で受信した電子文書を仕分けして内容を確認したり、企業の承認者が稟議書や申請書等の承認作業を行ったりする際に使用される。
【００２５】
画像読取装置（スキャナ）１０３は、上記ネットワーク上で共有されているデバイスであり、ユーザから郵便で送付されてきた申請書や当該企業の支店へ持ち込まれた書類等を読み取る。複合機１０４は、スキャナ機能、プリンタ機能、ファクシミリ機能等を備えた、上記ネットワーク上で共有されているマルチファンクションデバイスであり、画像読取装置１０３と同様にスキャナとしても使用でき、更には複合機１０４で受信したファクシミリ画像をＷｅｂアプリケーションサーバ１０９等へＬＡＮ１０５、インターネット１０７、ＬＡＮ１１１を経由して登録することもできる。
【００２６】
ＨＴＴＰサーバ１０８は、ＬＡＮ１０５、インターネット１０７、ＬＡＮ１１１を経由してクライアントＰＣ１０１、１０２、１０６からＨＴＴＰプロトコルで送信されてきたリクエストを受け取るサーバである。Ｗｅｂアプリケーションサーバ１０９は、ＨＴＴＰサーバ１０８から転送されたクライアントＰＣからのリクエストを受け取ると、リクエストを基に処理を実行し、その処理結果をクライアントＰＣ１０１、１０２、１０６へ返信する。また、Ｗｅｂアプリケーションサーバ１０９は、データベース１１０により、見積書や申請書等の帳票の属性を識別するための帳票テンプレート（図４参照）を管理する。
【００２７】
データベース１１０は、Ｗｅｂアプリケーションサーバ１０９に接続されており、Ｗｅｂアプリケーションサーバ１０９がクライアントＰＣ等から受信したデータ、電子画像データの文字認識結果、申請書に関わる申請処理ステータス等の情報、及びユーザ／グループ情報、登録データファイルの処理情報等のシステム情報を保存する。
【００２８】
上記のＨＴＴＰサーバ１０８、Ｗｅｂアプリケーションサーバ１０９、データベース１１０を有機的に組み合わせることにより、Ｗｅｂデータベースシステムとして機能する。
【００２９】
尚、本ネットワークシステムは、上述した画像読取装置１０３と複合機１０４のように、画像読取機能のみを有する機器（スキャナ）と画像読取機能を含む複数の機能を有する機器（複合機）とを別個に設置する構成や、画像読取機能を含む複数の機能を有する機器（複合機）を単独で設置する構成や、画像読取機能のみを有する機器（スキャナ）と画像形成機能のみを有する機器（プリンタ）を設置する構成など、任意の構成とすることが可能である。
【００３０】
図２は、本発明のワークフロー管理装置としてのＷＥＢアプリケーションサーバ１０９の構成例を示すブロック図である。
【００３１】
図２において、ＷＥＢアプリケーションサーバ１０９は、システムバス１、ＣＰＵ２、プログラムメモリ（以下ＰＭＥＭと略称）３、通信制御部４、通信ポート５、外部記憶制御部８、入力制御部１１、キーボード１２、ポインティングデバイス１３、ビデオイメージメモリ（以下ＶＲＡＭと略称）１４、表示出力制御部１５、ＣＲＴディスプレイ（以下ＣＲＴと略称）１６、複合機制御部１７、外部機器制御部１８、画像読取装置制御部１９を備えている。
【００３２】
上記各構成要素はシステムバス１に接続されている。ＣＰＵ２は、システムバス１を介して各構成要素を制御する中央処理装置であり、ＲＯＭ（不図示）に格納された制御プログラムに基づき図１０のフローチャートに示す条件分岐処理を実行する。ＰＭＥＭ３は、条件分岐処理を実行するための制御プログラムを適宜ＲＯＭから選択して読み込むためのメモリである。また、キーボード１２から入力されたデータはテキストメモリでもあるＰＭＥＭ３にコード情報として格納される。
【００３３】
通信制御部４は、通信ポート５における入出力データの制御を行う。通信ポート５から出力された信号は、通信回線６を経由してネットワーク（ＬＡＮ１０５、ＬＡＮ１１１、インターネット１０７）上の他の装置の通信ポートに伝送される。本実施の形態では、ＬＡＮ等のネットワークを使用する場合について記述するが、通信制御部４に接続される通信ポート及び通信回線が一般の公衆回線であっても本発明が適用されることは言うまでもない。
【００３４】
外部記憶装置制御部８は、外部記憶装置（本実施の形態ではフロッピー（登録商標）ディスクとハードディスク）に対するデータの書き込み／読み出しを制御する。フロッピー（登録商標）ディスク（以下ＦＤと略称）９は、データファイル用の外部記憶装置である。ハードディスク（以下ＨＤと略称）１０は、データファイル用の外部記憶装置である。
【００３５】
入力制御部１１には、キーボード１２、ポインティングデバイス１３等の入力装置が接続される。操作者はキーボード１１を操作することによりシステムに対する動作指令等を行う。ポインティングデバイス１３は、操作者がＣＲＴ１６上で画像情報の加工を指示するためのものであり、本実施の形態ではマウスを使用している（以下マウス１３と称する）。操作者はマウス１３により、ＣＲＴ１６上のカーソルをＸ方向／Ｙ方向へ任意に移動させ、コマンドメニュー上のコマンドアイコンを選択して処理の指示を行うほか、編集対象の指示や描画位置の指示等も行う。
【００３６】
ＶＲＡＭ１４は、ＣＲＴ１６に表示する文字データや図形データがビットマップデータとして展開されるメモリである。表示出力制御部１５は、ＣＲＴ１６に対する表示を制御する。ＣＲＴ１６は、後述の図６〜図９に示す各種画面等を表示する表示手段である。尚、表示方式はＣＲＴに限定されず、液晶でもよい。
【００３７】
外部機器制御部１８は、複合機制御部１７及び画像読取装置制御部１９を制御する。複合機制御部１７は、複合機１０４の制御を司るものであり、複合機１０４に対するデータの出力制御を行う。画像読取装置制御部１９は、画像読取装置１０３の制御を司るものであり、画像読取装置１０３からの読取データの入力制御を行う。尚、ＷＥＢアプリケーションサーバ１０９には、画像読取装置制御部１９が必須であるが、クライアントＰＣは、ＷＥＢアプリケーションサーバ１０９の通信制御部４及び通信ポート５を介して、ＷＥＢアプリケーションサーバ１０９側で共有されている構成要素を使用することができる。
【００３８】
尚、本実施の形態では、制御プログラムを上記ＲＯＭ（不図示）に格納する構成としているが、制御プログラムをＦＤ９やＨＤ１０に格納する構成としても、或いはネットワーク（ＬＡＮ１０５、ＬＡＮ１１１、インターネット１０７）上に接続されている他の装置上に格納する構成としてもよい。また、制御プログラムは、ＷＥＢアプリケーションサーバ１０９からＦＤ９やＨＤ１０等の記憶媒体やネットワークを介して他のシステムや他の装置に供給することができる。
【００３９】
図３は、クライアントＰＣ及びＷｅｂアプリケーションサーバのモジュールの構成例を示すブロック図である。
【００４０】
図３において、クライアントＰＣ１０１、１０２、１０６は、それぞれ、情報登録モジュール３０２、出力フォーム登録モジュール３０３を備えている。Ｗｅｂアプリケーションサーバ１０９は、リクエスト処理モジュール３０７、編集モジュール３０８、データベース共通ライブラリ３０９、各種ユーティリティライブラリ３１０、データベース１１０を備えている。ＨＴＴＰサーバ１０８は、クライアントＰＣ１０１、１０２、１０６からのリクエストをＷｅｂアプリケーションサーバ１０９に転送する。
【００４１】
クライアントＰＣ１０１において、情報登録モジュール３０２は、カタログ情報、画像データ等のデータファイルをＷｅｂアプリケーションサーバ１０９に登録するモジュールである。出力フォーム登録モジュール３０３は、商品データを出力するフォームを登録するモジュールである。ただし、情報登録モジュール３０２及び出力フォーム登録モジュール３０３は、Ｗｅｂアプリケーションサーバ１０９から必要に応じて、アクティブエックスコントロール等の形式でクライアントＰＣに自動的に配信されるので、クライアントＰＣ上でインストール処理等を行う必要はない。
【００４２】
Ｗｅｂアプリケーションサーバ１０９において、リクエスト処理モジュール３０７は、ＨＴＴＰサーバ１０８から転送されたクライアントＰＣからのリクエストを処理するモジュールである。リクエスト処理モジュール３０７に対応している機能としては、ユーザ認証、検索処理、ワークフロー制御、受信データ登録、送付状登録、ユーザ管理、グループ管理、データメンテナンス、文字認識結果登録、文字認識帳票登録、デバイス設定登録等の各機能がある。リクエスト処理モジュール３０７は、クライアントＰＣからのリクエストに応じてＷｅｂアプリケーションサーバ１０９のメモリ上にロードされ、該当する処理が実行される。
【００４３】
編集モジュール３０８は、ワークフローを編集するワークフローエディタ部、送付状を編集する送付状エディタ部等を有するモジュールである。データベース共通ライブラリ３０９は、データベース１１０との間でデータ（帳票テンプレートデータを含む）のやり取りを行うためのライブラリである。各種ユーティリティライブラリ３１０は、文字認識アプリケーション等の各種ユーティリティソフトのライブラリである。
【００４４】
次に、ワークフローの定義方法について、図４、図５を用いて説明する。
【００４５】
図４は、ワークフローを定義するエディタのフロー定義画面４００を示す図である。
【００４６】
図４において、フロー定義画面４００は、クライアントＰＣのＣＲＴ１６に表示される。ユーザはフロー定義画面４００上で、ワークフローのフローを定義するために、フローを構成するオブジェクトを配置していく。
【００４７】
４０１（Ｓ：START）は、ワークフローの開始を定義するオブジェクトであり、４０２（Ｅ：END）は、ワークフローの終了を定義するオブジェクトである。４０３は、ワークフローの遷移を定義するオブジェクトであり、以下、トランジションと呼ぶ。４０４は、ワークフローにおける個々の作業を定義するオブジェクトであり、以下、アクティビティと呼ぶ。
【００４８】
ユーザはフロー定義画面４００上で上記の各オブジェクトを配置してフローを定義した後、各オブジェクトの設定を行う。アクティビティ４０４を選択してマウス１３を右クリックし、ポップアップメニューからプロパティを選択すると、ＣＲＴ１６上に図５の画面５００が表示される。
【００４９】
図５は、アクティビティのプロパティ設定画面５００である。
【００５０】
図５において、５０１はアクティビティの名称を設定するエディットボックスである。５０２は処理内容を設定するコンボボックスである。５０２を選択すると、アクティビティを実行したときに行われる処理の一覧が表示され、一覧の中から処理を選択する。５０３は担当者タイプを設定するコンボボックスである。５０３を選択すると、ロール、組織、ユーザ、システムといった、担当者タイプの一覧が表示され、一覧の中から担当者タイプを選択する。５０４は担当者を設定するコンボボックスである。５０４を選択すると、５０３の担当者タイプに基づいて、担当者の一覧が表示され、一覧の中から担当者を選択する。例えば、担当者タイプをロールと設定すれば、担当者の一覧には、ロールの一覧が表示される。
【００５１】
５０５はＯＫボタンである。５０５を押すと、アクティビティのプロパティ設定画面５００で設定された項目がワークフロー定義に反映されて５００が閉じる。５０６はキャンセルボタンである。５０６を押すと、アクティビティのプロパティ設定画面５００で設定された項目がワークフロー定義に反映されずに５００が閉じる。
【００５２】
図４、図５で定義されたワークフローの定義は、クライアントＰＣからＷｅｂアプリケーションサーバ１０９にアップロードされ、Ｗｅｂアプリケーションサーバ上の外部記憶装置８、または９、１０に保管される。
【００５３】
次に、ユーザ、グループ、ロールの関係を示すデータについて、図６を用いて説明する。
【００５４】
図６は、ユーザ、グループ、ロールの関係を示すデータ管理方法の一例である。ユーザ、グループ、ロールの関係を示すデータは、データベース１１０に格納される。
【００５５】
表６００はユーザ、グループ、ロールの関係を示す表であり、営業第１課グループにおいて、受信確認ロールを山田さん、第１承認ロールを田中さん、第２承認ロールを鈴木さん、最終承認を佐藤さん、がそれぞれ担当することを示している。
【００５６】
６１０は表６００の情報を定義するためのデータベースにおけるテーブル定義の一例である。
【００５７】
６１１はユーザに関する情報である。例えば６１１には、ユーザコード、ユーザID、パスワード、ユーザ名、所属コード、内線番号、電子メールアドレスといった情報が格納される。
【００５８】
６１２はグループに関する情報である。グループとは、会社の組織の他、ジョブグループやワーキンググループといった、作業を担当する集団を示す情報である。また、会社組織のような、階層化されたグループである場合は、親グループとの関係情報を持つ。例えば６１２には、グループコード、グループ名、親グループコードといった情報が格納される。
【００５９】
６１３はロールに関する情報である。ロールとは、受信確認といったある作業における役割や、主任といった組織上の役職を示す情報である。例えば６１３には、ロールコード、ロール名といった情報が格納される。
【００６０】
６１４は所属関係に関する情報である。所属関係とは、グループとそのグループ内におけるロールを関係付ける情報である。例えば６１４には、所属コード、グループコード、ロールコードといった情報が格納される。
【００６１】
６２０は、６１０のテーブル定義に基づいたデータの一例である。
【００６２】
６２１のユーザは、ユーザコードが０１２３４５６７、ユーザIDがtyamada、パスワードが********、ユーザ名が山田太郎、所属コードが５９６３、内線が３２１−４５６７、電子メールアドレスがyama@xx.comであることを示している。所属コードは、６２２の所属関係データに関連付けられている。
【００６３】
６２２の所属関係は、所属コードが５９６３、グループコードが０３０１、ロールコードが０７３８４６であることを示している。グループコードはグループデータ、ロールコードはロールデータに、それぞれ関連付けられている。
【００６４】
６２３のグループは、グループコードが０３０１、グループ名が営業第１課、親グループコードが０３００であることを示している。親グループコードは親グループのグループデータに関連付けられている。
【００６５】
６２４のグループは、グループコードが０３００、グループ名が営業部、親グループコードが００００であることを示している。
【００６６】
６２５のロールは、ロールコードが０７３８４６、ロール名が受信確認であることを示している。
【００６７】
次に、ユーザのマッピングついて、図７、図８を用いて説明する。
【００６８】
図７はユーザマッピングの流れを示すフローチャートである。この処理は、Ｗｅｂアプリケーションサーバ１０９で実行される。また、図８はユーザマッピングの概念を示す図である。
【００６９】
ワークフローは、ジョブが発生することで開始される。図８のローン申し込み決裁フローでは、８０３のローン申し込み書類が入力されたときに、Ｗｅｂアプリケーションサーバ１０９がＣＰＵ２において、この申し込みに対するジョブを生成し、図７のフローを開始する。図７のフローで実行された処理の経過は、逐次、データベース１１０に格納される。
【００７０】
ワークフローでは、まず、ジョブに対応するワークフロー定義を取得する（Ｓ７０１）。図８の例で、８０３はローン申し込みに関するジョブであるため、ローン申し込み決裁フロー８０１を使って決裁が行われる。
【００７１】
次にこのジョブを処理する担当グループを設定する（Ｓ７０２）。図８の例では、営業第１課が担当する作業なので、営業第１課がジョブに設定される。
【００７２】
次にこのジョブのワークフローを開始する（Ｓ７０３）。
【００７３】
そして、ワークフロー定義に従って、遷移するアクティビティの数だけ処理を行う（Ｓ７０４）。
【００７４】
各アクティビティの処理では、アクティビティのユーザマッピングを行う（Ｓ７０５）。まず、ワークフロー定義からアクティビティに設定されているロール情報を取得する（Ｓ７１１）。ジョブ８０３では、ワークフロー定義８０１より、最初のアクティビティにおいて、受信確認ロールが取得される。
【００７５】
次にＳ７０２で設定したワークフローを担当するグループを取得する（Ｓ７１２）。そして、Ｓ７１１で取得したロール、および、Ｓ７１２で取得したグループから、ユーザ情報を参照して固有のユーザを特定する（Ｓ７１３）。ジョブ８０３では、ユーザ情報８０２において、グループ営業第１課およびロール受信確認から、山田さんがに特定される。特定されるユーザは必ずしも１ユーザとは限らない。対応するユーザ数に応じて異なった処理が行われる（Ｓ７１４）。ジョブ８０３では、山田さん１人に特定されたので担当者が決定する（Ｓ７１５）。Ｓ７１６に関しては後述の図９、Ｓ７１７に関しては後述の図１０で説明する。
【００７６】
ユーザが特定されたら、ユーザによってアクティビティの処理が実行される（Ｓ７０６）。
【００７７】
８０４は、ジョブ８０３に対して、フロー８０１とユーザ情報８０２に基づいて、上記のユーザマッピングを行った結果である。
【００７８】
アクティビティの遷移が終了するとワークフローは終了する（Ｓ７０７）。
【００７９】
なお、ワークフローの処理は、Ｗｅｂアプリケーションサーバ１０９だけで完結しない場合もある。例えば、ユーザに承認を促す場合、クライアントＰＣからの入力を待つ必要がある。この場合、Ｗｅｂアプリケーションサーバは、処理の経過を外部記憶装置に格納した上で、ＣＰＵ２上のプログラムを一旦終了させる。再びクライアントＰＣからの入力があると、Ｗｅｂアプリケーションサーバは、ＣＰＵ上にプログラムを生成し、処理を再開することになる。
【００８０】
次に、ユーザのマッピングの例外的な処理に関して、図７、図９、図１０を用いて説明する。
【００８１】
図９はユーザをマッピングする際、グループ内においてロールに対応するユーザが存在しない場合の例である。
【００８２】
９０３はローン申し込みに関するジョブで、営業第２課が担当し、ローン申し込み決裁フロー８０１を使って決裁が行われる。
【００８３】
第２承認ロールのアクティビティにおいて、営業第２課のユーザ情報９０２では、対応するユーザが存在しない。図７のフローチャートでは、Ｓ７１３においてユーザ数が０と判定され、自動承認などの代替処理が行われる（Ｓ７１６）。代替処理はワークフローが必要とする要件によって内容は異なる。例えば、自動承認や代理承認が行われる場合もあれば、否決とする場合もある。
【００８４】
９０４は、ジョブ９０３に対して、フロー８０１とユーザ情報９０２に基づいて、ユーザマッピングを行った結果である。
【００８５】
図１０はユーザをマッピングする際に、グループ内にロール対応するユーザが複数人存在する場合の例である。
【００８６】
１００３はローン申し込みに関するジョブで、営業第３課が担当し、ローン申し込み決裁フロー８０１を使って決裁が行われる。
【００８７】
第１承認ロールのアクティビティにおいて、営業第３課のユーザ情報１００２では、対応するユーザが複数存在する。図７のフローチャートでは、Ｓ７１３においてユーザ数が複数と判定され、複数人での処理が行われる（Ｓ７１７）。複数人での処理にはＯＲ処理とＡＮＤ処理がある。ＯＲ処理は、複数ユーザのうち、誰か１人が処理を行えば、アクティビティの処理が行われたものと見なす。ＡＮＤ処理は、複数ユーザの全てのユーザが処理を行えばアクティビティの処理が行われたものと見なす。
【００８８】
１００４は、ジョブ１００３に対して、フロー８０１とユーザ情報１００２に基づいて、ユーザマッピングを行った結果である。
【００８９】
次に、複数のグループにまたがるワークフローに関して、図１１を用いて説明する。
【００９０】
図１１はワークフローが複数のグループにまたがる場合の例である。ユーザマッピングは、ワークフローを担当するグループが指定されることによって、ロールとグループからユーザを特定することが可能となる。そのため、１つのワークフローに複数のグループを設定することはできない。
【００９１】
従って、ワークフローが複数のグループにまたがる場合は、各グループの担当範囲でワークフローを区切ってユーザマッピングを行い、それぞれのワークフローを結合する。
【００９２】
１１０３は旅費申請に関するジョブで、営業第１課の担当者が申請を行ったものである。
【００９３】
旅費申請フローは、各課で承認を行った後に会計課が費用の決裁を行う。旅費申請に関するワークフローの定義は、各課が行うワークフローの定義１１０１と、会計課が行うワークフローの定義１１１１に分かれている。
【００９４】
ジョブ１１０３は１１０１のワークフロー定義と１１０２のユーザ情報を元に営業第１課内でワークフローを実行する。そして、営業第１課内のワークフローが終了すると、次の会計課のワークフローが実行される。
【００９５】
ジョブ１１０３は、１１１１のワークフロー定義と１１１２のユーザ情報を元に、会計課のワークフローを実行する。
【００９６】
１１０４は、ジョブ１１０３に対して、１１０１および１１１１のフローと、１１０２および１１１２のユーザ情報に基づいて、ユーザマッピングを行った結果である。
【００９７】
以上の説明から、組織やグループといったユーザの所属範囲を示す属性、および、ロールなど所属範囲内におけるユーザの役割を示す属性、という2種類の属性を持つユーザ管理機能を持つことによって、ユーザの特定を行うことが可能となり、ワークフローの定義を共通化することができる。
【図面の簡単な説明】
【００９８】
【図１】本発明の実施の形態に係るネットワークシステムの構成例を示す概略図である。
【図２】ワークフロー管理装置としてのＷＥＢアプリケーションサーバの構成例を示すブロック図である。
【図３】クライアントＰＣ及びＷｅｂアプリケーションサーバのモジュールの構成例を示すブロック図である。
【図４】ワークフローのフローを定義するエディタのフロー定義画面を示す図である。
【図５】アクティビティのプロパティ設定画面を示す図である。
【図６】ユーザとグループ、ロールの関係を定義するデータを示す図である。
【図７】Ｗｅｂアプリケーションサーバにおけるユーザマッピングの流れを示すフローチャートである。
【図８】ユーザマッピングの概念を示す図である。
【図９】ユーザが存在しない場合における、ユーザマッピングの概念を示す図である。
【図１０】ユーザが複数存在する場合における、ユーザマッピングの概念を示す図である。
【図１１】ワークフローが複数のグループにまたがる場合における、ユーザマッピングの概念を示す図である。
【符号の説明】
【００９９】
２  ＣＰＵ（文字認識手段、取得手段、格納手段、制御手段）
１０１、１０２、１０６  クライアントＰＣ（情報処理装置）
１０３  画像読取装置（画像処理装置）
１０４  複合機（画像処理装置）
１０５、１１１  ＬＡＮ（ネットワーク）
１０７  インターネット（ネットワーク）
１０８  ＨＴＴＰサーバ（情報処理装置）
１０９  Ｗｅｂアプリケーションサーバ（ワークフロー管理装置）
１１０  データベース（記憶手段）
【図１】
2008015986.tif 000003
【図２】
2008015986.tif 000004
【図３】
2008015986.tif 000005
【図４】
2008015986.tif 000006
【図５】
2008015986.tif 000007
【図６】
2008015986.tif 000008
【図７】
2008015986.tif 000009
【図８】
2008015986.tif 000010
【図９】
2008015986.tif 000011
【図１０】
2008015986.tif 000012
【図１１】
2008015986.tif 000013