(57)【要約】【課題】他のシステムと連係するワークフローシステムを導入する際の導入コストを削減する。【解決手段】ワークフローシステムとの連係を想定されずに開発された他システムから、タスクの処理権限の有無の判定に用いる判定値を取得する取得方法を定義した判定値取得定義情報を判定値取得定義情報格納部１００に予め格納し、処理権限の有無の判定方法を定義した判定定義情報を処理定義情報格納部１１０に予め格納し、判定値取得部（判定値取得制御部１５０等）が判定値取得定義情報に基づき他システムから判定値を取得し、権限判定部１６０が判定値取得部によって取得された判定値と判定定義情報とに基づき処理権限の有無を判定することにより、他のシステムの既存データベースを直接参照する態様（他の態様に比べ導入コストを抑えた態様）にて処理権限の有無を判定できるようにしている。【選択図】        図３
2010044573.tif 000002
【特許請求の範囲】
【請求項１】
ワークフローシステムとの連係を想定されずに開発された他システムから、ユーザによるワークフローに係るタスクの処理権限の有無の判定に用いる１以上の判定項目の各判定値を取得する取得方法を定義した判定値取得定義情報を格納する判定値取得定義情報格納部と、
上記処理権限の有無の判定方法を定義した判定定義情報を格納する判定定義情報格納部と、
上記判定値取得定義情報格納部に格納されている上記判定値取得定義情報に基づいて、上記他システムから上記各判定値を取得する判定値取得部と、
上記判定値取得部によって取得された上記各判定値と上記判定定義情報格納部に格納されている上記判定定義情報とに基づいて、未処理タスクの上記処理権限の有無を判定する権限判定部と、
上記権限判定部によって上記処理権限が有ると判定された場合に、上記未処理タスクを処理するタスク処理部とを備えたことを特徴とするワークフローシステム用サーバ。
【請求項２】
上記タスク処理部は、処理したタスクについて上記処理権限の有無の判定に用いた判定値を含む処理済タスクの履歴情報を生成するとともに、当該処理したタスクの次に処理すべきタスクについて上記処理権限の有無の判定に用いる比較対象の情報を含む未処理タスクの履歴情報を生成して履歴情報格納部に格納し、
上記権限判定部は、上記判定値取得部により取得された上記各判定値と上記判定定義情報格納部に格納されている上記判定定義情報とに加え、プロセス内の２つ目以降の未処理タスクについては更に上記履歴情報格納部に格納されている上記履歴情報に基づいて、上記未処理タスクの上記処理権限の有無を判定することを特徴とする請求項１に記載のワークフローシステム用サーバ。
【請求項３】
上記判定値取得部は、上記未処理タスクを処理すべき旨の入力を受け付ける処理要求受付部を備え、上記処理要求受付部が一のユーザから一の未処理タスクを処理すべき旨の入力を受け付けた場合、当該一のユーザによる当該一の未処理タスクの処理に関係する上記各判定値のみを取得し、
上記権限判定部は、上記判定値取得部によって取得された上記各判定値を用いて当該一のユーザによる当該一の未処理タスクの上記処理権限の有無を判定することを特徴とする請求項１または２に記載のワークフローシステム用サーバ。
【請求項４】
ワークフローシステムとの連係を想定されずに開発された他システムからユーザによるワークフローに係るタスクの処理権限の有無の判定に用いる１以上の判定項目の各判定値を取得する取得方法を定義した判定値取得定義情報に基づいて、他システムから上記各判定値を取得する判定値取得ステップと、
上記処理権限の有無の判定方法を定義した判定定義情報と、上記判定値取得ステップによって取得された上記各判定値とに基づいて、未処理タスクの上記処理権限の有無を判定する権限判定ステップと、
上記権限判定ステップによって上記処理権限が有ると判定された場合に、上記未処理タスクを処理するタスク処理ステップとを備えたことを特徴とするワークフローシステムのタスク処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザによるワークフローに係るタスクの処理権限の有無の判定に用いる判定値を他システムから取得するワークフローシステム用サーバおよびワークフローシステムのタスク処理方法に関するものである。
【背景技術】
【０００２】
現在、複数の部門や人が係わる業務（作業）の流れをルール化し、そのルールを基にコンピュータネットワーク上で業務処理や業務支援を行うワークフローシステムが普及している（例えば、特許文献１参照）。ワークフローシステムでは、業務（プロセス）の流れをプロセス定義として予め定義し、そのプロセス定義に従ってコンピュータネットワーク上で業務処理や業務支援を行う。プロセス定義は、プロセスを構成するタスク（例えば、交通費清算プロセスでは、申請タスク、承認タスク、会計処理タスク、入金確認タスク）、タスク間の移行順序、タスク毎の処理権限などを規定するものである。なお、特許文献１に記載のシステムでは、タスク毎の処理権限として職務を利用している。
【０００３】
一般に、ワークフローシステムは、タスク毎の処理権限の判定に用いる情報を必要とする。例えば、タスク毎の処理権限の判定に用いる専用のデータベース（以下、「権限判定専用データベース」という）を内部に保持し、権限判定専用データベースを参照してタスク毎の処理権限を判定するという態様のワークフローシステムが存在する。
【０００４】
権限判定専用データベースを参照する態様のワークフローシステムは、既存システム（例えば、人事システムなどの基幹システム）が稼動している場合、既存システムと連係させる場合が多い。具体的には、ワークフローシステムの権限判定専用データベースと既存システムのデータベース（例えば、社員データベース。以下、「既存データベース」という）とを連係させる。より詳細には、既存データベース上の更新内容を権限判定専用データベース上に自動的に矛盾無く反映させるため専用プログラム（以下、「自動反映プログラム」という）によって、既存システム側への更新内容をワークフローシステム側に反映させる。なお、権限判定専用データベースを既存データベースに連係させれば、権限判定専用データベースの管理コストを大幅に削減することができるようになる。
【特許文献１】特開２００１−２２９３３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、権限判定専用データベースを参照する態様のワークフローシステムを導入する場合、導入時のコスト（特に工数）が非常に大きいという問題がある。自動反映プログラムの役割は、所定の構造（テーブル数、各テーブルの構造、各データの属性、各種キーの設定など）の権限判定専用データベース上に、権限判定専用データベースと構造が一致しない既存データベース上の更新内容を矛盾無く反映させるというものであって、一般に、ある構造を有するデータベース上の更新内容を他の構造を有する他のデータベース上に矛盾無く反映させるプログラムを作成することは非常に手間が掛かるからである。
【０００６】
ここで、既存データベースの構造が権限判定専用データベースの構造と一致しないと述べたが、相互の連係を想定することなく開発された両データベース（既存データベースおよび権限判定専用データベース）の構造が偶然に一致する可能性は極めて低い。なお、権限判定専用データベースを参照する態様のワークフローシステムを導入する場合であっても、権限判定専用データベースを既存データベースに連係させなければ、自動反映プログラムの作成は不要となるが、権限判定専用データベースの管理コストを大幅に削減することができなくなる。
【０００７】
ところで、権限判定専用データベースを参照する態様のワークフローシステムの他に、複数のシステム（例えば、会計システム、人事システムなど）から参照されるデータベース（以下、「共通データベース」という）を参照してタスク毎の処理権限を判定するという態様のワークフローシステムも存在する。しかしながら、共通データベースを参照する態様のワークフローシステムを導入する場合にも、導入時のコスト（特に金額）が非常に大きいという問題がある。共通データベースを参照する態様のワークフローシステムは、ＥＲＰパッケージソフトの一機能に相当するが、ＥＲＰパッケージソフトはたとえ一機能であっても高価であるからである。また、ＥＲＰパッケージソフトと同機能のソフトウェアを自社開発するのは非常にコストが高くなるからである。
【０００８】
本発明は、このような問題を解決するために成されたものである。すなわち、他のシステムと連係するワークフローシステムを導入する際の導入コストを削減することを目的とする。
【課題を解決するための手段】
【０００９】
上記した課題を解決するために、本発明では、ワークフローシステムとの連係を想定されずに開発された他システムから、ユーザによるワークフローに係るタスクの処理権限の有無の判定に用いる１以上の判定項目の各判定値を取得する取得方法を定義した判定値取得定義情報と、処理権限の有無の判定方法を定義した判定定義情報とを予め格納するようにしている。そして、予め格納している判定値取得定義情報に基づいて他システムから各判定値を取得し、取得した各判定値と予め格納している判定定義情報とに基づいて処理権限の有無を判定するようにしている。
【発明の効果】
【００１０】
上記のように構成した本発明によれば、設定済みの定義情報に従って、ワークフローシステムとの連係を想定されずに開発された他のシステムのデータベースを参照し、処理権限の有無を判定することができるようになる。なお、ワークフローシステムとの連係を想定されずに開発された他のシステムとは、ＥＲＰパッケージソフトの一機能に相当しないシステムである。よって、ワークフローシステムとの連係を想定されずに開発された他のシステムのデータベースは、共通データベースではなく単なる既存データベースである（勿論、権限判定専用データベースではない）。
【００１１】
すなわち、本発明によれば、権限判定専用データベースを参照する態様および共通データベースを参照する態様の何れの態様とも異なる第三の態様、つまり、既存データベースを直接参照する態様によって、他のシステムと連係してタスク毎の処理権限の有無を判定することができるようになる。従って、権限判定専用データベースを参照する態様によって他のシステムと連係するワークフローシステムを導入する場合に比べ、自動反映プログラムの作成コスト分、導入コストを小さくすることができるようになる。権限判定専用データベースが存在しないからである。また、共通データベースを参照する態様によって他のシステムと連係するワークフローシステムを導入する場合と比べても、導入コストを小さくすることができるようになる。連係するシステム（他のシステムおよびワークフローシステム）が高価なＥＲＰパッケージソフトでないからである。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本発明の実施形態であるＷＦ（Ｗｏｒｋｆｌｏｗ）サーバ１０を設置したネットワーク構成例を示す図である。図２は、図１に示すＨＲ（Ｈｕｍａｎ  Ｒｅｓｏｕｒｃｅｓ）サーバ２０内の人事データベースに格納されている情報の一例を示す図である。
【００１３】
図１において、ＬＡＮ１は、ワークフローに係る処理を実行するＷＦサーバ１０（本発明のワークフローシステム用サーバに相当）を設置するためのＬＡＮである。ＬＡＮ２は、人事システムに係る処理を実行するＨＲサーバ２０を設置するためのＬＡＮである。人事システムは、元々は、ＷＦサーバ１０との連係を想定されずに開発された他システム（既存システム）の一例である。ＬＡＮ３〜ＬＡＮｎは、その他不特定多数のＬＡＮである。
【００１４】
ＬＡＮ１に設置されたＷＦサーバ１０は、権限判定専用データベースを内部に保持しないアプリケーションサーバである。ＷＦサーバ１０は、ＬＡＮ１〜ＬＡＮｎ（以下、「各ＬＡＮ」という）に設置された各ユーザ端末３０からアクセスされる。また、ＷＦサーバ１０は、ＬＡＮ２に設置されたＨＲサーバ２０にアクセスする。
【００１５】
ＬＡＮ２に設置されたＨＲサーバ２０は、ＷＦサーバ１０との連係を想定されずに開発されたサーバである。つまり、ＨＲサーバ２０は、元々は、ＷＦサーバ１０からアクセスされるように設計されていないサーバである。また、ＨＲサーバ２０は、人事データベースを内部に保持するアプリケーションサーバおよびデータベースサーバである。なお、人事データベースは、既存データベースの一例である。
【００１６】
ＨＲサーバ２０が保持する人事データベースは、図２（ａ）に示す社員マスタ、図２（ｂ）に示す家族マスタ、図２（ｃ）に示す所属部門テーブル、図２（ｄ）に示す役職テーブルなどから構成される。なお、社員マスタは、社員ＩＤ、社員名、生年月日、所属部門ＩＤおよび役職ＩＤを項目（カラム）として有し、社員ＩＤが主キー、所属部門ＩＤおよび役職ＩＤが外部キーに設定されている。家族マスタは、社員ＩＤ、家族枝番、氏名、続柄、生年月日を項目として有し、社員ＩＤが主キーに設定されている。所属部門テーブルは、所属部門ＩＤおよび所属部門名を項目として有し、所属部門ＩＤが主キーに設定されている。役職テーブルは、役職ＩＤおよび役職名を項目として有し、役職ＩＤが主キーに設定されている。
【００１７】
以下、ＷＦサーバ１０の機能について説明する。図３は、図１に示すＷＦサーバ１０の機能構成例を示す図である。図４は、図３に示す判定値取得定義情報格納部１００に格納された判定値取得定義情報の一例を示す図である。図５Ａ、図５Ｂおよび図６は、図３に示す処理定義情報格納部１１０に格納された処理定義情報の一例を示す図である。図７は、図３に示す判定値受付部１３２によって取得された判定値の一例を示す図である。
【００１８】
図３に示すように、ＷＦサーバ１０は、判定値取得定義情報格納部１００、処理定義情報格納部１１０（本発明の判定定義情報格納部に相当）、履歴情報格納部１２０、入力部１３０（本発明の判定値取得部に相当）、出力部１４０（本発明の判定値取得部に相当）、判定値取得制御部１５０（本発明の判定値取得部に相当）、権限判定部１６０およびタスク処理部１７０を備えて構成される。入力部１３０は、判定値受付部１３２、定義受付部１３４および処理要求受付部１３６を備えて構成される。出力部１４０は、判定値要求部１４２および処理応答部１４４を備えて構成される。
【００１９】
判定値取得定義情報格納部１００は、判定値取得定義情報を格納する。判定値取得定義情報は、各ＬＡＮに設置された各ユーザ端末３０（各ユーザ）によるワークフローの各タスクに関する処理権限の有無の判定に用いる１以上の項目（以下、「判定項目」という）の各値（以下、「判定値」という）をＨＲサーバ２０から取得するための取得方法を定義した情報である。
【００２０】
具体的には、判定値取得定義情報格納部１００は、図４に示すように、ユーザＩＤ、所属部門ＩＤ、役職ＩＤ、１歳未満の子供数、の４個の判定項目の各判定値をＨＲサーバ２０から取得するための取得方法を定義した判定値取得定義情報を格納している。より詳細には、判定値取得定義情報格納部１００は、判定項目ＩＤ（判定項目の種類を識別する所定の識別コード）に対応付けてＳＱＬ文を取得方法として格納している。
【００２１】
例えば、判定値取得定義情報格納部１００は、判定項目「ユーザＩＤ」を識別する判定項目ＩＤ「Ｈ０１」に対応付けてＳＱＬ文「ＳＥＬＥＣＴ  社員ＩＤ  ＡＳ  ユーザＩＤ  ＦＲＯＭ  社員マスタ  ＷＨＥＲＥ  社員ＩＤ＝ユーザＩＤ；」を格納している。なお、ＷＨＥＲＥ句のユーザＩＤは、ユーザ端末３０に入力されたユーザＩＤであって、ＨＲサーバ２０内の人事データベース上の社員ＩＤに該当する。つまり、判定項目ＩＤ「Ｈ０１」に対応するＳＱＬ文は、判定項目「ユーザＩＤ」の判定値を人事データベース（社員マスタ）から取得すべき旨を定義しているが、判定項目「ユーザＩＤ」の判定値は、単に、ユーザ端末３０に入力された社員ＩＤに該当するものである。
【００２２】
また、判定項目「所属部門ＩＤ」を識別する判定項目ＩＤ「Ｈ０２」に対応するＳＱＬ文「ＳＥＬＥＣＴ  所属部門ＩＤ  ＦＲＯＭ  社員マスタ  ＷＨＥＲＥ  社員ＩＤ＝ユーザＩＤ；」は、判定項目「所属部門ＩＤ」の判定値として、ユーザ端末３０にユーザＩＤを入力したユーザの所属部門ＩＤを人事データベース（社員マスタ）から取得すべき旨を定義している。
【００２３】
同様に、判定項目「役職ＩＤ」を識別する判定項目ＩＤ「Ｈ０３」に対応するＳＱＬ文「ＳＥＬＥＣＴ  役職ＩＤ  ＦＲＯＭ  社員マスタ  ＷＨＥＲＥ  社員ＩＤ＝ユーザＩＤ；」は、判定項目「所属部門ＩＤ」の判定値として、ユーザ端末３０にユーザＩＤを入力したユーザの役職ＩＤを人事データベース（社員マスタ）から取得すべき旨を定義している。
【００２４】
同様に、判定項目「１歳未満の子供数」を識別する判定項目ＩＤ「Ｈ０４」に対応するＳＱＬ文「ＳＥＬＥＣＴ  ＣＯＵＮＴ（＊）  ＡＳ  １歳未満の子供数  ＦＲＯＭ  家族マスタ  ＷＨＥＲＥ  社員ＩＤ＝ユーザＩＤ  ＡＮＤ  生年月日  ＞システム日付−１年；」は、判定項目「１歳未満の子供数」の判定値として、ユーザ端末３０にユーザＩＤを入力したユーザの１歳未満の子供数を人事データベース（家族マスタ）から取得すべき旨を定義している。
【００２５】
処理定義情報格納部１１０は、各ＬＡＮに設置された各ユーザ端末３０（各ユーザ）によるワークフローの各タスクに関する処理権限の判定方法を定義した情報（以下、「判定定義情報」という）を含む、ワークフローに係る処理全般を定義した処理定義情報を格納する。具体的には、処理定義情報格納部１１０は、図５Ａ、図５Ｂおよび図６に示すように、交通費請求プロセスの各タスク（申請タスク、承認タスク、会計処理タスク、入金確認処理タスク）、および、育児休暇請求プロセスの各タスク（申請タスク、承認タスク）の処理定義情報を格納している。
【００２６】
例えば、処理定義情報格納部１１０は、図５Ａ（ａ）に示すように、交通費請求プロセス／申請タスクのタスク定義ＩＤ（処理定義情報においてタスクの種類を識別する所定の識別コード）「Ｔ０１」に対応付けて、判定項目別に判定方法を定義した判定定義情報、当該タスク（交通費請求プロセス／申請タスク）の処理後に続くタスク（直後のタスク）のタスク定義ＩＤを定義した次タスク定義情報、および、当該タスク（交通費請求プロセス／申請タスク）のタイプを定義したタスクタイプ情報を含む処理定義情報を格納している。
【００２７】
図５Ａ（ａ）に示す交通費請求プロセス／申請タスクの処理定義情報（判定定義情報）は、全てのユーザが交通費請求プロセス／申請タスクの処理権限を有する旨を定義している。また、交通費請求プロセス／申請タスクの処理定義情報（次タスク定義情報）は、交通費請求プロセス／申請タスクの直後のタスクが交通費請求プロセス／承認タスクである旨を定義している。また、交通費請求プロセス／申請タスクの処理定義情報（タスクタイプ情報）は、交通費請求プロセス／申請タスクのタイプが「申請」である旨を定義している。
【００２８】
同様に、図５Ａ（ｂ）に示す交通費請求プロセス／承認タスクの処理定義情報（判定定義情報）は、交通費請求プロセス／申請タスクの申請ユーザと同一の所属部門であって課長または部長であるユーザが交通費請求プロセス／承認タスクの処理権限を有する旨を定義している。ここで、判定定義情報として示している判定方法の式において、“＝”よりも前に記述されている「承認ユーザの所属部門ＩＤ」および「承認ユーザの役職ＩＤ」は、権限の有無を判定する際に判定値取得制御部１５０によって取得される判定値を示す。一方、“＝”よりも後に記述されている「申請ユーザの所属部門ＩＤ」および「Ｒ０３（課長）またはＲ０４（部長）」は、上述の判定値との比較対象とする情報を示す。“＝”よりも前に記述されている情報と後に記述されている情報の意味は、図５Ｂおよび図６においても同様である。
【００２９】
また、交通費請求プロセス／承認タスクの処理定義情報（次タスク定義情報）は、交通費請求プロセス／承認タスクの直後のタスクが交通費請求プロセス／会計処理タスクである旨を定義している。また、交通費請求プロセス／承認タスクの処理定義情報（タスクタイプ情報）は、交通費請求プロセス／承認タスクのタイプが「承認」である旨を定義している。
【００３０】
同様に、図５Ｂ（ｃ）に示す交通費請求プロセス／会計処理タスクの処理定義情報（判定定義情報）は、所属部門が経理部であるユーザが交通費請求プロセス／会計処理タスクの処理権限を有する旨を定義している。また、交通費請求プロセス／会計処理タスクの処理定義情報（次タスク定義情報）は、交通費請求プロセス／会計処理タスクの直後のタスクが交通費請求プロセス／入金確認タスクである旨を定義している。また、交通費請求プロセス／会計処理タスクの処理定義情報（タスクタイプ情報）は、交通費請求プロセス／会計処理タスクのタイプが「承認」である旨を定義している。
【００３１】
同様に、図５Ｂ（ｄ）に示す交通費請求プロセス／入金確認タスクの処理定義情報（判定定義情報）は、交通費請求プロセス／申請タスクの申請ユーザと同一のユーザが交通費請求プロセス／入金確認タスクの処理権限を有する旨を定義している。なお、交通費請求プロセス／入金確認タスクの処理定義情報（次タスク定義情報）は、交通費請求プロセス／入金確認タスクに続くタスクがない旨を定義している。また、交通費請求プロセス／入金確認タスクの処理定義情報（タスクタイプ情報）は、交通費請求プロセス／入金確認タスクのタイプが「承認」である旨を定義している。
【００３２】
なお、図５Ａ（ａ）（ｂ）および図５Ｂ（ｃ）（ｄ）に示す各タスクの処理定義情報は、交通費請求プロセスのプロセス定義ＩＤ（処理定義情報においてプロセスの種類を識別する所定の識別コード）「Ｐ０１」に対応付けて、ひとまとまりの情報として処理定義情報格納部１１０に格納されている。
【００３３】
図６（ａ）に示す育児休暇請求プロセス／申請タスクの処理定義情報（判定定義情報）は、１歳未満の子供が１人以上いるユーザが育児休暇請求プロセス／申請タスクの処理権限を有する旨を定義している。また、育児休暇請求プロセス／申請タスクの処理定義情報（次タスク定義情報）は、育児休暇請求プロセス／申請タスクの直後のタスクが育児休暇請求プロセス／承認タスクである旨を定義している。また、育児休暇請求プロセス／申請タスクの処理定義情報（タスクタイプ情報）は、育児休暇請求プロセス／申請タスクのタイプが「申請」である旨を定義している。
【００３４】
同様に、図６（ｂ）に示す育児休暇請求プロセス／承認タスクの処理定義情報（判定定義情報）は、育児休暇請求プロセス／申請タスクの申請ユーザと同一の所属部門であって課長または部長であるユーザが育児休暇請求プロセス／承認タスクの処理権限を有する旨を定義している。なお、育児休暇請求プロセス／承認タスクの処理定義情報（次タスク定義情報）は、育児休暇請求プロセス／承認タスクに続くタスクがない旨を定義している。また、育児休暇請求プロセス／承認タスクの処理定義情報（タスクタイプ情報）は、育児休暇請求プロセス／承認タスクのタイプが「承認」である旨を定義している。
【００３５】
なお、図６（ａ）（ｂ）に示す各タスクの処理定義情報は、育児休暇請求プロセスのプロセス定義ＩＤ「Ｐ０２」に対応付けて、ひとまとまりの情報として処理定義情報格納部１１０に格納されている。
【００３６】
履歴情報格納部１２０は、タスク処理部１７０によって処理されたタスクを示す情報を処理済タスクの履歴情報として格納する。処理済タスクの履歴情報は、処理済タスクに関するプロセス定義ＩＤ、プロセスＩＤ（履歴情報においてプロセスを識別する所定の識別コード）、タスク定義ＩＤ、タスクＩＤ（履歴情報においてタスクを識別する所定の識別コード）、ユーザＩＤ、処理権限の判定に用いた各判定項目の判定値、タスクが処理済みであることを表すステータス情報を含んでいる。
【００３７】
また、履歴情報格納部１２０は、あるタスクの処理完了時にタスク処理部１７０によって生成された承認待ちの未処理タスク（処理が完了したタスクの次に行われるべきタスク）を示す情報を未処理タスクの履歴情報として格納する。未処理タスクの履歴情報は、未処理タスクに関するプロセス定義ＩＤ、プロセスＩＤ、タスク定義ＩＤ、タスクＩＤ、処理権限の判定に用いた各判定項目の判定値、タスクが未処理であることを表すステータス情報を少なくとも含んでいる。また、未処理タスクが、その判定定義情報に判定方法の式が記述されているものであるときは、式の“＝”よりも後に記述されている比較対象の情報も更に含んでいる。この未処理タスクの履歴情報は、プロセスの途中段階のタスク（タスクタイプが「承認」の未処理タスク）を処理する際にタスク処理部１７０によって参照される。
【００３８】
例えば、図５Ａ（ａ）に示す交通費請求プロセス／申請タスクがタスク処理部１７０によって処理されたとき、タスク処理部１７０は、次に実行されるべき承認待ちの未処理タスクとして、交通費請求プロセス／承認タスクを示すプロセス定義ＩＤ、タスク定義ＩＤおよび該当申請内容に対応するプロセスＩＤ、未処理タスクに対応して新しく採番したタスクＩＤを未処理タスクの履歴情報として履歴情報格納部１２０に格納する。また、図５Ａ（ｂ）の判定定義情報において“＝”よりも後に記述されている比較対象の情報「申請ユーザの所属部門ＩＤ」の値（処理済タスクの履歴情報から取得可能）および「Ｒ０３（課長）またはＲ０４（部長）」も、未処理タスクの履歴情報の一部として履歴情報格納部１２０に格納する。
【００３９】
定義受付部１３４は、ＬＡＮ１に設置されたユーザ端末３０（判定値取得定義情報および処理定義情報の設定を変更する権限を有するユーザ）から判定値取得定義情報または処理定義情報を設定または更新すべき旨の入力を受け付ける。定義受付部１３４は、ユーザ端末３０から判定値取得定義情報を設定または更新すべき旨の入力を受け付けた場合には、当該入力内容を判定値取得定義情報格納部１００に反映させる。同様に、定義受付部１３４は、ユーザ端末３０から処理定義情報を設定または更新すべき旨の入力を受け付けた場合には、当該入力内容を処理定義情報格納部１１０に反映させる。
【００４０】
処理要求受付部１３６は、各ＬＡＮに設置された各ユーザ端末３０（各ユーザ）から、未処理タスクを一覧出力すべき旨の処理要求（以下、「一覧出力処理要求」という）を受け付ける。処理要求受付部１３６は、ユーザ端末３０から一覧出力処理要求を受け付けた場合には、ユーザ端末３０から受け付けた一覧出力処理要求をタスク処理部１７０に供給する。なお、一覧出力処理要求は、一覧出力処理要求の要求元であるユーザ端末３０に入力されたユーザＩＤを含む。
【００４１】
また、処理要求受付部１３６は、各ＬＡＮに設置された各ユーザ端末３０（各ユーザ）から、ユーザによって指定されたタスク（以下、「指定タスク」という）を処理すべき旨の処理要求（以下、「タスク処理要求」という）を受け付ける。処理要求受付部１３６は、ユーザ端末３０からタスク処理要求を受け付けた場合には、ユーザ端末３０から受け付けたタスク処理要求を判定値取得制御部１５０に供給する。なお、タスク処理要求は、タスク処理要求の要求元であるユーザ端末３０に入力されたユーザＩＤ、タスク定義ＩＤおよびタスクＩＤ（具体的には、タスクタイプが「申請」のタスク処理要求の場合はユーザＩＤおよびタスク定義ＩＤ、タスクタイプが「承認」のタスク処理要求の場合はユーザＩＤおよびおよびタスクＩＤ）を含む。
【００４２】
判定値受付部１３２は、ＨＲサーバ２０から各判定項目の判定値を取得する。例えば、判定値受付部１３２は、ＨＲサーバ２０から図７（ａ）に示す各判定項目の判定値を取得する。判定値受付部１３２は、ＨＲサーバ２０から各判定項目の判定値を取得した場合には、ＨＲサーバ２０から取得した各判定項目の判定値を判定値取得制御部１５０に供給する。
【００４３】
なお、ＨＲサーバ２０は、各判定項目の判定値を抽出すべき旨の要求であって、タスク処理要求の要求元であるユーザ端末３０に入力されたユーザＩＤ、および、各判定項目の判定値を生成するためのＳＱＬ文を保持する要求（以下、「判定値抽出要求」という）を判定値要求部１４２から取得した場合に、判定値抽出要求に保持されているユーザＩＤ、および、ＳＱＬ文に基づいて人事データベースから各判定項目の判定値を抽出し、抽出した各判定項目の判定値を判定値受付部１３２に供給する。
【００４４】
判定値取得制御部１５０は、処理要求受付部１３６からタスク処理要求を取得する。判定値取得制御部１５０は、処理要求受付部１３６からタスク処理要求を取得した場合には、判定値取得定義情報格納部１００に格納されている判定値取得定義情報を参照して、判定値抽出要求を生成する。
【００４５】
例えば、判定値取得制御部１５０は、処理要求受付部１３６からユーザＩＤ「Ｕ０７０」を含むタスク処理要求を取得した場合、図４に示す判定項目「ユーザＩＤ」の判定値を生成するためのＳＱＬ文「ＳＥＬＥＣＴ  社員ＩＤ  ＡＳ  ユーザＩＤ  ＦＲＯＭ  社員マスタ  ＷＨＥＲＥ  社員ＩＤ＝ユーザＩＤ；」、判定項目「所属部門ＩＤ」の判定値を生成するためのＳＱＬ文「ＳＥＬＥＣＴ  所属部門ＩＤ  ＦＲＯＭ  社員マスタ  ＷＨＥＲＥ  社員ＩＤ＝ユーザＩＤ；」、判定項目「役職ＩＤ」の判定値を生成するためのＳＱＬ文「ＳＥＬＥＣＴ  役職ＩＤ  ＦＲＯＭ  社員マスタ  ＷＨＥＲＥ  社員ＩＤ＝ユーザＩＤ；」、および、判定項目「１歳未満の子供数」の判定値を生成するためのＳＱＬ文「ＳＥＬＥＣＴ  ＣＯＵＮＴ（＊）  ＡＳ  １歳未満の子供数  ＦＲＯＭ  家族マスタ  ＷＨＥＲＥ  社員ＩＤ＝ユーザＩＤ  ＡＮＤ  生年月日  ＞システム日付−１年；」を判定値取得定義情報格納部１００から取得する。判定値取得定義情報格納部１００から各判定項目の判定値を生成するためのＳＱＬ文を取得した判定値取得制御部１５０は、タスク処理要求に含まれているユーザＩＤ「Ｕ０７０」、および、判定値取得定義情報格納部１００から取得した各判定項目の判定値を生成するためのＳＱＬ文を含む判定値抽出要求を生成する。判定値取得定義情報格納部１００は、生成した判定値抽出要求を判定値要求部１４２に供給する。
【００４６】
また、判定値取得制御部１５０は、判定値受付部１３２から各判定項目の判定値を取得する。より詳細には、判定値取得制御部１５０は、処理要求受付部１３６からタスク処理要求を取得し、判定値抽出要求を判定値要求部１４２に供給した後に、判定値受付部１３２から各判定項目の判定値を取得する。例えば、判定値取得制御部１５０は、ユーザＩＤ「Ｕ０７０」を含むタスク処理要求を取得し、判定値抽出要求を判定値要求部１４２に供給した後に、判定値受付部１３２から図７（ａ）に示す各判定項目の判定値を取得する。また、判定値取得制御部１５０は、ユーザＩＤ「Ｕ００５」を含むタスク処理要求を取得し、判定値抽出要求を判定値要求部１４２に供給した後に、判定値受付部１３２から図７（ｂ）に示す各判定項目の判定値を取得する。
【００４７】
判定値取得制御部１５０は、判定値受付部１３２から各判定項目の判定値を取得した場合には、判定値受付部１３２から取得した各判定項目の判定値とともに、処理要求受付部１３６から取得したタスク処理要求を権限判定部１６０に供給する。
【００４８】
判定値要求部１４２は、判定値取得制御部１５０から判定値抽出要求を取得する。より詳細には、判定値要求部１４２は、判定値取得制御部１５０が処理要求受付部１３６からタスク処理要求を取得した場合に、判定値取得制御部１５０から判定値抽出要求を取得する。判定値要求部１４２は、判定値取得制御部１５０から判定値抽出要求を取得した場合には、判定値取得制御部１５０から取得した判定値抽出要求をＨＲサーバ２０に供給する。
【００４９】
権限判定部１６０は、判定値取得制御部１５０からタスク処理要求とともに各判定項目の判定値を取得する。権限判定部１６０は、判定値取得制御部１５０からタスク処理要求とともに各判定項目の判定値を取得した場合には、処理定義情報格納部１１０に格納されている処理定義情報のみを参照して、または、判定値取得制御部１５０から取得した各判定項目の判定値および処理定義情報格納部１１０に格納されている処理定義情報を参照して、または、判定値取得制御部１５０から取得した各判定項目の判定値、処理定義情報格納部１１０に格納されている処理定義情報および履歴情報格納部１２０に格納されている未処理タスクの履歴情報を参照して、タスク処理要求の要求元であるユーザ端末３０による指定タスクの処理権限の有無を判定する。
【００５０】
例えば、権限判定部１６０は、ユーザＩＤ「Ｕ０７０」を含む交通費請求プロセス／申請タスクを指定タスクとするタスク処理要求とともに、図７（ａ）に示す各判定項目の判定値を判定値取得制御部１５０から取得したときは、処理定義情報格納部１１０に格納されている処理定義情報（判定定義情報）のみを参照して、当該ユーザ端末３０による交通費請求プロセス／申請タスクの処理権限は有ると判定する。図５Ａ（ａ）の処理定義情報（判定定義情報）によれば、全てのユーザが交通費請求プロセス／申請タスクの処理権限を有するからである。
【００５１】
また、権限判定部１６０は、ユーザＩＤ「Ｕ０７０」を含む育児休暇請求プロセス／申請タスクを指定タスクとするタスク処理要求とともに、図７（ａ）に示す各判定項目の判定値を判定値取得制御部１５０から取得したときは、判定値取得制御部１５０から取得した各判定項目の判定値、および、処理定義情報格納部１１０に格納されている処理定義情報（判定定義情報）を参照して、当該ユーザ端末３０による育児休暇請求プロセス／申請タスクの処理権限は有ると判定する。図６（ａ）の処理定義情報（判定定義情報）によれば、１歳未満の子供が１人以上いるユーザが育児休暇請求プロセス／申請タスクの処理権限を有するが、判定値取得制御部１５０から図７（ａ）に示す判定項目「１歳未満の子供」の判定値「１」を取得したからである。
【００５２】
また、図７（ａ）に示す判定値を用いて交通費請求プロセス／申請タスクを処理した結果、交通費請求プロセス／承認タスクが未処理タスクの履歴情報として履歴情報格納部１２０に格納されている場合に、ユーザＩＤ「Ｕ００５」を含む交通費請求プロセス／承認タスクを指定タスクとするタスク処理要求とともに、図７（ｂ）に示す各判定項目の判定値を権限判定部１６０が判定値取得制御部１５０から取得したときは、権限判定部１６０は、判定値取得制御部１５０から取得した各判定項目の判定値、処理定義情報格納部１１０に格納されている処理定義情報（判定定義情報）、および、履歴情報格納部１２０に格納されている指定タスクに係る未処理タスクの履歴情報（上述の判定値に対する比較対象の情報）を参照して、当該ユーザ端末３０による当該交通費請求プロセス／承認タスクの処理権限は有ると判定する。図５Ａ（ｂ）の処理定義情報（判定定義情報）によれば、交通費請求プロセス／申請タスクの申請ユーザと同一の所属部門であって課長または部長であるユーザが交通費請求プロセス／承認タスクの処理権限を有するが、図７（ｂ）に示すように、未処理タスクの履歴情報が示す判定項目「所属部門ＩＤ」の判定値「Ｄ０１（営業部）」と同一である判定項目「所属部門ＩＤ」の判定値「Ｄ０１（営業部）」、および、判定項目「役職ＩＤ」の判定値「Ｒ０３（課長）」を判定値取得制御部１５０から取得したからである。
【００５３】
権限判定部１６０は、タスク処理要求の要求元であるユーザ端末３０による指定タスクの処理権限が有ると判定した場合には、判定値取得制御部１５０から取得したタスク処理要求および各判定項目の判定値をタスク処理部１７０に供給する。一方、権限判定部１６０は、タスク処理要求の要求元であるユーザ端末３０による指定タスクの処理権限が無いと判定した場合には、処理権限が無い旨を示す処理権限無情報を生成し、処理応答部１４４に供給する。
【００５４】
タスク処理部１７０は、処理要求受付部１３６から一覧出力処理要求を取得する。タスク処理部１７０は、処理要求受付部１３６から一覧出力処理要求を取得した場合には、履歴情報格納部１２０に格納されている未処理タスクの履歴情報を参照して、承認待ちとなっている未処理タスクを表すタスク一覧情報を生成し、処理応答部１４４に供給する。なお、タスク処理部１７０は、タスクタイプが「申請」となっているタスク定義も選出して一覧情報を生成する。
【００５５】
また、タスク処理部１７０は、権限判定部１６０からタスク処理要求および各判定項目の判定値を取得する。タスク処理部１７０は、権限判定部１６０からタスク処理要求および各判定項目の判定値を取得した場合には、タスク処理要求に含まれているユーザＩＤを処理権限として、タスク処理要求の指定タスク（タスクタイプが「申請」の場合は指定タスク定義）を処理する。タスク処理部１７０は、指定タスクを処理した場合、指定タスクを処理した旨を示す処理完了情報を生成し、処理応答部１４４に供給する。
【００５６】
また、タスク処理部１７０は指定タスクを処理した場合、処理定義情報格納部１１０に格納されている処理定義情報および権限判定部１６０から取得した各判定項目の判定値を参照して、処理した指定タスクについて処理済タスクの履歴情報を生成するとともに、当該指定タスクの次に処理すべき未処理タスクの履歴情報を生成し、履歴情報格納部１２０に格納する。未処理タスクの履歴情報を生成するときに、タスク処理部１７０は、同じプロセスＩＤの処理済タスクの処理者に関する各判定項目の判定値をＨＲサーバ２０から判定値取得制御部１５０により再取得させて、当該判定値を未処理タスクの各判定項目の判定値確定に利用するようにしても良い。
【００５７】
例えば、タスク処理部１７０は、ユーザＩＤ「Ｕ０７０」を含む交通費請求プロセス／申請タスクを指定タスクとするタスク処理要求とともに図７（ａ）に示す各判定項目の判定値を権限判定部１６０から取得して交通費請求プロセス／申請タスクを処理した場合、当該交通費請求プロセス／申請タスクの処理者（申請者）を示すユーザＩＤ等を含む処理済タスクの履歴情報を生成するとともに、次に処理すべき交通費請求プロセス／承認タスクについて未処理タスクの履歴情報を生成する。
【００５８】
交通費請求プロセス／承認タスクについて未処理タスクの履歴情報を生成する際、タスク処理部１７０は最初に、図５Ａ（ａ）に示す処理定義情報（次タスク定義情報）を参照して、次に処理すべきタスクが交通費請求プロセス／承認タスクであることを確認する。そして、タスク処理部１７０は、次タスクに相当する図５Ａ（ｂ）に示す交通費請求プロセス／承認タスクの処理定義情報を参照して、当該交通費請求プロセス／承認タスクを未処理タスクとする履歴情報を生成する。
【００５９】
このときタスク処理部１７０は、処理済みである交通費請求プロセス／申請タスクの処理者に関するユーザＩＤを履歴情報格納部１２０から取得し、取得したユーザＩＤを判定値取得制御部１５０に供給して、当該ユーザＩＤに関する各判定項目の判定値の取得を要求する。この要求に応じて判定値取得制御部１５０は、図４に示した判定値取得定義情報に従いＨＲサーバ２０から交通費請求プロセス／申請タスクの処理者に関する判定値を取得し、タスク処理部１７０に供給する。
【００６０】
そして、タスク処理部１７０は、交通費請求プロセス／承認タスクの判定定義情報の式に示されている所属部門ＩＤに関する比較対象の情報「申請ユーザの所属部門ＩＤ」として、図７（ａ）に示す所属部門ＩＤの判定値「Ｄ０１（営業部）」（ＨＲサーバ２０から再取得したもの）を未処理タスクの履歴情報に組み込む。また、タスク処理部１７０は、判定定義情報の式に示されている役職ＩＤに関する比較対象の情報「Ｒ０３（課長）またはＲ０４（部長）」を未処理タスクの履歴情報に組み込む。
【００６１】
また、タスク処理部１７０は、履歴情報格納部１２０に交通費請求プロセス／承認タスクが未処理タスクの履歴情報として格納されている場合に、ユーザＩＤ「Ｕ００５」を含む交通費請求プロセス／承認タスクを指定タスクとするタスク処理要求とともに、図７（ｂ）に示す各判定項目の判定値を権限判定部１６０から取得して当該交通費請求プロセス／承認タスクを処理したときは、当該交通費請求プロセス／承認タスクの処理者（承認者）を示すユーザＩＤ等を含む処理済タスクの履歴情報を生成するとともに、次に処理すべき交通費請求プロセス／会計処理タスクについて未処理タスクの履歴情報を生成する。
【００６２】
交通費請求プロセス／会計処理タスクについて未処理タスクの履歴情報を生成する際、タスク処理部１７０は最初に、図５Ａ（ｂ）に示す処理定義情報（次タスク定義情報）を参照して、次に処理すべきタスクが交通費請求プロセス／会計処理タスクであることを確認する。そして、タスク処理部１７０は、次タスクに相当する図５Ｂ（ｃ）に示す交通費請求プロセス／会計処理タスクの処理定義情報を参照して、当該交通費請求プロセス／会計処理タスクを未処理タスクとする履歴情報を生成する。このときタスク処理部１７０は、判定定義情報の式に示されている所属部門ＩＤに関する比較対象の情報「Ｄ０２（経理部）」を未処理タスクの履歴情報に組み込む。
【００６３】
なお、交通費請求プロセス／会計処理タスクの処理完了時に交通費請求プロセス／入金確認タスクを未処理タスクとする履歴情報を生成する場合、処理済みである交通費請求プロセス／申請タスクの処理者に関するユーザＩＤを履歴情報格納部１２０から取得し、取得したユーザＩＤを判定値取得制御部１５０に供給して、当該ユーザＩＤに関する各判定項目の判定値の取得を要求する。この要求に応じて判定値取得制御部１５０は、図４に示した判定値取得定義情報に従いＨＲサーバ２０から交通費請求プロセス／申請タスクの処理者に関する判定値を取得し、タスク処理部１７０に供給する。そして、タスク処理部１７０は、交通費請求プロセス／入金確認タスクの判定定義情報の式に示されているユーザＩＤに関する比較対象の情報「申請ユーザのユーザＩＤ」として、ＨＲサーバ２０から再取得したユーザＩＤの判定値「Ｕ０７０」を未処理タスクの履歴情報に組み込む。
【００６４】
このように、本実施形態では、ＨＲサーバ２０から判定値を再取得する仕組みを採用することにより、申請済みタスクの処理者のみならず、承認済みタスクの処理者に関する判定値を他のタスクに利用することができる。
【００６５】
処理応答部１４４は、タスク処理部１７０からタスク一覧情報を取得する。処理応答部１４４は、タスク処理部１７０からタスク一覧情報を取得した場合には、一覧出力要求への応答情報として、タスク処理部１７０から取得したタスク一覧情報を一覧出力要求の要求元であるユーザ端末３０に供給する。また、処理応答部１４４は、権限判定部１６０から処理権限無情報を取得する。処理応答部１４４は、権限判定部１６０から処理権限無情報を取得した場合には、タスク処理要求への応答情報として、権限判定部１６０から取得した処理権限無情報をタスク処理要求の要求元であるユーザ端末３０に供給する。
【００６６】
また、処理応答部１４４は、タスク処理部１７０から処理完了情報を取得する。処理応答部１４４は、タスク処理部１７０から処理完了情報を取得した場合には、タスク処理要求への応答情報として、タスク処理部１７０から取得した処理完了情報をタスク処理要求の要求元であるユーザ端末３０に供給する。
【００６７】
以下、ＷＦサーバ１０の動作について説明する。図８は、図１に示すＷＦサーバ１０の動作例を示すフローチャートである。図８において、処理要求受付部１３６は、ユーザ端末３０から一覧出力処理要求またはタスク処理要求を受け付ける（ステップＳ１００）。ユーザ端末３０から一覧出力処理要求またはタスク処理要求を受け付けた処理要求受付部１３６は、取得した要求が一覧出力処理要求か否かを判断する（ステップＳ１１０）。
【００６８】
ここで、一覧出力処理要求を取得したと処理要求受付部１３６にて判断した場合（ステップＳ１１０：Ｙｅｓ）、タスク処理部１７０は、履歴情報格納部１２０に格納されている未処理タスクの履歴情報およびタスクタイプが「申請」のタスク定義を参照して、タスク一覧情報を生成する（ステップＳ１２０）。タスク一覧情報を生成したタスク処理部１７０は、生成したタスク一覧情報を処理応答部１４４に供給する。タスク処理部１７０からタスク一覧情報を取得した処理応答部１４４は、応答情報としてタスク処理部１７０から取得したタスク一覧情報を一覧出力要求の要求元であるユーザ端末３０に供給する（ステップＳ１９０）。
【００６９】
一方、一覧出力処理要求を取得していない、つまり、タスク処理要求を取得したと処理要求受付部１３６にて判断した場合（ステップＳ１１０：Ｎｏ）、処理要求受付部１３６は、ユーザ端末３０から受け付けたタスク処理要求を判定値取得制御部１５０に供給する。判定値取得制御部１５０は、判定値取得定義情報格納部１００に格納されている判定値取得定義情報を参照して判定値抽出要求を生成する。判定値抽出要求を生成した判定値取得制御部１５０は、生成した判定値抽出要求を判定値要求部１４２に供給する。判定値取得制御部１５０から判定値抽出要求を取得した判定値要求部１４２は、判定値取得制御部１５０から取得した判定値抽出要求をＨＲサーバ２０に供給する。
【００７０】
その後、判定値受付部１３２は、ＨＲサーバ２０から各判定項目の判定値を取得する（ステップＳ１３０）。ＨＲサーバ２０から各判定項目の判定値を取得した判定値受付部１３２は、ＨＲサーバ２０から取得した各判定項目の判定値を判定値取得制御部１５０に供給する。判定値受付部１３２から各判定項目の判定値を取得した判定値取得制御部１５０は、判定値受付部１３２から取得した各判定項目の判定値とともに、処理要求受付部１３６から取得したタスク処理要求を権限判定部１６０に供給する。
【００７１】
タスク処理要求を受けた権限判定部１６０は、少なくとも処理定義情報格納部１１０に格納されている処理定義情報を参照して、タスク処理要求の要求元であるユーザ端末３０による指定タスクの処理権限の有無を判定する（ステップＳ１４０）。
【００７２】
ここで、タスク処理要求の要求元であるユーザ端末３０による指定タスクの処理権限が有ると権限判定部１６０にて判定した場合（ステップＳ１４０：Ｙｅｓ）、権限判定部１６０は、判定値取得制御部１５０から取得したタスク処理要求および各判定項目の判定値をタスク処理部１７０に供給する。権限判定部１６０からタスク処理要求および各判定項目の判定値を取得したタスク処理部１７０は、タスク処理要求に含まれているユーザＩＤを処理権限にして、タスク処理要求の指定タスクを処理する（ステップＳ１５０）。
【００７３】
タスク処理要求の指定タスクを処理したタスク処理部１７０は、少なくとも処理定義情報格納部１１０に格納されている処理定義情報を参照して、処理済タスクの履歴情報を生成するとともに、次に処理すべき承認待ちのタスクとして、未処理タスクの履歴情報を生成して履歴情報格納部１２０に格納する（ステップＳ１６０）。次にタスク処理部１７０は、指定タスクを処理した旨を示す処理完了情報を生成する（ステップＳ１７０）。処理完了情報を生成したタスク処理部１７０は、生成した処理完了情報を処理応答部１４４に供給する。タスク処理部１７０から処理完了情報を取得した処理応答部１４４は、応答情報としてタスク処理部１７０から取得した処理完了情報をタスク処理要求の要求元であるユーザ端末３０に供給する（ステップＳ１９０）。
【００７４】
一方、タスク処理要求の要求元であるユーザ端末３０による指定タスクの処理権限が無いと権限判定部１６０にて判定した場合（ステップＳ１４０：Ｎｏ）、権限判定部１６０は、処理権限が無い旨を示す処理権限無情報を生成する（ステップＳ１８０）。処理権限無情報を生成した権限判定部１６０は、生成した処理権限無情報を処理応答部１４４に供給する。権限判定部１６０から処理権限無情報を取得した処理応答部１４４は、応答情報として権限判定部１６０から取得した処理権限無情報をタスク処理要求の要求元であるユーザ端末３０に供給する（ステップＳ１９０）。
【００７５】
以上、本実施形態のＷＦサーバ１０によれば、判定値取得定義情報格納部１００に格納されている判定値取得定義情報、および、処理定義情報格納部１１０に格納されている処理定義情報に従って、元々は、ＷＦサーバ１０（ワークフローシステム）との連係を想定されずに開発された人事システムのＨＲサーバ２０の人事データベースを直接参照し、処理権限の有無を判定することができるようになる。従って、ＷＦサーバ１０の内部に権限判定専用データベースを保持する場合に比べ、導入コストを小さくすることができる。権限判定専用データベース上に人事データベース上の更新内容を矛盾無く反映させるための自動反映プログラムの作成が不要となるからである。また、上述の如く、ＷＦサーバ１０とＨＲサーバ２０とは、元々は連係を想定されずに開発されたものであって、元々、各システム間の連係を想定して開発された高価なＥＲＰパッケージソフトを導入する場合などに比べ、導入コストを小さくすることができる。
【００７６】
また、ＷＦサーバ１０の内部に権限判定専用データベースを保持する場合に比べ、最新データに基づいて処理権限の有無を判定することができる。一般に、自動反映プログラムによる人事データベース上の更新内容の権限判定専用データベースへの反映は日次処理であるからである。
【００７７】
なお、上記実施形態においては、ＷＦサーバ１０は、タスク処理要求を受け付けた場合、判定値取得定義情報に定義された全ての判定項目の判定値をＨＲサーバ２０から取得しているが、タスク処理要求の指定タスクに関する処理権限の有無の判定に用いられる判定項目の判定値のみを取得してもよい。ＷＦサーバ１０およびＨＲサーバ２０の処理負荷を低減させるためである。例えば、交通費請求プロセス／会計処理タスクを指定タスクとするタスク処理要求を受け付けた場合、判定項目「所属部門ＩＤ」の判定値のみをＨＲサーバ２０から取得してもよい。図５Ｂ（ｃ）の処理定義情報（判定定義情報）によれば、ユーザの所属部門のみによって交通費請求プロセス／会計処理タスクの処理権限の有無を判定できるからである。
【００７８】
また、上記実施形態においては、判定項目「ユーザＩＤ」「所属部門ＩＤ」「役職ＩＤ」「１歳未満の子供数」の判定値を取得する取得方法を判定値取得定義情報として定義しているが、判定値取得定義情報として定義する判定項目は、ＷＦサーバ１０にて処理されるタスクに応じて異なる。例えば、ＷＦサーバ１０にて国家資格Ａの資格手当請求プロセスを更に処理する場合、更に、判定項目「国家資格Ａの保有有無」の判定値を取得する取得方法を判定値取得定義情報として定義する。なお、判定項目「国家資格Ａの保有有無」の判定値をＨＲサーバ２０から取得する場合には、人事データベース上に各種資格の保有有無を示す保有資格テーブル（非図示）が存在する必要がある。
【００７９】
また、上記実施形態においては、ＷＦサーバ１０は、あるユーザからタスク処理要求を受け付ける都度、当該ユーザに係る判定項目の判定値をＨＲサーバ２０から取得しているが、判定値を取得する態様はこれに限定されない。一例として、あるユーザからタスク処理要求を受け付けた場合に、当該ユーザに係る判定項目の判定値に加え、指定タスクに続く他のタスクに関係する他のユーザに係る判定項目の判定値も一括してＨＲサーバ２０から取得するという態様としてもよい。他のタスクの処理時に、事前に一括取得していた他のユーザに係る判定項目の判定値を利用するため、一連のタスク（プロセス）を処理する際のＨＲサーバ２０へのアクセス回数を削減できるからである。
【００８０】
例えば、あるユーザから交通費請求プロセス／申請タスクを指定タスクとするタスク処理要求を受け付けた場合、当該ユーザに係る判定項目の判定値、交通費請求プロセス／承認タスクに関係する当該ユーザの直属上司（課長、部長）に係る判定項目の判定値、および、交通費請求プロセス／会計処理タスクの経理担当者に係る判定項目の判定値を一括してＨＲサーバ２０から取得する。但し、他のタスクの処理時に、他のタスクに関係するユーザに係る判定項目の判定値をＨＲサーバ２０から都度取得する方がよい。他のタスクの処理権限の有無を最新データに基づいて判定できるからである。
【００８１】
他の一例として、同一ユーザに係る判定項目の判定値をＨＲサーバ２０から取得する回数（頻度）を制限するという態様としてもよい。ＨＲサーバ２０から取得した判定項目の判定値を一定期間（例えば２４時間）一時記憶し、一定期間内の同一ユーザからのタスクの処理時に、一時記憶している判定項目の判定値を利用するため、同一ユーザからのタスクを処理する際のＨＲサーバ２０へのアクセス回数を削減できるからである。但し、個々のタスクの処理時に、都度、判定項目の判定値をＨＲサーバ２０から都度取得する方がよい。処理権限の有無を最新データに基づいて判定できるからである。
【００８２】
また、上記実施形態においては、説明の便宜上、１つのタスク定義ＩＤのみを定義した次タスク定義情報を説明したが、次タスク定義情報に２以上のタスク定義ＩＤを定義してもよい。例えば、図５Ａ（ｂ）は、交通費請求プロセス／承認タスクの処理後は、交通費請求プロセス／会計処理タスクへと移行する旨を定義しているが、交通費請求プロセス／承認タスクの通常の承認処理後（例えば、請求金額が所定値未満の場合）は交通費請求プロセス／会計処理タスクに移行し、交通費請求プロセス／承認タスクの例外的な承認処理後（例えば、請求金額が所定値以上の場合）はもう１つ上の上司による交通費請求プロセス／承認タスクに移行するように定義してもよい。なお、この場合において、１つ上の上司による交通費請求プロセス／承認タスクの処理後は交通費請求プロセス／会計処理タスクに移行する。
【００８３】
また、上記実施形態では、判定値取得制御部１５０から取得した各判定項目の判定値と、処理定義情報格納部１１０に格納されている処理定義情報と、履歴情報格納部１２０に格納されている未処理タスクの履歴情報を参照して指定タスクの処理権限の有無を判定するようにしているが、これに限定されない。すなわち、処理権限の有無の判定に用いる比較対象の情報（上記実施形態では、未処理タスクの履歴情報に含まれていると説明している）は、履歴情報格納部１２０に格納されている処理済タスクの履歴情報および処理定義情報格納部１１０に格納されている処理定義情報から取得可能である。したがって、判定値取得制御部１５０から取得した各判定項目の判定値と、処理定義情報格納部１１０に格納されている処理定義情報と、履歴情報格納部１２０に格納されている処理済タスクの履歴情報とを参照して指定タスクの処理権限の有無を判定するようにしても良い。
【００８４】
また、上記実施形態では、タスクタイプが「申請」となっているタスク定義と、履歴情報格納部１２０に未処理タスクの履歴情報が格納されている（承認待ちとなっている）未処理タスクとを抽出してタスク一覧情報を生成する例について説明したが、本発明はこれに限定されない。例えば、タスク一覧情報を生成するときにも権限判定を行い、一覧の要求者が権限を有するタスクのみを抽出してタスク一覧情報を生成するようにしても良い。
【００８５】
この場合、処理要求受付部１３６は、一覧出力処理要求を受け付けたときに、それを判定値取得制御部１５０に通知する。判定値取得制御部１５０は、一覧出力処理要求に含まれているユーザＩＤを用いて、図４に示した判定値取得定義情報に従いＨＲサーバ２０から当該ユーザＩＤに関する判定値を取得し、権限判定部１６０に供給する。権限判定部１６０は、判定値取得制御部１５０から取得した判定値と、履歴情報格納部１２０に格納されている未処理タスクの履歴情報とを用いて、図５Ａ，図５Ｂおよび図６に示した判定条件を満たすかどうかをそれぞれの未処理タスクについて判定する。そして、条件を満たすと判定した未処理タスクを抽出してタスク処理部１７０に供給する。タスク処理部１７０は、権限判定部１６０から供給された未処理タスクと、タスクタイプが「申請」となっているタスク定義とを合わせてタスク一覧情報を生成する。
【００８６】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【００８７】
【図１】本発明の実施形態であるＷＦサーバを設置したネットワーク構成例を示す図である。
【図２】図１に示すＨＲサーバ内の人事データベースに格納されている情報の一例を示す図である。
【図３】図１に示すＷＦサーバの機能構成例を示す図である。
【図４】判定値取得定義情報格納部に格納された判定値取得定義情報の一例を示す図である。
【図５Ａ】処理定義情報格納部に格納された処理定義情報の一例を示す図である。
【図５Ｂ】処理定義情報格納部に格納された処理定義情報の一例を示す図である。
【図６】処理定義情報格納部に格納された処理定義情報の一例を示す図である。
【図７】判定値受付部によって取得された判定値の一例を示す図である。
【図８】図１に示すＷＦサーバの動作例を示すフローチャートである。
【符号の説明】
【００８８】
１０  ＷＦサーバ
２０  ＨＲサーバ
３０  ユーザ端末
１００  判定値取得定義情報格納部
１１０  処理定義情報格納部
１２０  履歴情報格納部
１３０  入力部
１３２  判定値受付部
１３４  定義受付部
１３６  処理要求受付部
１４０  出力部
１４２  判定値要求部
１４４  処理応答部
１５０  判定値取得制御部
１６０  権限判定部
１７０  タスク処理部
【図１】
2010044573.tif 000003
【図２】
2010044573.tif 000004
【図３】
2010044573.tif 000005
【図４】
2010044573.tif 000006
【図５Ａ】
2010044573.tif 000007
【図５Ｂ】
2010044573.tif 000008
【図６】
2010044573.tif 000009
【図７】
2010044573.tif 000010
【図８】
2010044573.tif 000011
【手続補正書】
【提出日】平成21年3月13日(2009.3.13)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ワークフローシステムとの連係を想定されずに開発された他システムから、ユーザによるワークフローに係る各タスクの処理権限の有無の判定に用いる１以上の判定項目の各判定値を取得する取得方法を定義した判定値取得定義情報を格納する判定値取得定義情報格納部と、
上記各タスクの種類を識別するタスク定義ＩＤに関連付けて、上記各タスクの処理権限の有無の判定方法を定義した判定定義情報、上記各タスクが申請か承認かのタイプを定義したタスクタイプ情報および、タスクの処理後に続く次のタスクを定義した次タスク定義情報を含む処理定義情報を格納する処理定義情報格納部と、
ユーザ端末よりタスク処理要求が入力されたときに、上記判定値取得定義情報格納部に格納されている上記判定値取得定義情報に基づいて、上記１以上の判定項目の判定値を取得するためのＳＱＬ文を生成し、当該ＳＱＬ文を含んだ判定値抽出要求を上記他システムのデータベースに供給することにより、その応答として上記他システムから上記各判定値を取得する判定値取得部と、
上記ユーザ端末より入力された上記タスク処理要求に含まれる上記タスク定義ＩＤに基づき特定される申請段階の未処理タスクおよび履歴情報においてタスクを識別するタスクＩＤに基づき特定される承認段階の未処理タスクの上記判定定義情報を上記処理定義情報格納部から取得し、上記判定値取得部によって取得された上記各判定値が上記判定定義情報により定義される判定方法の条件を満たすか否かにより上記未処理タスクの上記処理権限の有無を判定する権限判定部と、
上記権限判定部によって上記処理権限が有ると判定された場合に、上記未処理タスクについて上記タスクタイプ情報により定義される申請または承認の処理を実行するタスク処理部とを備え、
上記タスク処理部は、処理したタスクについてそのタスク定義ＩＤとタスクＩＤと上記処理権限の有無の判定に用いた判定値とを含む処理済タスクの履歴情報を生成するとともに、上記処理定義情報格納部に格納されている上記次タスク定義情報に基づいて、上記処理したタスクの次に処理すべきタスクを確認し、当該次に処理すべきタスクの上記判定定義情報または上記処理済タスクの履歴情報から上記処理権限の有無の判定に用いる比較対象の情報を取得し、あるいは、上記処理済みタスクについて上記処理権限の有無の判定に用いた判定値を上記判定値取得部により上記他システムから上記比較対象の情報として再取得し、上記次に処理すべきタスクについてそのタスク定義ＩＤと履歴情報においてタスクを識別するタスクＩＤと上記比較対象の情報とを含む未処理タスクの履歴情報を生成して履歴情報格納部に格納し、
上記権限判定部は、上記申請段階の未処理タスクについては、上記判定値取得部によって取得された上記各判定値が上記判定定義情報により定義される判定方法の条件を満たすか否かにより上記処理権限の有無を判定する一方、上記承認段階の未処理タスクについては、上記判定値取得部により取得された上記各判定値と上記履歴情報格納部に格納されている上記履歴情報に基づき取得される上記比較対象の情報とが上記判定定義情報により定義される判定方法の条件を満たすか否かにより上記処理権限の有無を判定することを特徴とするワークフローシステム用サーバ。
【請求項２】
ユーザ端末よりタスク処理要求が入力されたときに、ワークフローシステムとの連係を想定されずに開発された他システムからユーザによるワークフローに係る各タスクの処理権限の有無の判定に用いる１以上の判定項目の各判定値を取得する取得方法を定義した判定値取得定義情報に基づいて、上記１以上の判定項目の判定値を取得するためのＳＱＬ文を生成し、当該ＳＱＬ文を含んだ判定値抽出要求を上記他システムのデータベースに供給することにより、その応答として上記他システムから上記各判定値を取得する判定値取得ステップと、
上記各タスクの種類を識別するタスク定義ＩＤに関連付けて、上記各タスクの処理権限の有無の判定方法を定義した判定定義情報、上記各タスクが申請か承認かのタイプを定義したタスクタイプ情報および、タスクの処理後に続く次のタスクを定義した次タスク定義情報を含む処理定義情報を格納した処理定義情報格納部から、上記ユーザ端末より入力された上記タスク処理要求に含まれる上記タスク定義ＩＤに基づき特定される申請段階の未処理タスクおよび履歴情報においてタスクを識別するタスクＩＤに基づき特定される承認段階の未処理タスクの上記判定定義情報を取得し、上記判定値取得ステップによって取得された上記各判定値が上記判定定義情報により定義される判定方法の条件を満たすか否かにより上記未処理タスクの上記処理権限の有無を判定する権限判定ステップと、
上記権限判定ステップによって上記処理権限が有ると判定された場合に、上記未処理タスクについて上記タスクタイプ情報により定義される申請または承認の処理を実行するタスク処理ステップと、
上記タスク処理ステップで処理したタスクについてそのタスク定義ＩＤとタスクＩＤと上記処理権限の有無の判定に用いた判定値とを含む処理済タスクの履歴情報を生成するとともに、上記処理定義情報格納部に格納されている上記次タスク定義情報に基づいて、上記処理したタスクの次に処理すべきタスクを確認し、当該次に処理すべきタスクの上記判定定義情報または上記処理済タスクの履歴情報から上記処理権限の有無の判定に用いる比較対象の情報を取得し、あるいは、上記処理済みタスクについて上記処理権限の有無の判定に用いた判定値を上記他システムから上記比較対象の情報として再取得し、上記次に処理すべきタスクについてそのタスク定義ＩＤと履歴情報においてタスクを識別するタスクＩＤと上記比較対象の情報とを含む未処理タスクの履歴情報を生成して履歴情報格納部に格納する履歴情報格納ステップとを備え、
上記権限判定ステップでは、上記申請段階の未処理タスクについては、上記判定値取得ステップによって取得された上記各判定値が上記判定定義情報により定義される判定方法の条件を満たすか否かにより上記処理権限の有無を判定する一方、上記承認段階の未処理タスクについては、上記判定値取得ステップによって取得された上記各判定値と上記履歴情報格納部に格納されている上記履歴情報に基づき取得される上記比較対象の情報とが上記判定定義情報により定義される判定方法の条件を満たすか否かにより上記処理権限の有無を判定することを特徴とするワークフローシステムのタスク処理方法。
【手続補正書】
【提出日】平成21年6月15日(2009.6.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ワークフローシステムとの連係を想定されずに開発された他システムから、ユーザによるワークフローに係る各タスクの処理権限の有無の判定に用いる１以上の判定項目の各判定値を取得する取得方法を定義した判定値取得定義情報を格納する判定値取得定義情報格納部と、
上記各タスクの種類を識別するタスク定義ＩＤに関連付けて、上記各タスクの処理権限の有無の判定方法を定義した判定定義情報、上記各タスクが申請か承認かのタイプを定義したタスクタイプ情報および、タスクの処理後に続く次のタスクを定義した次タスク定義情報を含む処理定義情報を格納する処理定義情報格納部と、
ユーザ端末よりユーザＩＤと共にタスク処理要求が入力されたときに、上記判定値取得定義情報格納部に格納されている上記判定値取得定義情報に上記ユーザＩＤを代入することにより、上記１以上の判定項目の判定値を取得するためのＳＱＬ文を生成し、当該ＳＱＬ文を含んだ判定値抽出要求を上記他システムのデータベースに供給することにより、その応答として上記他システムから上記各判定値を取得する判定値取得部と、
上記ユーザ端末を通じてユーザにより指定された申請段階の未処理タスクおよび承認段階の未処理タスクの上記判定定義情報を上記タスク定義ＩＤをキーとして上記処理定義情報格納部から取得し、上記判定値取得部によって取得された上記各判定値が上記判定定義情報により定義される判定方法の条件を満たすか否かにより上記未処理タスクの上記処理権限の有無を判定する権限判定部と、
上記権限判定部によって上記処理権限が有ると判定された場合に、上記未処理タスクについてそのタスク定義ＩＤとタスクＩＤと上記ユーザＩＤと上記処理権限の有無の判定に用いた判定値とタスクが処理済みであることを表すステータス情報とを含む処理済タスクの履歴情報を生成するとともに、上記処理定義情報格納部に格納されている上記次タスク定義情報に基づいて次に処理すべきタスクのタスク定義ＩＤを取得し、当該取得したタスク定義ＩＤにより特定される上記次に処理すべきタスクの上記判定定義情報から上記処理権限の有無の判定に用いる比較対象の情報を取得し、あるいは、上記処理済タスクの履歴情報から上記処理権限の有無の判定に用いた判定値を上記処理権限の有無の判定に用いる比較対象の情報として取得し、あるいは、上記処理済みタスクについて上記処理権限の有無の判定に用いた判定値を上記判定値取得部により上記他システムから上記比較対象の情報として再取得し、上記次に処理すべきタスクについてそのタスク定義ＩＤと履歴情報においてタスクを識別するために採番されたタスクＩＤと上記比較対象の情報とタスクが未処理であることを表すステータス情報とを含む未処理タスクの履歴情報を生成して履歴情報格納部に格納するタスク処理部とを備え、
上記権限判定部は、上記申請段階の未処理タスクについては、上記判定値取得部によって取得された上記各判定値が上記判定定義情報により定義される判定方法の条件を満たすか否かにより上記処理権限の有無を判定する一方、上記承認段階の未処理タスクについては、上記判定値取得部により取得された上記各判定値と上記履歴情報格納部に格納されている上記履歴情報に基づき取得される上記比較対象の情報とが上記判定定義情報により定義される判定方法の条件を満たすか否かにより上記処理権限の有無を判定することを特徴とするワークフローシステム用サーバ。
【請求項２】
ユーザ端末よりユーザＩＤと共にタスク処理要求が入力されたときに、ワークフローシステムとの連係を想定されずに開発された他システムからユーザによるワークフローに係る各タスクの処理権限の有無の判定に用いる１以上の判定項目の各判定値を取得する取得方法を定義した判定値取得定義情報に上記ユーザＩＤを代入することにより、上記１以上の判定項目の判定値を取得するためのＳＱＬ文を生成し、当該ＳＱＬ文を含んだ判定値抽出要求を上記他システムのデータベースに供給することにより、その応答として上記他システムから上記各判定値を取得する判定値取得ステップと、
上記各タスクの種類を識別するタスク定義ＩＤに関連付けて、上記各タスクの処理権限の有無の判定方法を定義した判定定義情報、上記各タスクが申請か承認かのタイプを定義したタスクタイプ情報および、タスクの処理後に続く次のタスクを定義した次タスク定義情報を含む処理定義情報を格納した処理定義情報格納部から、上記ユーザ端末を通じてユーザにより指定された申請段階の未処理タスクおよび承認段階の未処理タスクの上記判定定義情報を上記タスク定義ＩＤをキーとして取得し、上記判定値取得ステップによって取得された上記各判定値が上記判定定義情報により定義される判定方法の条件を満たすか否かにより上記未処理タスクの上記処理権限の有無を判定する権限判定ステップと、
上記権限判定ステップによって上記処理権限が有ると判定された場合に、上記未処理タスクについてそのタスク定義ＩＤとタスクＩＤと上記ユーザＩＤと上記処理権限の有無の判定に用いた判定値とタスクが処理済みであることを表すステータス情報とを含む処理済タスクの履歴情報を生成するとともに、上記処理定義情報格納部に格納されている上記次タスク定義情報に基づいて次に処理すべきタスクのタスク定義ＩＤを取得し、当該取得したタスク定義ＩＤにより特定される上記次に処理すべきタスクの上記判定定義情報から上記処理権限の有無の判定に用いる比較対象の情報を取得し、あるいは、上記処理済タスクの履歴情報から上記処理権限の有無の判定に用いた判定値を上記処理権限の有無の判定に用いる比較対象の情報として取得し、あるいは、上記処理済みタスクについて上記処理権限の有無の判定に用いた判定値を上記他システムから上記比較対象の情報として再取得し、上記次に処理すべきタスクについてそのタスク定義ＩＤと履歴情報においてタスクを識別するために採番されたタスクＩＤと上記比較対象の情報タスクが未処理であることを表すステータス情報とを含む未処理タスクの履歴情報を生成して履歴情報格納部に格納するタスク処理ステップとを備え、
上記権限判定ステップでは、上記申請段階の未処理タスクについては、上記判定値取得ステップによって取得された上記各判定値が上記判定定義情報により定義される判定方法の条件を満たすか否かにより上記処理権限の有無を判定する一方、上記承認段階の未処理タスクについては、上記判定値取得ステップによって取得された上記各判定値と上記履歴情報格納部に格納されている上記履歴情報に基づき取得される上記比較対象の情報とが上記判定定義情報により定義される判定方法の条件を満たすか否かにより上記処理権限の有無を判定することを特徴とするワークフローシステムのタスク処理方法。