(57)【要約】【課題】各種定義情報及びその設定値に基づき業務処理に応じた並列フロー制御及び／または直列フロー制御を実行するとともに、プログラムソースを生成することなく、並列フロー制御及び／または直列フロー制御の実行時に使用される画面を生成して、複数の業務システムに汎用的に適用可能なワークフローシステム、ワークフロー制御方法及びプログラムを提供する。【解決手段】ワークフロー実行時に、フロー定義情報及びプロセスインスタンスに基づきワークフローの並列フロー制御及び／または直列フロー制御するワークフローエンジン２６と、ワークフローを実行中に使用される画面の画面情報を、フロー定義情報、フォーム定義情報、プロセスインスタンス及び項目入力情報に基づいて画面出力時毎に生成する画面生成モジュール３３と、画面生成モジュール３３により生成された画面情報に基づいた画面を表示させるワークフロー画面制御モジュール３４を備えている。【選択図】図１
2009069876.tif 000002
【特許請求の範囲】
【請求項１】
サーバとクライアントとから構成された、ネットワークを介して業務処理を実行するワークフローシステムであって、
前記サーバは、
前記業務処理のワークフローを実行するためのフロー処理を定義したフロー定義情報を記憶するフロー定義情報記憶部と、
前記ワークフローの実行中に前記クライアントに表示される画面の構成要素を定義したフォーム定義情報を記憶するフォーム定義情報記憶部と、
前記ワークフローの実行により生成されるプロセス情報を記憶するプロセスインスタンス記憶部と、
前記ワークフローの実行中に前記クライアントより入力される、前記画面の前記構成要素に基づいた項目入力情報を記憶するフォーム入力内容記憶部と、
前記フロー定義情報及び前記プロセス情報に基づいて、前記ワークフローを実行するワークフロー制御手段と、
前記フォーム定義情報、前記プロセス情報及び前記項目入力情報に基づいて、プログラムソースコードを生成することなく、前記ワークフローの実行中に表示が要求される前記画面の画面情報を、当該画面の表示が要求される毎に生成する画面生成手段と、
前記クライアントより入力された前記項目入力情報を受信し、当該項目入力情報を前記画面生成手段に提供するワークフロー画面制御手段と、
を備えていることを特徴とするワークフローシステム。
【請求項２】
前記画面生成手段は、前記画面の表示が要求された場合に、前記項目入力情報を格納する入力情報記憶領域を一時的に確保して、前記画面の画面情報を生成し、
前記ワークフロー画面制御手段は、表示が要求された前記画面において、前記クライアントより入力された前記項目入力情報を受信した場合に、前記項目入力情報を前記入力情報記憶領域へ格納し、当該項目入力情報を前記フォーム入力内容記憶に格納することを特徴とする請求項１に記載のワークフローシステム。
【請求項３】
前記ワークフロー制御手段は、実行状態の第１フラグを生成し、生成した当該第１フラグを第１フロー処理に対応付け、前記第１フロー処理から分岐して、複数の第２フロー処理を並列に実行するとき、前記第１フラグを休止状態にするとともに分岐数分の実行状態の第２フラグを生成し、生成した当該第２フラグを当該第２フロー処理に対応付け、並列に実行した全ての前記第２フロー処理が終了して、第３フロー処理を実行するとき、全ての前記第２フラグを削除するとともに前記第１フラグを実行状態にして、当該第１フラグを当該第３フロー処理に対応付けることを特徴とする請求項１または２に記載のワークフローシステム。
【請求項４】
前記クライアントにおいて設定された画面の前記構成要素の属性情報及び配置情報に基づいて前記フォーム定義情報を生成し、生成した当該フォーム定義情報を前記フォーム定義情報記憶部に格納するとともに、当該フォーム定義情報に対応する前記フォーム入力内容記憶部を確保するフォーム作成手段を備えていることを特徴とする請求項１から３のいずれか１項に記載のワークフローシステム。
【請求項５】
前記クライアントにおいて設定されたフロー処理に基づいて、フロー定義ひな形情報記憶部に記憶されたフロー定義ひな形情報を利用して、前記フロー定義情報を生成し、生成した当該フロー定義情報を前記フロー定義情報記憶部に格納するフロー作成手段を備えていることを特徴とする請求項１から４のいずれか１項に記載のワークフローシステム。
【請求項６】
サーバとクライアントとから構成された、ネットワークを介して業務処理を実行するワークフロー制御方法であって、
（ａ）前記サーバが、フォーム定義情報記憶部に記憶されている前記業務処理のワークフローの実行中に前記クライアントに表示される画面の構成要素を定義したフォーム定義情報、プロセスインスタンス記憶部に記憶されている前記ワークフローの実行により生成されるプロセス情報、及び、フォーム入力内容記憶部に記憶されている前記ワークフローの実行中に前記クライアントより入力される、前記画面の前記構成要素に基づいた項目入力情報に基づいて、プログラムソースコードを生成することなく、前記ワークフローの実行中に表示が要求される前記画面の画面情報を、当該画面の表示が要求される毎に生成する工程と、
（ｂ）前記サーバが、前記クライアントより入力された前記項目入力情報を受信する工程と、
（ｃ）前記サーバが、フロー定義情報記憶部に記憶されている前記業務処理のワークフローを実行するためのフロー処理を定義したフロー定義情報、及び、前記プロセス情報に基づいて、前記ワークフローを実行する工程と、
を備えていることを特徴とするワークフロー制御方法。
【請求項７】
前記工程（ａ）は、前記画面の表示が要求された場合に、前記項目入力情報を格納する入力情報記憶領域を一時的に確保して、前記画面の画面情報を生成し、
前記工程（ｂ）は、前記項目入力情報を前記入力情報記憶領域へ格納し、当該項目入力情報を前記フォーム入力内容記憶に格納することを特徴とする請求項６に記載のワークフロー制御方法。
【請求項８】
前記工程（ｃ）は、実行状態の第１フラグを生成し、生成した当該第１フラグを第１フロー処理に対応付け、前記第１フロー処理から分岐して、複数の第２フロー処理を並列に実行するとき、前記第１フラグを休止状態にするとともに分岐数分の実行状態の第２フラグを生成し、生成した当該第２フラグを当該第２フロー処理に対応付け、並列に実行した全ての前記第２フロー処理が終了して、第３フロー処理を実行するとき、全ての前記第２フラグを削除するとともに前記第１フラグを実行状態にして、当該第１フラグを当該第３フロー処理に対応付けることを特徴とする請求項６または７に記載のワークフロー制御方法。
【請求項９】
前記工程（ａ）の前に、
（ｄ）前記クライアントにおいて設定された画面の前記構成要素の属性情報及び配置情報に基づいて前記フォーム定義情報を生成し、生成した当該フォーム定義情報を前記フォーム定義情報記憶部に格納するとともに、当該フォーム定義情報に対応する前記フォーム入力内容記憶部を生成する工程を備えていることを特徴とする請求項６から８のいずれか１項に記載のワークフロー制御方法。
【請求項１０】
前記工程（ｄ）と前記工程（ａ）の間に、
（ｅ）前記クライアントにおいて設定されたフロー処理に基づいて、フロー定義ひな形情報記憶部に記憶されたフロー定義ひな形情報を利用して、前記フロー定義情報を生成し、生成した当該フロー定義情報を前記フロー定義情報記憶部に格納する工程を備えていることを特徴とする請求項６から９のいずれか１項に記載のワークフロー制御方法。
【請求項１１】
サーバとクライアントとから構成された、ネットワークを介して業務処理を実行するワークフローの制御処理をコンピュータに実行させるプログラムであって、
請求項１から５のいずれか１項に記載のワークフローシステムの各手段を実現させる処理を前記コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワークフローシステム、ワークフロー制御方法及びプログラムに関する。特に、プログラムソースコードを生成することなく、各種定義情報及びその設定値に基づいて、業務処理に基づいた並列フロー制御及び／または直列フロー制御を実行するとともに、並列フロー制御及び／または直列フロー制御の実行時に使用される画面を生成することにより、システムの資源管理を容易にするとともに、複数の業務システムに汎用的に適用すること可能なワークフローシステム、ワークフロー制御方法及びプログラムに関する。
【背景技術】
【０００２】
複数の部門や人が関係するような業務を電子化して、ネットワークを利用して処理するワークフローシステムが、様々な業務処理（例えば、間接業務、直接業務に関わる業務フロー、人事系申請フロー、経理系申請フロー、プロジェクト管理、営業プロセス管理、技術系文書管理、事務系文書管理等）に利用されている。
【０００３】
従来、ワークフローを伴う業務システムにおいて、処理フローを制御する仕組みは、画面構成要素及び業務上の情報データの属性に起因した個別の制御システムで構成される事が多く、複数の業務システムに汎用的に適用する事が困難であり、類似システムの開発が複数行われている事も多かった。
【０００４】
その為、フロー制御を独立化することで、従来の業務システムの構築において発生するコストを削減させるとともに、複数の業務システムにおいて汎用的に利用することによりシステム開発の効率を向上させることができるワークフローシステムがいろいろと提案されている。
【０００５】
特許文献１では、ワークフローを制御するための情報を定義したフロー定義情報と、該ワークフローで用いられる複数の画面の画面項目を定義した画面定義情報とを格納する格納手段と、前記フロー定義情報と前記画面定義情報を前記格納手段から読み出し、読み出された前記フロー定義情報と前記画面定義情報を用いて、前記複数の画面の間におけるフロー制御のためのプログラムコードを含む画面プログラムを生成する生成手段とを備えたワークフロープログラム生成装置が提案されている。
【０００６】
また、特許文献２では、ワークフロー処理におけるプロセスを定義したプロセス定義に基づいて、該プロセス定義で定義される役割と状態とに応じて表示される表示画面を決定し、該決定した表示画面をワークフローアプリケーションにおいて表示させる画面情報を生成することを特徴とした、ワークフロー処理を実行するワークフローアプリケーションの開発を支援アプリケーション開発支援方法が提案されている。
【特許文献１】特開２００４−２８０４７３号公報
【特許文献２】特開２００４−１０２８８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１及び特許文献２で提案された発明では、ワークフローシステムの実行中に使用される画面毎に、該画面を生成するためのプログラムソースコードや画面定義情報等が必要であり、ワークフローシステムの開発から運用までのプロセスにおいて、ワークフローシステムを実行させるためのそれらの資源の管理や実行環境の知識が必要である。
【０００８】
即ち、システムを運用管理するためのあるレベル以上の技術知識が必要であり、ワークフローシステムを利用するエンドユーザにおけるシステムの独自開発性を制限してしまうという問題点があった。従って、ワークフローシステムが構築されるＯＳ等のシステム実行環境の変化やシステムの改造に、エンドユーザで柔軟に対応することができないという問題点もあった。
【０００９】
また、従来のワークフローシステムでは、フロー処理は１つの処理が完了した後に次の処理が実行される直列フロー処理のみで実行されることが多く、同時に複数の処理を実行する簡単な仕組みによる並列フロー処理は実行されていなかった。特に、複数の互いに関連した異なる業務システムにおいて複数の並列フロー処理を実行することはできなかった。
【００１０】
例えば、海外出張の場合に、出張申請処理と立て替え金処理の２つの業務システムが必要であるとき、従来においては、出張申請処理が完了した後に立て替え金処理が実行されるような直列の処理であり、出張申請処理と立て替え金処理とを並列に実行することはできなかった。
【００１１】
本発明は、以上のような問題点を解決するためになされたもので、各種定義情報及びその設定値に基づいて、業務処理に基づいた並列フロー制御及び／または直列フロー制御を実行するとともに、プログラムソースコードを生成することなく、並列フロー制御及び／または直列フロー制御の実行時に使用される画面を生成することにより、システムの資源管理を容易にするとともに、複数の業務システムに汎用的に適用すること可能なワークフローシステム、ワークフロー制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した従来の問題点を解決すべく下記の発明を提供する。
【００１３】
本発明の第１の態様にかかるワークフローシステムは、サーバとクライアントとから構成された、ネットワークを介して業務処理を実行するワークフローシステムであって、前記サーバは、前記業務処理のワークフローを実行するためのフロー処理を定義したフロー定義情報を記憶するフロー定義情報記憶部と、前記ワークフローの実行中に前記クライアントに表示される画面の構成要素を定義したフォーム定義情報を記憶するフォーム定義情報記憶部と、前記ワークフローの実行により生成されるプロセス情報を記憶するプロセスインスタンス記憶部と、前記ワークフローの実行中に前記クライアントより入力される前記画面の前記構成要素に基づいた項目入力情報を記憶するフォーム入力内容記憶部と、前記フロー定義情報及び前記プロセス情報に基づいて、前記ワークフローを実行するワークフロー制御手段と、前記フォーム定義情報、前記プロセス情報及び前記項目入力情報に基づいて、プログラムソースコードを生成することなく、前記ワークフローの実行中に表示が要求される前記画面の画面情報を、当該画面の表示が要求される毎に生成する画面生成手段と、前記クライアントより入力された前記項目入力情報を受信し、当該項目入力情報を前記画面生成手段に提供するワークフロー画面制御手段と、を備えていることを特徴とする。
【００１４】
これにより、業務処理に基づいたワークフローを実行するための情報と、ワークフローを実行したときに発生する状態情報とに基づいて、業務システムの各フロー処理を自動的に判断して制御する、複数の業務システムに汎用的に利用可能なワークフローシステムを実現することができる。
【００１５】
また、画面毎にプログラムソースコードを生成することなく、ＷＥＢ環境で動作するソフトウェア画面を生成することが可能である。即ち、ワークフローシステムにおいて、該システム毎に生成されるプログラムソースコードがないことから資源の管理が容易にできる。また、システムの構築及び改造を、エンドユーザの技術スキルにかかわらず柔軟に実行することが可能である。
【００１６】
本発明の第２の態様にかかるワークフローシステムは、本発明の第１の態様にかかるワークフローシステムにおいて、前記画面生成手段は、前記画面の表示が要求された場合に、前記項目入力情報を格納する入力情報記憶領域を一時的に確保して、前記画面の画面情報を生成し、前記ワークフロー画面制御手段は、表示が要求された前記画面において、前記クライアントより入力された前記項目入力情報を受信した場合に、前記項目入力情報を前記入力情報記憶領域へ格納し、当該項目入力情報を前記フォーム入力内容記憶に格納することを特徴とする。
【００１７】
従来は、フォーム定義情報毎に項目入力情報を格納するプログラムソースコードを用意したうえで、項目入力情報が入力された場合に、プログラムソースコードに項目入力情報を格納して、例えば、論理チェックの処理を実行していたが、一時的に確保した入力情報記憶領域に受信した項目入力情報を格納するとともに論理チェックを行うことで、フォーム定義情報毎に項目入力情報を格納するプログラムソースコードを用意する必要がなくなる。
【００１８】
本発明の第３の態様にかかるワークフローシステムは、本発明の第１または２の態様にかかるワークフローシステムにおいて、前記ワークフロー制御手段は、実行状態の第１フラグを生成し、生成した当該第１フラグを第１フロー処理に対応付け、前記第１フロー処理から分岐して、複数の第２フロー処理を並列に実行するとき、前記第１フラグを休止状態にするとともに分岐数分の実行状態の第２フラグを生成し、生成した当該第２フラグを当該第２フロー処理に対応付け、並列に実行した全ての前記第２フロー処理が終了して、第３フロー処理を実行するとき、全ての前記第２フラグを削除するとともに前記第１フラグを実行状態にして、当該第１フラグを当該第３フロー処理に対応付けることを特徴とする。
【００１９】
これにより、例えば、複数の承認者による承認順番が決められた承認処理のような直列フロー処理と、複数の承認者による承認順番を必要しない承認処理のような並列フロー処理とを区別して処理することが可能となり、より効率よくフロー処理を実行することができる。また、複数の互いに関連した異なる業務システムを並列に実行することができる。例えば、海外出張の場合に、出張申請処理と立て替え金処理の２つの業務システムが必要であるとき、出張申請処理と立て替え金処理とを並列に実行することにより効率よくロー処理を実行することができる。
【００２０】
本発明の第４の態様にかかるワークフローシステムは、本発明の第１から３のいずれか１つの態様にかかるワークフローシステムにおいて、前記クライアントにおいて設定された画面の前記構成要素の属性情報及び配置情報に基づいて前記フォーム定義情報を生成し、生成した当該フォーム定義情報を前記フォーム定義情報記憶部に格納するとともに、当該フォーム定義情報に対応する前記フォーム入力内容記憶部を生成するフォーム作成手段を備えていることを特徴とする。
【００２１】
これにより、専門的な知識を必要とせずに、ＷＥＢ環境で動作するソフトウェア画面を生成することが可能である。従って、ワークフローシステムが構築されるＯＳ等のシステム実行環境の変化やシステムの改造にエンドユーザで柔軟に対応することができ、エンドユーザの設定した画面をワークフロー実行時に動的に再現し、利用することが可能である。
【００２２】
本発明の第５の態様にかかるワークフローシステムは、本発明の第１から４のいずれか１つの態様にかかるワークフローシステムにおいて、前記クライアントにおいて、設定されたフロー処理に基づいて、フロー定義ひな形情報記憶部に記憶されたフロー定義ひな形情報を利用して、前記フロー定義情報を生成し、生成した当該フロー定義情報を前記フロー定義情報記憶部に格納するフロー作成手段を備えていることを特徴とする。
【００２３】
これにより、専門的な知識を必要とせずに、容易にワークフローに必要なフロー処理を設定することが可能である。
【００２４】
本発明の第１の態様にかかるワークフロー制御方法は、サーバとクライアントとから構成された、ネットワークを介して業務処理を実行するワークフロー制御方法であって、（ａ）前記サーバが、フォーム定義情報記憶部に記憶されている前記業務処理のワークフローの実行中に前記クライアントに表示される画面の構成要素を定義したフォーム定義情報、プロセスインスタンス記憶部に記憶されている前記ワークフローの実行により生成されるプロセス情報、及び、フォーム入力内容記憶部に記憶されている前記ワークフローの実行中に前記クライアントより入力される、前記画面の前記構成要素に基づいた項目入力情報に基づいて、プログラムソースコードを生成することなく、前記ワークフローの実行中に表示が要求される前記画面の画面情報を、当該画面の表示が要求される毎に生成する工程と、（ｂ）前記サーバが、前記クライアントより入力された前記項目入力情報を受信する工程と、（ｃ）前記サーバが、フロー定義情報記憶部に記憶されている前記業務処理のワークフローを実行するためのフロー処理を定義したフロー定義情報、及び、前記プロセス情報に基づいて、前記ワークフローを実行する工程と、を備えていることを特徴とする。
【００２５】
これにより、上述した本発明の第１の態様にかかるワークフローシステムと同等の効果が得られる。
【００２６】
本発明の第２の態様にかかるワークフロー制御方法は、本発明の第１の態様にかかるワークフロー制御方法において、前記工程（ａ）は、前記画面の表示が要求された場合に、前記項目入力情報を格納する入力情報記憶領域を一時的に確保して、前記画面の画面情報を生成することを特徴とする。
【００２７】
これにより、上述した本発明の第２の態様にかかるワークフローシステムと同等の効果が得られる。
【００２８】
本発明の第３の態様にかかるワークフロー制御方法は、本発明の第２の態様にかかるワークフロー制御方法において、前記工程（ｂ）は、前記項目入力情報を前記入力情報記憶領域へ格納し、当該項目入力情報を前記フォーム入力内容記憶に格納することを特徴とする。
【００２９】
これにより、上述した本発明の第２の態様にかかるワークフローシステムと同等の効果が得られる。
【００３０】
本発明の第４の態様にかかるワークフロー制御方法は、本発明の第１から３のいずれか１つの態様にかかるワークフロー制御方法において、前記工程（ｃ）は、実行状態の第１フラグを生成し、生成した当該第１フラグを第１フロー処理に対応付け、前記第１フロー処理から分岐して、複数の第２フロー処理を並列に実行するとき、前記第１フラグを休止状態にするとともに分岐数分の実行状態の第２フラグを生成し、生成した当該第２フラグを当該第２フロー処理に対応付け、並列に実行した全ての前記第２フロー処理が終了して、第３フロー処理を実行するとき、全ての前記第２フラグを削除するとともに前記第１フラグを実行状態にして、当該第１フラグを当該第３フロー処理に対応付けることを特徴とする。
【００３１】
これにより、上述した本発明の第３の態様にかかるワークフローシステムと同等の効果が得られる。
【００３２】
本発明の第５の態様にかかるワークフロー制御方法は、本発明の第１から４のいずれか１つの態様にかかるワークフロー制御方法において、前記工程（ａ）の前に、（ｄ）前記クライアントにおいて設定された画面の前記構成要素の属性情報及び配置情報に基づいて前記フォーム定義情報を生成し、生成した当該フォーム定義情報を前記フォーム定義情報記憶部に格納するとともに、当該フォーム定義情報に対応する前記フォーム入力内容記憶部を生成する工程を備えていることを特徴とする。
【００３３】
これにより、上述した本発明の第４の態様にかかるワークフローシステムと同等の効果が得られる。
【００３４】
本発明の第６の態様にかかるワークフロー制御方法は、本発明の第１から５のいずれか１つの態様にかかるワークフロー制御方法において、前記工程（ｄ）と前記工程（ａ）の間に、（ｅ）前記クライアントにおいて設定されたフロー処理に基づいて、フロー定義ひな形情報記憶部に記憶されたフロー定義ひな形情報を利用して、前記フロー定義情報を生成し、生成した当該フロー定義情報を前記フロー定義情報記憶部に格納する工程を備えていることを特徴とする。
【００３５】
これにより、上述した本発明の第５の態様にかかるワークフローシステムと同等の効果が得られる。
【００３６】
本発明の第１の態様にかかるプログラムは、サーバとクライアントとから構成された、ネットワークを介して業務処理を実行するワークフローの制御処理をコンピュータに実行させるプログラムであって、本発明の第１から５のいずれか１つの態様にかかるワークフローシステムの各手段を実現させる処理を前記コンピュータに実行させることを特徴とする。
【００３７】
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムによって、コンピュータが処理を実行すると、上述した本発明の第１から５のいずれか１つの態様にかかるワークフローシステムと同等の効果が得られる。
【発明の効果】
【００３８】
本発明によれば、業務処理に基づいたワークフローを実行するための情報と、ワークフローを実行したときに発生する状態情報とに基づいて、業務システムの各フロー処理を自動的に判断して実行する、複数の業務システムに汎用的に利用可能なワークフローシステムを実現することができる。
【００３９】
また、例えば、複数の承認者による承認順番が決められた承認処理のような直列フロー処理と、複数の承認者による承認順番を必要しない承認処理のような並列フロー処理とを区別して処理することが可能となり、より効率よくフロー処理を実行することができる。また、複数の互いに関連した異なる業務システムを並列に実行することができる。
【００４０】
また、画面毎にプログラムソースコードを生成することなく、ＷＥＢ環境で動作するソフトウェア画面を生成することが可能である。従って、ワークフローシステムが構築されるＯＳ等のシステム実行環境の変化やシステムの改造にエンドユーザで柔軟に対応することができ、エンドユーザのデザインした画面をワークフロー実行時に動的に再現し、利用することが可能である。即ち、ワークフローシステムにおいて、該システム毎に生成されるプログラムソースコードがないことから資源の管理が容易にできる。
【発明を実施するための最良の形態】
【００４１】
この発明の一実施態様を、図面を参照しながら説明する。なお、以下に説明する実施態様は説明のためのものであり、本発明の範囲を制限するものではない。従って、当業者であればこれらの各要素もしくは全要素をこれと均等なもので置換した実施態様を採用することが可能であるが、これらの実施態様も本発明の範囲に含まれる。
【００４２】
図１は、本発明を適用可能なワークフローシステム１０のシステム構成の一例を示す図である。
【００４３】
図１に示すように、ワークフローシステム１０は、データベースサーバ２０、アプリケーションサーバ３０及びＷＥＢクライアント４０が、ネットワーク５０を介して互いに通信可能に接続された構成である。ＷＥＢクライアント４０は、ワークフローで使用する申請フォームのデザイン等を行うユーザが使用する端末装置であったり、承認申請等を行うユーザが使用する端末装置であったりする。
【００４４】
データベースサーバ２０は、フォーム定義情報記憶部２１、フロー定義情報記憶部２２、フロー定義ひな形記憶部２３、フォーム入力内容記憶部２４、プロセスインスタンス記憶部２５、及びワークフローエンジン２６を備えている。
【００４５】
フォーム定義情報記憶部２１は、ワークフロー実行中にクライアント４０に表示される画面の構成要素を定義したフォーム定義情報を記憶する。フロー定義情報記憶部２２は、業務処理のワークフローを実行するためのフロー処理を定義したフロー定義情報をする。フロー定義ひな形記憶部２３は、所定の業務処理をパターン化したフロー処理の情報を予め定義したフロー定義ひな形情報を記憶する。
【００４６】
フォーム入力内容記憶部２４は、ワークフローの実行中にクライアント４０より入力される画面の構成要素に基づいた項目入力情報を記憶する。プロセスインスタンス記憶部２５は、ワークフローの実行により生成されるプロセス情報（プロセスインスタンス）を記憶する。
【００４７】
ワークフローエンジン２６は、ワークフロー実行時に、フロー定義情報及びプロセスインスタンスに基づいて、ワークフローの並列フロー制御及び／または直列フロー制御を実行する。
【００４８】
アプリケーションサーバ３０は、フォーム作成ツール３１、プロセス作成ツール３２、画面生成モジュール３３、及びワークフロー画面制御モジュール３４を備えている。
【００４９】
フォーム作成ツール３１は、予め用意されている複数の部品（例えば、文字列、数値等を入力するためのアイコン）の中からワークフローに必要な部品を選択させ、選択させた部品を画面の構成要素として、その属性情報（名称、表示サイズ等部品に関連した情報）及び配置情報（画面上の表示位置に関連した情報）を設定する。また、設定した構成要素の属性情報及び配置情報に基づいて、フォーム定義情報を生成し、生成したフォーム定義情報をフォーム定義情報記憶部２１に格納する。また、生成されたフォーム定義情報に対応付けられるフォーム入力内容記憶部２４をデータベースサーバ２０上に確保する。
【００５０】
例えば、フォーム作成ツール３１の実行により、フォーム定義情報記憶部２１にフォーム定義情報Ａが格納されたときに、フォーム定義情報Ａに対応付けられたフォーム入力内容記憶部２４−Ａがデータベースサーバ２０上に１つ確保される。従って、フォーム定義情報記憶部２１にｎ個のフォーム定義情報が格納されている場合は、既に、ｎ個のフォーム入力内容記憶部２４がデータベースサーバ２０上に確保されている。
【００５１】
プロセス作成ツール３２は、ワークフローに必要なフロー処理を設定する。例えば、承認申請を伴うワークフローの場合、フロー処理がパターン化されることから、承認の回数、承認者等を設定するだけで、承認申請のフロー処理を設定することができる。ここで、このパターン化されたフロー処理がフロー定義ひな形記憶部２３に格納されているフロー定義ひな形情報である。従って、承認申請を伴うワークフローのフロー定義ひな形情報をフロー定義ひな形記憶部２３から取得し、承認の回数、承認者等を設定するだけで、承認申請のフロー処理を設定することができる。
【００５２】
また、プロセス作成ツール３２は、設定したフロー処理に基づいてフロー定義情報を生成し、生成したフロー定義情報をフロー定義情報記憶部２２に格納する。
【００５３】
画面生成モジュール３３は、ワークフローを実行中に使用される画面の画面情報を、フォーム定義情報、プロセス情報及び項目入力情報に基づいて、画面の表示が要求される毎に生成する。ここで、生成される画面情報は、ブラウザにより表示させるＨＴＭＬファイル等のデータファイルであり、画面を生成するためのプログラムソースコードではない。
【００５４】
また、画面生成モジュール３３は、ワークフローの実行により、ＷＥＢクライアント４０から入力された項目入力情報の論理チェックも行い、正常な項目入力情報をフォーム入力内容記憶部２４に格納する。例えば、日付について「８月３５日」を入力した場合に、論理エラーと判断する。
【００５５】
また、画面生成モジュール３３は、ワークフローの実行開始要求を、ワークフローエンジン２６に出力する。また、ワークフローの実行により発生したプロセス情報をプロセスインスタンス記憶部２５に格納する。
【００５６】
ワークフロー画面制御モジュール３４は、画面生成モジュール３３により生成された画面情報に基づいた画面を、ブラウザを介して、ＷＥＢクライアント４０に表示させる。また、ＷＥＢクライアント４０を介してユーザによって入力された項目入力情報を受信する。また、ＷＥＢクライアント４０から受信した項目入力情報を、画面生成モジュール３３に提供する。
【００５７】
次に、図２を参照して、プログラムソースコードを生成することなく、ＷＥＢ環境で動作するソフトウェア画面を生成する方法について説明する。図２は、本発明によるソフトウェア画面を生成する方法を説明するための図である。
【００５８】
図２に示すように、画面生成モジュール３３は、画面の表示が要求されたときに、項目入力情報を一時的に記憶する入力情報記憶領域をアプリケーションサーバ３０上に確保する（図中（１））。次に、画面生成モジュール３３は、表示が要求された画面のフォーム定義情報に基づいて、画面情報（ＨＴＭＬファイル等）を生成する（図中（２））。
【００５９】
次に、表示が要求された画面において、ＷＥＢクライアント４０より項目入力情報が入力されると、ワークフロー画面制御モジュール３４は項目入力情報を受信し、入力情報記憶領域に一時的に格納する（図中（３））。例えば、入力項目ａは入力情報記憶領域のエリアａに、入力項目ｂは入力情報記憶領域のエリアｂに、格納される。
【００６０】
最後に、画面生成モジュール３３は、入力情報記憶領域とフォーム定義情報とに基づいて、入力された項目入力情報の論理チェックを行い、フォーム入力内容記憶部２４に格納する（図中（４））。
【００６１】
上述したような方法で、入力された項目入力情報を一時的に格納する入力情報記憶領域を確保し、一時的に確保した入力情報記憶領域に受信した項目入力情報を格納するとともに論理チェックを行うことで、フォーム定義情報毎の項目入力情報を格納するプログラムソースコードを用意する必要がなくなる。また、画面毎にプログラムソースコードを生成することなく、ＷＥＢ環境で動作するソフトウェア画面を生成することができる。
【００６２】
次に、図３を参照して、ワークフローエンジン２６によって実行されるワークフローのフロー制御方法について説明する。
【００６３】
図３は、業務処理Ａのフロー処理をビジネスプロセスモデリング表記（ＢＰＭＮ）により表した図である。図３のＢＰＭＮは、プロセスオブジェクトと接続線とから構成されている。プロセスオブジェクトには、実行中に発生する事象を表すイベントと、作業や処理を表すアクティビティと、シーケンスの分岐と収束の制御を行うゲートウェイの３つの要素を持っている。図３では、イベントを丸で、アクティビティを角丸長方形で、ゲートウェイをひし形で表している。また、接続線は矢印で表している。
【００６４】
図３に示すように、業務処理Ａのフロー処理は、処理Ａ−ａから処理Ａ−ｇの７個のアクティビティと、判定Ｇ−ａから判定Ｇ−ｃの３個のゲートウェイと、開始Ｅ−ａ、終了Ｅ−ｂ及び終了Ｅ−ｃの３個のイベントと、各プロセスオブジェクトを接続する１３個の接続線とから構成される。
【００６５】
判定Ｇ−ａは、処理Ａ−ａの終了により発生した条件により、処理Ａ−ｂ及び処理Ａ−ｃを実行する場合と、処理Ａ−ｄを実行する場合と、処理Ａ−ｂ及び処理Ａ−ｃ、並びに処理Ａ−ｄを並列に実行する場合の３通りの処理があることを示している。判定Ｇ−ｂは、判定Ｇ−ａにおいて判定されて実行された処理の終了を判定する。
【００６６】
また、判定Ｇ−ｃは、処理Ａ−ｅの終了により発生した条件により、処理Ａ−ｆを実行する場合と、処理Ａ−ｇを実行する場合の２通りの処理があることを示している。
【００６７】
ワークフローエンジン２６によって実行されるフロー制御は、ピンと呼ぶフラグを次に実行されるプロセスオブジェクトの位置に対応付けながら、ピンに位置づけされたプロセスオブジェクトの処理を順次実行する。
【００６８】
図３に示す業務処理Ａのフロー処理は、開始Ｅ−ａのイベントにより開始する。このとき、実行状態のピン１を生成する。次に、ピン１を処理Ａ−ａのアクティビティに対応付け、処理Ａ−ａを実行する。処理Ａ−ａが終了すると、ピン１を判定Ｇ−ａのゲートウェイに対応付け、判定Ｇ−ａを実行する。
【００６９】
判定Ｇ−ａは、処理Ａ−ａの終了により発生した条件により、処理Ａ−ｂを実行すると判定した場合には、ピン１を休止状態にし、新たにピン１−１を生成して実行状態にして、ピン１−１を処理Ａ−ｂのアクティビティに対応付け、処理Ａ−ｂを実行する。処理Ａ−ｂが終了すると、ピン１−１を処理Ａ−ｃのアクティビティに対応付け、処理Ａ−ｃを実行する。
【００７０】
処理Ａ−ｃが終了すると、ピン１−１を判定Ｇ−ｂのゲートウェイに対応付け、判定Ｇ−ｂを実行する。判定Ｇ−ｂは、ピン１−１を削除して、休止状態のピン１を実行状態にして、ピン１を処理Ａ−ｅのアクティビティに対応付け、処理Ａ−ｅを実行する。
【００７１】
また、判定Ｇ−ａは、処理Ａ−ａの終了により発生した条件により、処理Ａ−ｄを実行すると判定した場合には、ピン１を休止状態にし、新たにピン１−２を生成して実行状態にして、ピン１−２を処理Ａ−ｄのアクティビティに対応付け、処理Ａ−ｄを実行する。
【００７２】
処理Ａ−ｄが終了すると、ピン１−２を判定Ｇ−ｂのゲートウェイに対応付け、判定Ｇ−ｂを実行する。判定Ｇ−ｂは、ピン１−２を削除して、休止状態のピン１を実行状態にして、ピン１を処理Ａ−ｅのアクティビティに対応付け、処理Ａ−ｅを実行する。
【００７３】
また、判定Ｇ−ａは、処理Ａ−ａの終了により発生した条件により、処理Ａ−ｂ及び処理Ａ−ｄを並列に実行すると判定した場合には、ピン１を休止状態にし、新たにピン１−１及びピン１−２を生成して実行状態にして、ピン１−１を処理Ａ−ｂのアクティビティに対応付け、処理Ａ−ｂを実行し、ピン１−２を処理Ａ−ｄのアクティビティ対応付け、処理Ａ−ｄを実行する。
【００７４】
処理Ａ−ｂが終了すると、ピン１−１を処理Ａ−ｃのアクティビティに対応付け、処理Ａ−ｃを実行する。処理Ａ−ｃが終了すると、ピン１−１を判定Ｇ−ｂを実行するための位置情報に対応付け、判定Ｇ−ｂを実行する。また、処理Ａ−ｄが終了すると、ピン１−２を判定Ｇ−ｂのゲートウェイに対応付け、判定Ｇ−ｂを実行する。
【００７５】
判定Ｇ−ｂは、処理Ａ−ｃが終了したことを確認したときにピン１−１を削除し、処理Ａ−ｄが終了したことを確認したときにピン１−２を削除して、ピン１−１及びピン１−２を削除したことを確認したときに休止状態のピン１を実行状態にして、ピン１を処理Ａ−ｅのアクティビティに対応付け、処理Ａ−ｅを実行する。
【００７６】
上述したように、並列処理を実行可能な判定処理のゲートウェイにおいて、実行状態のピン（図３ではピン１）を休止状態にし、並列処理の処理数分のピン（図３ではピン１−１及びピン１−２）を新たに生成して実行状態にすることにより、ワークフローにおける並列フロー処理を実行可能にする。
【００７７】
次に、図４から図１９を参照して、ワークフローエンジン２６によって実行される１回の承認申請処理を伴う休暇申請ＡＡＡのワークフローの作成手順を説明する。
【００７８】
休暇申請ＡＡＡのワークフローの作成手順は、まず、フォーム作成ツール３１により、休暇申請ＡＡＡのワークフローに使用する申請フォームを設定し、次に、プロセス作成ツール３２により、休暇申請ＡＡＡのフロー処理を設定することにより、休暇申請ＡＡＡのワークフローを実行可能な環境が生成される。ここで、申請フォームとは、ＷＥＢクライアント４０に表示される、申請内容を入力するための画面である。
【００７９】
まず、図４から図１１を参照して、申請フォームの作成手順を説明する。
【００８０】
図４は、フォーム作成ツール３１による申請フォームの作成手順を示すフローチャートである。図５から図８は、申請フォームの編集画面の一例を示した図であり、図９は、作成した申請フォームの確認画面の一例を示した図である。図１０は、生成されたフォーム定義情報の一部を示した図であり、図１１は、確保したフォーム入力内容記憶部２４の項目の一部を示した図である。
【００８１】
休暇申請ＡＡＡの申請フォームの作成は、図４に示すように、まず、ＷＥＢクライアント４０から、ネットワーク５０を介してアプリケーションサーバ３０のフォーム作成ツール３１を起動して、フォーム作成画面の呼び出し要求をする（Ｓ１０１）。
【００８２】
次に、フォーム作成ツール３１は、ＷＥＢクライアント４０からの要求がフォーム作成画面の更新であるときは、更新対象となるフォーム作成画面のフォーム定義情報をフォーム定義情報記憶部２１より取得し、作成済みのフォーム定義情報に基づいたフォーム作成画面の画面情報を生成し、ＷＥＢクライアント４０へ生成したフォーム作成画面の画面情報を生成する。ＷＥＢクライアント４０からの要求がフォーム作成画面の新規作成であるときに、新規作成用のフォーム作成画面の画面情報を生成し、ＷＥＢクライアント４０へ生成したフォーム作成画面の画面情報を出力する（Ｓ１１１，Ｓ１１２）。
【００８３】
次に、ＷＥＢクライアント４０は、受信した画面情報によって表示されたフォーム作成画面により、ネットワーク５０を介してフォーム作成ツール３１と通信しながら申請フォームの構成要素を設定する（Ｓ１０２）。即ち、申請フォームの画面デザインを実行する。
【００８４】
例えば、休暇申請ＡＡＡのための申請フォームを作成する場合、図５に示すような申請フォームのフォーム作成画面がＷＥＢクライアント４０に表示される。次に、図６に示すように、部品を項目パレット１００の中から選択し、デザイン編集エリア１０２へ画面の構成要素として配置する。このとき、構成要素の配置情報が設定される。ここでは、休暇申請であることから、休暇理由を入力させるための部品(文字列)を選択し、配置している。
【００８５】
次に、図７に示すように、属性情報設定エリア１０４に表示された、構成要素の属性情報を入力する。例えば、図７の場合は、構成要素の名称を「休暇理由」とし、２０字以内で必ず入力することを定義した属性情報を設定している。同様にして、構成要素として「開始日」と「終了日」を設定した図が図８である。
【００８６】
次に、フォーム作成ツール３１は、ＷＥＢクライアント４０によって設定された申請フォームの構成要素の属性情報及び配置情報に基づいて、申請フォームの確認画面の画面情報を生成し、ＷＥＢクライアント４０へ生成した申請フォームの確認画面の画面情報を出力する（Ｓ１１３）。
【００８７】
次に、ＷＥＢクライアント４０は、受信した画面情報によって表示された申請フォームの確認画面の確認結果をフォーム作成ツール３１へ出力する（Ｓ１０３）。
【００８８】
図９に示すように、作成した申請フォームの表示イメージをＷＥＢクライアント４０の画面上に表示するとともに、申請ファームの名称を設定する。ここでは名称を「ＢＢＢ」としている。
【００８９】
次に、フォーム作成ツール３１は、確認が完了した申請フォームの構成要素の属性情報及び配置情報に基づいて、フォーム定義情報を生成し、生成したフォーム定義情報をフォーム定義情報記憶部２１に格納する（Ｓ１１４）。
【００９０】
図５から図９に示した操作によって生成され、フォーム定義情報記憶部２１に格納されたフォーム定義情報の一部を図１０に示す。図１０（ａ）は、フォーム定義を示した情報であり、図１０（ｂ）は、項目定義を示した情報である。例えば、作成された申請フォーム名「ＢＢＢ」、テーブル名「ＷＦ＿ＦＯＲＭ＿１」、構成要素「休暇理由」、「開始日」、「終了日」等の属性情報や配置情報等がフォーム定義情報として、フォーム定義情報記憶部２１に格納される。
【００９１】
次に、フォーム作成ツール３１は、生成されたフォーム定義情報に対応付けられるフォーム入力内容記憶部２４を生成する（Ｓ１１５）。例えば、図１１に示すように、テーブル名「ＷＦ＿ＦＯＲＭ＿１」に対応したフォーム入力内容記憶部２４として「ＷＦ＿ＦＯＲＭ＿１入力ファイル」が、データベースサーバ２０に確保される。
【００９２】
最後に、フォーム作成ツール３１は、ＷＥＢクライアント４０に対して、申請フォームの登録が完了したことを通知して、（Ｓ１１６）、休暇申請ＡＡＡの申請フォームの作成は終了する。
【００９３】
次に、図１２から図２２を参照して、休暇申請ＡＡＡのフロー処理の作成手順を説明する。
【００９４】
図１２は、プロセス作成ツール３２による休暇申請ＡＡＡのフロー処理の作成手順を示すフローチャートである。図１３から図１７は、フロー処理の編集画面の一例を示した図であり、図１８は、作成したフロー処理の確認画面の一例を示した図である。図１９は、作成された休暇申請ＡＡＡのフロー処理をＢＰＭＮにより表した図である。図２０から図２２は、生成されたフロー定義情報の一部を示した図である。
【００９５】
休暇申請ＡＡＡのフロー処理の作成は、図１２に示すように、まず、ＷＥＢクライアント４０から、ネットワーク５０を介してアプリケーションサーバ３０のプロセス作成ツール３２の起動要求をする（Ｓ２０１）。
【００９６】
次に、プロセス作成ツール３２は、フロー処理の名称や必要とする承認の回送数を設定するための名称・回送数設定画面の画面情報を生成し、生成した名称・回送数設定画面の画面情報をＷＥＢクライアント４０へ出力する（Ｓ２１１）。
【００９７】
次に、ＷＥＢクライアント４０は、受信した画面情報によって表示された名称・回送数設定画面により、フロー処理の名称や回送数を設定する（Ｓ２０２）。例えば、図１３に示したように、エリア２０２にフロー処理の名称を、エリア２０４に必要な承認の回送数を設定する。ここでは、名称を「休暇申請ＡＡＡ」、回送数は「１」としている。
【００９８】
次に、プロセス作成ツール３２は、ワークフローに使用する申請フォームを選択するためのフォーム選択画面の画面情報を生成し、生成したフォーム選択画面の画面情報をＷＥＢクライアント４０へ出力する（Ｓ２１２）。
【００９９】
次に、ＷＥＢクライアント４０は、受信した画面情報によって表示されたフォーム選択画面により、名称「休暇申請ＡＡＡ」のフロー処理に使用する申請フォームを選択する（Ｓ２０３）。例えば、図１４に示すように、申請フォーム（上述の図４により予め生成されている申請フォーム）とワークフローを使用するときのメニュー位置を設定する。ここでは、使用される申請フォームの名称は「ＢＢＢ」である。
【０１００】
次に、プロセス作成ツール３２は、ワークフローを終了した後の処理を設定するための終了後処理設定画面の画面情報を生成し、生成した終了後処理設定画面の画面情報をＷＥＢクライアント４０へ出力する（Ｓ２１３）。
【０１０１】
次に、ＷＥＢクライアント４０は、受信した画面情報によって表示された終了後処理設定画面により、ワークフローを終了した後の処理を設定する（Ｓ２０４）。例えば、図１５に示すように、終了後処理として標準仕様として備えられている複数の処理を実行するか実行しないかを選択して設定する。ここでは、回覧処理、台帳管理処理、湯個保管処理を実行しない選択としている。
【０１０２】
次に、プロセス作成ツール３２は、ステップＳ２０２において設定した承認の承認タイプと承認者の数を設定するための承認者数設定画面の画面情報を生成し、生成した承認者数設定画面の画面情報をＷＥＢクライアント４０へ出力する（Ｓ２１４）。
【０１０３】
次に、ＷＥＢクライアント４０は、受信した画面情報によって表示された承認者数設定画面により、承認タイプと承認者の数を設定する（Ｓ２０５）。例えば、図１６に示すように、承認は、通常の承認であるか稟議であるかを選択し、稟議の場合は、承認者の人数を設定する。ここでは、通常の承認を設定している。
【０１０４】
次に、プロセス作成ツール３２は、ステップＳ２０５で設定した承認者の人数分の承認役割を設定するための承認者役割設定画面の画面情報を生成し、生成した承認者役割設定画面の画面情報をＷＥＢクライアント４０へ出力する（Ｓ２１５）。
【０１０５】
次に、ＷＥＢクライアント４０は、受信した画面情報によって表示された承認者役割設定画面により、承認者の人数分の承認役割を設定する（Ｓ２０６）。例えば、図１７に示すように、承認者の承認役割作業、承認者と申請者との関係を設定する。ここでは、承認者は「上長」で、起票時の承認者の変更は不可で、上長コメントを任意に入力できるように設定している。
【０１０６】
次に、プロセス作成ツール３２は、ＷＥＢクライアント４０によって設定された内容の確認をするための最終確認画面の画面情報を生成し、生成した最終確認画面の画面情報をＷＥＢクライアント４０へ出力する（Ｓ２１６）。
【０１０７】
次に、ＷＥＢクライアント４０は、受信した画面情報によって表示された確認画面により確認結果をプロセス作成ツール３２へ出力する（Ｓ２０７）。例えば、図１８に示すように、図１２から図１７における設定作業に基づいて設定された内容を確認する画面を表示する。
【０１０８】
次に、プロセス作成ツール３２は、承認処理のフロー定義ひな形情報を、フロー定義ひな形記憶部２３から読み出し、休暇申請ＡＡＡのワークフローのフロー定義情報を生成し、休暇申請ＡＡＡのワークフローの承認役割をフロー定義情報に追加して、フロー定義情報記憶部２２に格納する。最後に、フォーム作成ツール３１は、ＷＥＢクライアント４０に対して、休暇申請ＡＡＡのフロー処理の登録が完了したことを通知して、休暇申請ＡＡＡのフロー処理の作成は終了する（Ｓ２１７、Ｓ２１８、Ｓ２１９）。
【０１０９】
図１２に示したプロセス作成ツール３２により生成された休暇申請ＡＡＡのフロー処理をＢＰＭＮにより表すと、図１９のようになる。図１９に示すように、開始Ｓ３００からスタートし、承認者による承認処理Ｓ３０１の終了により、承認結果判断処理Ｓ３０３が実行され、承認された場合は、正常承認後処理Ｓ３０５が実行され、文書保管処理Ｓ３０９が実行され、回覧スルー処理Ｓ３１１が実行されて正常終了Ｓ３３０で終了する。
【０１１０】
一方、棄却された場合は、棄却処理Ｓ３１３が実行され、異常終了Ｓ３２０で終了する。例えば、正常承認後処理Ｓ３０５として、承認メールを送信したり、棄却処理Ｓ３１３として、棄却メールを送信したりする。また、図１５に示したように、終了後の処理とし、文書保管や回覧は実行しないようにしているので、文書保管処理Ｓ３０９及び回覧スルー処理Ｓ３１１は、処理としては何も実行しないスルー処理である。
【０１１１】
図１９のＢＰＭＮを定義したフロー定義情報の一部を図２０、図２１及び図２２に示す。なお、フロー定義情報はフロー定義情報記憶部２２に格納される。図２０は、フロー定義を示した情報であり、図２１（ａ）は、プロセスオブジェクトを示した情報であり、図２１（ｂ）は、接続線を示す情報である。また、図２２（ａ）は、アクティビティを示した情報の一部であり、図２２（ｂ）は、ゲートウェイを示した情報の一部であり、図２２（ｃ）は、イベントを示す情報の一部である。
【０１１２】
図２１（ａ）に示すようにプロセスオブジェクトの情報は９個で構成され、図２１（ｂ）に示すように接続線の情報は８個で構成され、図２２（ａ）に示すようにアクティビティの情報は５個で構成され、図２２（ｂ）に示すようにゲートウェイの情報は１個で構成され、図２２（ｃ）に示すようにイベントの情報は３個で構成されている。このように、図１９のＢＰＭＮと対応している。
【０１１３】
次に、図２３から図２８を参照して、生成した休暇申請ＡＡＡのワークフローの起票から申請までの作業手順を説明する。
【０１１４】
図２３は、休暇申請ＡＡＡのワークフローの起票から申請までの作業手順を示すフローチャートである。図２４は、休暇申請ＡＡＡのワークフローの選択画面の一例を示した図であり、図２５は、申請内容の入力画面の一例を示した図であり、図２６は、申請内容の確認画面の一例を示した図である。図２７は、フォーム入力内容記憶部２４に格納された項目入力情報の一部を示した図であり、図２８は、プロセスインスタンス記憶部２５に格納されたプロセス情報の一部を示した図である。
【０１１５】
休暇申請ＡＡＡのワークフローの起票申請は、図２３に示すように、まず、ＷＥＢクライアント４０は、表示されている選択画面により、起票する休暇申請ＡＡＡのワークフローを選択し、選択した情報を、ネットワーク５０を介してアプリケーションサーバ３０のワークフロー画面制御モジュール３４へ出力する（Ｓ４０１）。例えば、図２４に示すように、図１４で設定したメニューツリーから、起票するワークフローを選択する。ここでは、「休暇申請ＡＡＡ」を起票している。
【０１１６】
次に、ワークフロー画面制御モジュール３４は、受信した起票するワークフローのフロー定義情報を、フロー定義情報記憶部２２から取得し（Ｓ４１１）、取得したフロー定義情報を画面生成モジュール３３へ提供する（Ｓ４１２）。
【０１１７】
次に、画面生成モジュール３３は、起票するワークフローで使用する申請フォームである「ＢＢＢ」のフォーム定義情報をフォーム定義情報記憶部２１から取得し（Ｓ４２１）、取得したフォーム定義情報に基づいて、申請フォームの画面を生成するのに必要な情報に変換し（Ｓ４２２）、申請フォームの入力内容を全て保管するための入力情報記憶領域を一時的に確保し（Ｓ４２３）、フォーム定義情報に基づいて、申請フォームの画面情報を生成し、ワークフロー画面制御モジュール３４を介してＷＥＢクライアント４０に出力する（Ｓ４２４）。
【０１１８】
次に、ＷＥＢクライアント４０は、画面に表示された申請フォームにより、項目入力情報を入力する（Ｓ４０２）。例えば、図２５に示すように、必要な項目入力情報を入力する。ここでは、申請フォームに従って、休暇理由、開始日、終了日を入力する。
【０１１９】
次に、ワークフロー画面制御モジュール３４は、申請フォームにより入力された項目入力情報を入力情報記憶領域に格納し、項目入力情報の論理チェックを画面生成モジュール３３に依頼する（Ｓ４１３）。
【０１２０】
次に、画面生成モジュール３３は、フォーム定義情報に基づいて、入力情報記憶領域に確報されている項目入力情報の論理チェックを行い、申請内容の確認を行なわせるための確認画面の画面情報を生成し、ワークフロー画面制御モジュール３４を介してＷＥＢクライアント４０に出力する（Ｓ４２５）。
【０１２１】
次に、ＷＥＢクライアント４０は、確認画面により、申請内容（項目入力情報）の確認を行う（Ｓ４０３）。例えば、図２６に示すように、表示された項目入力情報、申請者情報、承認者情報等の確認を行う。
【０１２２】
次に、ワークフロー画面制御モジュール３４は、項目入力情報のフォーム入力内容記憶部２４への格納を画面生成モジュール３３に依頼する（Ｓ４１４）。
【０１２３】
次に、画面生成モジュール３３は、項目入力情報をフォーム入力内容記憶部２４に格納し（Ｓ４２６）、休暇申請ＡＡＡのワークフローに必要な承認者を含めたプロセス情報をプロセスインスタンス記憶部２５に格納し（Ｓ４２７）、ワークフローエンジン２６に、休暇申請ＡＡＡのワークフローの開始を通知する（Ｓ４２８）。
【０１２４】
次に、ワークフローエンジン２６は、休暇申請ＡＡＡのワークフローを開始し、開始したことをワークフロー画面制御モジュール３４に通知する（Ｓ４３１）。
【０１２５】
最後に、ワークフロー画面制御モジュール３４は、休暇申請ＡＡＡのワークフローの申請が完了したことをＷＥＢクライアント４０に通知して、休暇申請ＡＡＡのワークフローの申請は終了する（Ｓ４１５）。
【０１２６】
上述の図２６に示した内容によって、フォーム入力内容記憶部２４に格納された項目入力情報の一部を図２７に示す。また、プロセスインスタンス記憶部２５に格納されたプロセス情報の一部を図２８に示す。ここで、プロセス情報は、伝票内容を示す情報、証印内容を示す情報、ピン内容を示す情報、プロセス内容を示す情報から構成されている。ここで、図２８（ａ）は、伝票内容を示す情報の一部であり、図２８（ｂ）は、証印内容を示す情報の一部であり、図２８（ｃ）は、ピン内容を示す情報の一部であり、図２８（ｄ）は、プロセス内容を示す情報の一部である。
【０１２７】
次に、図２９から図３１を参照して、申請した休暇申請ＡＡＡの承認作業手順を説明する。
【０１２８】
図２９は、休暇申請ＡＡＡの承認作業手順を示すフローチャートである。図３０は、承認待ち一覧画面の一例を示した図であり、図３１は、申請内容確認画面の一例を示した図である。
【０１２９】
休暇申請ＡＡＡの承認は、図２９に示すように、まず、ＷＥＢクライアント４０は、承認待ちの一覧を表示する承認待ち一覧画面の表示要求をワークフロー画面制御モジュール３４へ出力する（Ｓ５０１）。
【０１３０】
次に、ワークフロー画面制御モジュール３４は、承認待ちのプロセス情報をプロセスインスタンス記憶部２５から取得し、承認待ち一覧画面の画面情報をＷＥＢクライアント４０に出力する（Ｓ５１１）。
【０１３１】
次に、ＷＥＢクライアント４０は、承認待ち一覧画面により、承認する申請を選択する（Ｓ５０２）。例えば、図３０に示すように、承認待ちとなっている複数の申請の中から承認処理を実行する申請を選択する。ここでは、「休暇申請ＡＡＡ」を選択している。
【０１３２】
次に、ワークフロー画面制御モジュール３４は、選択された申請のプロセス情報をプロセスインスタンス記憶部２５から取得し、画面生成モジュール３３に提供する（Ｓ５１２）。
【０１３３】
次に、画面生成モジュール３３は提供されたプロセス情報に基づいて、項目入力情報をフォーム入力内容記憶部２４より取得し、申請内容確認画面の画面表示情報を生成し、ワークフロー画面制御モジュール３４を介して、ＷＥＢクライアント４０に出力する（Ｓ５２１）。
【０１３４】
次に、ＷＥＢクライアント４０は、表示された申請内容確認画面により、承認の選択を行う（Ｓ５０３）。例えば、図３１に示すように、申請者「ｘｘｘｘｘ」の申請内容により、「承認」、「棄却」を選択する。
【０１３５】
次に、ワークフロー画面制御モジュール３４は、ＷＥＢクライアント４０により選択された結果を、ワークフローエンジン２６に通知する（Ｓ５１３）。
【０１３６】
次に、ワークフローエンジン２６は、選択された結果に基づいて休暇申請ＡＡＡのワークフローを進め、承認処理を実行したことをワークフロー画面制御モジュール３４に通知する（Ｓ５３１）。
【０１３７】
最後に、ワークフロー画面制御モジュール３４は、休暇申請ＡＡＡの承認作業が完了したことをＷＥＢクライアント４０に通知して、休暇申請ＡＡＡの承認は終了する（Ｓ５１４）。
【０１３８】
上述したようなワークフローシステム１０を利用することにより、業務処理に基づいたワークフローを実行するための情報と、ワークフローを実行したときに発生する状態情報とに基づいて、業務システムの各フロー処理を自動的に判断して実行する、複数の業務システムに汎用的に利用可能なワークフローシステムを実現することができる。
【０１３９】
また、例えば、複数の承認者による承認順番が決められた承認処理のような直列フロー処理と、複数の承認者による承認順番を必要しない承認処理のような並列フロー処理とを区別して処理することが可能となり、より効率よくフロー処理を実行することができる。また、複数の互いに関連した異なる業務システムを並列に実行することができる。
【０１４０】
また、画面毎にプログラムソースコードを生成することなく、ＷＥＢ環境で動作するソフトウェア画面を生成することが可能である。従って、ワークフローシステムが構築されるＯＳ等のシステム実行環境の変化やシステムの改造に、エンドユーザのみで柔軟に対応することができ、エンドユーザのデザインした画面をワークフロー実行時に動的に再現し、利用することが可能である。即ち、ワークフローシステムにおいて、該システム毎に生成されるプログラムソースコードがないことから資源の管理が容易にできる。
【０１４１】
上述の実施の形態のワークフローシステム１０において、フォーム定義情報記憶部２１は本発明のフォーム定義情報記憶部に対応し、フロー定義情報記憶部２２は本発明のフロー定義情報記憶部に対応し、フォーム入力内容記憶部２４は本発明のフォーム入力内容記憶部に対応し、プロセスインスタンス記憶部２５は本発明のプロセスインスタンス記憶部に対応し、ワークフローエンジン２６は本発明のワークフロー制御手段に対応し、フォーム作成ツール３１５は本発明のフォーム作成手段に対応し、プロセス作成ツール３２は本発明のフロー作成手段に対応し、画面生成モジュール３３は本発明の画面生成手段に対応し、ワークフロー画面制御モジュール３４は本発明のワークフロー画面制御手段に対応する。
【０１４２】
また、上述の実施の形態のワークフローシステム１０において、申請フォームを作成するユーザは一人であったが、ＷＥＢクライアント４０を介して、複数のユーザにより、申請フォームを作成することも可能である。
【０１４３】
また、上述の実施の形態のワークフローシステム１０において、１つの業務システムの中で、複数のフロー処理を並列に実行できるようにしているが、複数の異なる業務システムで、複数のフロー処理を並列に実行させることも可能である。
【０１４４】
また、上述の実施の形態のワークフローシステム１０において、所定の実行結果検索項目入力情報に基づいた、複数の実行中のまたは既に実行されたワークフローの実行結果に関連付けられるプロセス情報及び項目入力情報を検索し、検索した情報に基づいて、実行中のまたは既に実行されたワークフローの実行結果を画面出力することも可能である。また、また、検索した実行中のまたは既に実行されたワークフローの実行結果に基づいて、不要なプロセス情報や項目入力情報を削除したり、一部修正したりすることも可能である。
【図面の簡単な説明】
【０１４５】
【図１】本発明を適用可能なワークフローシステム１０のシステム構成の一例を示す図である。
【図２】本発明によるソフトウェア画面を生成する方法を説明するための図である。
【図３】業務処理Ａのワークフローをビジネスプロセスモデリング表記（ＢＰＭＮ）により表した図である。
【図４】フォーム作成ツール３１による申請フォームの作成手順を示すフローチャートである。
【図５】申請フォームの編集画面の一例を示した図（その１）である。
【図６】申請フォームの編集画面の一例を示した図（その２）である
【図７】申請フォームの編集画面の一例を示した図（その３）である
【図８】申請フォームの編集画面の一例を示した図（その４）である
【図９】作成した申請フォームの確認画面の一例を示した図である。
【図１０】生成されたフォーム定義情報の一部を示した図である。
【図１１】確保したフォーム入力内容記憶部２４の項目の一部を示した図である。
【図１２】プロセス作成ツール３２による休暇申請ＡＡＡのワークフローの作成手順を示すフローチャートである。
【図１３】ワークフローの編集画面の一例を示した図（その１）である。
【図１４】ワークフローの編集画面の一例を示した図（その２）である。
【図１５】ワークフローの編集画面の一例を示した図（その３）である。
【図１６】ワークフローの編集画面の一例を示した図（その４）である。
【図１７】ワークフローの編集画面の一例を示した図（その５）である。
【図１８】作成したワークフローの確認画面の一例を示した図である。
【図１９】作成された休暇申請ＡＡＡのワークフローをＢＰＭＮにより表した図である。
【図２０】生成されたフロー定義情報の一部を示した図（その１）である。
【図２１】生成されたフロー定義情報の一部を示した図（その２）である。
【図２２】生成されたフロー定義情報の一部を示した図（その３）である。
【図２３】休暇申請ＡＡＡのワークフローの起票申請までの作業手順を示すフローチャートである。
【図２４】休暇申請ＡＡＡのワークフローの選択画面の一例を示した図である。
【図２５】申請内容の入力画面の一例を示した図である。
【図２６】申請内容の確認画面の一例を示した図である。
【図２７】フォーム入力内容記憶部２４に格納された項目入力情報の一部を示した図である。
【図２８】プロセスインスタンス記憶部２５に格納されたプロセス情報の一部を示した図である。
【図２９】休暇申請ＡＡＡの承認作業手順を示すフローチャートである。
【図３０】承認待ち一覧画面の一例を示した図である。
【図３１】申請内容確認画面の一例を示した図である。
【符号の説明】
【０１４６】
１０    ワークフローシステム１０
２０    データベースサーバ
２１    フォーム定義情報記憶部
２２    フロー定義情報記憶部
２３    フロー定義ひな形記憶部
２４    フォーム入力内容記憶部
２５    プロセスインスタンス記憶部
２６    ワークフローエンジン
３０    アプリケーションサーバ
３１    フォーム作成ツール
３２    プロセス作成ツール
３３    画面生成モジュール
３４    ワークフロー画面制御モジュール
４０    ＷＥＢクライアント
５０    ネットワーク
【図１】
2009069876.tif 000003
【図２】
2009069876.tif 000004
【図３】
2009069876.tif 000005
【図４】
2009069876.tif 000006
【図５】
2009069876.tif 000007
【図６】
2009069876.tif 000008
【図７】
2009069876.tif 000009
【図８】
2009069876.tif 000010
【図９】
2009069876.tif 000011
【図１０】
2009069876.tif 000012
【図１１】
2009069876.tif 000013
【図１２】
2009069876.tif 000014
【図１３】
2009069876.tif 000015
【図１４】
2009069876.tif 000016
【図１５】
2009069876.tif 000017
【図１６】
2009069876.tif 000018
【図１７】
2009069876.tif 000019
【図１８】
2009069876.tif 000020
【図１９】
2009069876.tif 000021
【図２０】
2009069876.tif 000022
【図２１】
2009069876.tif 000023
【図２２】
2009069876.tif 000024
【図２３】
2009069876.tif 000025
【図２４】
2009069876.tif 000026
【図２５】
2009069876.tif 000027
【図２６】
2009069876.tif 000028
【図２７】
2009069876.tif 000029
【図２８】
2009069876.tif 000030
【図２９】
2009069876.tif 000031
【図３０】
2009069876.tif 000032
【図３１】
2009069876.tif 000033