(57)【要約】  【課題】  処理速度の低下等を防止することができるシステム等を提供する。  【解決手段】  第１サーバ２１は、文書の作成等を含む操作を行うための指示をクライアント端末１１〜１ｎから受けて、文書の承認及び／又は回覧の流れに関する処理を第２サーバ２２に要求するとともに、文書に係る業務の内容に関するフロー定義マスタテーブル４１、文書状態テーブル群４２、及び、文書データテーブル群４３に処理を施し、第２サーバ２２が、第１サーバ２１からの要求を受けて、文書の承認及び／又は回覧の流れに関する回覧フロー定義テーブル８１及び回覧文書テーブル群８２に処理を施すとともに、処理の結果を第１サーバ２１に返信する。【選択図】  図１
2007052697.tif 000002
【特許請求の範囲】
【請求項１】
第１のサーバと第２のサーバとの間で通信することによりワークフロー処理を行うためのワークフロー処理システムであって、
前記第１のサーバが、電子文書の作成、保存、承認、回覧、表示、及び／又は、編集を含む操作を行うための指示をクライアント端末から受けて、電子文書の承認及び／又は回覧の流れに関する処理を前記第２のサーバに要求するとともに、電子文書に係る業務の内容に関する第１の情報に処理を施し、
前記第２のサーバが、前記第１のサーバからの要求を受けて、電子文書の承認及び／又は回覧の流れに関する第２の情報に処理を施すとともに、処理の結果を前記第１のサーバに返信すること
を特徴とする、ワークフロー処理システム。
【請求項２】
前記第１の情報が、
電子文書の作成時において前記クライアント端末から受け取る指示ＩＤに対応する電子文書の承認及び／又は回覧の流れを一意に特定するフロー定義名を格納する第１のテーブルと、
電子文書の状態に関するデータを格納する第２のテーブルと、
業務の内容の項目名に対応する業務の内容の項目値を格納する第３のテーブルと、
を含み、
前記第２の情報が、
前記フロー定義名に対応する承認及び／又は回覧の流れの順序、並びに、承認及び／又は回覧を行うべき担当者及び／又は担当者のグループを格納するための第４のテーブルと、
電子文書を一意に特定する文書キーに対応する電子文書の承認及び／又は回覧の流れのステータスに関するデータを格納する第５のテーブルと、
を含む、請求項１記載のワークフロー処理システム。
【請求項３】
前記第１の情報が、複数の電子文書にそれぞれ対応する複数の前記第２のテーブル及び複数の前記第３のテーブルを含み、
前記第２の情報が、複数の電子文書にそれぞれ対応する複数の前記第５のテーブルを含む、請求項２記載のワークフロー処理システム。
【請求項４】
前記第１のサーバが、
前記クライアント端末からの指示の内容に応じて実行される第１群のプログラムであって、電子文書の承認及び／又は回覧の流れに関する処理を前記第２のサーバに依頼するための前記第１群のプログラムと、
前記第２のサーバにおける処理の結果に応じて実行される第２群のプログラムであって、前記第１の情報に処理を施すための前記第２群のプログラムと、
前記第２群のプログラムから呼び出されて実行される第３群のプログラムであって、前記第２群のプログラムの処理結果を前記クライアント端末に表示させるための処理を行うための前記第３群のプログラムと、
を記録しており、
前記第２のサーバが、
前記第１のサーバからの要求に応じて実行される第４群のプログラムであって、前記第２の情報に処理を施すための前記第４群のプログラムを記録しており、
前記第１のサーバが、前記クライアント端末からの指示の内容に応じて前記第１群のプログラムの内の１つのプログラムを実行し、
前記第２のサーバが、前記第１のサーバにおいて実行された前記第１群のプログラムの内の１つのプログラムからの要求に応じて前記第４群のプログラムの内の１つのプログラムを実行し、
前記第１のサーバが、前記第２のサーバにおいて実行された前記第４群のプログラムの内の１つのプログラムによる処理の結果の内容に応じて前記第２群のプログラムの内の１つのプログラムを実行し、
前記第１のサーバが、前記第２群のプログラムの内の１つのプログラムからの呼び出しに応じて前記第３群のプログラムの内の１つのプログラムを実行すること
を特徴とする、請求項１〜３のいずれか１項に記載のワークフロー処理システム。
【請求項５】
第１のサーバと第２のサーバとの間で通信することによりワークフロー処理を行うためのワークフロー処理方法であって、
前記第１のサーバが、電子文書の作成、保存、承認、回覧、表示、及び／又は、編集を含む操作を行うための指示をクライアント端末から受けるステップと、
前記第１のサーバが、電子文書の承認及び／又は回覧の流れに関する処理を前記第２のサーバに要求するとともに、前記クライアント端末からの指示に基づいて電子文書に係る業務の内容に関する第１の情報に処理を施すステップと、
前記第２のサーバが、前記第１のサーバからの要求を受けて、電子文書の承認及び／又は回覧の流れに関する第２の情報に処理を施し、処理の結果を前記第１のサーバに返信するステップと、
を具備する、ワークフロー処理方法。
【請求項６】
第１のサーバと第２のサーバとの間で通信することによりワークフロー処理を行うためのワークフロー処理プログラムであって、
電子文書の作成、保存、承認、回覧、表示、及び／又は、編集を含む操作を行うための指示をクライアント端末から受ける手順と、
前記クライアント端末からの指示に基づいて電子文書の承認及び／又は回覧の流れに関する処理を前記第２のサーバに要求するとともに、電子文書に係る業務の内容に関する第１の情報に処理を施す手順と、
を前記第１のサーバに実行させ、
前記第１のサーバからの要求を受けて、電子文書の承認及び／又は回覧の流れに関する第２の情報に処理を施し、処理の結果を前記第１のサーバに返信する手順
を前記第２のサーバに実行させる、ワークフロー処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークフロー処理を行うためのシステム、方法、及び、プログラムに関する。
【背景技術】
【０００２】
従来より、企業等の組織において種々の業務を遂行するために、稟議書、指示書等の書類を作成し、この書類を所定の順序で所定の組織構成員に承認、回覧等させることが行われている。
【０００３】
近年においては、書類に代えて電子的な文書をコンピュータネットワーク上で作成、回覧等するためのワークフロー処理システムが用いられるようになってきている。このようなワークフロー処理システムの一例として、グループウェアサーバプログラムであるＤｏｍｉｎｏ（登録商標）を実行しているサーバを利用し、このＤｏｍｉｎｏ（登録商標）上で動作するワークフロー処理プログラムを使用することが行われている。
しかしながら、上記のようなワークフロー処理システムにおいては、サーバの負荷が非常に大きいため、処理速度が低下し、レスポンスが悪化するという問題があった。
【０００４】
関連する技術として、下記特許文献１には、１つのサーバにおいて、ワークフロー定義テーブル及びワークフロー実行テーブルをワークフロー管理データベースで管理し、フィールドデータテーブルをフォーム用管理データベースで管理するシステムが掲載されている。
【０００５】
【特許文献１】特開平１１−１５８９１号公報（第１頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
そこで、上記の点に鑑み、本発明は、処理速度の低下等を防止することができるワークフロー処理システムを提供することを第１の目的とする。また、本発明は、そのようなワークフロー処理方法を提供することを第２の目的とする。また、本発明は、そのようなワークフロー処理プログラムを提供することを第３の目的とする。
【課題を解決するための手段】
【０００７】
以上の課題を解決するため、本発明に係るワークフロー処理システムは、第１のサーバと第２のサーバとの間で通信することによりワークフロー処理を行うためのワークフロー処理システムであって、第１のサーバが、電子文書の作成、保存、承認、回覧、表示、及び／又は、編集を含む操作を行うための指示をクライアント端末から受けて、電子文書の承認及び／又は回覧の流れに関する処理を第２のサーバに要求するとともに、電子文書に係る業務の内容に関する第１の情報に処理を施し、第２のサーバが、第１のサーバからの要求を受けて、電子文書の承認及び／又は回覧の流れに関する第２の情報に処理を施すとともに、処理の結果を第１のサーバに返信することを特徴とする。
【０００８】
このワークフロー処理システムにおいて、第１の情報が、電子文書の作成時においてクライアント端末から受け取る指示ＩＤに対応する電子文書の承認及び／又は回覧の流れを一意に特定するフロー定義名を格納する第１のテーブルと、電子文書の状態に関するデータを格納する第２のテーブルと、業務の内容の項目名に対応する業務の内容の項目値を格納する第３のテーブルと、を含み、第２の情報が、フロー定義名に対応する承認及び／又は回覧の流れの順序、並びに、承認及び／又は回覧を行うべき担当者及び／又は担当者のグループを格納するための第４のテーブルと、電子文書を一意に特定する文書キーに対応する電子文書の承認及び／又は回覧の流れのステータスに関するデータを格納する第５のテーブルと、を含むようにしても良い。
【０００９】
また、第１の情報が、複数の電子文書にそれぞれ対応する複数の第２のテーブル及び複数の第３のテーブルを含み、第２の情報が、複数の電子文書にそれぞれ対応する複数の第５のテーブルを含むようにしても良い。
【００１０】
また、第１のサーバが、クライアント端末からの指示の内容に応じて実行される第１群のプログラムであって、電子文書の承認及び／又は回覧の流れに関する処理を第２のサーバに依頼するための第１群のプログラムと、第２のサーバにおける処理の結果に応じて実行される第２群のプログラムであって、第１の情報に処理を施すための第２群のプログラムと、第２群のプログラムから呼び出されて実行される第３群のプログラムであって、第２群のプログラムの処理結果をクライアント端末に表示させるための処理を行うための第３群のプログラムと、を記録しており、第２のサーバが、第１のサーバからの要求に応じて実行される第４群のプログラムであって、第２の情報に処理を施すための第４群のプログラムを記録しており、第１のサーバが、クライアント端末からの指示の内容に応じて第１群のプログラムの内の１つのプログラムを実行し、第２のサーバが、第１のサーバにおいて実行された第１群のプログラムの内の１つのプログラムからの要求に応じて第４群のプログラムの内の１つのプログラムを実行し、第１のサーバが、第２のサーバにおいて実行された第４群のプログラムの内の１つのプログラムによる処理の結果の内容に応じて第２群のプログラムの内の１つのプログラムを実行し、第１のサーバが、第２群のプログラムの内の１つのプログラムからの呼び出しに応じて第３群のプログラムの内の１つのプログラムを実行するようにしても良い。
【００１１】
また、本発明に係るワークフロー処理方法は、第１のサーバと第２のサーバとの間で通信することによりワークフロー処理を行うためのワークフロー処理方法であって、第１のサーバが、電子文書の作成、保存、承認、回覧、表示、及び／又は、編集を含む操作を行うための指示をクライアント端末から受けるステップと、第１のサーバが、電子文書の承認及び／又は回覧の流れに関する処理を第２のサーバに要求するとともに、クライアント端末からの指示に基づいて電子文書に係る業務の内容に関する第１の情報に処理を施すステップと、第２のサーバが、第１のサーバからの要求を受けて、電子文書の承認及び／又は回覧の流れに関する第２の情報に処理を施し、処理の結果を第１のサーバに返信するステップとを具備する。
【００１２】
また、本発明に係るワークフロー処理プログラムは、第１のサーバと第２のサーバとの間で通信することによりワークフロー処理を行うためのワークフロー処理プログラムであって、電子文書の作成、保存、承認、回覧、表示、及び／又は、編集を含む操作を行うための指示をクライアント端末から受ける手順と、クライアント端末からの指示に基づいて電子文書の承認及び／又は回覧の流れに関する処理を第２のサーバに要求するとともに、電子文書に係る業務の内容に関する第１の情報に処理を施す手順と、を第１のサーバに実行させ、第１のサーバからの要求を受けて、電子文書の承認及び／又は回覧の流れに関する第２の情報に処理を施し、処理の結果を第１のサーバに返信する手順を第２のサーバに実行させる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しながら、本発明の実施の形態について説明する。なお、同一の構成要素については、同一の参照番号で示している。
図１は、本発明の一実施形態に係るワークフローを処理するためのシステムの概要を示す図である。
【００１４】
図１に示すように、このシステム１は、クライアント端末１１〜１ｎと、第１サーバ２１と、第２サーバ２２とを具備する。クライアント端末１１〜１ｎ、第１サーバ２１、及び、第２サーバ２２は、ＬＡＮ（local area network）によって接続されている。クライアント端末１１〜１ｎは、企業等の組織の構成員等によって使用されるパーソナルコンピュータ等である。
【００１５】
図２は、第１サーバ２１の構成の概要を示すブロック図である。図２に示すように、第１サーバ２１は、記録部３１と、処理部３２とを具備する。
記録部３１には、データベース及びプログラムが記録されている。記録部３１に記録されているデータベース（本発明の第１の情報に相当）は、フロー定義マスタテーブル４１（本発明の第１のテーブルに相当）と、文書状態テーブル群４２（本発明の第２のテーブルに相当）と、文書データテーブル群４３（本発明の第３のテーブルに相当）とを含んでいる。
【００１６】
図３は、フロー定義マスタテーブル４１の例を示す図である。図３に示すように、フロー定義マスタテーブル４１は、電子文書（以下、単に「文書」という）の作成時においてクライアント端末１１〜１ｎから指示される指示ＩＤ、文書の承認及び／又は回覧の流れを一意に特定するフロー定義名、文書の回覧先の地理的又は組織的な大分類、中分類、及び、小分類をそれぞれ格納する複数のフィールドを有する。
【００１７】
文書状態テーブル群４２内のテーブルの各々は、文書を一意に特定する文書キー（以下、「ＵＮＩＤ」という）、文書を識別する文書ＩＤ、文書のリビジョン番号、大分類、中分類、小分類、指示ＩＤ、現在のフロー名、更新者、担当者、更新日時、及び、作成日時をそれぞれ格納する複数のフィールドを有する。
【００１８】
図４は、文書データテーブル群４３内のテーブルの例を示す図である。図４に示すように、文書データテーブルは、文書ＩＤ、リビジョン番号、文書に係る業務の内容に関するデータ項目名、データ項目値、及び、更新日時をそれぞれ格納する複数のフィールドを有する。
【００１９】
再び図２を参照すると、記録部３１には、第１〜第３プログラム群５１〜５３が記録されている。
第１プログラム群５１（本発明の第１群のプログラムに相当）は、クライアント端末１１〜１ｎからの指示の内容に応じて実行されるプログラム群であり、文書の承認及び／又は回覧の流れに関する処理を第２サーバ２２に要求するためのプログラム群である。第２プログラム群５２（本発明の第２群のプログラムに相当）は、第２サーバ２２における処理結果の内容に応じて実行されるプログラム群であり、フロー定義マスタテーブル４１、文書状態テーブル群４２、及び、文書データテーブル群４３に処理を施すためのプログラム群である。第３プログラム群５３（本発明の第３群のプログラムに相当）は、第２プログラム群５２から呼び出されて実行されるプログラム群であり、第２プログラム群５２の処理結果をクライアント端末１１〜１ｎに表示させるための処理を行うためのプログラム群である。
【００２０】
処理部３２は、ＨＴＴＰ（hyper text transfer protocol）サーバ処理部６１と、プログラム実行処理部６２と、データベース管理処理部６３とを具備する。
ＨＴＴＰサーバ処理部６１は、クライアント端末１１〜１ｎにおいて実行されるウェブブラウザプログラムにＨＴＭＬ（hyper text markup language）ファイルを送信し、クライアント端末１１〜１ｎの画面上に文字、画像等を表示させる。
【００２１】
プログラム実行処理部６２は、上記した種々の条件に応じて第１〜第３プログラム群５１〜５３を適宜実行する。
データベース管理処理部６３は、上記したデータベースの管理を行う。
【００２２】
図５は、第２サーバ２２の構成の概要を示すブロック図である。図５に示すように、第２サーバ２２は、記録部７１と、処理部７２とを具備する。
記録部７１には、データベース及びプログラムが記録されている。記録部７１に記録されているデータベース（本発明の第２の情報に相当）は、回覧フロー定義テーブル８１（本発明の第４のテーブルに相当）と、回覧文書テーブル群８２（本発明の第５のテーブルに相当）とを含んでいる。
【００２３】
図６は、回覧フロー定義テーブル８１の例を示す図である。図６に示すように、回覧フロー定義テーブル８１は、フロー定義名、承認及び／又は回覧の順序、フロー名、担当者、担当者グループ、メール送信先をそれぞれ格納する複数のフィールドを有する。
【００２４】
回覧文書テーブル群８２内のテーブルの各々は、ＵＮＩＤ、文書ＩＤ、リビジョン番号、更新日時、更新者、フロー定義名、順序（１つ又は複数）、フロー名（１つ又は複数）、担当者（１人又は複数）、担当者グループ（１つ又は複数）、メール送信先（１人又は複数）、現在のフローステータス、承認者（１人又は複数）、及び、承認日時（１つ又は複数）をそれぞれ格納する複数のフィールドを有する。
【００２５】
再び図５を参照すると、記録部３１には、プログラム群９１が記録されている。
プログラム群９１（本発明の第４群のプログラムに相当）は、第１サーバ２１からの要求に応じて実行されるプログラム群であり、回覧フロー定義テーブル８１及び回覧文書テーブル群８２に処理を施すためのプログラム群である。
【００２６】
処理部７２は、第１サーバ２１からの要求を受けて、プログラム群９１を実行し、回覧フロー定義テーブル８１及び回覧文書テーブル群８２に処理を施す。
【００２７】
図２に示すＨＴＴＰサーバ処理部６１、プログラム実行処理部６２、及び、データベース管理処理部６３は、ＣＰＵとソフトウェア（プログラム）で構成することができる。このプログラムと、フロー定義マスタテーブル４１、文書状態テーブル群４２、文書データテーブル群４３、及び、第１〜第３プログラム群５１〜５３は、ハードディスク、フレキシブルディスク、ＭＯ、ＭＴ、ＲＡＭ等の記録媒体に記録することができる。同様に、図５に示す処理部７２は、ＣＰＵとソフトウェア（プログラム）で構成することができる。このプログラムと、回覧フロー定義テーブル８１、回覧文書テーブル群８２、及び、プログラム群９１は、ハードディスク等の記録媒体に記録することができる。
【００２８】
なお、図２に示すＨＴＴＰサーバ処理部６１及びプログラム実行処理部６２を、Ｔｏｍｃａｔ（登録商標）で実現することができる。このとき、第１〜第３プログラム群５１〜５３内の各プログラムを、Ｊａｖａ（登録商標）サーブレットとすることができる。また、図２に示すデータベース管理処理部６３を、Ｏｒａｃｌｅ（登録商標）等で実現することができる。
また、図５に示す処理部７２を、Ｄｏｍｉｎｏ（登録商標）で実現することができる。
【００２９】
図７〜図１６は、システム１の処理を示すフローチャートである。以下、図７〜図１６を参照しながら、システム１の処理について説明する。
【００３０】
図７は、システム１の文書の作成、保存、回覧、及び、承認に関する処理の概要を示す図である。図７に示すように、システム１は、文書の作成処理（ステップＳ１）、保存処理（ステップＳ２）の後、回覧、承認処理（ステップＳ３）を、回覧、承認が終了するまで繰り返す（ステップＳ４）。
【００３１】
図８は、文書の作成処理（図７中のステップＳ１参照）の詳細を示すフローチャートである。
文書の作成を行おうとするユーザが、クライアント端末（ここでは、クライアント端末１１とする）においてウェブブラウザプログラムを起動し、第１サーバ２１内の所定のディレクトリ、ファイル等を表す所定のＵＲＬ（uniform resource locator）を指定すると、ワークフローの初期画面を表示するためのＨＴＭＬ（hyper text markup language）ファイルが、第１サーバ２１のＨＴＴＰサーバ処理部６１からクライアント端末１１に送信され、クライアント端末１１上には、ワークフローの初期画面が表示される。
【００３２】
ユーザが、この初期画面において文書の新規作成を選択すると、
ActionName=CreateDoc,DirectId=YYYY      ・・・（１）
という形式のリクエストデータＲＤ１が、クライアント端末１１から第１サーバ２１に送信される（ステップＳ１０１）。ここで、「ＹＹＹＹ」は、ユーザが作成しようとする文書（例えば、稟議書、指示書等）を指示するための指示ＩＤの値である。
【００３３】
第１サーバ２１のＨＴＴＰサーバ処理部６１は、リクエストデータＲＤ１をプログラム実行処理部６２に転送し、プログラム実行処理部６２は、第１プログラム群５１の内のリクエストデータＲＤ１に応じた１つのプログラム（ここでは、プログラムＰＧ１−１とする）を実行する（ステップＳ２０１）。
【００３４】
そして、プログラムＰＧ１−１を実行しているプログラム実行処理部６２は、リクエストデータＲＤ１内の指示ＩＤに対応するフロー定義名の取得をデータベース管理処理部６３に依頼し、データベース管理処理部６３は、フロー定義マスタテーブル４１を参照することによりリクエストデータＲＤ１内の指示ＩＤに対応するフロー定義名（ここでは、ＦＤ１とする）を取得し、プログラムＰＧ１−１を実行しているプログラム実行処理部６２に返信する。プログラムＰＧ１−１を実行しているプログラム実行処理部６２は、第２サーバ２２に記録されているプログラム群９１の内のフロー定義名ＦＤ１に応じた１つのプログラム（ここでは、プログラムＥＰＧ１とする）の実行を第２サーバ２２に要求するとともに、フロー定義名ＦＤ１をプログラムＥＰＧ１に向けて送信する（ステップＳ２０２）。
【００３５】
第２サーバ２２の処理部７２は、第１サーバ２１からの要求に応じて、プログラムＥＰＧ１を実行する。プログラムＥＰＧ１を実行している処理部７２は、新たなＵＮＩＤを生成して、回覧文書テーブル群８２に新規の回覧文書テーブルを作成する（ステップＳ３０１）。そして、プログラムＥＰＧ１を実行している処理部７２は、第１サーバ２１に記録されている第２プログラム群５２の内の処理結果及びＵＮＩＤに応じた１つのプログラム（ここでは、プログラムＰＧ１−２とする）の実行を第１サーバ２１に要求するとともに、処理結果及びＵＮＩＤをプログラムＰＧ１−２に向けて送信する（ステップＳ３０２）。
【００３６】
第１サーバ２１のプログラム実行処理部６２は、プログラムＰＧ１−２を実行する（ステップＳ２０３）。さらに、プログラムＰＧ１−２を実行しているプログラム実行処理部６２は、第３プログラム群５３の内の文書入力画面表示用のプログラム（ここでは、ＪＳＰ１とする）を実行する（ステップＳ２０４）。プログラムＪＳＰ１を実行しているプログラム実行処理部６２は、文書入力画面表示用のＨＴＭＬファイルを生成し、クライアント端末１１に送信する（ステップＳ２０５）。
【００３７】
クライアント端末１１のウェブブラウザプログラムは、文書入力画面表示用のＨＴＭＬファイルを受信し、文書入力画面を表示する（ステップＳ１０２）。
【００３８】
図９〜図１１は、文書の保存処理（図７のステップＳ２参照）の詳細を示すフローチャートである。
文書の新規作成処理（図７のステップＳ１及び図８参照）によってクライアント端末１１に文書入力画面が表示されると、文書の作成を行おうとするユーザは、この文書入力画面において文書のデータを入力し、文書の保存を選択すると、
ActionName=NewSaveDoc,UNID=SSSS,DirectId=YYYY,,DDDD,…      ・・・（２）
という形式のリクエストデータＲＤ２が、クライアント端末１１から第１サーバ２１に送信される（ステップＳ１１１）。ここで、「ＳＳＳＳ」は、文書のＵＮＩＤの値であり、「ＹＹＹＹ」は、指示ＩＤの値であり、「ＤＤＤＤ」以降は、文書のデータ項目名及びデータ項目値の並びである。
【００３９】
第１サーバ２１のＨＴＴＰサーバ処理部６１は、リクエストデータＲＤ２をプログラム実行処理部６２に転送し、プログラム実行処理部６２は、第１プログラム群５１の内のリクエストデータＲＤ２に応じた１つのプログラム（ここでは、プログラムＰＧ２−１とする）を実行する（ステップＳ２１１）。
【００４０】
そして、プログラムＰＧ２−１を実行しているプログラム実行処理部６２は、リクエストデータＲＤ２の整合性チェックを行い（ステップＳ２１２）、整合性に問題（エラー）がある場合には、第３プログラム群５３の内の１つのエラー表示用プログラム（ここでは、プログラムＪＳＰ２−１とする）を実行する（ステップＳ２１４）。プログラムＪＳＰ２−１を実行しているプログラム実行処理部６２は、エラー画面表示用ＨＴＭＬファイル及びＵＮＩＤを送信し、クライアント端末１１は、エラー画面を表示する（ステップＳ１１２）。
【００４１】
一方、整合性に問題がない場合、プログラムＰＧ２−１を実行しているプログラム実行処理部６２は、第２サーバ２２に記録されているプログラム群９１の内のＵＮＩＤに応じた１つのプログラム（ここでは、プログラムＥＰＧ２とする）の実行を第２サーバ２２に要求するとともに、セッションＩＤ、ＵＮＩＤ、文書ＩＤ、リビジョン番号、ユーザＩＤ、日時等をプログラムＥＰＧ２に向けて送信する（ステップＳ２１５）。
【００４２】
第２サーバ２２の処理部７２は、第１サーバ２１からの要求に応じて、プログラムＥＰＧ２を実行する。プログラムＥＰＧ２を実行している処理部７２は、第１サーバ２１から受信したＵＮＩＤを検索キーとして回覧文書テーブル群８２を検索する（ステップＳ３１１）。
【００４３】
ＵＮＩＤに対応する回覧文書テーブルが存在する場合、プログラムＥＰＧ２を実行している処理部７２は、当該回覧文書テーブル内のリビジョン番号、更新者、更新日時を更新する（ステップＳ３１３）。
一方、ＵＮＩＤに対応する回覧文書テーブルが存在しない場合、プログラムＥＰＧ２を実行している処理部７２は、新たな文書ＩＤを発番し、回覧文書テーブルを新規作成する（ステップＳ３１４）。
【００４４】
そして、プログラムＥＰＧ２を実行している処理部７２は、第１サーバ２１に記録されている第２プログラム群５２の内の処理結果及びＵＮＩＤに応じた１つのプログラム（ここでは、プログラムＰＧ２−２とする）の実行を第１サーバ２１に要求するとともに、更新情報及びＵＮＩＤを第１サーバ２１に送信する（ステップＳ３１５）。
【００４５】
第１サーバ２１のプログラム実行処理部６２は、第２サーバ２２からの要求に応じて、プログラムＰＧ２−２を実行する（ステップＳ２１６）。そして、プログラムＰＧ２−２を実行しているプログラム実行処理部６２は、更新情報のチェックを行い（ステップＳ２１７）、更新情報に問題（エラー）がある場合には、第３プログラム群５３の内の１つのエラー表示用プログラム（ここでは、プログラムＪＳＰ２−２とする）を実行する（ステップＳ２１８）。プログラムＪＳＰ２−２を実行しているプログラム実行処理部６２は、エラー画面表示用ＨＴＭＬファイル及びＵＮＩＤを送信し、クライアント端末１１は、エラー画面を表示する（ステップＳ１１３）。
【００４６】
一方、更新情報に問題がない場合、プログラムＰＧ２−２を実行しているプログラム実行処理部６２は、ＵＮＩＤを検索キーとして文書状態テーブル群４２の検索をデータベース管理処理部６３に依頼し、データベース管理処理部６３が、検索を行う（ステップＳ２１９）。
【００４７】
プログラムＰＧ２−２を実行しているプログラム実行処理部６２は、ＵＮＩＤに対応する文書状態テーブルが存在する場合（ステップＳ２２０）、当該文書状態テーブルを更新し（ステップＳ２２１）、ＵＮＩＤに対応する文書状態テーブルが存在しない場合（ステップＳ２２０）、文書状態テーブルの作成をデータベース管理処理部６３に依頼し、データベース管理処理部６３が、文書状態テーブルを作成する（ステップＳ２２２）。
【００４８】
そして、プログラムＰＧ２−２を実行しているプログラム実行処理部６２は、文書ＩＤ及びリビジョン番号を検索キーとして文書データテーブル群４３の検索をデータベース管理処理部６３に依頼し、データベース管理処理部６３が、検索を行う（ステップＳ２２３）。
【００４９】
プログラムＰＧ２−２を実行しているプログラム実行処理部６２は、文書ＩＤ及びリビジョン番号に対応する文書データテーブルが存在する場合（ステップＳ２２４）、当該文書データテーブルの削除をデータベース管理処理部６３に依頼し、データベース管理処理部６３が、文書データテーブルを削除する（ステップＳ２２５）。その後、プログラムＰＧ２−２を実行しているプログラム実行処理部６２は、文書データテーブルの作成をデータベース管理処理部６３に依頼し、データベース管理処理部６３が、文書データテーブルを作成する（ステップＳ２２６）。
【００５０】
次に、プログラムＰＧ２−２を実行しているプログラム実行処理部６２は、第３プログラム群５３の内の文書保存画面表示用プログラム（ここでは、プログラムＪＳＰ２−２とする）を実行する（ステップＳ２２７）。プログラムＪＳＰ２−２を実行しているプログラム実行処理部６２は、ＵＮＩＤ、入力されたデータ、文書ＩＤ、リビジョン番号等を表示するための文書保存画面表示用ＨＴＭＬデータを生成し、クライアント端末１１に送信する（ステップＳ２２８）。
【００５１】
クライアント端末１１のウェブブラウザプログラムは、文書保存画面表示用のＨＴＭＬファイルを受信し、文書保存画面を表示する（ステップＳ１１４）。
【００５２】
図１２〜図１４は、文書の回覧、承認処理（図７のステップＳ３）の詳細を示すフローチャートである。
文書の承認を行おうとするユーザが、クライアント端末（ここでは、クライアント端末１２とする）に表示されているワークフローの初期画面において文書の承認を選択すると、
ActionName=ApproveDoc,UNID=SSSS,DirectId=YYYY,DocId=ZZZZ,
RevNo=TTTT,DDDD,…    ・・・（３）
という形式のリクエストデータＲＤ３が、クライアント端末１２から第１サーバ２１に送信される（ステップＳ１３１）。ここで、「ＳＳＳＳ」は、文書のＵＮＩＤの値であり、「ＹＹＹＹ」は、指示ＩＤの値であり、「ＺＺＺＺ」は、文書ＩＤの値であり、「ＴＴＴＴ」は、リビジョン番号の値であり、「ＤＤＤＤ」以降は、文書のデータ項目名及びデータ項目値の並びである。なお、ユーザが文書の回覧を行おうとする場合には、ワークフローの初期画面において文書の回覧を選択すると、
ActionName=CirculateDoc,UNID=SSSS,DirectId=YYYY,DocId=ZZZZ,
RevNo=TTTT,DDDD,…    ・・・（４）
という形式のリクエストデータが、クライアント端末１２から第１サーバ２１に送信される。
【００５３】
第１サーバ２１のＨＴＴＰサーバ処理部６１は、リクエストデータＲＤ３をプログラム実行処理部６２に転送し、プログラム実行処理部６２は、第１プログラム群５１の内のリクエストデータＲＤ３に応じた１つのプログラム（ここでは、プログラムＰＧ３−１とする）を実行する（ステップＳ２３１）。
【００５４】
そして、プログラムＰＧ３−１を実行しているプログラム実行処理部６２は、リクエストデータＲＤ３の整合性チェックを行い（ステップＳ２３２）、整合性に問題（エラー）がある場合には、第３プログラム群５３の内の１つのエラー表示用プログラム（ここでは、プログラムＪＳＰ３−１とする）を実行する（ステップＳ２３４）。プログラムＪＳＰ３−１を実行しているプログラム実行処理部６２は、エラー画面表示用ＨＴＭＬファイル及びＵＮＩＤを送信し、クライアント端末１１は、エラー画面を表示する（ステップＳ１３２）。
【００５５】
一方、整合性に問題がない場合、プログラムＰＧ３−１を実行しているプログラム実行処理部６２は、第２サーバ２２に記録されているプログラム群９１の内のＵＮＩＤに応じた１つのプログラム（ここでは、プログラムＥＰＧ３とする）の実行を第２サーバ２２に要求するとともに、リクエストデータＲＤ３内のＵＮＩＤ、文書ＩＤ、リビジョン番号等をプログラムＥＰＧ３に向けて送信する（ステップＳ２３５）。
【００５６】
第２サーバ２２の処理部７２は、第１サーバ２１からの要求に応じて、プログラムＥＰＧ３を実行する。プログラムＥＰＧ３を実行している処理部７２は、第１サーバ２１から受信したＵＮＩＤを検索キーとして回覧文書テーブル群８２を検索する（ステップＳ３３１）。
【００５７】
ＵＮＩＤに対応する回覧文書テーブルが存在しない場合、プログラムＥＰＧ３を実行している処理部７２は、エラーを表す更新情報を生成する（ステップＳ３３３）。
一方、ＵＮＩＤに対応する回覧文書テーブルが存在する場合、プログラムＥＰＧ３を実行している処理部７２は、当該回覧文書テーブル内の文書ＩＤ、リビジョン番号、更新者、更新日時、承認者、フロー名、フロー番号、承認日時、フローステータスを更新する（ステップＳ３３４）。そして、プログラムＥＰＧ３を実行している処理部７２は、次の承認者又は設定されている配信先に電子メールを送信する（ステップＳ３３５）。
【００５８】
その後、プログラムＥＰＧ３を実行している処理部７２は、第１サーバ２１に記録されている第２プログラム群５２の内の更新情報及びＵＮＩＤに応じた１つのプログラム（ここでは、プログラムＰＧ３−２とする）の実行を第１サーバ２１に要求するとともに、更新情報及び文書キーをプログラムＰＧ３−２に向けて送信する（ステップＳ３３６）。
【００５９】
第１サーバ２１のプログラム実行処理部６２は、第２サーバ２２からの要求に応じて、プログラムＰＧ３−２を実行する（ステップＳ２３６）。そして、プログラムＰＧ３−２を実行しているプログラム実行処理部６２は、更新情報のチェックを行い、更新情報に問題（エラー）がある場合には、第３プログラム群５３の内の１つのエラー表示用プログラム（ここでは、プログラムＪＳＰ３−２とする）を実行する（ステップＳ２３８）。プログラムＪＳＰ３−２を実行しているプログラム実行処理部６２は、エラー画面表示用ＨＴＭＬファイル及びＵＮＩＤを送信し、クライアント端末１１は、エラー画面を表示する（ステップＳ１３３）。
【００６０】
更新情報に問題がない場合、プログラムＰＧ３−２を実行しているプログラム実行処理部６２は、文書ＩＤ及びリビジョン番号を検索キーとして文書状態テーブルの検索をデータベース管理処理部６３に依頼し、データベース管理処理部６３が、文書状態テーブルを検索する（ステップＳ２３９）。
【００６１】
プログラムＰＧ３−２を実行しているプログラム実行処理部６２は、文書ＩＤ及びリビジョン番号に対応する文書状態テーブルが存在しない場合（ステップＳ２４０）、処理をステップＳ２３８に移す。
【００６２】
プログラムＰＧ３−２を実行しているプログラム実行処理部６２は、文書ＩＤ及びリビジョン番号に対応する文書状態テーブルが存在する場合（ステップＳ２４０）、当該文書状態テーブル内の更新日時、更新者、フロー名、フローステータス、担当者の更新をデータベース管理処理部６３に依頼し、データベース管理処理部６３が、当該文書状態テーブルを更新する（ステップＳ２４１）。
【００６３】
次に、プログラムＰＧ３−２を実行しているプログラム実行処理部６２は、文書ＩＤ及びリビジョン番号を検索キーとして文書データテーブルの検索をデータベース管理処理部６３に依頼し、データベース管理処理部６３が、文書データテーブルを検索する（ステップＳ２４２）。
【００６４】
プログラムＰＧ３−２を実行しているプログラム実行処理部６２は、文書ＩＤ及びリビジョン番号に対応する文書データテーブルが存在する場合（ステップＳ２４３）、当該文書データテーブルの削除をデータベース管理処理部６３に依頼し、データベース管理処理部６３が当該文書データテーブルを削除する（ステップＳ２４４）。その後、プログラムＰＧ３−２を実行しているプログラム実行処理部６２は、文書ＩＤ、リビジョン番号等を含む新たな文書データテーブルの作成をデータベース管理処理部６３に依頼し、データベース管理処理部６３が、文書データテーブルを作成する（ステップＳ２４５）。
【００６５】
次に、プログラムＰＧ３−２を実行しているプログラム実行処理部６２は、第３プログラム群５３の内の文書回覧、承認画面表示用プログラム（ここでは、プログラムＪＳＰ３−３とする）を実行する（ステップＳ２４６）。プログラムＪＳＰ３−３を実行しているプログラム実行処理部６２は、文書回覧、承認画面表示用ＨＴＭＬデータを生成し、クライアント端末１１に送信する（ステップＳ２４７）。
【００６６】
クライアント端末１１のウェブブラウザプログラムは、文書回覧、承認画面表示用のＨＴＭＬファイルを受信し、文書保存画面を表示する（ステップＳ１３４）。
【００６７】
なお、文書が作成、保存された後、ユーザは、文書の表示、編集を適宜行うことができる。
図１５は、文書の表示処理を示すフローチャートである。
【００６８】
文書の表示を行おうとするユーザが、クライアント端末（ここでは、クライアント端末１３とする）においてウェブブラウザプログラムを起動し、第１サーバ２１内の所定のディレクトリ、ファイル等を表す所定のＵＲＬを指定すると、クライアント端末１３上には、ワークフローの初期画面が表示される。
【００６９】
ユーザが、この初期画面において文書の表示を選択すると、
ActionName=DisplayDoc,UNID=SSSS,DirectId=YYYY,DocId=ZZZZ,RevNo=TTTT
・・・（５）
という形式のリクエストデータＲＤ５が、クライアント端末１３から第１サーバ２１に送信される（ステップＳ１５１）。ここで、「ＳＳＳＳ」は、文書キーの値であり、「ＹＹＹＹ」は、指示ＩＤの値であり、「ＺＺＺＺ」は、文書ＩＤの値であり、「ＴＴＴＴ」は、リビジョン番号の値である。
【００７０】
第１サーバ２１のＨＴＴＰサーバ処理部６１は、リクエストデータＲＤ５をプログラム実行処理部６２に転送し、プログラム実行処理部６２は、第１プログラム群５１の内のリクエストデータＲＤ５に応じた１つのプログラム（ここでは、プログラムＰＧ４−１とする）を実行する（ステップＳ２５１）。
【００７１】
プログラムＰＧ４−１を実行しているプログラム実行処理部６２は、リクエストデータＲＤ５内の文書ＩＤ及びリビジョン番号を検索キーとして文書状態テーブル及び文書データテーブルの検索をデータベース管理処理部６３に依頼し、データベース管理処理部６３が、文書状態テーブル及び文書データテーブルを検索する（ステップＳ２５２）。そして、プログラムＰＧ４−１を実行しているプログラム実行処理部６２は、第３プログラム群５３の内の文書表示画面表示用のプログラム（ここでは、ＪＳＰ４−１とする）を実行する（ステップＳ２５３）。プログラムＪＳＰ４−１を実行しているプログラム実行処理部６２は、文書表示画面表示用のＨＴＭＬファイルを生成し、クライアント端末１１に送信する（ステップＳ２５４）。
【００７２】
クライアント端末１１のウェブブラウザプログラムは、文書入力画面表示用のＨＴＭＬファイルを受信し、文書入力画面を表示する（ステップＳ１５２）。
【００７３】
図１６は、文書の編集処理を示すフローチャートである。
文書の編集を行おうとするユーザが、クライアント端末（ここでは、クライアント端末１４とする）においてウェブブラウザプログラムを起動し、第１サーバ２１内の所定のディレクトリ、ファイル等を表す所定のＵＲＬを指定すると、クライアント端末１４上には、ワークフローの初期画面が表示される。
【００７４】
ユーザが、この初期画面において文書の編集を選択すると、
ActionName=EditDoc,UNID=SSSS,DirectId=YYYY,DocId=ZZZZ,RevNo=TTTT
・・・（６）
という形式のリクエストデータＲＤ６が、クライアント端末１４から第１サーバ２１に送信される（ステップＳ１６１）。ここで、「ＳＳＳＳ」は、文書キーの値であり、「ＹＹＹＹ」は、指示ＩＤの値であり、「ＺＺＺＺ」は、文書ＩＤの値であり、「ＴＴＴＴ」は、リビジョン番号の値である。
【００７５】
第１サーバ２１のＨＴＴＰサーバ処理部６１は、リクエストデータＲＤ６をプログラム実行処理部６２に転送し、プログラム実行処理部６２は、第１プログラム群５１の内のリクエストデータＲＤ６に応じた１つのプログラム（ここでは、プログラムＰＧ５−１とする）を実行する（ステップＳ２６１）。
【００７６】
プログラムＰＧ５−１を実行しているプログラム実行処理部６２は、リクエストデータＲＤ６内の文書ＩＤ及びリビジョン番号を検索キーとして文書状態テーブル及び文書データテーブルの検索をデータベース管理処理部６３に依頼し、データベース管理処理部６３が、文書状態テーブル及び文書データテーブルを検索する（ステップＳ２６２）。そして、プログラムＰＧ５−１を実行しているプログラム実行処理部６２は、第３プログラム群５３の内の文書編集画面表示用のプログラム（ここでは、ＪＳＰ５−１とする）を実行する（ステップＳ２６３）。プログラムＪＳＰ５−１を実行しているプログラム実行処理部６２は、文書編集画面表示用のＨＴＭＬファイルを生成し、クライアント端末１１に送信する（ステップＳ２６４）。
【００７７】
クライアント端末１１のウェブブラウザプログラムは、文書編集画面表示用のＨＴＭＬファイルを受信し、文書編集画面を表示する（ステップＳ１６２）。ユーザがこの文書編集画面において所望のデータの編集を行うと、クライアント端末１４は、編集内容を第１サーバ２１に送信する（ステップＳ１６３）。
【００７８】
第１サーバ２１のＨＴＴＰサーバ処理部６１は、編集内容をプログラム実行処理部６２に転送し、プログラム実行処理部６２は、第１プログラム群５１の内の１つのプログラムを実行する。このプログラムを実行しているプログラム実行処理部６２は、文書状態テーブル及び文書データテーブルを更新する（ステップＳ２６５）。
【００７９】
以上説明したように、システム１によれば、第１サーバ２１が、フロー定義マスタテーブル４１、文書状態テーブル群４２、及び、文書データテーブル群４３を管理し、第２サーバ２２が、回覧フロー定義テーブル８１、及び、回覧文書テーブル群８２を管理する。これにより、第１サーバ２１と第２サーバ２２に負荷を分散することができるので、処理速度の低下、レスポンスの悪化を防止することができる。
【００８０】
また、第１サーバ２１のプログラム実行処理部６２が実行するプログラムを、第１〜第３プログラム群５１〜５３の３群に分けることにより、プログラムの作成、保守等を容易にすることができる。
【産業上の利用可能性】
【００８１】
本発明は、ワークフロー処理を行うためのシステム、方法、及び、プログラムにおいて利用可能である。
【図面の簡単な説明】
【００８２】
【図１】本発明の一実施形態に係るシステムの概要を示す図。
【図２】図１の第１サーバ２１の構成を示すブロック図。
【図３】図２のフロー定義マスタテーブル４１の例を示す図。
【図４】図２の文書データテーブルの例を示す図。
【図５】図１の第２サーバ２２の構成を示す図。
【図６】図５の回覧フロー定義テーブル８１の例を示す図。
【図７】図１のシステム１の処理を示すフローチャート。
【図８】図１のシステム１の処理を示すフローチャート。
【図９】図１のシステム１の処理を示すフローチャート。
【図１０】図１のシステム１の処理を示すフローチャート。
【図１１】図１のシステム１の処理を示すフローチャート。
【図１２】図１のシステム１の処理を示すフローチャート。
【図１３】図１のシステム１の処理を示すフローチャート。
【図１４】図１のシステム１の処理を示すフローチャート。
【図１５】図１のシステム１の処理を示すフローチャート。
【図１６】図１のシステム１の処理を示すフローチャート。
【符号の説明】
【００８３】
１  システム、  １１〜１ｎ  クライアント端末、  ２１  第１サーバ、  ２２  第２サーバ、  ３１、７１  記録部、  ３２、７２  処理部、  ４１  フロー定義マスタテーブル、  ４２  文書状態テーブル群、  ４３  文書データテーブル群、  ５１  第１プログラム群、  ５２  第２プログラム群、  ５３  第３プログラム群、  ６１  ＨＴＴＰサーバ処理部、  ６２  プログラム実行処理部、  ６３  データベース管理処理部、  ８１  回覧フロー定義テーブル、  ８２  回覧文書テーブル群、  ９１  プログラム群
【図１】
2007052697.tif 000003
【図２】
2007052697.tif 000004
【図３】
2007052697.tif 000005
【図４】
2007052697.tif 000006
【図５】
2007052697.tif 000007
【図６】
2007052697.tif 000008
【図７】
2007052697.tif 000009
【図８】
2007052697.tif 000010
【図９】
2007052697.tif 000011
【図１０】
2007052697.tif 000012
【図１１】
2007052697.tif 000013
【図１２】
2007052697.tif 000014
【図１３】
2007052697.tif 000015
【図１４】
2007052697.tif 000016
【図１５】
2007052697.tif 000017
【図１６】
2007052697.tif 000018