(57)【要約】  ワークフロー管理システムにおけるワークフローのテストを自動で行うことが可能なワークフロー管理装置を得ること。  業務アプリケーションの有する雛型に、回覧すべき順序が設定された検認経路を設定するフロー定義と、検認経路上のつぎの検認者のクライアント計算機に回覧文書の存在を通知するためのメール送信定義とを、組織内のクライアント計算機からのリクエストに基づいて設定して回覧文書を作成する機能、検認経路上の検認者による閲覧が完了すると、フロー定義に基づいてつぎの検認者を選択してメール送信定義に設定する機能、およびメール送信定義に基づいてつぎの検認者に回覧文書の存在を通知する機能を有するワークフロー処理部(３３１)と、回覧文書の回覧時にクライアント計算機からの回覧文書に関するリクエストを記録し、そのリクエストを検認経路の順に配置したテストシナリオを作成するプロキシ機能部(３４)と、を備える。【特許請求の範囲】
【請求項１】
回覧を作成する業務アプリケーションの有する雛型に、回覧すべき組織内の人員の順序が設定された検認経路を設定し、設定された前記検認経路の変更を入力項目定義にしたがって行うフロー定義と、前記検認経路上のつぎの検認者のクライアント計算機に回覧文書の存在を通知するためのメール送信定義と、回覧の申請内容を設定する入力項目定義と、を前記組織内の人員のクライアント計算機からのリクエストに基づいて設定して回覧文書を作成する文書作成手段と、
前記検認経路上の検認者によって閲覧が完了すると、前記フロー定義に基づいてつぎの検認者を選択して、前記メール送信定義に設定するフロー制御手段と、
前記メール送信定義に基づいてつぎの検認者のクライアント計算機に回覧文書の存在を通知するメール送信手段と、
を備えるワークフロー管理装置において、
前記回覧文書の回覧時に前記クライアント計算機から送信される前記回覧文書に関するリクエストを記録し、このリクエストを前記検認経路の順に配置したテストシナリオを作成するプロキシ手段を備え、
前記クライアント計算機からの指示により、前記テストシナリオを用いて、前記業務アプリケーションのワークフローのテストを行うことを特徴とするワークフロー管理装置。
【請求項２】
前記プロキシ手段によって記録するリクエストの種別と、記録する自装置のポート番号と、を含むプロキシ設定条件を設定するプロキシ機能設定手段をさらに備えることを特徴とする請求項１に記載のワークフロー管理装置。
【請求項３】
前記プロキシ機能設定手段は、前記プロキシ手段による前記リクエストの記録の実行の可否を選択可能とする機能をさらに有することを特徴とする請求項２に記載のワークフロー管理装置。
【請求項４】
前記プロキシ機能設定手段は、複数の業務アプリケーションが存在する場合に、業務アプリケーション単位で前記プロキシ設定条件を設定可能なことを特徴とする請求項２に記載のワークフロー管理装置。
【請求項５】
前記プロキシ設定条件と、このプロキシ設定条件で収集されたリクエストから作成されたテストシナリオと、を含むテストシナリオデータを格納するデータ格納手段をさらに備えることを特徴とする請求項２に記載のワークフロー管理装置。
【請求項６】
前記クライアント計算機からの指示に基づいて、前記データ格納手段から検索したテストシナリオデータの処理を行うテストシナリオ管理手段をさらに備えることを特徴とする請求項５に記載のワークフロー管理装置。
【請求項７】
前記プロキシ手段は、
前記クライアント計算機からのリクエストを取得するリクエスト処理機能と、
記録するリクエストの種類を前記プロキシ設定条件に基づいてフィルタリングするフィルタ機能と、
前記フィルタ機能によって抽出されたリクエストをテストシナリオデータとして前記データ格納手段に保存するデータ保存処理機能と、
を有することを特徴とする請求項５に記載のワークフロー管理装置。
【請求項８】
前記プロキシ手段は、前記フィルタ機能によって抽出されたリクエストを、前記クライアント計算機で処理可能なデータ形式に変換するデータ形式変換機能をさらに有することを特徴とする請求項７に記載のワークフロー管理装置。
【請求項９】
組織に属する複数の人員の有するクライアント計算機と、前記クライアント計算機間でのビジネスプロセス上のワークフロー処理を管理するワークフロー管理装置とが、ネットワークを介して接続されたワークフロー管理システムにおいて、
前記ワークフロー管理装置は、
回覧を作成する業務アプリケーションの有する雛型に、回覧すべき組織内の人員の順序が設定された検認経路を設定し、設定された前記検認経路の変更を入力項目定義にしたがって行うフロー定義と、前記検認経路上のつぎの検認者のクライアント計算機に回覧文書の存在を通知するためのメール送信定義と、回覧の申請内容を設定する入力項目定義と、を前記組織内の人員のクライアント計算機からのリクエストに基づいて設定して回覧文書を作成する文書作成手段と、
前記検認経路上の検認者によって閲覧が完了すると、前記フロー定義に基づいてつぎの検認者を選択して、前記メール送信定義に設定するフロー制御手段と、
前記メール送信定義に基づいてつぎの検認者のクライアント計算機に回覧文書の存在を通知するメール送信手段と、
前記回覧文書の回覧時に前記クライアント計算機から送信される前記回覧文書に関するリクエストを記録し、このリクエストを前記検認経路の順に配置したテストシナリオを作成するプロキシ手段と、
を備え、
前記クライアント計算機は、前記ワークフロー管理装置の前記プロキシ手段によって作成されたテストシナリオを、前記ワークフロー管理装置から受信して実行するテスト手段を備えることを特徴とするワークフロー管理システム。
【請求項１０】
前記クライアント計算機のテスト手段は、前記ワークフロー管理装置から受信した前記テストシナリオを編集する機能をさらに備えることを特徴とする請求項９に記載のワークフロー管理システム。
【請求項１１】
組織に属する複数の人員の有するクライアント計算機と、前記クライアント計算機間でのビジネスプロセス上のワークフロー処理を管理するワークフロー管理装置とが、ネットワークを介して接続されたワークフロー管理システムにおけるテストシナリオ作成方法であって、
前記クライアント計算機は、前記組織内の複数の人員間で回される回覧文書に関してクライアント計算機から送信されるリクエストを前記ワークフロー管理装置に収集させるためのプロキシ設定条件を、前記ワークフロー管理装置に設定するプロキシ機能設定工程と、
前記ワークフロー管理装置は、前記プロキシ機能設定工程によって設定された前記プロキシ設定条件に基づいて、前記クライアント計算機によって送信されるリクエストを収集し、テストシナリオデータを作成するテストシナリオ作成工程と、
を含むことを特徴とするテストシナリオ作成方法。
【請求項１２】
前記プロキシ機能設定工程では、前記プロキシ設定条件として、前記ワークフロー管理装置で記録するリクエストの種別と、記録する前記ワークフロー管理装置のポート番号を含む条件を設定することを特徴とする請求項１１に記載のテストシナリオ作成方法。
【請求項１３】
前記プロキシ機能設定工程では、前記テストシナリオ作成工程の実行の可否を選択可能とすることを特徴とする請求項１１に記載のテストシナリオ作成方法。
【請求項１４】
前記プロキシ機能設定工程では、前記ワークフロー管理装置に複数の業務アプリケーションが存在する場合に、業務アプリケーション単位で前記プロキシ設定条件を設定可能なことを特徴とする請求項１１に記載のテストシナリオ作成方法。
【請求項１５】
前記テストシナリオ作成工程は、
前記クライアント計算機からのリクエストを取得するリクエスト処理工程と、
記録するリクエストの種類を前記プロキシ設定条件に基づいてフィルタリングするフィルタ工程と、
前記フィルタ工程によって抽出されたリクエストを保存するデータ保存処理工程と、
を含むことを特徴とする請求項１１に記載のテストシナリオ作成方法。
【請求項１６】
前記テストシナリオ作成工程は、前記フィルタ工程によって抽出されたリクエストを、前記クライアント計算機で処理可能なデータ形式に変換するデータ形式変換工程をさらに含むことを特徴とする請求項１５に記載のテストシナリオ作成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、組織内の人員間で計算機を用いて回覧をまわすことができるワークフロー管理装置とワークフロー管理システムに関するものである。また、ワークフロー管理システムでワークフロー処理のテスト時に使用するテストシナリオ作成方法にも関するものである。
【背景技術】
【０００２】
従来、企業などの組織において複数の担当者がネットワークを経由して仕事をする際に、ビジネスプロセス定義にしたがって担当者間で受け渡す文書や情報、タスクの流れを管理し、自動化するワークフロー管理システムが提案されている（たとえば、特許文献１参照）。【０００３】
【特許文献１】特開２００２−２１５８５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のワークフロー管理システムでは、文書、情報、タスクの流れは、各担当者の処理内容の組合せによって複数のパターンが考えられ、また、フローの分岐や待ち合わせを含むビジネスプロセスを考えた場合に、フロー経路のパターン数はさらに増大する。このようなワークフロー管理システムで動作する業務アプリケーションのシステムテストを行う場合には、これらの全てのフロー経路を網羅したテストケースを洗い出し、一つ一つ手作業で文書を流して、フロー経路上の各ポイントで所定の動作が行われるかなどの確認を実行しなければならなかった。特に、大規模なまたは複雑な業務アプリケーションの場合には、このシステムテストに多くの作業時間と労力とが費やされてしまうという問題点があった。これは、ワークフロー管理システムで管理される文書が、フロー遷移によって同じステータスを保持することができないために生じる問題点である。つまり、単に過去に作成されたフロー経路上の各ポイントにおいて保存された文書の履歴情報からでは、システムテストを行うためのフロー経路を作成することはできない。【０００５】
この発明は、上記に鑑みてなされたもので、ワークフロー管理システム上で動作する業務アプリケーションのワークフロー処理のテストを自動で行うことが可能なワークフロー管理装置とワークフロー管理システムを得ることを目的とする。また、ワークフロー管理システムで実行するワークフローのテストの際に使用するテストシナリオを作成するテストシナリオ作成方法を得ることも目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、この発明にかかるワークフロー管理装置は、回覧を作成する業務アプリケーションの有する雛型に、回覧すべき組織内の人員の順序が設定された検認経路を設定し、設定された検認経路の変更を入力項目定義にしたがって行うフロー定義と、前記検認経路上のつぎの検認者のクライアント計算機に回覧文書の存在を通知するためのメール送信定義と、回覧の申請内容を設定する入力項目定義と、を前記組織内の人員のクライアント計算機からのリクエストに基づいて設定して回覧文書を作成する文書作成手段と、前記検認経路上の検認者によって閲覧が完了すると、前記フロー定義に基づいてつぎの検認者を選択して、前記メール送信定義に設定するフロー制御手段と、前記メール送信定義に基づいてつぎの検認者のクライアント計算機に回覧文書の存在を通知するメール送信手段と、を備えるワークフロー管理装置において、前記回覧文書の回覧時に前記クライアント計算機から送信される前記回覧文書に関するリクエストを記録し、このリクエストを前記検認経路の順に配置したテストシナリオを作成するプロキシ手段を備え、前記クライアント計算機からの指示により、前記テストシナリオを用いて、前記業務アプリケーションのワークフローのテストを行うことを特徴とする。
【発明の効果】
【０００７】
この発明によれば、プロキシ手段で収集されたテストシナリオを用いて、またはこのテストシナリオを流用もしくは使用して、ワークフロー管理システムにおけるワークフローのテストを行うことができ、テストすべき検認経路について、ワークフロー処理を行うためのリクエストを一つ一つ作成する手間を省くことができるという効果を有する。
【図面の簡単な説明】
【０００８】
【図１】図１は、ある組織におけるユーザのつながりを示す図である。
【図２】図２は、ワークフロー管理システムの構成の一例を示す図である。
【図３】図３は、ビジネスプロセス定義の構造を模式的に示す図である。
【図４】図４は、ワークフロー処理の一例を示すフローチャートである。
【図５】図５は、この発明にかかるワークフロー管理システムで使用されるサーバ装置の機能構成を示すブロック図である。
【図６】図６は、テストシナリオデータのデータ構造を模式的に示す図である。
【図７】図７は、管理者ページの一例を示す図である。
【図８】図８は、プロキシ機能の設定画面の一例を示す図である。
【図９】図９は、テストシナリオ一覧画面の一例を示す図である。
【図１０】図１０は、テストシナリオ管理ページの一例を示す図である。
【図１１】図１１は、リクエストの構造の概要を示す図である。
【図１２】図１２は、ワークフロー管理システムに使用されるクライアント計算機の機能構成を模式的に示すブロック図である。
【図１３】図１３は、ユーザが管理者権限のアカウントを有するユーザか否かを判定するフローチャートである。
【図１４−１】図１４−１は、プロキシ機能の設定処理の手順を示すフローチャートである（その１）。
【図１４−２】図１４−２は、プロキシ機能の設定処理の手順を示すフローチャートである（その２）。
【図１５】図１５は、テストモードのＯＮ／ＯＦＦ時におけるワークフロー管理システムの動作処理手順を示すフローチャートである。
【図１６】図１６は、テストシナリオの管理処理の手順を示すフローチャートである。
【図１７】図１７は、クライアント計算機によるテストシナリオデータの編集処理の手順を示すフローチャートである。
【図１８】図１８は、テストシナリオ編集画面の一例を示す図である。
【図１９】図１９は、図１８のテストシナリオ編集画面の基となるテストシナリオデータのデータ構造の一例を示す図である。
【図２０】図２０は、クライアント計算機によるテストシナリオの実行処理の手順を示すフローチャートである。
【符号の説明】
【０００９】
１  ワークフロー管理システム
２  クライアント計算機
３  サーバ装置
４  ネットワーク
２１，３１  通信部
２２  Ｗｅｂブラウザ
２３，３５  データ格納部
２４  テストツール
３２  認証処理部
３３  ワークフローエンジン
３４  プロキシ機能部
３６  制御部
２４１  表示処理部
２４２  保存処理部
２４３  送信処理部
２４４  受信処理部
２４５  アクション解析部
３３１  ワークフロー処理部
３３２  文書作成機能
３３３  フロー制御機能
３３４  メール送信機能
３３５  プロキシ機能設定部
３３６  テストシナリオ管理部
３４１  リクエスト処理部
３４２  フィルタ部
３４３  データ形式変換部
３４４  データ保存処理部
【発明を実施するための最良の形態】
【００１０】
以下に添付図面を参照して、この発明にかかるワークフロー管理装置とワークフロー管理システム、およびテストシナリオ作成方法の好適な実施の形態を詳細に説明する。【００１１】
以下の説明では、企業などの組織にこのワークフロー管理システムを適用する場合を例に挙げるが、ワークフローの一例として回覧が挙げられる。この回覧は、たとえばソフトウェアの購入伺いやメールアドレスの申請、出張報告、旅費の精算などその文書の種類によって、回覧を回す経路（検認経路、フロー）が異なる。また、同じ文書の種類でも、たとえば認可を受ける金額などの内容によっても回覧を回す経路やその順番の柔軟性の度合も異なる。つまり、同じ部署の同じ人員が作成する回覧であっても、文書の種類とその内容によって、検認経路が異なる。図１は、ある組織における人員（以下、ユーザという）のつながりを示す図である。この図でアルファベットＡ，Ｂ，・・・はユーザを示しているものとする。たとえば、ユーザＡは、金額が１万円のソフトウェアの購入伺いの場合にはＡ→Ｂ→Ｄ→Ｉと回覧をまわし、３万円のソフトウェアの購入伺いの場合にはＡ→Ｂ→Ｄ→Ｉ→Ｄ→Ｊと回覧をまわし、出張報告の場合にはＡ→Ｃ→Ｇ→Ｎと回覧をまわすというように、文書の種類や内容に応じて作成する回覧の検認経路が異なる。さらに、回覧を作成するルールや検認経路を決定するルールは、組織ごとによっても異なるものである。そのため、以下に示すものは全て例示であり、この発明が以下に示されるものに限定される趣旨ではない。【００１２】
最初に、ワークフロー管理システムにおけるワークフロー処理の概要について説明する。図２は、ワークフロー管理システムの構成の一例を示す図である。ワークフロー管理システム１は、企業などの組織の各ユーザの有するパーソナルコンピュータなどのクライアント計算機２と、組織内のワークフロー処理を管理するサーバ装置３とが、ネットワーク４を介して接続される構成を有する。なお、ここでは、サーバ装置３は、ワークフロー処理を行うＷｅｂアプリケーションサーバとして機能し、クライアント計算機２とサーバ装置３とは、ＨＴＴＰ（HyperText  Transfer  Protocol）を利用して互いにデータを送受信するものとする。また、サーバ装置３は、請求の範囲におけるワークフロー管理装置に対応している。【００１３】
サーバ装置３は、ワークフロー処理部３３１とデータ格納部３５を有している。ワークフロー処理部３３１は、種類に応じた文書（回覧）を作成する業務アプリケーションごとにビジネスプロセス定義という雛型を有しており、このビジネスプロセス定義に入力された内容から文書（回覧）を作成する文書作成機能３３２と、作成された文書に設定された検認経路に基づいてつぎのユーザに文書を送信するフロー制御機能３３３と、作成された文書に設定されたメール送信定義３０３に基づいてつぎのユーザに回覧の順番が回ってきたことを通知するメール送信機能３３４とを有する。なお、文書作成機能３３２は、請求の範囲における文書作成手段に対応し、フロー制御機能３３３は、同じくフロー制御手段に対応し、メール送信機能３３４は、同じくメール送信手段に対応している。【００１４】
図３は、ビジネスプロセス定義の構造を模式的に示す図である。ビジネスプロセス定義３００には、組織内で回覧を行う流れを定義するフロー定義３０１、回覧がつぎのユーザに回った場合にメールを送信するためのメール送信定義３０３、および回覧の内容を入力する入力項目定義３０４が含まれる。【００１５】
フロー定義３０１は、ユーザによって設定された回覧を回す順番である検認経路が定義される。この定義は、ユーザによって入力されるものであってもよいし、予め用意された組織内のユーザの役職や部署を含むユーザ情報を用いて設定するものであってもよいし、予め用意された複数の検認経路から選択するものであってもよい。また、このフロー定義３０１には、入力項目定義３０４の内容（申請内容）に対応した検認経路やその検認経路内での回覧の順番の柔軟性、ある入力項目値に設定された人をつぎの検認者とする定義などを含むフロー遷移条件３０２が含まれている。【００１６】
メール送信定義３０３は、フロー定義３０１と関連付けされており、フロー定義３０１の内容に基づいてつぎのユーザに、回覧が届いた旨の通知を行う際の宛先と送信元を定義するものである。たとえば、上述した図１の例でＡ→Ｂ→Ｄ→Ｉと回覧をまわす場合に、ユーザＡが文書（回覧）を作成すると、メール送信定義３０３には、宛先としてユーザＢのメールアドレスが設定され、送信元としてユーザＡのメールアドレスが設定される。この他に、メール送信定義３０３には、関係者へ通知するための写し（Carbon  CopyやBlind  Carbon  Copy）、件名、本文、メールヘッダ、督促メール送信要否なども設定可能である。【００１７】
入力項目定義３０４は、文書（回覧）内に入力される申請内容に関するものである。この入力項目定義３０４に入力された内容は、フロー定義３０１の内容の変更が必要か否かについての判定を行う際のフロー定義３０１内のフロー遷移条件３０２における一つの判定情報として用いられる。【００１８】
このほかに、閲覧を要求してきたユーザの閲覧が可能か否かの制御を行うアクセス制御定義３０５を含むようにしてもよい。以上のように、このビジネスプロセス定義３００中の所定の定義に、新規に回覧を作成するユーザ（以下、起票者という）によって入力されると一意の文書ＩＤを有する文書（回覧）が作成される。【００１９】
文書作成機能３３２は、起票者によって指定される業務アプリケーション（文書（回覧）の種類）と検認経路が設定されると、または起票者や検認経路上のつぎのユーザ（以下、検認者という）によって、文書中に申請内容が入力されると、一意に識別可能な文書ＩＤを有する新たな文書を作成する機能を有する。【００２０】
フロー制御機能３３３は、新たな文書ＩＤが付された文書が作成されると、その文書の検認経路に基づいてつぎの検認者のメールアドレスとその文書を送信する送信者（起票者または検認者）のメールアドレスをメール送信定義３０３に設定する機能を有する。これによって、検認経路に基づいた文書の流れを制御する。また、起票者や検認者によって申請内容が入力され、決定された文書をフロー遷移条件と比較して検認経路の変更が必要か否かを判定し、変更が必要な場合に検認経路を変更する機能も有する。たとえば、図１に示される組織の購買申請の回覧において、所定の金額以下の場合にはＡ→Ｂ→Ｄ→Ｉという検認経路であるが、所定の金額を上回るとＡ→Ｂ→Ｄ→Ｉ→Ｄ→Ｊという検認経路となる場合に、起票者Ａの作成した回覧は所定の金額以下であったが、検認者Ｂのときに金額が所定の金額よりも多い額に変更された場合に、フロー制御機能３３３は後者の検認経路に変更する。また、ある入力項目に設定された人をつぎの検認者とする定義がフロー遷移条件に規定されている場合には、決定された文書のその入力項目に人が設定されていると、フロー制御機能３３３はその入力項目に設定されている人に検認経路を変更する。【００２１】
メール送信機能３３４は、検認経路上のユーザ（起票者または検認者）によって、申請内容が確認され、決定されると、メール送信定義３０３に定義されているつぎの検認者にメールを送信する機能を有する。このメールは、回覧がきたことを知らせる定型のフォームを有するメールであり、たとえば回覧の場所を示すＵＲＬが記載されている。【００２２】
図４は、ワークフロー処理の一例を示すフローチャートである。まず、起票者は、自身のクライアント計算機２を用いて、サーバ装置３に対して回覧の種類（業務アプリケーションの種類）を指定した回覧作成要求を出す（ステップＳ１１）。サーバ装置３のワークフロー処理部３３１は、回覧作成要求から業務アプリケーションを選択し（ステップＳ１２）、そのビジネスプロセス定義３００の内容を含む検認経路設定画面を起票者のクライアント計算機２に送信する（ステップＳ１３）。【００２３】
起票者のクライアント計算機２に検認経路設定画面が表示されると（ステップＳ１４）、起票者はビジネスプロセス定義３００中のフロー定義３０１に検認経路を設定する（ステップＳ１５）。この検認経路の設定方法としては、起票者の個人情報と組織情報に基づいて自動的に設定する方法でもよいし、あらかじめビジネスプロセス定義３００で定義された検認者一覧から回覧するユーザを選択する方法でもよい。検認経路が設定されると、その内容がサーバ装置３に送信される。【００２４】
サーバ装置３のワークフロー処理部３３１は、設定されたフロー定義３０１の内容（検認経路）に基づいてメール送信定義３０３を設定し（ステップＳ１６）、つまりつぎの検認者のメールアドレスを宛先として設定し、起票者のメールアドレスを送信元として設定して、回覧となる文書を作成する（ステップＳ１７）。この文書には、文書を一意に識別するための文書ＩＤが付される。その後、作成した文書を起票者に送信する（ステップＳ１８）。【００２５】
起票者のクライアント計算機２に文書が表示されると（ステップＳ１９）、起票者は文書に申請内容を入力して決定し（ステップＳ２０）、その内容がサーバ装置３へと送られる。サーバ装置３は、起票者による入力内容や起票者の個人情報や所属組織情報などを調べ、フロー定義３０１の変更が必要となるか否かを判断する（ステップＳ２１）。この判断は、各業務アプリケーションについて入力項目と検認経路との関係を記述したフロー遷移条件３０２を予め定めておき、このフロー遷移条件３０２に基づいて、検認経路の変更が必要か否かを判断する。フロー定義３０１の変更が必要な場合（ステップＳ２１でＹｅｓの場合）には、フロー遷移条件３０２に基づいて検認経路を変更する（ステップＳ２２）。その後、またはフロー定義３０１の変更が必要でない場合（ステップＳ２１でＮｏの場合）には、つぎの検認者が存在するか否かを検認経路から判定し（ステップＳ２３）、検認者が存在する場合（ステップＳ２３でＹｅｓの場合）にはそのつぎの検認者にメールを送信する（ステップＳ２４）。【００２６】
つぎの検認者は、メールを受信すると（ステップＳ２５）、メールに含まれるＵＲＬへの回覧閲覧要求を出す（ステップＳ２６）。この回覧閲覧要求には、文書ＩＤが含まれている。サーバ装置３は、回覧閲覧要求の文書ＩＤに対応する文書をデータ格納部３５から検索し（ステップＳ２７）、抽出したその文書を検認者のクライアント計算機２に送信する（ステップＳ２８）。起票者のクライアント計算機２に文書が表示されると（ステップＳ２９）、検認者は文書の必要な箇所に申請内容を入力して決定する（ステップＳ３０）。内容を決定すると、その文書の内容はサーバ装置３へと送信され、データ格納部３５の同じ文書ＩＤの文書に上書き保存される（ステップＳ３１）。その後、ステップＳ２１へと処理が移り、上述した処理が最後の検認者に届くまで繰り返し実行される。そして、ステップＳ２３でつぎの検認者がいない場合（ステップＳ２３でＮｏの場合）には、ワークフロー処理が終了する。【００２７】
つぎに、この実施の形態におけるテストモード機能を搭載したワークフロー管理システムについて説明する。このワークフロー管理システム１は、図２と同様のネットワーク構成を有するものとする。図５は、この発明にかかるワークフロー管理システムで使用されるサーバ装置の機能構成を示すブロック図である。【００２８】
サーバ装置３は、ネットワーク４に接続されたクライアント計算機２や他の通信機器との間でデータの送受信を行う通信部３１と、このシステムのユーザであるか否かを判定し、ユーザである場合にはさらに管理者権限を有するかの判定を行う認証処理部３２と、所定の組織に属するクライアント計算機２におけるワークフロー処理を行うワークフローエンジン３３と、各クライアント計算機２によるサーバ装置３へのアクセスを記録してテストシナリオを生成するプロキシ機能部３４と、テストシナリオデータなどのデータや業務アプリケーションなどを格納するデータ格納部３５と、を備えて構成される。【００２９】
認証処理部３２は、このシステムのユーザであるか否かの認証チェックを行うとともに、管理者権限を有するアカウントでログインした場合には、管理者権限があるか否かの管理者権限チェックを行う機能を有する。この実施の形態では、テストモードの設定は、管理者権限を有するユーザしかできないものとする。管理者権限アカウントは、システム管理者が事前に設定できるものとし、また、認証方式は、ＩＤ／パスワードを利用したフォーム認証の他に、バイオメトリクス認証やＩＣ（Integrated  Circuit）カード認証などを用いてもよい。【００３０】
データ格納部３５は、ハードディスクなどの記憶媒体によって構成され、ワークフロー処理で生成される文書（回覧）や、プロキシ設定条件とテストシナリオを含むテストシナリオデータ、ビジネスプロセス定義３００中のフロー定義３０１の設定に使用するユーザの個人情報や組織内での役職などを含むユーザ情報、ワークフロー管理システム１上で動作する業務アプリケーションなどを格納する。ここで、業務アプリケーションとは、たとえばソフトウェアの購入伺いやメールアドレスの申請、出張報告、旅費の精算などの文書（回覧）を作成するための個々のアプリケーションのことをいい、文書（回覧）の種類ごとに用意されるアプリケーションである。なお、データ格納部３５中に格納される文書データ、テストシナリオデータ、ユーザ情報、業務アプリケーションなどは、それぞれ別個にハードディスクやサーバ装置などのハードウェアに分離して格納するように構成してもよいし、複数の情報を組み合わせたものを１つのハードウェアに格納して、結果的に複数のハードウェアに分離して格納するように構成してもよい。【００３１】
図６は、テストシナリオデータのデータ構造を模式的に示す図である。テストシナリオデータ６００は、テストシナリオを作成するために必要なサーバ装置３のプロキシ機能部３４の設定条件が含まれるプロキシ設定条件と、後述するテストモードの状態のときにクライアント計算機２からのリクエストデータに基づいて生成したテストシナリオとを含んで構成される。プロキシ設定条件は、クライアント計算機２から送信されたリクエストを記録する際に必要なポート番号や、クライアント計算機２からのリクエストのうち記録するリクエストまたは記録しないリクエストなどを含む項目から構成される。記録するリクエストまたは記録しないリクエストは、どちらかが設定される。また、テストシナリオは、プロキシ設定条件が設定されたプロキシ機能部３４によって収集されたリクエストから構成される。図６では、リクエスト１〜ｎ（ｎは自然数）からテストシナリオが構成されている例が示されている。なお、リクエストとは、クライアント計算機が文書（回覧）の作成時や決定時などに送信するＨＴＴＰリクエストのように、文書を検認経路上に回覧するときに文書には記録されないが文書の回覧に必要な情報を送信する際に使用されるコマンドである。【００３２】
ワークフローエンジン３３は、通常のワークフロー処理を行うワークフロー処理部３３１と、リクエストを収集するためにプロキシ機能部３４に条件を設定するプロキシ機能設定部３３５と、データ格納部３５に格納されるテストシナリオデータの管理をクライアント計算機２からの指示に基づいて行うテストシナリオ管理部３３６と、を備えて構成される。なお、ワークフロー処理部３３１は、上述した図４で説明した処理を行う。また、この実施の形態では、プロキシ機能設定部３３５とテストシナリオ管理部３３６は、ともにサーバ装置３にネットワーク４を介して接続されたクライアント計算機２からの指示により動作するものとする。そのため、プロキシ機能設定部３３５とテストシナリオ管理部３３６を動作させるためのページを予め備えており、ユーザからの要求によりそのページをクライアント計算機２に表示させる場合を例に挙げて説明する。【００３３】
プロキシ機能設定部３３５は、プロキシ機能を業務アプリケーションごとに働かせるための設定を行う処理部であり、管理者権限を有するユーザからの要求により、その設定を行う管理者ページをクライアント計算機２に送信し、その管理者ページに設定された内容をプロキシ機能部３４に設定する機能を有する。このプロキシ機能設定部３３５は、請求の範囲におけるプロキシ機能設定手段に対応している。【００３４】
図７は、管理者権限のアカウントでログインした場合に表示される管理者ページの一例を示す図である。プロキシ機能設定部３３５は、管理者権限のアカウントでユーザがログインしたときにこの管理者ページ７００をそのユーザのクライアント計算機２に送信して表示させる。この管理者ページ７００には、現在登録されている業務アプリケーションの一覧が表示されるリストボックス７１０と、テストモードのＯＮ／ＯＦＦを切り替えるためのラジオボタンなどのインタフェース７２０と、後述するプロキシ機能の設定画面８００へ遷移するための「プロキシ機能の設定」という名称のリンク７３０、管理者ページ７００での設定内容を保存しプロキシ機能設定部３３５に設定された処理を実行させるための「設定」ボタン７４０が配置されている。この管理者ページ７００では、テストモードの設定の可否と、テストモードを設定する場合のプロキシ機能の設定を行うことができる。なお、図７では、この実施の形態に関係する内容のみを表示させており、実際には、業務アプリケーションの追加／削除、サービス起動／停止などシステム運用に必要な機能を操作することができるように管理者ページ７００は構成されている。【００３５】
管理者ページ７００において、「プロキシ機能の設定」リンク７３０は、リストボックス７１０で選択されたテスト対象の業務アプリケーションにおけるプロキシ機能の設定を行うためのページに遷移する。また、「設定」ボタン７４０は、テストモードをＯＮに設定している場合には、管理者ページ７００および「プロキシ機能の設定」リンク７３０における設定内容を保存するとともに、その設定内容でプロキシ機能を動作させ、テストモードをＯＦＦに設定している場合には、現在プロキシ機能が動作している場合にはプロキシ機能を停止させる。【００３６】
図８は、プロキシ機能の設定画面の一例を示す図である。このプロキシ機能の設定画面８００は、図７の管理者ページ７００で「プロキシ機能の設定」リンク７３０をクリックしたときに表示される画面である。この図８は、業務アプリケーションとして「メールアドレス申請」が選択された場合を例示しているが、どの業務アプリケーションのプロキシ機能の設定画面８００にも、フィルタ情報を示す項目として、ポート番号８１０、記録するリクエスト８２０／記録しないリクエスト８２３が含まれる。【００３７】
ポート番号８１０は、クライアント計算機２から送信されたリクエストを記録する際に必要であり、クライアント計算機２のＷｅｂブラウザ側で設定するプロキシサーバのポート番号は、このポート番号と一致させる必要がある。記録するリクエスト８２０／記録しないリクエスト８２３は、クライアント計算機２からのリクエストのうち、記録するまたは記録しないリクエストのアクセス先を設定するものである。いずれか一方が設定されるようになっていればよい。記録するリクエスト８２０／記録しないリクエスト８２３の追加／削除は、それぞれのリストボックスの下に配置される「追加」ボタン８２１，８２４と「削除」ボタン８２２，８２５で行うことができる。【００３８】
「設定」ボタン８３１は、プロキシ機能の設定画面８００に入力した内容を保存し、図７の管理者ページ７００に戻るように機能する。「キャンセル」ボタン８３３は、プロキシ機能の設定画面８００に入力したか否かにかかわらず、プロキシ機能の設定画面８００を終了して、図７の管理者ページ７００に戻るように機能する。【００３９】
「参照」ボタン８３２は、図７の管理者ページ７００のリストボックス７１０で選択された業務アプリケーションで過去に記録したテストシナリオデータを一覧表示するテストシナリオ一覧画面を表示させる処理を行う。【００４０】
図９は、テストシナリオ一覧画面の一例を示す図である。このテストシナリオ一覧画面９００には、データ格納部３５に格納されるテストシナリオデータの一覧が表示される。ただし、管理者ページ７００で選択された業務アプリケーションに関するもののみである。そのため、図９では「メールアドレス申請」に関するテストシナリオデータが示されている。この一覧内のそれぞれの項目９１１には、一覧中からの１つの項目のみを選択するためのラジオボタン９１０が設けられている。「ＯＫ」ボタン９１２は、いずれかのラジオボタン９１０で選択された項目に対応するテストシナリオデータをデータ格納部３５から読み出して、そのプロキシ設定条件をプロキシ機能の設定画面８００に反映させ、そのプロキシ機能の設定画面８００を表示させる処理を行う。また、「キャンセル」ボタン９１３は、テストシナリオ一覧画面９００を閉じて、ラジオボタン９１０による選択にかかわらずその内容が反映されない図８のプロキシ機能の設定画面８００へと表示を戻す処理を行う。また、テストシナリオ一覧画面９００の各項目９１１は、対応するテストシナリオデータとリンクがはられており、項目を選択することで、その内容の詳細情報が表示される。【００４１】
テストシナリオ管理部３３６は、データ格納部３５のテストシナリオデータに対する管理処理を、ユーザからの指示に基づいて行う機能を有する。たとえば、ユーザから指示されたテストシナリオデータを検索して抽出し、その一覧をクライアント計算機２に表示させたり、ユーザによって選択されたテストシナリオデータをクライアント計算機２側に送信したり、テストシナリオデータを削除したりする処理を行う。【００４２】
図１０は、テストシナリオ管理ページの一例を示す図である。このテストシナリオ管理ページ１０００には、データ格納部３５に格納されるテストシナリオデータの一覧が表示される。この一覧内の項目１０１１には、一覧中から複数の項目を選択することが可能なチェックボックス１０１０が設けられている。「ダウンロード」ボタン１０１２は、一覧中の項目のうちチェックボックス１０１０にチェックを付された項目に対応するテストシナリオデータをユーザのクライアント計算機２へと送信する処理を行う。「削除」ボタン１０１３は、一覧中の項目のうちチェックボックス１０１０にチェックを付された項目に対応するテストシナリオデータをデータ格納部３５から削除する処理を行う。また、「キャンセル」ボタン１０１４は、チェックボックス１０１０へのチェックの有無にかかわらずテストシナリオ管理ページ１０００における処理を中止する処理を行う。なお、各項目１０１１は、そのテストシナリオデータの内容を閲覧することが可能なように対応するテストシナリオデータとリンクがはられている。【００４３】
プロキシ機能部３４は、ユーザによって図８に示されるプロキシ機能の設定画面８００の設定内容に基づいてリクエストを収集して、テストシナリオを作成する機能を有し、リクエスト処理部３４１、フィルタ部３４２、データ形式変換部３４３およびデータ保存処理部３４４を備えて構成される。このプロキシ機能部３４は、請求の範囲におけるプロキシ手段に対応している。【００４４】
リクエスト処理部３４１は、テストモードがＯＮのときに、業務アプリケーションを操作するためにクライアント計算機２から送信されたリクエストを一時的に取得する機能を有する。図１１は、リクエストの構造の概要を示す図である。このリクエスト１１００は、図６のテストシナリオを構成する一つのリクエストｉ（ｉは１〜ｎまでの自然数である）の内容をさらに詳しく示すものであり、上述したようにこの実施の形態ではＨＴＴＰリクエストを指している。１つのリクエスト１１００には、サーバ装置の名称、ポート番号、パス（ＵＲＬ；Uniform  Resource  Locator）、メソッドおよびリクエストのパラメータが含まれている。リクエストのパラメータとしては、対応する文書（回覧）の文書ＩＤが含まれている。リクエスト処理部３４１は、このリクエストがサーバ装置３に届く前に受信して、その内容を取得する。このリクエスト処理部３４１は、請求の範囲におけるリクエスト処理機能に対応している。【００４５】
フィルタ部３４２は、フィルタ情報を読込み、このフィルタ情報と取得したリクエストとを比較して、データ格納部３５にテストシナリオデータを構成するデータとして記録するか否かを判定する機能を有する。具体的には、リクエスト処理部３４１で取得したＨＴＴＰリクエストのパスが、図８のプロキシ機能の設定画面８００の記録するリクエスト８２０／記録しないリクエスト８２３のいずれかに該当するか否かを判定する。たとえば、記録するリクエスト８２０に該当するパスである場合には、該ＨＴＴＰリクエストをデータ格納部３５に格納するためにつぎのデータ形式変換部３４３にデータを渡す。また、記録するリクエスト８２０に該当しない場合には、該ＨＴＴＰリクエストを記録しないので、そのまま通信経路上に戻し、サーバ装置３へと流す。記録しないリクエスト８２３が設定されている場合も同様である。このフィルタ部３４２は、請求の範囲におけるフィルタ機能に対応している。【００４６】
データ形式変換部３４３は、フィルタ部３４２によってテストシナリオデータを構成するデータとして記録すると判定されたリクエストについて、クライアント計算機２のテストルール２４によって認識可能なデータ形式に変換する機能を有する。たとえば、ＸＭＬ（eXtensible  Markup  Language）やＣＳＶ（Comma  Separated  Values）などのデータ形式に変換する。このデータ形式変換部３４３は、請求の範囲におけるデータ形式変換機能に対応している。【００４７】
データ保存処理部３４４は、データ形式変換部３４３によって変換されたリクエストを、データ格納部３５に格納する機能を有する。このとき、図１１に示されるようにパラメータとして同じ文書ＩＤを有するリクエストは、図６に示されるテストシナリオデータ６００中のテストシナリオ内に保存される。このデータ保存処理部３４４は、請求の範囲におけるデータ保存処理機能に対応している。【００４８】
上述したサーバ装置３におけるプロキシ機能部３４は、たとえば、モジュールとしてプロキシ機能を実現して、ワークフロー処理を行うＷｅｂアプリケーションサーバ上で動作させるようにしてもよいし、ワークフロー処理を行うＷｅｂアプリケーションサーバとプロキシ機能を備えるＷｅｂサーバとを設けるように構成してもよい。【００４９】
図１２は、ワークフロー管理システムに使用されるクライアント計算機の機能構成を模式的に示すブロック図である。クライアント計算機２は、ネットワーク４を介してサーバ装置３や他の通信機器とデータの送受信を行う通信部２１と、サーバ装置３から得られるデータやサーバ装置３に対して送信するデータをクライアント計算機２のユーザに視覚的に表示するＷｅｂブラウザ２２と、クライアント計算機２で使用するデータを格納するデータ格納部２３と、管理者ページ７００やテストシナリオ管理ページ１０００の表示や生成したテストシナリオの実行処理を行うテストツール２４と、を備えて構成される。【００５０】
データ格納部２３は、ハードディスクなどの記憶媒体によって構成され、サーバ装置３からダウンロードしたテストシナリオデータなどを格納する。【００５１】
テストツール２４は、ユーザによるテストシナリオデータの作成時やテストシナリオの実行時に呼び出され、テストシナリオデータの作成処理やテストシナリオの実行処理を行う機能を有し、表示処理部２４１、保存処理部２４２、送信処理部２４３、受信処理部２４４およびアクション解析部２４５を備えて構成される。なお、このテストツール２４は、請求の範囲におけるテスト手段に対応している。【００５２】
表示処理部２４１は、アクション解析部２４５からの指示によりＷｅｂブラウザ２２上に必要な画面を表示し、また、Ｗｅｂブラウザ２２上を介したユーザからの入力をアクション解析部２４５に通知する機能を有する。たとえば、アクション解析部２４５からの指示によってＷｅｂブラウザ２２上に、テストを行うために必要なコンポーネントやアクション解析部２４５で解析されたデータ内容を表示したり、Ｗｅｂブラウザ２２上でユーザによってなされたアクションをアクション解析部２４５へ伝達したりする。なお、ここでは、テストツール２４がＷｅｂアプリケーションの場合を例示しているが、テストツール２４がクライアントアプリケーションの場合でもよい。この場合には、ＷｅｂアプリケーションでのＷｅｂブラウザ上での処理がＷｅｂブラウザ２２上でなく、クライアントアプリケーション用の画面上での処理となる。【００５３】
保存処理部２４２は、アクション解析部２４５からの指示により、データ格納部２３にデータを保存する機能を有する。たとえば、アクション解析部２４５からテストシナリオデータの保存を促す指示を受取った場合に、そのテストシナリオデータをデータ格納部２３に格納する。【００５４】
送信処理部２４３は、アクション解析部２４５からの指示によりデータを通信部２１を介して所定の通信機器に送信する機能を有する。たとえば、アクション解析部２４５で解析された結果、表示処理部２４１を介してユーザによって入力されたテストシナリオの設定値のうち、サーバ装置３側へリクエストを送信する必要があるアクションを、そのアクションをリクエストデータとして含むリクエストをサーバ装置３へ通信部２１を介して送信する。また、テストシナリオデータの取得を促すアクションをアクション解析部２４５から受取った場合には、サーバ装置３へそのアクションをリクエストデータとして含むリクエストを送信する。【００５５】
受信処理部２４４は、通信部２１を介して送られてくるデータを受信してアクション解析部２４５へ渡す機能を有する。たとえば、送信処理部２４３で送信されたリクエストに対するサーバ装置３からのレスポンスを受け取り、そのレスポンスをアクション解析部２４５へ渡す。また、テストシナリオデータの取得を促すアクションに対するレスポンスを受け取った場合には、そのレスポンスをアクション解析部２４５に渡す。【００５６】
アクション解析部２４５は、上記表示処理部２４１または受信処理部２４４から渡されるアクションを解析して、そのアクションに基づいた処理を行うように各処理部に指示を出す機能を有する。たとえば、テストシナリオの実行を促すアクションをＷｅｂブラウザ２２を介して受信した場合には、送信処理部２４３にそのテストシナリオに基づいたリクエストを送信するように指示を伝達し、テストシナリオデータの保存を促すアクションを受信した場合には、保存処理部２４２にそのテストシナリオデータを保存するように指示を伝達する。また、サーバ装置３のテストシナリオ管理機能を呼び出すアクションを受信した場合には、送信処理部２４３にテストシナリオ管理部３３６の有するテストシナリオ設定ページを呼び出す指示を伝達する。なお、ここでは、テストツール２４がＷｅｂアプリケーションの場合を例示しているが、テストツール２４がクライアントアプリケーションの場合でもよい。この場合には、ＷｅｂアプリケーションでのＷｅｂブラウザ２２上での処理がＷｅｂブラウザ２２上でなく、クライアントアプリケーション用の画面上での処理となる。【００５７】
以下に、このワークフロー管理システム１におけるテストモード時の動作処理手順についてフローチャートを参照しながら説明する。この実施の形態では、管理者権限のアカウントを有するユーザしかテストモードの設定および解除を行うことができない場合を例示しているので、最初にユーザが管理者権限のアカウントを有するか否かを判定する処理から説明する。図１３は、ユーザが管理者権限のアカウントを有するユーザか否かを判定するフローチャートである。【００５８】
まず、ユーザがクライアント計算機２から図７に示されるような管理者ページ７００の呼び出しを要求すると（ステップＳ５１）、サーバ装置３の認証処理部３２は、ユーザが正当なユーザであるか否かの認証チェックを行い（ステップＳ５２）、認証済みか否かを判定する。認証チェックの結果、認証が済んでいない場合（ステップＳ５２で未認証の場合）には、クライアント計算機２にログイン画面を送信する（ステップＳ５３）。ユーザのクライアント計算機２にログイン画面が表示されると（ステップＳ５４）、ユーザはログイン画面にユーザ名やパスワードなどを入力してログイン処理を行う（ステップＳ５５）。サーバ装置３の認証処理部３２はログイン画面に入力された情報に基づいてユーザの認証処理を行って、ユーザの判定を行う（ステップＳ５６）。【００５９】
判定の結果、ユーザでない場合（ステップＳ５６でＮｏの場合）には、再びステップＳ５４に戻り、ログイン画面を表示して、繰り返し認証処理を実行する。このとき、ログイン画面を表示する回数は任意に設定することができる。また、ユーザであると認証された場合（ステップＳ５６でＹｅｓの場合）またはステップＳ５２で認証済みの場合には、認証処理部３２は、ログインしたユーザが管理者権限のアカウントを有するか否かのチェックを行う（ステップＳ５７）。アクセスしたユーザは管理者権限のアカウントを有さない場合（ステップＳ５７でＮｏの場合）には、認証処理部３２はクライアント計算機２にエラー画面を表示して（ステップＳ５９）、処理を終了する。また、アクセスしたユーザは管理者権限のアカウントを有する場合（ステップＳ５７でＹｅｓの場合）には、プロキシ機能設定部３３５は、図７に示されるような管理者ページ７００をクライアント計算機２に送信する（ステップＳ６０）。クライアント計算機２には、管理者ページ７００が表示され（ステップＳ６１）、テストモードの設定が可能な状態となり、認証処理を終了する。【００６０】
図１４−１〜図１４−２は、プロキシ機能の設定処理の手順を示すフローチャートである。図１３で管理者権限を有すると認められたユーザは、管理者ページ７００からプロキシ機能の設定を行うことができる。まず、ユーザは管理者ページ７００で業務アプリケーションを選択し（ステップＳ８１）、テストモードの選択を行う（ステップＳ８２）。また、サーバ装置３のプロキシ機能設定部３３５は、ユーザによって「プロキシ機能の設定」リンク７３０が選択されたか否かを判定する（ステップＳ８３）。「プロキシ機能の設定」リンク７３０が選択された場合（ステップＳ８３でＹｅｓの場合）には、プロキシ機能設定部３３５は、図８に示されるようなステップＳ８１で選択された業務アプリケーションについてのプロキシ機能の設定画面８００を作成し、クライアント計算機２に送信する（ステップＳ８４）。【００６１】
クライアント計算機２には、プロキシ機能の設定画面８００が表示され（ステップＳ８５）、ユーザによる入力処理が行われる。ユーザによって参照ボタンが押されると（ステップＳ８６で参照ボタンの場合）、サーバ装置３のプロキシ機能設定部３３５は、ステップＳ８１で選択された業務アプリケーションについてのテストシナリオデータをデータ格納部３５から検索し（ステップＳ８７）、図９に示されるようなテストシナリオ一覧画面９００を作成し（ステップＳ８８）、クライアント計算機２に送信する。クライアント計算機２には、テストシナリオ一覧画面９００が表示され（ステップＳ８９）、ユーザによるテストシナリオデータの選択処理が行われる（ステップＳ９０）。【００６２】
ユーザによって、テストシナリオ一覧画面９００から１つのテストシナリオデータが選択されると（ステップＳ９１でＯＫボタンの場合）、サーバ装置３のプロキシ機能設定部３３５は、テストシナリオ一覧画面９００を閉じて、選択されたテストシナリオデータのプロキシ設定条件をプロキシ機能の設定画面８００に設定する（ステップＳ９２）。その後またはステップＳ９１のテストシナリオ一覧画面９００でキャンセルボタンが選択されると（ステップＳ９１でキャンセルボタンの場合）、プロキシ機能設定部３３５は、テストシナリオ一覧画面９００を閉じて（ステップＳ９３）、ステップＳ８５へと戻る。【００６３】
ステップＳ８６でユーザが手入力をする場合（ステップＳ８６で手入力の場合）には、プロキシ機能の設定画面８００の所定の位置に自らプロキシ設定条件の入力や参照で呼び出した画面の編集を行う（ステップＳ９４）。たとえば、過去のプロキシ設定条件を利用しない場合には、新たに自らプロキシ設定条件を入力し、また、過去のプロキシ設定条件を利用する場合には、変更が必要な箇所のみを編集する。プロキシ設定条件の入力後にユーザによって設定ボタンが押されると（ステップＳ９５で設定ボタンの場合）、サーバ装置３のプロキシ機能設定部３３５は、入力されたプロキシ設定条件を保存する（ステップＳ９６）。その後、またはステップＳ９５でユーザによってキャンセルボタンが押されると、またはステップＳ８６でキャンセルボタンが押されると、プロキシ機能設定部３３５は、プロキシ機能の設定画面８００を閉じて（ステップＳ９７）、管理者ページ７００を表示させる（ステップＳ９８）。【００６４】
その後、またはステップＳ８３で「プロキシ機能の設定」リンク７３０を選択しない場合（ステップＳ８３でＮｏの場合）で、「プロキシ機能の設定」リンク７３０が選択されると（ステップＳ９９でプロキシ機能の設定の場合）、再びステップＳ８４へと戻り、上述した処理が繰り返し実行される。また、管理者ページ７００上の「設定」ボタン７４０が押されると（ステップＳ９９で設定ボタンの場合）、管理者ページ７００に入力された内容（プロキシ機能の設定画面８００の内容も含む）がサーバ装置３に送信され、プロキシ機能設定部３３５は、その内容をサーバ装置３に設定する。つまり、ステップＳ１００でテストモードがＯＮの場合にはプロキシ機能を起動させ（ステップＳ１０１）、ステップＳ１００でテストモードがＯＦＦの場合にはプロキシ機能を停止させる（ステップＳ１０２）。その後、プロキシ機能設定部３３５は、管理者ページ７００を閉じて（ステップＳ１０３）、プロキシ機能の設定処理が終了する。以上により、テストモードの設定処理が終了する。【００６５】
図１５は、テストモードのＯＮ／ＯＦＦ時におけるワークフロー管理システムの動作処理手順を示すフローチャートである。ユーザのそのクライアント計算機２からワークフロー処理に関するリクエストを受信すると（ステップＳ１２１）、サーバ装置３のプロキシ機能部３４のリクエスト処理部３４１は、テストモードがＯＮに設定されている場合（ステップＳ１２２でＯＮの場合）には、そのリクエストを取得する（ステップＳ１２３）。また、フィルタ部３４２は、データ格納部３５のテストシナリオデータ中のフィルタ情報を読み込んでその条件に合致するリクエストを抽出するフィルタマッチング処理を行い（ステップＳ１２４）、データ形式変換部３４３は、抽出したデータについて所定のデータ形式への変換を行う（ステップＳ１２５）。そして、データ保存処理部３４４は、変換したデータをテストシナリオとしてデータ格納部３５に格納する（ステップＳ１２６）。このテストシナリオは、リクエスト中の文書ＩＤに対応付けられてテストシナリオデータ内に保存される。一方、テストモードがＯＦＦの場合（ステップＳ１２２でＯＦＦの場合）には、これらのステップＳ１２３〜Ｓ１２６までの処理は行われない。【００６６】
また、これらのステップＳ１２２〜Ｓ１２６の処理と並行して、サーバ装置３のワークフロー処理部３３１は、受信したリクエストについて通常のワークフロー処理を行う。すなわち、受信したリクエストを処理し（ステップＳ１３１）、このリクエストにしたがって文書データの作成／更新／削除の処理を行い（ステップＳ１３２）、その結果を示すレスポンスを作成し（ステップＳ１３３）、クライアント計算機２に送信する（ステップＳ１４１）。その後、クライアント計算機２では、サーバ装置３からのレスポンスを表示し、リクエストの受信処理が終了する。【００６７】
図１６は、テストシナリオの管理処理の手順を示すフローチャートである。まず、ユーザは、サーバ装置３に対して図１０に示されるテストシナリオ管理ページ１０００の呼出し要求を送信する（ステップＳ１６１）。サーバ装置３のテストシナリオ管理部３３６は、データ格納部３５に格納されているテストシナリオデータを検索して（ステップＳ１６２）、その結果をテストシナリオ管理ページ１０００として作成し（ステップＳ１６３）、クライアント計算機２に送信する（ステップＳ１６４）。【００６８】
クライアント計算機２は、受信したテストシナリオ管理ページ１０００を表示し（ステップＳ１６５）、ユーザによるテストシナリオデータの選択が行われる（ステップＳ１６６）。その後、ユーザによってテストシナリオ管理ページ１０００中の「ダウンロード」ボタン１０１２が選択されると（ステップＳ１６７でダウンロードの場合）、テストシナリオ管理部３３６は、テストシナリオ管理ページ１０００中のチェックされたテストシナリオデータをデータ格納部３５から検索して（ステップＳ１６８）、検索したテストシナリオデータをクライアント計算機２に転送する（ステップＳ１６９）。クライアント計算機２は、テストシナリオデータを受信すると（ステップＳ１７０）、そのテストシナリオデータを自装置のデータ格納部２３に保存し（ステップＳ１７１）、処理を終了する。【００６９】
また、ステップＳ１６７でテストシナリオ管理ページ１０００中の「削除」ボタン１０１３が選択されると（ステップＳ１６７で削除ボタンの場合）、テストシナリオ管理部３３６は、テストシナリオ管理ページ１０００中のチェックされたテストシナリオデータをデータ格納部３５から検索し、そのテストシナリオデータを削除して（ステップＳ１７２）、処理が終了する。【００７０】
さらに、ステップＳ１６７でテストシナリオ管理ページ１０００中の「キャンセルボタン」１０１４が選択されると（ステップＳ１６７でキャンセルボタンの場合）、処理を何も行わずに終了する。【００７１】
図１７は、クライアント計算機によるダウンロードしたテストシナリオデータの編集処理の手順を示すフローチャートである。まず、クライアント計算機２は、テストシナリオデータの編集やテストシナリオの実行を行うためのテストツール２４を起動する。ユーザによってテストシナリオの新規作成が選択されると（ステップＳ２０１でＹｅｓの場合）、コンポーネントの追加が行われる（ステップＳ２０２）。ここで、コンポーネントとは、テストシナリオを構成する複数のリクエストや、テストシナリオを実行するに当たって必要な情報を含むデータのことである。そして、コンポーネントの追加によって作成されたテストシナリオデータを表示する（ステップＳ２０３）。【００７２】
一方、ユーザによって過去に作成したテストシナリオの流用または引用が選択された場合（ステップＳ２０１でＮｏの場合）には、アクション解析部２４５は、自装置のデータ格納部２３に格納されているテストシナリオデータを検索し（ステップＳ２０４）、表示処理部２４１はテストシナリオデータの一覧表示を行う（ステップＳ２０５）。このテストシナリオデータの一覧から、ユーザによって選択されたテストシナリオデータをデータ格納部２３から読み込み、表示する（ステップＳ２０６）。【００７３】
その後、またはステップＳ２０３の後、ユーザによってテストシナリオデータの編集が行われる場合（ステップＳ２０７でＹｅｓの場合）には、ユーザによるテストシナリオの編集が行われる。図１８は、テストツールによって表示されるテストシナリオ編集画面の一例を示す図である。このテストシナリオ編集画面１８００は、テストシナリオのコンポーネントの構造を表示するテストシナリオ構造表示領域１８１０と、テストシナリオ構造表示領域１８１０中で選択されたコンポーネントの内容を表示するコンポーネント内容表示領域１８２０とを有している。コンポーネント内容表示領域１８２０には、コンポーネント名を表示する名前１８２１、そのコンポーネントがリクエストである場合のＵＲＬ１８２２、そのコンポーネントがリクエストである場合のメソッドの内容を示すメソッド１８２３、コンポーネント内のパラメータの内容を示す送信されるパラメータ１８２４の各項目を含んで構成される。この図１８では、テストシナリオ構造表示領域１８１０中のコンポーネントとして「リクエスト２」が選択された場合を例に示している。【００７４】
なお、この図１８に示されるテストシナリオ編集画面１８００は、図１６のステップＳ１７１でクライアント計算機２がサーバ装置３からダウンロードしてデータ格納部２３に格納したテストシナリオデータから作成されるものである。図１９は、図１８のテストシナリオ編集画面の基となるテストシナリオデータのデータ構造の一例を示す図である。このテストシナリオデータは、ＸＭＬ形式のデータ構造を有しており、サーバ装置のプロキシ機能部３４のデータ形式変換部３４３によってＸＭＬ形式のデータに変換されたリクエストの内容を含むものである。この図１９に示されるように、ユーザによって送信された文書（回覧）に関するリクエスト（ＨＴＴＰリクエスト）の内容が、ブロック１９１０に示されるように記録されている。つまり、ユーザがクライアント計算機２から送信するリクエストに含まれるパラメータの値が記録されている。【００７５】
ユーザは、図１８に示されるテストシナリオ編集画面１８００上で、テストを行うにあたって必要なコンポーネントすなわちリクエストの編集をコンポーネント内容表示領域１８２０内の各項目に関して行い、その編集結果が図１９のＸＭＬ形式のテストシナリオデータ１９００に反映される。【００７６】
その後、またはステップＳ２０７でテストシナリオデータの編集が行われない場合（ステップＳ２０７でＮｏの場合）には、ユーザによって、テストシナリオデータの保存が行われるか否かを判定する（ステップＳ２０９）。テストシナリオデータの保存が行われる場合（ステップＳ２０９でＹｅｓの場合）には、保存処理部２４２はテストシナリオデータを保存し（ステップＳ２１０）、テストシナリオデータの編集処理を終了する。このとき、テストシナリオデータの格納場所の指定やテストツールで認識可能なデータの保存形式（たとえば、ＸＭＬ形式やＣＳＶ形式など）を選択することも可能である。また、ステップＳ２０９でテストシナリオデータの保存が行われない場合（ステップＳ２０９でＮｏの場合）には、テストシナリオの編集処理を終了する。【００７７】
なお、上記のステップＳ２０２のコンポーネントの追加とステップＳ２０８のテストシナリオデータの編集において、テストツール２４は、リクエストの追加／削除、リクエストパラメータの追加／変更／削除、負荷パターンの設定、繰り返し処理、遅延時間の設定、テスト結果処理を行うためのコンポーネントを用意し、これらを組み合わせることでより詳細なテストシナリオへのカスタマイズが可能となる。【００７８】
図２０は、クライアント計算機によるテストシナリオの実行処理の手順を示すフローチャートである。まず、クライアント計算機２のアクション解析部２４５は、ユーザによって指定された実行するテストシナリオデータをデータ格納部２３から読込み（ステップＳ２２１）、その中のテストシナリオを解析する（ステップＳ２２２）。ついで、送信処理部２４３は、解析したテストシナリオ中のリクエストに基づいて、リクエストをサーバ装置３に送信する（ステップＳ２２３）。サーバ装置３は、受信したリクエストを処理し、必要があればデータ格納部３５に対してデータの作成／更新／削除の処理を行い、レスポンスを作成してクライアント計算機２へと返す処理を行う。【００７９】
その後、このリクエストに対するサーバ装置３からのレスポンスを受信すると（ステップＳ２２４）、そのレスポンスを解析し（ステップＳ２２５）、その結果を表示処理部２４１を介してＷｅｂブラウザ２２に表示させる（ステップＳ２２６）。ユーザは、表示されたテスト結果を確認し、テストシナリオどおりに処理が実行されているかのテストの成否を確認する。テスト結果を確認する内容としては、たとえば、サーバ装置３からメールがメール送信定義３０３に定義されている検認者のクライアント計算機２に正しく発信されているか、サーバ装置３からクライアント計算機２に表示する文書（回覧）が正しく表示されているか、検認者のクライアント計算機２に送信される文書（回覧）には、フロー定義３０１通りに予定者が抽出されてメール送信定義３０３に設定されているかなどがあり、ユーザは、テストシナリオ中の実行されるリクエストの内容に合致した処理が行われているかを表示内容などから確認する。ついで、アクション解析部２４５は、テストシナリオに他のリクエストが存在するか否かを判定し（ステップＳ２２７）、他のリクエストが存在する場合（ステップＳ２２７でＹｅｓの場合）にはステップＳ２２３へと戻り、他のリクエストが存在しない場合（ステップＳ２２７でＮｏの場合）には、テストシナリオの実行処理が終了する。【００８０】
この実施の形態によれば、ワークフロー管理システムにおけるワークフローのテストを効率よく行うことができるという効果を有する。たとえば、従来では、たとえば、図１でＡ→Ｂ→Ｄ→ＩやＡ→Ｂ→Ｄ→Ｊ，Ａ→Ｂ→Ｅ→Ｋ，・・・などの検認経路でワークフローのテストを行う場合に、それぞれの検認経路でテストを行うためのリクエストを手作業で一つ一つ作成していた。これに対して、この実施の形態では、たとえば、テストモードをＯＮの状態にして、Ａ→Ｂ→Ｄ→Ｉのテストシナリオを作成すれば、この検認経路Ａ→Ｂ→Ｄ→Ｉでのワークフローのテストについては、上記テストシナリオを使用して実行することが可能となる。また、検認経路Ａ→Ｂ→Ｄ→Ｊのワークフローのテストについては、Ａ→Ｂ→Ｄ→Ｉのテストシナリオで、最後の検認者の「Ｉ」の部分を「Ｊ」に変更するように編集するだけでよい。さらに、検認経路Ａ→Ｂ→Ｅ→Ｆのワークフローのテストを行う場合には、Ａ→Ｂ→Ｄ→ＩのテストシナリオのＡ→Ｂの部分を流用することができ、検認経路Ａ→Ｂ→Ｄ→Ｉ→Ｄ→Ｊというように一度戻ったりするような複雑な検認経路上のワークフローのテストを行う場合にも、収集したＡ→Ｂ→Ｄ→Ｉのテストシナリオを流用することができる。このように、ワークフロー管理システム上で実際に処理されるワークフロー処理をテストシナリオという形で収集することで、ワークフローのテストを実行する際に、テストを行うユーザの手間を省くことができるという効果を有する。【００８１】
また、この実施の形態によれば、業務アプリケーションごとにビジネスプロセス定義と呼ばれる雛型を用意しているので、ワークフローのテスト時に、収集したシナリオを流用してその申請内容を変更した場合に、その申請内容の変更に応じて検認経路の変更が自動的に行われる。これにより、同じテストシナリオでも申請内容に応じて検認経路が変化する場合のワークフローのテスト処理を行うことができるという効果も有する。【００８２】
さらに、ある組織に新たにワークフロー管理システムを導入する場合に、似たような構造を有する組織または似たようなワークフローの規定を有する組織で既に運用している組織でテストシナリオを収集し、そのテストシナリオを新たに導入する組織のワークフロー管理システムでのワークフローのテスト処理に使用して、テスト者のテスト時における負担を軽減することができるという効果を有する。
【産業上の利用可能性】
【００８３】
以上のように、この発明にかかるワークフロー管理システムは、回覧の閲覧などのワークフロー処理を計算機で行おうとしている組織にワークフロー管理システムを導入し、そのワークフローのテストを行う際に有用である。
【図１】
2006080078.tif 000002
【図２】
2006080078.tif 000003
【図３】
2006080078.tif 000004
【図４】
2006080078.tif 000005
【図５】
2006080078.tif 000006
【図６】
2006080078.tif 000007
【図７】
2006080078.tif 000008
【図８】
2006080078.tif 000009
【図９】
2006080078.tif 000010
【図１０】
2006080078.tif 000011
【図１１】
2006080078.tif 000012
【図１２】
2006080078.tif 000013
【図１３】
2006080078.tif 000014
【図１４−１】
2006080078.tif 000015
【図１４−２】
2006080078.tif 000016
【図１５】
2006080078.tif 000017
【図１６】
2006080078.tif 000018
【図１７】
2006080078.tif 000019
【図１８】
2006080078.tif 000020
【図１９】
2006080078.tif 000021
【図２０】
2006080078.tif 000022
【国際調査報告】
2006080078.tif 000023
2006080078.tif 000024
2006080078.tif 000025
2006080078.tif 000026