(57)【要約】【課題】自動承認を行うか否かを適切に制御することを目的とする。【解決手段】複数の工程を含むワークフローを管理するワークフロー管理システムであって、複数の処理担当者による処理を要する合議工程よりも後に実行される、後の処理の工程の処理担当者が、合議工程で処理を行ったユーザである場合に、合議工程で、ユーザにより入力された処理内容が賛成票の投票であるか反対票の投票であるかを確認する処理確認手段と、処理内容が賛成票の投票であった場合に、ユーザによる入力を要することなく後の処理の工程で承認がなされたものとして処理を進める自動承認を行うと判断し、処理内容が反対票の投票であった場合には、後の処理の工程で自動承認を行わないと判断する自動承認管理手段とを有する。【選択図】図１１
2016177662.tif 000002
【特許請求の範囲】
【請求項１】
複数の工程を含むワークフローを管理するワークフロー管理システムであって、
複数の処理担当者による処理を要する合議工程よりも後に実行される、後の処理の工程の処理担当者が、前記合議工程で処理を行ったユーザである場合に、前記合議工程で、前記ユーザにより入力された処理内容が賛成票の投票であるか反対票の投票であるかを確認する処理確認手段と、
前記処理内容が賛成票の投票であった場合に、前記ユーザによる入力を要することなく前記後の処理の工程で承認がなされたものとして処理を進める自動承認を行うと判断し、前記処理内容が反対票の投票であった場合には、前記後の処理の工程で前記自動承認を行わないと判断する自動承認管理手段と
を有することを特徴とするワークフロー管理システム。
【請求項２】
前記自動承認の設定が、オン、または、オフのいずれか、を確認する第１の設定確認手段をさらに有し、
前記処理確認手段は、前記自動承認の設定がオンである場合に、前記合議工程における前記処理内容が賛成票の投票であるか反対票の投票であるかを確認し、
前記自動承認管理手段は、前記自動承認の設定がオンであり、かつ前記処理内容が賛成票の投票であった場合に、前記自動承認を行うと判断し、前記自動承認の設定がオンであり、かつ前記処理内容が反対票の投票であった場合には、前記自動承認を行わないと判断することを特徴とする請求項１に記載のワークフロー管理システム。
【請求項３】
前記自動承認の実行を賛成票が投票された場合に制限する設定が、オン、または、オフのいずれか、を確認する第２の設定確認手段をさらに有し、
前記自動承認管理手段は、前記自動承認の設定及び制限の設定が共にオンであり、かつ前記処理内容が反対票の投票であった場合には、前記自動承認を行わないと判断することを特徴とする請求項２に記載のワークフロー管理システム。
【請求項４】
前記自動承認管理手段は、前記自動承認の設定及び制限の設定が共にオンであり、かつ前記処理内容が賛成票の投票であった場合には、前記自動承認を行うと判断することを特徴とする請求項３に記載のワークフロー管理システム。
【請求項５】
前記自動承認管理手段は、前記自動承認の設定がオンであり、かつ制限の設定がオフの場合には、前記処理内容に関わらず、前記自動承認を行うと判断することを特徴とする請求項３又は４に記載のワークフロー管理システム。
【請求項６】
複数の工程を含むワークフローを管理するワークフロー管理装置であって、
複数の処理担当者による処理を要する合議工程よりも後に実行される、後の処理の工程の処理担当者が、前記合議工程で処理を行ったユーザである場合に、前記合議工程で、前記ユーザにより入力された処理内容が賛成票の投票であるか反対票の投票であるかを確認する処理確認手段と、
前記処理内容が賛成票の投票であった場合に、前記ユーザによる入力を要することなく前記後の処理の工程で承認がなされたものとして処理を進める自動承認を行うと判断し、前記処理内容が反対票の投票であった場合には、前記後の処理の工程で前記自動承認を行わないと判断する自動承認管理手段と
を有することを特徴とするワークフロー管理装置。
【請求項７】
複数の工程を含むワークフローを管理するワークフロー管理システムが実行する制御方法であって、
複数の処理担当者による処理を要する合議工程よりも後に実行される、後の処理の工程の処理担当者が、前記合議工程で処理を行ったユーザである場合に、前記合議工程で、前記ユーザにより入力された処理内容が賛成票の投票であるか反対票の投票であるかを確認する処理確認ステップと、
前記処理内容が賛成票の投票であった場合に、前記ユーザによる入力を要することなく前記後の処理の工程で承認がなされたものとして処理を進める自動承認を行うと判断し、前記処理内容が反対票の投票であった場合には、前記後の処理の工程で前記自動承認を行わないと判断する自動承認管理ステップと
を含むことを特徴とする制御方法。
【請求項８】
複数の工程を含むワークフローを管理するワークフロー管理装置が実行する制御方法であって、
複数の処理担当者による処理を要する合議工程よりも後に実行される、後の処理の工程の処理担当者が、前記合議工程で処理を行ったユーザである場合に、前記合議工程で、前記ユーザにより入力された処理内容が賛成票の投票であるか反対票の投票であるかを確認する処理確認ステップと、
前記処理内容が賛成票の投票であった場合に、前記ユーザによる入力を要することなく前記後の処理の工程で承認がなされたものとして処理を進める自動承認を行うと判断し、前記処理内容が反対票の投票であった場合には、前記後の処理の工程で前記自動承認を行わないと判断する自動承認管理ステップと
を含むことを特徴とする制御方法。
【請求項９】
複数の工程を含むワークフローを管理するワークフロー管理システムで実行可能なプログラムあって、
前記ワークフロー管理システムのコンピュータを、
複数の処理担当者による処理を要する合議工程よりも後に実行される、後の処理の工程の処理担当者が、前記合議工程で処理を行ったユーザである場合に、前記合議工程で、前記ユーザにより入力された処理内容が賛成票の投票であるか反対票の投票であるかを確認する処理確認手段と、
前記処理内容が賛成票の投票であった場合に、前記ユーザによる入力を要することなく前記後の処理の工程で承認がなされたものとして処理を進める自動承認を行うと判断し、前記処理内容が反対票の投票であった場合には、前記後の工程で前記自動承認を行わないと判断する自動承認管理手段と
として機能させるためのプログラム。
【請求項１０】
複数の工程を含むワークフローを管理するワークフロー管理装置で実行可能なプログラムであって、
前記ワークフロー管理装置のコンピュータを、
複数の処理担当者による処理を要する合議工程よりも後に実行される、後の処理の工程の処理担当者が、前記合議工程で処理を行ったユーザである場合に、前記合議工程で、前記ユーザにより入力された処理内容が賛成票の投票であるか反対票の投票であるかを確認する処理確認手段と、
前記処理内容が賛成票の投票であった場合に、前記ユーザによる入力を要することなく前記後の処理の工程で承認がなされたものとして処理を進める自動承認を行うと判断し、前記処理内容が反対票の投票であった場合には、前記後の処理の工程で前記自動承認を行わないと判断する自動承認管理手段と
して機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークフロー管理システム、ワークフロー管理装置、制御方法及びプログラムに関する。
【背景技術】
【０００２】
従来、ワークフローにおいて、同一ユーザが複数の工程（アクティビティ）の処理担当者として設定されているワークフローにおいて、自動承認という機能が存在する。自動承認は、ワークフローの中のある工程において、処理担当者Ａによる承認が完了している場合に、その後の工程での、処理担当者Ａによる確認作業を要することなく、システム側で自動的に承認済みと判断して、ワークフローを進める機能である。
【０００３】
この機能を有効にした場合、過去に処理を行った処理担当者は、以降の工程での処理が不要となる。例えば、処理担当者Ａが第１の工程では課長の役割で処理を行い、その後に実行される第２の工程では、部長の役割で処理を行うというように、処理担当者Ａが組織において役割を兼任している場合がある。このような場合、第２の工程では、自動承認の機能により、システムが自動的に承認を行うため、処理担当者Ａによる作業は不要となる。
【０００４】
特許文献１には、処理担当者毎に個別の自動承認等のルールを設定しておき、申請された案件がルールに合致した場合は処理担当者が内容を確認することなく、自動承認等を行う技術が開示されている。この技術では、例えば、購買依頼書に入力された購入額が１０万円未満の場合には自動承認とする、等案件データ内の項目の状態に対するルールを設定することができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１１３８１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、既に処理を担当したユーザが再度処理担当者として設定されている場合であっても、自動承認を行わない方がよい場合もある。例えば、申請工程、合議工程、承認工程、最終承認工程の４つの工程がこの順に実行されるワークフローにおいて、合議工程と最終承認工程にユーザＡが処理担当者として設定されているとする。ここで、合議工程には、複数の処理担当者が設定されているものとする。この場合においてユーザＡは、合議工程において反対票を投じた場合には、最終承認工程において、再度自身の判断により承認又は否決の判断を下したいと考える場合もある。
【０００７】
本発明はこのような問題点に鑑みなされたもので、自動承認を行うか否かを適切に制御することを目的とする。
【課題を解決するための手段】
【０００８】
そこで、本発明は、複数の工程を含むワークフローを管理するワークフロー管理システムであって、複数の処理担当者による処理を要する合議工程よりも後に実行される、後の処理の工程の処理担当者が、前記合議工程で処理を行ったユーザである場合に、前記合議工程で、前記ユーザにより入力された処理内容が賛成票の投票であるか反対票の投票であるかを確認する処理確認手段と、前記処理内容が賛成票の投票であった場合に、前記ユーザによる入力を要することなく前記後の処理の工程で承認がなされたものとして処理を進める自動承認を行うと判断し、前記処理内容が反対票の投票であった場合には、前記後の処理の工程で前記自動承認を行わないと判断する自動承認管理手段とを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、自動承認を行うか否かを適切に制御することができる。
【図面の簡単な説明】
【００１０】
【図１】ワークフロー管理システムの全体構成図の一例である。
【図２】サーバ装置、クライアント装置、管理装置、データベースサーバのハードウェア構成を示す図である。
【図３】本発明における機能構成を示す図である。
【図４】組織の一例を示す図である。
【図５】組織図のデータの一例を示す図である。
【図６】プロセス定義の一例の概念図である。
【図７】定義情報と案件情報の関連性を示す図の一例である。
【図８】定義情報に基づいて作成された情報の一例をデータ構造で示す図である。
【図９】案件情報に基づいて作成された情報の一例をデータ構造で示す図である。
【図１０】自動承認の設定を行うためのユーザインタフェースの一例を示す図である。
【図１１】ワークフロー制御処理を示すフローチャートである。
【図１２】ワークフロー制御処理の説明図である。
【図１３】合議工程を含まないプロセス定義の一例の概念図である。
【図１４】処理履歴テーブル及び工程状態テーブルを示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面に基づいて説明する。
【００１２】
図１は、ワークフロー管理システム１００の全体構成図である。ワークフロー管理システム１００は、少なくとも１つのサーバ装置１０１と、少なくとも１つのクライアント装置１０２とを有している。ここで、サーバ装置１０１は、ワークフロー管理装置の一例である。本実施形態においては、ワークフロー管理システム１００は、サーバ装置１０１と、複数のクライアント装置１０２と、管理装置１０３、データベースサーバ１０４を有しているものとする。ユーザは、例えばウェブブラウザやクライアントソフトウェア等を利用して、クライアント装置１０２から、サーバ装置１０１に対して、ワークフロー進行の要求等を行う。
【００１３】
サーバ装置１０１は、クライアント装置１０２からの要求に応じた処理、案件の管理を行い、必要があればクライアント装置１０２に対して結果等を送信する。管理装置１０３からは、案件をしかるべき処理担当者へ処理依頼が行えるようにするための、案件の処理担当者のルールを設定したプロセス定義を登録、管理することを可能とする。また、管理装置１０３は、ワークフローシステムを運用するために必要となる、処理担当者（ユーザ）、処理担当者（ユーザ）が所属する組織の情報を登録、管理することを可能とする。また、管理装置１０３は、処理担当者（ユーザ）に紐付く役割（ロール）の情報を登録、管理することを可能とする。データベースサーバ１０４は、ワークフローシステムを運用するために必要となる。処理担当者（ユーザ）、処理担当者（ユーザ）が所属する組織、あるいは、処理担当者（ユーザ）に紐付く役割（ロール）の情報、或いは、クライアント装置１０２において案件を申請し、処理していくために必要となるアプリケーションの設計情報、を保持する。また、クライアント装置１０２によって申請された案件を管理するテーブル、配送を管理するテーブルの情報も保持する。
【００１４】
なお、サーバ装置１０１、クライアント装置１０２、管理装置１０３、データベースサーバ１０４間の通信は、通常のＨＴＴＰのリクエストでもよいし、ＳＯＡＰ等を利用したウェブサービスのリクエストでもよいこととする。
【００１５】
図２は、本発明の実施形態におけるサーバ装置１０１及びクライアント装置１０２、管理装置１０３、データベースサーバ１０４のハードウェア構成を示す図である。ＣＰＵ２０１は、システムバス２０４に接続される各デバイスを統括的に制御する。また、ＲＯＭ２０３又は外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるオペレーティングシステム（ＯＳ）や、各装置１０１、１０２の後述する各種機能を実現するためのプログラムが記憶されている。ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア、一時待避領域等として機能する。入力コントローラ２０５は、入力部２０９からの入力を制御する。この入力部２０９としては、キーボード、マウス等のポインティングデバイスが挙げられる。なお、携帯端末や、タブレット端末である場合は、タッチパネルが挙げられる。出力コントローラ２０６は、出力部２１０の表示を制御する。この出力部２１０としては、例えば、ＣＲＴや液晶ディスプレイ等が挙げられる。
【００１６】
外部メモリコントローラ２０７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ２１１へのアクセスを制御する。加えて、各装置１０１、１０２の各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ２１１としては、ハードディスク（ＨＤ）やフロッピー（登録商標）ディスク（ＦＤ）、ＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）、スマートメディア等が挙げられる。通信Ｉ／Ｆコントローラ２０８は、ネットワーク２１３を介して外部機器との通信制御処理を実行する。
【００１７】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、出力部２１０上での表示を可能としている。また、ＣＰＵ２０１は、出力部２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００１８】
本発明を実現するための後述する各種プログラムは、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ２１１に格納されており、これらについての詳細な説明も後述する。すなわち、後述する各装置の機能や処理は、ＣＰＵ２０１が外部メモリ２１１等に記録されているプログラムを読み出し、このプログラムを実行することにより実現される。
【００１９】
図３は、サーバ装置１０１及び管理装置１０３のソフトウェア構成を示す図である。サーバ装置１０１は、ソフトウェア構成として、通信部３００と、設定部３０１と、工程管理部３０２と、自動承認管理部３０３とを有している。通信部３００は、クライアント装置１０２、管理装置１０３等の外部装置との通信を行う。設定部３０１は、管理装置１０３から受信した情報、例えば、業務に対して定義がされた工程等の情報に従い、ワークフローに関する情報を設定する。工程管理部３０２は、ワークフローシステムにおける工程（アクティビティ）の進行を管理する。
【００２０】
自動承認管理部３０３は、自動承認に関する処理を行う。ここで、自動承認について説明する。ワークフローの中のある工程において、処理担当者Ａによる承認等の処理が完了しているとする。この場合に、その後に処理を行うこととなる工程での、処理担当者Ｂによる入力作業（処理）を要することなく、システム側で自動的に承認済みと判断して、この工程を完了させ、ワークフローを進める機能が、自動承認である。なお、設定部３０１が管理装置１０３より受信した設定情報により、自動承認を行うか、否か、に関する制御を行う。
【００２１】
管理装置１０３は、ソフトウェア構成として、通信部３１０と、受付部３１１とを有している。通信部３１０は、サーバ装置１０１等の外部装置との通信を行う。受付部３１１は、サーバ装置１０１における設定を行うために、ユーザから入力を受け付けるためのインタフェースである。
【００２２】
次に、ワークフローの説明に先立ち、ワークフロー中の工程で処理を担当するユーザが所属する組織について説明する。図４は、組織の一例を示す図である。図４に示す組織は、「Ａ００１」で識別される「ＡＢＣ株式会社」を最上階の階層とする組織であり、その配下に、「Ｂ００１」で識別される「開発部」が存在する。また、「開発部」の配下には、「Ｃ００１」で識別される「開発１課」と、「Ｃ００２」で識別される「開発２課」と、「Ｃ００３」で識別される「開発３課」と、「Ｃ００４」で識別される「商品企画課」とが存在する。
【００２３】
また、「Ｂ００１」の「開発部」の部長の役割は、ユーザＢに付与されている。「Ｃ００１」の「開発１課」の課長の役割は、ユーザＢに付与されている。すなわち、ユーザＢは、「開発部」の部長と「開発１課」の課長の役割を兼務している。さらに、「Ｃ００１」の「開発１課」の一般の役割は、ユーザＡに付与されている。「Ｃ００２」の「開発２課」の課長の役割は、ユーザＤに付与されている。「Ｃ００３」の「開発３課」の課長の役割は、ユーザＥに付与されている。「Ｃ００４」の「商品企画課」の課長の役割は、ユーザＣに付与されている。
【００２４】
サーバ装置１０１の外部メモリ２１１等の記憶部には、この組織図に対応する情報として、部門テーブル、ロールテーブル、ユーザテーブル、組織情報テーブルが記録されている。図５（ａ）は、部門テーブルの一例を示す図である。図５（ａ）に示す部門テーブル５００は、部門を識別する部門ＩＤと、部門名とを対応付けて記憶している。ここで、部門とは、図４に示す各階層における単位であり、本実施形態においては、会社、部、課である。さらに、本実施形態においては、部門ＩＤの先頭の「Ａ」、「Ｂ」、「Ｃ」が、各部門の階層を示すものとする。したがって、サーバ装置１０１は、図４の階層図である組織図により、「Ａ００１」が最上層（第１層）の部門であると判断することができる。同様に、サーバ装置１０１は、「Ｂ００１」、「Ｃ００１」をそれぞれ第２層、第３層の部門であると判断することができる。
【００２５】
図５（ｂ）は、ロールテーブルの一例を示す図である。図５（ｂ）に示すロールテーブル５１０は、役割（ロール）を識別するロールＩＤと、ロール名とを対応付けて記憶している。ここで、ロールとは、部長、課長、一般等、各部門、各課におけるユーザの役割である。図５（ｃ）は、ユーザテーブルの一例を示す図である。図５（ｃ）に示すユーザテーブル５２０は、ユーザを識別するユーザＩＤと、ユーザの氏名とを対応付けて記憶している。図５（ｄ）は、組織情報テーブルの一例を示す図である。図５（ｄ）に示す組織情報テーブル５３０は、ユーザＩＤと、ロールＩＤと、部門ＩＤと対応付けて記憶している。これにより、サーバ装置１０１は、各ユーザの所属部門と、各部門におけるロールとを特定することができる。
【００２６】
図６は、ワークフローとして起案される案件のプロセス定義の一例の概念図である。図６に示すプロセス定義は、実行単位としての複数の工程（アクティビティ）を含んでいる。図６に示すプロセス定義６００は、実行順に、申請工程６０１、合議工程６０２、承認工程６０３、最終承認工程６０４の４つの工程を含んでいる。サーバ装置１０１には、管理装置１０３からの、ユーザ入力に応じて、図６に示すようなプロセス定義が登録される。
【００２７】
さらに、図６に示す工程ＩＤ「ａｃｔ０００」により識別される申請工程６０１は、申請処理を行う工程であり、図４の組織図の、部署「開発１課（Ｃ００１）」の組織に所属するユーザであれば申請できる設定がされているものとする。申請工程６０１においては、処理担当者が申請の処理を行うことにより、申請工程６０１が完了し、案件は、次の工程である、合議工程６０２の処理待ち状態になる。
【００２８】
工程ＩＤ「ａｃｔ００１」により識別される合議工程６０２は、合議処理を行う工程である。ここで合議処理は、複数の処理担当者の合議結果によって次の工程に進めるか否かを判断する処理である。図６に示す合議工程６０２には、部署「開発１課」の課長の役割のユーザ、部署「開発２課」の課長の役割のユーザ及び部署「開発３課」の課長の役割のユーザがそれぞれ処理担当者として設定されている。すなわち、合議工程６０２においては、開発１課、開発２課、開発３課それぞれの計３人の課長がそれぞれ賛成又は反対等の判断結果を入力する処理を行う。そして、承認可能とする所定の割合（この割合は予め工程に定義済みとする）の判断結果が得られた場合に、合議工程６０２が完了し、次の工程へ案件の処理依頼が可能となるものとする。
【００２９】
工程ＩＤ「ａｃｔ００２」により識別される承認工程６０３は、承認処理を行う工程であり、部署「商品企画課」の課長の役割のユーザが処理担当者に設定されている。工程ＩＤ「ａｃｔ００３」により識別される最終承認工程６０４は、最終承認処理を行う工程であり、部署「開発部」の部長の役割のユーザが処理担当者に設定されている。
【００３０】
また、プロセス定義６００は、図４の組織図、図５のテーブルの情報を基に作成されたものである。申請工程６０１、合議工程６０２、承認工程６０３、最終承認工程６０４の処理担当者で特定される、実際の処理担当者の所属部門と割当てられているロールＩＤは、次のようになる。
【００３１】
申請工程６０１は、開発１課「Ｃ００１」に所属し、ロールＩＤが「Ｒ０００（一般）」を割当てられているＵ０００（ユーザＡ）が今回は申請することとする。合議工程６０２は、開発１課「Ｃ００１」に所属し、ロールＩＤが「Ｒ００１（課長）」を割当てられているＵ００１（ユーザＢ）が合議処理担当となる。また、合議工程６０２は、開発２課「Ｃ００２」に所属し、ロールＩＤが「Ｒ００１（課長）」を割当てられているＵ００２（ユーザＤ）が合議処理担当となる。また、合議工程６０２は、開発２課「Ｃ００３」に所属し、ロールＩＤが「Ｒ００１（課長）」を割当てられているＵ００２（ユーザＥ）、が合議処理担当となる。承認工程６０３は、商品企画課「Ｃ００４」に所属し、ロールＩＤが「Ｒ００１（課長）」を割当てられているＵ００４（ユーザＣ）が処理担当となる。最終承認工程６０４は、開発部「Ｂ００１」に所属し、ロールＩＤが「Ｒ００２（部長）」を割当てられているＵ００１（ユーザＢ）が処理担当となる。なお、最終承認工程６０４における処理担当者指定で特定されるユーザは、合議工程６０２において、部署「開発１課」の課長の役割で特定されるユーザと同一となることとする。すなわち、承認１工程６０２と最終承認工程６０４は同一のユーザが処理を行うプロセス定義であることとする。
【００３２】
次に、ワークフローを実現するためのデータについて説明する。データベースサーバ１０４は、ワークフローを実現するためのデータとして、設計情報である定義情報と、実際に定義情報を利用して申請された案件の情報である案件情報とを記憶している。図７は、定義情報と案件情報の一例を示す図である。図７に示す定義情報７００は、ワークフローにおいて案件を起案できるようにするために必要となる各種設計情報である。定義情報７００は、例えば、設計者が予め設計や、定義をしておくものである。なお、本実施形態に係る定義情報７００は、業務７０１と、プロセス７０２と、工程７０３と、業務項目７０４とを有している。
【００３３】
業務７０１は、ワークフローにおいて申請を行うために必要となるアプリケーションの設計情報の単位である。業務７０１は、業務ＩＤ及び業務名により識別可能とするものとする。ここにおける、業務とは、アプリケーションの設計情報のことであり、業務ＩＤは、アプリケーションの設計情報を識別するためのＩＤである。業務名は、アプリケーションの設計情報の名称である。業務７０１は、業務ＩＤにより、業務項目７０４に関連づけられている。業務項目７０４は、業務ＩＤと、項目ＩＤと、項目名と、属性と、文字数とを有している。業務ＩＤは、業務７０１の業務ＩＤと紐付く業務ＩＤである。項目ＩＤ及び項目名は、業務の中で使用される項目の識別情報及びその名前である。属性は、項目が文字列を入力する項目か、数値を入力する項目かを識別可能にする情報である。文字数は、項目において文字の表示又は入力が可能な文字数である。
【００３４】
プロセス７０２は、ワークフローで申請される業務７０１に対する、処理のルートの規則を定義したものであって、１つの業務に対し、申請部門毎に複数のプロセスを定義可能である。プロセス７０２は、プロセスＩＤと、業務ＩＤと、申請可能部門ＩＤと、プロセスデータとを有している。これらの情報により、どのようなプロセスかを識別可能とする。なお、プロセスデータにおいて、各処理（工程）において、指定が行われた処理担当者の情報を持つこととする。
【００３５】
工程７０３は、プロセス７０２で定義される処理のルートにおけるそれぞれの処理単位の定義である。例えば、承認を行うための１つの工程設定例としては、処理担当者が所属する部門ＩＤ、処理担当者の役割ＩＤ、等を設定することによって工程の定義を行うこととする。工程７０３は、工程ＩＤと、プロセスＩＤと、工程の種別と、番号と、処理担当者指定と、自動承認の設定と、制限の設定とを有している。工程７０３のプロセスＩＤと、プロセス７０２のプロセスＩＤは紐付けが可能である。
【００３６】
工程の種別は、工程本体が複数のユーザによる処理結果に応じて案件の配送先が決定される「合議」であるか、単一のユーザによる処理結果に応じて案件の配送先が決定される「担当者実行」であるか、を識別するための情報である。番号は、工程処理の順番を示す情報である。処理担当者指定は、処理担当者として指定した情報である。自動承認の設定は、自動承認を実行するか否かの設定であり、オン、または、オフの２値を取る。自動承認の設定がオンの場合に、サーバ装置１０１は、自動承認を実行する。制限の設定は、自動承認の設定がオンであり、かつ処理済みの工程が合議である場合に、自動承認の実行を賛成票が投じられた場合のみに制限するか否かの設定であり、オン、または、オフの２値を取る。制限の設定がオンに設定されている場合に、サーバ装置１０１は、自動承認の実行を制限する。
【００３７】
案件情報７１０は、ワークフローにおいて申請された案件に関する情報であり、一例として、案件内容７１１と、処理履歴７１２と、工程状態７１３とを有している。案件内容７１１は、業務７０１を基に申請されたワークフローの案件に関する情報であり、ワークフローにおいて申請された案件の最新の状態を有する。すなわち、プロセスにおける工程において処理がなされるたびに、案件内容のデータを絶えず更新する状態で保持する。
【００３８】
案件内容７１１は、業務ＩＤと、案件ＩＤと、案件内容と、プロセスＩＤと、申請部門ＩＤと、申請ロールＩＤとを有している。業務ＩＤは、申請がされた業務を識別するための情報である。案件ＩＤは、案件を識別するための情報である。案件内容は、案件に含まれる各項目の値を示す情報である。なお、この案件内容は、各種テーブル単位で項目は異なるものとする。プロセスＩＤは、案件が申請された業務に紐付くプロセス（処理の経路）を識別する情報である。申請部門ＩＤは、案件を申請した申請者が所属する部門を識別する情報である。申請ロールＩＤは、案件を申請した申請者に付与されているロールを識別する情報である。
【００３９】
処理履歴７１２は、１つの案件内容７１１に対して複数存在するものであって、案件に対して行われた処理の履歴を示す情報である。処理履歴７１２は、業務ＩＤと、案件ＩＤと、工程ＩＤと、担当者ＩＤと、状態と、処理日とを有している。業務ＩＤは、申請された業務の業務ＩＤである。案件ＩＤは、申請された案件を識別する情報である。工程ＩＤは、案件の処理を行った、プロセス７０２の中における処理単位である工程を識別する情報である。担当者ＩＤは、案件の処理を行った処理担当者を識別する情報である。状態は、工程が処理済み及び処理待ちのいずれの処理状態かを示す情報である。処理日は、案件の処理が行われた日時を示す情報である。
【００４０】
工程状態７１３は、案件内容７１１のデータを処理する、各工程の承認状態をレコードとして管理する。工程状態７１３は、業務ＩＤ、案件ＩＤと、状態ＩＤと、状態と、工程ＩＤと、担当者ＩＤと、プロセスＩＤと、番号とを有している。業務ＩＤは、申請された業務の業務ＩＤである。案件ＩＤは、申請された案件を識別する情報である。状態ＩＤは、工程の状態を識別する情報である。状態は、状態ＩＤに対応する名称である。ここで、工程の状態としては、一例として、処理担当者により処理された申請、承認、否認等の状態、合議において賛成または、反対された状態を取り得ることとする。工程ＩＤは、プロセス７０２の中における処理単位（工程）を識別する情報である。担当者ＩＤは、案件の処理を行った処理担当者を識別する情報である。プロセスＩＤは、案件が申請された業務に紐付くプロセス（処理の経路）を識別する情報である。番号は、工程が処理される順番を示す情報である。
【００４１】
なお、図中の「１」と「＊」は、１対多の関係にあることを示す。例えば、図７に示す例においては、１つの業務７０１に対応付けられた複数の業務項目７０４が存在する。業務７０１に対し、複数のプロセス７０２が存在する。また、１つのプロセス７０２に対し、複数の工程７０３が存在する。また、１つのプロセス７０２は、プロセス７０２を基に申請されたワークフローの案件データである案件情報７１０の案件内容７１１と関連付けて記憶されている。案件内容７１１に対する処理の実行の履歴は、処理単位ごとに処理履歴７１２において保持する。また、処理履歴７１２の処理単位ごとの処理の種別を工程状態７１３で管理する。
【００４２】
データベースサーバ１０４は、図７に示す定義情報及び案件情報に基づいて、ユーザ操作に応じて設定された情報、および、作成された情報を記憶部に記憶している。図８は、図７の定義情報に基づいて作成された情報を示す図である。データベースサーバ１０４は、定義情報に基づいて作成された情報として、業務テーブルと、プロセステーブルと、工程テーブルとを、記憶部に記憶している。図８（ａ）は、業務テーブルの一例を示す図である。図８（ａ）に示す業務テーブル８００は、業務７０１の実データをテーブル構造で記憶している。業務テーブル８００には、ワークフローにおいて申請される案件のアプリケーションの設計情報である業務に関する情報が登録されている。具体的には、業務テーブル８００は、業務ＩＤと、業務名とを対応付けて記憶している。図８（ａ）に示す業務テーブル８００には、業務ＩＤ「ＧＩＤ００１」と、業務名「交通費精算」とが対応付けて登録されている。
【００４３】
図８（ｂ）は、プロセステーブルの一例を示す図である。図８（ｂ）に示すプロセステーブル８１０は、プロセス７０２の実データをテーブル構造で記憶している。プロセステーブル８１０には、案件が申請される業務に紐付くプロセス定義の情報が登録されている。具体的には、プロセステーブル８１０は、プロセスＩＤと、業務ＩＤと、申請可能部門ＩＤと、プロセスデータとを対応付けて記憶している。プロセスＩＤは、プロセスそのものを識別するための情報である。業務ＩＤは、プロセスが適応されている業務を識別するための情報である。申請可能部門ＩＤは、プロセスが適応されている業務を申請可能とする組織を識別するための情報である。プロセスデータは、処理（工程）毎に指定されている処理担当者の情報（実際のプロセス定義）を持つこととする。
【００４４】
図８(ｂ)に示すプロセステーブル８１０には、プロセスＩＤ「ＰＩＤ００１」、業務ＩＤ「ＧＩＤ００１」、申請可能部門ＩＤ「Ｃ００１」が対応付けて登録されている。また、プロセスデータとしては、例えば、図６に示すようなプロセス（処理の経路）を示す情報が記録される。具体的には、図６に示すプロセスに対応するプロセスデータとしては、申請可能部門の申請者、合議（開発１課の課長、開発２課の課長、開発３課の課長）、商品企画課の課長、開発部の部長の順に処理されるように指定された情報が登録されることとする。なお、この各処理単位である各工程の処理担当者の指定は、図１０を参照しつつ説明するユーザインタフェースにおいて行うことができる。
【００４５】
図８（ｃ）は、工程テーブルの一例を示す図である。図８（ｃ）に示す工程テーブル８２０は、工程７０３の実データをテーブル構造で記憶している。工程テーブル８２０には、案件が誰にどの順番で処理されるのかを定義したプロセス定義の各処理の処理担当者の情報が登録される。具体的には、工程テーブル８２０は、工程ＩＤと、工程が属するプロセスのプロセスＩＤと、工程の種別と、番号と、処理担当者指定と、自動承認の設定と、制限の設定とを対応付けて記憶している。ここでいう、処理担当者指定とは、処理を行う者として指定された処理担当者の情報のことである。また、自動承認の設定には、自動承認の設定がオンの場合に「ＯＮ」のフラグ、が登録され、オフの場合に「ＯＦＦ」のフラグが登録される。制限の設定には、制限の設定がオンの場合に「ＯＮ」のフラグが登録され、オフの場合に「ＯＦＦ」のフラグが登録される。
【００４６】
図９は、図７の案件情報７１０に基づいて作成された情報を示す図である。データベースサーバ１０４は、案件情報に基づいて作成された情報として、案件内容テーブルと、処理履歴テーブルと、工程状態テーブルとを記憶部に記憶している。図９（ａ）は、案件内容テーブルの一例を示す図である。図９（ａ）に示す案件内容テーブル９００は、案件内容７１１の実データをテーブル構造で記憶している。案件内容テーブル９００には、ワークフローにおいて申請がされた案件のデータの最新の情報が保持される。具体的には、案件内容テーブル９００は、業務ＩＤ、案件ＩＤ、案件内容（本実施例においては、商品名、購入先、購入時期、金額、目的、の項目）と、プロセスＩＤ、申請部門ＩＤと、申請ロールＩＤとを対応付けて記憶している。クライアント装置１０２におけるユーザ操作に応じて、新規案件が申請された場合に、案件内容テーブル９００には、案件の申請を識別するために、申請された案件内容そのものを、案件ＩＤ等を関連付け登録する。そして、当該案件のプロセスにおける後続の工程において案件の処理が行われたタイミングで、処理を行った時点の案件内容で案件内容テーブル９００の案件内容を更新する。
【００４７】
部門ＩＤ「Ｃ００１」、ロールＩＤ「Ｒ０００」のユーザによって、案件ＩＤ「０００２」の案件が申請されたとする。また、案件に係る業務の業務ＩＤは「ＧＩＤ００１」、プロセスＩＤは「ＰＩＤ００１」であるとする。この場合、図９（ａ）に示すように、案件内容テーブル９００には、業務ＩＤ「ＧＩＤ００１」（ワークフローにおいては申請するための業務）と、プロセスＩＤ「ＰＩＤ００１」と、案件ＩＤ「０００２」とが登録される。さらに、これに対応付けて、案件内容テーブル９００には、申請部門ＩＤ「Ｃ００１」と、申請ロールＩＤ「Ｒ０００」とが登録される。そして、案件内容として、数量、購入先、購入時期、金額、目的の各項目において申請された値が登録される。
【００４８】
図９（ｂ）は、処理履歴テーブルの一例を示す図である。図９（ｂ）に示す処理履歴テーブル９１０は、処理履歴７１２の実データをテーブル構造で記憶している。処理履歴テーブル９１０には、申請された案件に対する処理履歴の情報がプロセス定義の工程単位で記憶される。具体的には、処理履歴テーブル９１０は、業務ＩＤと、案件ＩＤと、工程ＩＤと、担当者ＩＤと、状態と、処理日とを対応付けて記憶している。業務ＩＤには、申請された業務の業務ＩＤがされ、案件ＩＤには、申請された案件を識別するためのＩＤが登録され、工程ＩＤには、その案件が処理された工程の工程ＩＤが登録される。担当者ＩＤには、処理を行った処理担当者のユーザＩＤが登録される。状態には、案件が処理済なのか、処理待ちなのかの状態を示す状態の名称が登録される。処理日には、案件に対する承認等の実際の処理が行われた日時が登録される。
【００４９】
図９（ｃ）は、工程状態テーブルの一例を示す図である。図９（ｃ）に示す工程状態テーブル９２０は、工程状態７１３の実データをテーブル構造で記憶している。工程状態テーブル９２０は、申請された案件に紐付くプロセス定義の工程単位で、工程の状態を処理担当者の処理毎にレコード管理するテーブルである。工程状態テーブル９２０は、業務ＩＤ、案件ＩＤと、状態ＩＤと、状態と、工程ＩＤと、担当者ＩＤと、プロセスＩＤ、番号とを対応付けて記憶している。ここでいう、案件ＩＤは、申請された案件を識別する情報である。状態ＩＤは、状態を識別する情報である。業務ＩＤには、申請された業務の業務ＩＤがされ、案件ＩＤには、申請された案件を識別するためのＩＤが登録される。状態ＩＤには、その案件が処理された工程の状態を識別するためのＩＤが登録される。状態には、その案件が処理された工程の処理された状態を識別するための状態の名称が、登録される。工程ＩＤには、その案件が処理された工程の工程ＩＤが登録される。担当者ＩＤには、処理を行った処理担当者のユーザＩＤが登録される。プロセスＩＤには、案件が起案された業務に付随するプロセスを識別するためのＩＤが登録される。番号には、工程ＩＤで管理される工程が処理される順番が登録される。
【００５０】
なお、図７〜図９を参照しつつ説明したデータベースサーバ１０４が記憶している各種テーブルの構成は、一例であり、同様の情報とその関係性が記憶されていればよく、そのための具体的な構成は、実施形態に限定されるものではない。
【００５１】
図１０は、プロセステーブルと工程テーブルの情報を設定する際のユーザインタフェースの一例を示す図である。図１０（ａ）〜（ｃ）は、それぞれ管理装置１０３の出力部２１０としての表示装置に表示される表示画面の一例を示す図である。ワークフロー管理システム１００の管理者等がこの表示画面を見ながら入力した情報が、ネットワークを介してデータベースサーバ１０４に送信され、各種テーブルに登録される。
【００５２】
図１０（ａ）の管理ツール画面１０００は、経路エディタである。さらに、ここで、ユーザが、１つの工程（工程）を選択すると、図１０（ｂ）に示す管理ツール画面１０１０が表示される。ここで、各工程の処理担当者に対応する部門、ロール等を設定することができる。図１０（ｃ）に示す管理ツール画面１０２０において、自動承認の設定及び制限の設定へのオン、または、オフの設定を行うことができる。自動承認の設定及び制限の設定の実際の工程における設定はそれぞれ管理ツール画面１０２０の１０２１、１０２２に示すように、処理担当者指定が行われる工程のプロパティとして設定される。
【００５３】
すなわち、管理ツール画面１０２０において、「処理担当者が、以前に処理したユーザと同じ場合は自動承認とする設定」（１０２１）にチェックが入力されたとする。この場合、管理装置１０３によって送信された、自動承認の設定「ＯＮ」の情報を、サーバ装置１０１の通信部３００がこの情報を受信すると、設定部３０１は、自動承認の設定をオンにする。そして、設定部３０１は、図８（ｃ）に示す工程テーブル８２０の自動承認の設定に自動承認を実行することを示す「ＯＮ」を登録する。
【００５４】
また、管理ツール画面１０２０において、「以前に処理した工程が合議であれば、賛成票を投じていた場合のみ自動承認とする設定」（１０２２）にチェックが入力されたとする。この場合、管理装置１０３によって送信された、制限の設定「ＯＮ」の情報をサーバ装置１０１の通信部３００が受信すると、設定部３０１が、制限の設定をオンにし、工程テーブル８２０の制限の設定に自動承認の制限を実行することを示す「ＯＮ」を登録する。
【００５５】
なお図１０を参照しつつ説明したユーザインタフェースを用いた管理者（設定者）による設定を行う装置は、管理装置１０３に限定されるものではない。他の例としては、サーバ装置１０１の出力部２１０に図１０に示すユーザインタフェースを表示し、管理者等は、サーバ装置１０１に直接必要なデータを入力してもよい。この場合、サーバ装置１０１は、入力された情報を受け付け、これを各種テーブル等に登録する。
【００５６】
図１１は、サーバ装置１０１により実行されるワークフロー制御処理を示すフローチャートである。ここでは、図４に示す組織に対応する図５の情報と、図８、図９に示す情報がデータベースサーバ１０４の記憶部に記憶されているものとし、図６のプロセス定義６００に従って、ワークフローが進められるものとする。以下では、適宜、ユーザＢ（図５）が合議工程において案件の処理を行った後に、次の承認工程において配送を行い、更に次の最終承認工程に処理依頼を進める場合を、例を挙げて、本発明におけるワークフロー制御処理について説明する。
【００５７】
Ｓ１１０１において、工程管理部３０２は、ワークフローの処理担当者によって申請、承認等の配送処理を行う。次に、Ｓ１１０２において、サーバ装置１０１は、案件内容テーブル９００に対し、業務ＩＤ、案件ＩＤをキーとし、Ｓ１１０１で配送を行った時点の案件の内容で案件内容テーブル９００を更新する。なお、Ｓ１１０１の配送工程が申請の工程である場合は、案件内容テーブル９００へ対する登録処理となる。
【００５８】
例えば、業務ＩＤが「Ｇ００１」で申請された案件ＩＤが「０００２」である場合、図９（ａ）案件内容テーブル９００の（１）ａｃｔ０００配送時で図示するレコードが案件内容テーブル９００に登録される。そして、承認処理が行われた場合、図９（ａ）の（２）ａｃｔ００１配送時から図９（ａ）の（４）ａｃｔ００３配送時に示すように、承認処理（合議の場合は合議処理）が行われた単位ごとにレコードが更新されることとする。例えば、（３）ａｃｔ００２配送時で図示するレコードにおいては、工程ＩＤ「ａｃｔ００２」の処理担当者が、数量を「５０」として処理を行ったため、数量が「５０」、金額が「２，５００円」として案件内容が更新されている。
【００５９】
次に、Ｓ１１０３において、サーバ装置１０１は、処理履歴テーブル９１０に対して、Ｓ１１０１で配送を行った工程に該当するレコードの状態の項目を「処理待ち」から「処理済み」とし、配送が完了した状態とする。例えば、業務ＩＤが「Ｇ００１」で申請された案件ＩＤが「０００２」であり、Ｓ１０１１において、工程が「ａｃｔ００２」の配送を行った場合（承認を行った場合）、処理履歴テーブル９１０の９１１のレコードに示すように、状態を「処理済み」に更新する。そして処理日を処理した日時で更新する。
【００６０】
次に、Ｓ１１０４において、サーバ装置１０１は、Ｓ１１０１で配送（処理）が行われた時点の処理の状態を、工程状態テーブル９２０に登録する。例えば、図９（ａ）の案件内容テーブル９００の「業務ＩＤ」、「案件ＩＤ」の値をもとに、図９（ｃ）の工程状態テーブル９２０の「業務ＩＤ」、「案件ＩＤ」に登録する。また、図９（ｃ）の工程状態テーブル９２０の状態ＩＤには、Ｓ１１０１で行われた処理の状態、例えば、申請、承認、や、合議である場合には、賛成、反対等の状態を識別するためのＩＤが登録され、状態には、状態ＩＤに紐付く状態の名称が登録される。工程ＩＤには、実際に処理を行ったプロセスにおける工程の、工程ＩＤが登録される。担当者ＩＤには、実際に処理を行ったユーザのユーザＩＤが登録される。プロセスＩＤには、案件が処理されるプロセスのプロセスＩＤが登録される。番号には、プロセスにおいて工程の処理が行われる順番が登録される。
【００６１】
次に、Ｓ１１０５において、工程管理部３０２は、Ｓ１１０１において配送を行った工程がプロセスにおける最終工程か否かを判定する。Ｓ１１０５において、工程管理部３０２が、Ｓ１１０１において配送を行った工程がプロセスにおける最終工程であると判定した場合は、Ｓ１１１３へ処理を進める。Ｓ１１０５において、工程管理部３０２が、Ｓ１１０１において配送を行った工程がプロセスにおける最終工程でないと判定した場合は、Ｓ１１０７へ処理を進める。
【００６２】
Ｓ１１０７において、工程管理部３０２は、Ｓ１１０１において配送処理が行われた案件のプロセス定義に基づいて、次の工程の処理担当者が存在するかを確認する。Ｓ１１０７において、工程管理部３０２は、具体的には、まず処理履歴テーブル９１０を参照し、工程ＩＤ「ａｃｔ００２」の工程まで処理済みであることを特定する。そして、工程管理部３０２は、工程テーブル８２０から、工程ＩＤ「ａｃｔ００２」の工程の次の工程、すなわち、工程ＩＤ「ａｃｔ００３」の工程を次の工程として特定する。そして、工程管理部３０２は、図８（ｃ）に示す工程テーブル８２０に「ａｃｔ００３」に対応する処理担当者指定にユーザＩＤが設定されていることから、次の工程の処理担当者が存在すると判断する。なお、他の例としては、工程管理部３０２は、工程テーブル８２０に替えて、図８（ｂ）に示すプロセステーブル８１０のプロセスデータを参照することにより、次の処理を行う工程の処理担当者が存在するか否かを確認してもよい。
【００６３】
工程管理部３０２は、次の工程の処理担当者が存在すると判定した場合には（Ｓ１１０７でＹｅｓ）、処理をＳ１１０９へ進める。工程管理部３０２は、次の工程の処理担当者が存在しないと判定した場合には（Ｓ１１０７でＮｏ）、Ｓ１１０８へ処理を進める。Ｓ１１０８において、サーバ装置１０１は、次の工程の処理担当者が存在しないため、案件内容テーブル９００、処理履歴テーブル９１０、工程状態テーブル９２０に対して処理された内容をロールバックする。そして、次の工程において配送処理に失敗したと判断して、ワークフロー制御処理を終了する。
【００６４】
Ｓ１１０９において、サーバ装置１０１は、処理履歴テーブル９１０に対して、Ｓ１１０７で次の工程として特定した工程に該当するレコードを作成する。例えば、業務ＩＤが「Ｇ００１」で申請された案件ＩＤが「０００２」であり、Ｓ１１０１において、工程が「ａｃｔ００２」の配送を行い場合（承認を行い）、Ｓ１１０７において、次の工程が「ａｃｔ００３」であると特定したとする。この場合、処理履歴テーブル９１０のレコード９１２のように、業務ＩＤを「Ｇ００１」、案件ＩＤを「０００２」、工程ＩＤを「ａｃｔ００３」の値で登録する。さらに、担当者ＩＤを、プロセス定義６００のａｃｔ００３で特定されるユーザである「Ｕ００１」、状態を「処理待ち」の値で登録する。
【００６５】
Ｓ１１１０において、自動承認管理部３０３は、図８（ｃ）に示す工程テーブル８２０から、次の工程の自動承認の設定及び制限の設定の内容を取得する。前述のように、自動承認の設定及び制限の設定の内容（オン、又は、オフ）は、図１０（ｃ）に示す管理ツール画面１０２０において設定される。図９（ｂ）の処理履歴テーブル９１０のように、「ａｃｔ００２」の処理済みの状態において、Ｓ１１１０が実行されたとする。この場合、自動承認管理部３０３は、図８（ｃ）に示す工程テーブル８２０より、工程ＩＤ「ａｃｔ００３」、プロセスＩＤ「ＰＩＤ００１」のレコード８２１の自動承認の設定及び制限の設定の内容を取得する。この場合、自動承認の設定及び制限の設定として、いずれも「ＯＮ」の値が得られる。
【００６６】
次に、Ｓ１１１１において、自動承認管理部３０３は、Ｓ１１１０において取得した、自動承認の設定が「ＯＮ」である（自動承認を実行する設定になっている）か、否かを確認する（第１の設定確認処理）。自動承認管理部３０３は、自動承認の設定が「ＯＮ」である場合（Ｓ１１１１でＹｅｓ）、処理をＳ１１１４へ進める。自動承認管理部３０３は、自動承認の設定が「ＯＮ」でない場合には（Ｓ１１１１でＮｏ）、処理をＳ１１１２へ進める。
【００６７】
Ｓ１１１２において、自動承認管理部３０３は、次の工程で自動承認を行わないと判断する。Ｓ１１１３において、サーバ装置１０１は、案件内容テーブル９００、処理履歴テーブル９１０、工程状態テーブル９２０に対して処理された内容をコミットする。すなわち、Ｓ１１０２〜Ｓ１１０４で処理された内容でコミットする。そして、本処理を終了する。
【００６８】
なお、Ｓ１１１３が終了した後、工程管理部３０２は、処理担当者による承認等の配送の処理を受け付けるまで待機する。工程管理部３０２は、処理担当者による配送の処理を受け付けると、処理待ちとなっている工程に対して、再び本処理を実行することとなる。
【００６９】
一方、Ｓ１１１４において、自動承認管理部３０３は、Ｓ１１０７において確認した、次の工程の処理担当者が、処理対象の案件の既に処理済みの工程において処理担当者として処理を行っているか否かを確認する。すなわち、Ｓ１１０７において、次の工程がプロセス定義６００のａｃｔ００３であり、特定されるユーザが「Ｕ００１」であると確認した場合、「Ｕ００１」（ユーザＢ）が過去に当該案件を処理したことがあるかを処理履歴テーブル９１０より確認する。この場合、自動承認管理部３０３は、処理履歴テーブル９１０のレコード９１３を参照することにより、ユーザＢ（ユーザＩＤが「Ｕ００１」のユーザ）により、既に工程ＩＤ「ａｃｔ００１」の処理が行われていることを確認することができる。
【００７０】
自動承認管理部３０３は、次の工程の処理担当者が既に処理を担当していると確認した場合には（Ｓ１１１４でＹｅｓ）、処理をＳ１１１５へ進める。自動承認管理部３０３は、次の工程の処理担当者がこの案件に対する処理を担当していないと確認した場合には（Ｓ１１１４でＮｏ）、処理をＳ１１１２へ進める。図９（ｂ）に示す処理履歴テーブル９１０の９１３のレコードにおいては、次の工程の処理担当者「Ｕ００１」のユーザＢが同一案件の工程ＩＤ「ａｃｔ００１」において処理を行っている。このため、処理はＳ１１１５に進むこととなる。
【００７１】
Ｓ１１１５において、自動承認管理部３０３は、Ｓ１１１０において取得した、制限の設定が「ＯＮ」である（自動承認を制限する設定になっている）か、否かを確認する（第２の設定確認処理）。自動承認管理部３０３は、制限の設定が「ＯＮ」であると確認した場合には（Ｓ１１１５でＹｅｓ）、処理をＳ１１１６へ進める。自動承認管理部３０３は、制限の設定に「ＯＮ」でないと確認した場合には（Ｓ１１１５でＮｏ）、処理をＳ１１１８へ進める。
【００７２】
Ｓ１１１６において、自動承認管理部３０３は、次の工程の処理担当者が既に処理済みの工程が合議工程であるか否かを確認する。自動承認管理部３０３は、合議工程であると判定した場合には（Ｓ１１１６でＹｅｓ）、処理をＳ１１１７へ進める。自動承認管理部３０３は、合議工程でないと判定した場合には（Ｓ１１１６でＮｏ）、処理をＳ１１１８へ進める。例えば、自動承認管理部３０３は、図９（ｂ）に示す処理履歴テーブル９１０のレコード９１３により、「Ｕ００１」で識別される次の工程の処理担当者（ユーザＢ）が処理済みの工程の工程ＩＤ「ａｃｔ００１」を特定する。そして、自動承認管理部３０３は、図８（ｃ）に示す工程テーブル８２０を参照し、工程ＩＤ「ａｃｔ００１」で識別される工程が工程の種別より、合議工程であることを特定することができる。この場合には、処理は、Ｓ１１１７へ進むこととなる。
【００７３】
Ｓ１１１７において、自動承認管理部３０３は、図９（ｃ）に示す工程状態テーブル９２０を参照し、次の工程の処理担当者が既に処理済みの合議工程において賛成票を投じたか否かを確認する。なお、次の工程とは、既に処理済みの合議工程よりも後に実行される後の処理を行う工程の一例である。また、Ｓ１１１７の処理は、合議工程よりも後に実行され工程の処理担当者が、合議工程で処理を行ったユーザである場合に、合議工程でユーザにより入力された処理内容が賛成票の投票であるか反対票の投票であるかを確認する処理確認処理の一例である。
【００７４】
自動承認管理部３０３は、賛成票を投じたと判定した場合には（Ｓ１１１７でＹｅｓ）、処理をＳ１１１８へ進める。自動承認管理部３０３は、反対票を投じたと判定した場合には（Ｓ１１１７でＮｏ）、処理をＳ１１１２へ進める。Ｓ１１１８において、自動承認管理部３０３は、次の工程で自動承認を行うと判断する。その後、工程管理部３０２は、Ｓ１１０７において次の工程であると判断した工程を配送する対象とし、再度本処理を実行するために、Ｓ１１０１へ処理を進める。なお、Ｓ１１１２及びＳ１１１８の処理は、自動承認管理処理の一例である。
【００７５】
このように、本実施形態に係るサーバ装置１０１は、合議工程の後において処理がなされようとする工程で自動承認を行うか否かを判定するものである。但し、サーバ装置１０１は、合議工程よりも後の処理工程で自動承認を行うか否かを判定すればよく、自動承認の判定タイミングは、実施形態に限定されるものではない。他の例としては、サーバ装置１０１は、合議工程の終了後、次の工程の開始前に、合議工程以降の複数の工程それぞれにおいて自動承認を行うか否かを判定してもよい。なお、サーバ装置１０１は、合議工程以降の各工程で自動承認を行うか否かを判定する際には、合議工程以降の各工程を対象として、Ｓ１１０７〜Ｓ１１１８のテーブル更新以外の処理を実行すればよい。また、他の例としては、サーバ装置１０１は、例えば、図６に示すプロセス定義において、承認工程６０３が処理待ちの工程である場合に、次の承認工程６０４で自動承認を行うか否かの判定を行ってもよい。
【００７６】
以下、図６に示すプロセス定義の最終承認工程を次の工程として、ワークフロー制御処理が実行された場合について、より具体的に説明する。図１２は、ワークフロー制御処理の説明図である。図１２（ａ）〜（ｃ）には、設定内容と、ワークフローにおける処理内容の例を示している。図１２（ａ）は、最終承認工程の自動承認の設定及び制限の設定にはいずれも「ＯＮ」が登録されており、最終承認工程の処理担当者であるユーザＢが、処理済みの合議工程において、賛成票を投じた場合の処理の遷移を示す図である。この場合、自動承認管理部３０３は、ユーザＢが合議工程において処理担当者として案件を処理済みであり、かつ合議工程における投票が賛成票であることから、最終承認工程において自動承認を行う。
【００７７】
図１２（ｂ）は、最終承認工程の自動承認の設定及び制限の設定には、いずれも「ＯＮ」が登録されており、かつ最終承認工程の処理担当者であるユーザＢが、処理済みの合議工程において、反対票を投じた場合の処理の遷移を示す図である。この場合、工程管理部３０２は、ユーザＢが合議工程において処理担当者として案件を処理済みであり、かつ合議工程における投票が反対票であることから、最終承認工程において、自動承認を行わないと判断する。これにより、サーバ装置１０１は、処理担当者が既に処理を行ったユーザであっても、処理内容が反対票の投票であった場合には、自動承認を行うことなく、処理担当者による実際の処理により工程を完了することができる。
【００７８】
図１２（ｃ）は、最終承認工程の自動承認の設定に「ＯＮ」が登録されており、制限の設定に「ＯＦＦ」が登録されている場合の処理の遷移を示す図である。なお、ワークフローにおける処理結果は、図１２（ａ）に示す例と同様であり、ユーザＢは、合議工程において、賛成票を投じている。この場合、自動承認管理部３０３は、制限の設定に「ＯＦＦ」が設定されているので、合議工程における投票内容に関わらず、すなわち処理内容が賛成票の投票であるか反対票の投票であるかに関わらず、最終承認工程において自動承認を行う。
【００７９】
図１２（ｄ）は、最終承認工程の自動承認の設定に「ＯＮ」が登録されており、制限の設定に「ＯＦＦ」が登録されている場合の処理の遷移を示す図である。なお、ワークフローにおける処理結果は、図１２（ｂ）に示す例と同様であり、ユーザＢは、合議工程において、反対票を投じている。この場合、自動承認管理部３０３は、制限の設定に「ＯＦＦ」が設定されているので、合議工程における投票内容に関わらず、すなわち処理内容が賛成票の投票であるか反対票の投票であるかに関わらず、最終承認工程において自動承認を行う。
【００８０】
次に、図１３に示すプロセス定義の最終承認工程が処理待ちとなるように、ワークフロー制御処理が実行され、かつ、自動承認を行うか否かを判断する場合の工程が合議でない場合について説明する。なお、図１３は、合議工程を含まないプロセス定義の一例の概念図である。図１３に示すプロセス定義１３００は、実行順に、申請工程１３０１、承認１工程１３０２、承認２工程１３０３、最終承認工程１３０４の４つの工程を含んでいる。承認１工程１３０２は、図４の組織図上、部署「開発１課（Ｃ００１）」の組織に所属するユーザであれば申請できる設定がされているものとする。なお、本実施例において、申請工程は、部署「開発１課」の一般の役割のユーザが行うこととする。承認２工程１３０３は、部署「商品企画課」の課長の役割のユーザが処理を行うこととする。最終承認工程１３０４は、部署「開発部」の部長の役割のユーザが処理を行うこととする。
【００８１】
また、プロセス定義１３００は、図４の組織図、図５のテーブルの情報を基に作成されたものである。申請工程１３０１、承認１工程１３０２、承認２工程１３０３、最終承認工程１３０４の処理担当者で指定される、所属部門と割当てられているロールＩＤと、その情報により特定される実際の処理担当者は次のようになる。
【００８２】
申請工程１３０１は、開発１課「Ｃ００１」に所属し、ロールＩＤが「Ｒ０００（一般）」を割当てられているＵ０００（ユーザＡ）が今回は申請することとする。承認１工程１３０２は、開発１課「Ｃ００１」に所属し、ロールＩＤが「Ｒ００１（課長）」を割当てられているＵ００１（ユーザＢ）となる。承認２工程１３０３は、商品企画課「Ｃ００４」に所属し、ロールＩＤが「Ｒ００１（課長）」を割当てられているＵ００４（ユーザＣ）となる。最終承認工程１３０４は、開発部「Ｂ００１」に所属し、ロールＩＤが「Ｒ００２（部長）」を割当てられているＵ００１（ユーザＢ）となる。
【００８３】
なお、最終承認工程１３０４における処理担当者指定で特定されるユーザは、承認１工程１３０２において、部署「開発１課」の課長の役割で特定されるユーザと同一となることとする。すなわち、承認１工程１３０２と最終承認工程１３０４は同一のユーザが処理を行うプロセス定義であることとする。
【００８４】
図１４（ａ）、（ｂ）、（ｃ）はそれぞれ、プロセス定義１３００によって処理された案件に関連するデータを保持する、案件内容テーブル１４００、処理履歴テーブル１４１０及び工程状態テーブル１４２０を示す図である。状態としては、Ｓ１１０１における、工程ＩＤがａｃｔ００２の工程の処理（配送）が終了し、Ｓ１１０９の処理で次の工程である工程ＩＤがａｃｔ００３の工程を処理待ち状態としたレコードを、処理履歴テーブル１４１０へ登録した状態である。なお、工程ＩＤがａｃｔ００３の工程の、自動承認の設定及び制限の設定には、いずれも「ＯＮ」が登録されているものとする。
【００８５】
この場合、Ｓ１１１１において、自動承認条件の設定が「ＯＮ」であることが確認され、Ｓ１１１４において、次の工程（最終承認工程）の処理担当者が案件を処理済みであることが確認される。つまり、最終承認工程１３０４の処理担当者は、承認１工程１３０２の処理担当者と同一であり、承認１工程１３０２は、工程ＩＤ「ａｃｔ００１」において、状態が「処理済み」であり、既に承認が行われているためである。さらに、Ｓ１１１５において、制限の設定が「ＯＮ」であることが確認され、Ｓ１１１６において、担当済みの工程が確認される。図１３に示すように、担当済みの工程は、承認１工程であり、これは合議工程でない。したがって、Ｓ１１１６において、担当済みの工程は合議工程ではないと判断され、Ｓ１１１８において、自動承認が実行されることとなる。
【００８６】
以上のように、本実施形態に係るサーバ装置１０１は、自動承認がＯＮに設定されている場合であっても、制限の設定がＯＮに設定されており、かつ処理担当者による処理内容が合議において反対票の投票であった場合には、自動承認を制限する。このため、処理担当者は、既に処理済みの案件であっても、処理内容が合議において反対票の投票であった場合には、再度案件の内容を確認した上で、再度承認等の処理を行うことができる。このように、本実施形態に係るワークフロー管理システム１００は、自動承認を行うか否かを適切に制御することができる。
【００８７】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００８８】
以上、上述した各実施形態によれば、自動承認を行うか否かを適切に制御することができる。
【００８９】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００９０】
以上、複数の実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００９１】
また、本発明におけるプログラムは、図１１に示すフローチャートの処理方法をコンピュータが実行可能なプログラムであり、本発明の記憶媒体は図１１の処理方法をコンピュータが実行可能なプログラムが記憶されている。なお、本発明におけるプログラムは図１１の各装置の処理方法ごとのプログラムであってもよい。
【００９２】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【００９３】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記憶した記録媒体は本発明を構成することになる。
【００９４】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスクを用いることができる。また、例えば、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク、ソリッドステートドライブ等を用いることができる。
【００９５】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９６】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９７】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【００９８】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【００９９】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１００】
１００  ワークフロー管理システム
１０１  サーバ装置
１０２  クライアント装置
１０３  管理装置
１０４  データベースサーバ
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
【図１】
2016177662.tif 000003
【図２】
2016177662.tif 000004
【図３】
2016177662.tif 000005
【図４】
2016177662.tif 000006
【図５】
2016177662.tif 000007
【図６】
2016177662.tif 000008
【図７】
2016177662.tif 000009
【図８】
2016177662.tif 000010
【図９】
2016177662.tif 000011
【図１０】
2016177662.tif 000012
【図１１】
2016177662.tif 000013
【図１２】
2016177662.tif 000014
【図１３】
2016177662.tif 000015
【図１４】
2016177662.tif 000016