(57)【要約】複数のＷｅｂページを統合して単一の画面で表示する場合に、作業者が誤った順序で入力を行うことを防ぎ、確実な業務遂行を支援する。統合するＷｅｂページに含まれる構成要素間の入出力関係に基づいて、入力となる構成要素への操作が完了するまで、出力となる構成要素を非活性化する。また、Ｗｅｂページに含まれる構成要素間の入出力関係に基づいて、重複する構成要素を削除する。
2011135733.tif 000002
【特許請求の範囲】
【請求項１】
複数のＷｅｂページを計算機で統合して単一のＷｅｂページとして出力するＷｅｂページの制御方法において、
前記計算機が、単一のＷｅｂページに統合する複数のＷｅｂページを定義した統合定義情報を取得する第１のステップと、
前記計算機が、前記統合定義情報の複数のＷｅｂページに含まれる構成要素間の入出力関係を抽出する第２のステップと、
前記計算機が、前記抽出した入出力関係から出力先となるＷｅｂページの構成要素を抽出する第３のステップと、
前記計算機が、前記抽出した出力先となるＷｅｂページの構成要素に対する操作を禁止する第４のステップと、
前記計算機が、前記抽出した入出力関係から入力元となる全てのＷｅｂページの構成要素を抽出する第５のステップと、
前記計算機が、前記入力元となる全てのＷｅｂページの構成要素に対する操作が完了した際に、前記出力先となるＷｅｂページの構成要素に対する操作を許可する第６のステップと、
を含むことを特徴とするＷｅｂページの制御方法。
【請求項２】
請求項１に記載のＷｅｂページの制御方法であって、
前記計算機が、前記Ｗｅｂページ毎に設定された前記構成要素と、前記複数のＷｅｂページの操作順序と、を予め設定した操作手順定義情報を参照する第７のステップと、
前記計算機が、前記統合する複数のＷｅｂページの操作手順定義情報から前記複数のＷｅｂページの操作順序を表示する手順表示領域と、前記複数のＷｅｂページに設定された前記構成要素を統合した単一の作業情報表示領域と、を含むＷｅｂページを出力する第８のステップと、
をさらに含むことを特徴とするＷｅｂページの制御方法。
【請求項３】
請求項１に記載のＷｅｂページの制御方法であって、
前記第４のステップは、
前記抽出した出力先となるＷｅｂページの構成要素を非活性化することにより操作の禁止を実現することを特徴とするＷｅｂページの制御方法。
【請求項４】
請求項１に記載のＷｅｂページの制御方法であって、
前記第４のステップは、
前記抽出した出力先となるＷｅｂページの構成要素を非表示にすることにより操作の抑止を実現することを特徴とするＷｅｂページの制御方法。
【請求項５】
請求項２に記載のＷｅｂページの制御方法であって、
前記計算機が、前記操作手順定義情報に設定された構成要素のうち、入出力関係における入力元となるＷｅｂページの構成要素に対して入力された値と、出力先となるＷｅｂページの構成要素に出力された値とを対応付けて格納した履歴情報を保持するステップをさらに含み、
前記第８のステップは、
前記作業手順表示領域に含まれる前記統合対象の複数のＷｅｂページの構成要素間の入出力関係に対する前記履歴情報を抽出するステップと、
前記抽出した履歴情報から、前記入出力関係の入力元となるＷｅｂページの構成要素に対して入力された値と、対応する前記入出力関係の出力先となるＷｅｂページの構成要素に出力された値とを比較するステップと、
前記比較の結果が常に等しくなる該出力先となるＷｅｂページの構成要素を削除するステップと、
を含むことを特徴とするＷｅｂページの制御方法。
【請求項６】
請求項２に記載のＷｅｂページの制御方法であって、
前記第８のステップは、
前記操作手順定義情報から、前記統合する複数のＷｅｂページの業務の順序に含まれる繰り返し情報を抽出するステップと、
前記抽出した繰り返し情報に含まれる業務の順序に対応して前記作業情報表示領域を前記繰り返しに応じて複数表示するステップと、
を含むことを特徴とするＷｅｂページの制御方法。
【請求項７】
請求項２に記載のＷｅｂページの制御方法であって、
前記第８のステップは、
前記操作手順定義情報から、前記統合する複数のＷｅｂページの業務の順序に含まれる条件分岐を抽出するステップと、
前記抽出した条件分岐において排他的に実行される業務を選択する情報を前記作業情報表示領域に追加するステップと、
前記業務を選択する情報から、前記業務の実施に必要となる構成要素のみを前記統合した作業情報表示領域に出力するステップと、
を含むことを特徴とするＷｅｂページの制御方法。
【請求項８】
請求項２に記載のＷｅｂページの制御方法であって、
前記操作手順定義情報は、
前記複数のＷｅｂページに含まれる構成要素間の入出力関係を定義する入出力定義情報と、前記Ｗｅｂページの構成を定義するＷｅｂページ定義情報と、
を含むことを特徴とするＷｅｂページの制御方法。
【請求項９】
複数のＷｅｂページを統合して単一のＷｅｂページとして出力する計算機システムにおいて、
前記単一のＷｅｂページ内に統合して出力する複数のＷｅｂページを定義する統合定義情報を記憶した統合定義情報記憶部と、
前記複数のＷｅｂページに含まれる構成要素間の入出力関係を定義する入出力定義情報を記憶した入出力定義情報記憶部と、
前記Ｗｅｂページの構成要素を定義するＷｅｂページ定義情報を記憶格納したＷｅｂページ定義情報記憶部と、
を有するサーバ装置と、
前記サーバ装置から前記統合定義情報と、前記入出力定義情報及び前記Ｗｅｂページ定義情報を受信し、前記受信した統合定義情報から統合すべきＷｅｂページを抽出し、前記受信した入出力定義情報に含まれる出力先となるＷｅｂページの構成要素で、且つ前記抽出した統合すべきＷｅｂページに含まれる構成要素に対する操作を禁止するために前記Ｗｅｂページ定義情報を変更する定義情報変更部と、
前記入出力定義情報に定義された入力元となるＷｅｂページの構成要素に対する操作の状態を、該入出力定義情報に定義された出力結果を格納するＷｅｂページの構成要素と関連付けて記憶する変更記憶部と、
前記定義情報変更部から取得した変更後のＷｅｂページ定義情報に基づいてＷｅｂページを表示装置に表示し、当該表示しているＷｅｂページに含まれる構成要素に対する操作の完了を検知したときに、前記変更記憶部に記憶された構成要素のうち、前記操作が完了した構成要素に対応する出力結果を格納するＷｅｂページの構成要素と、前記抽出した出力結果を格納するＷｅｂページの構成要素に対応する入力元となる全ての構成要素を抽出して、抽出した入力元となる全ての構成要素が操作済みである場合に、該出力先となるＷｅｂページの構成要素に対する操作を許可する実行部と、
を有するクライアント装置と、
を有することを特徴とする計算機システム。
【請求項１０】
請求項９に記載の計算機システムであって、
前記Ｗｅｂページ定義情報は、
前記Ｗｅｂページ毎に設定された前記構成要素と、前記複数のＷｅｂページの操作順序と、を予め設定した操作手順定義情報を含み、
前記実行部は、
前記統合定義情報を参照して前記統合する複数のＷｅｂページ定義情報から前記複数の業務の順序を表す業務フローを表示する手順表示領域と、前記複数のＷｅｂページに設定された前記構成要素を統合した単一の作業情報表示領域と、を含むＷｅｂページを出力することを特徴とする計算機システム。
【請求項１１】
請求項９に記載の計算機システムであって、
前記定義情報変更部は、
前記抽出した出力先となるＷｅｂページの構成要素を非活性化することにより前記操作を禁止することを特徴とする計算機システム。
【請求項１２】
請求項９に記載の計算機システムであって、
前記定義情報変更部は、
前記抽出した出力先となるＷｅｂページの構成要素を非表示にすることにより前記操作を禁止することを特徴とする計算機システム。
【請求項１３】
請求項１０に記載の計算機システムであって、
前記変更記憶部は、
前記入出力定義情報に定義された入力元となるＷｅｂページの構成要素に対して入力された値と、出力先となるＷｅｂページの構成要素に出力された値とを対応付けて格納した履歴情報を保持し、
前記定義情報変更部は、
前記作業手順表示領域に含まれる前記統合対象の複数のＷｅｂページの構成要素間の入出力関係に対する前記履歴情報を抽出し、前記抽出した履歴情報から、前記入出力関係の入力元となるＷｅｂページの構成要素に対して入力された値と、対応する前記入出力関係の出力先となるＷｅｂページの構成要素に出力された値とを比較し、前記比較の結果が常に等しくなる該出力先となるＷｅｂページの構成要素を削除することを特徴とする計算機システム。
【請求項１４】
請求項１０に記載の計算機システムであって、
前記定義情報変更部は、
前記操作手順定義情報から、前記統合する複数のＷｅｂページの業務の順序に含まれる繰り返し情報を抽出し、
前記実行部は、
前記定義情報変更部が抽出した前記繰り返し情報に含まれる業務の順序に対応して前記作業情報表示領域を前記繰り返しに応じて複数表示することを特徴とする計算機システム。
【請求項１５】
請求項１０に記載の計算機システムであって、
前記定義情報変更部は、
前記操作手順定義情報から、前記統合する複数のＷｅｂページの業務の順序に含まれる条件分岐を抽出し、前記抽出した条件分岐において排他的に実行される業務を選択する情報を前記作業情報表示領域に追加し、
前記実行部は、
前記業務を選択する情報から、前記業務の実施に必要となる構成要素のみを前記統合した作業情報表示領域に出力することを特徴とする計算機システム。
【請求項１６】
請求項１０に記載の計算機システムであって、
前記操作手順定義情報は、
前記複数のＷｅｂページに含まれる構成要素間の入出力関係を定義する入出力定義情報と、前記Ｗｅｂページの構成を定義するＷｅｂページ定義情報と、
を含むことを特徴とする計算機システム。
【請求項１７】
複数のＷｅｂページを統合して単一のＷｅｂページとして出力する処理を計算機に実行させるプログラムにおいて、
前記単一のＷｅｂページに統合する複数のＷｅｂページを定義した統合定義情報を取得する第１の手順と、
前記統合定義情報の複数のＷｅｂページに含まれる構成要素間の入出力関係を抽出する第２の手順と、
前記抽出した入出力関係から出力先となるＷｅｂページの構成要素を抽出する第３の手順と、
前記抽出した出力先となるＷｅｂページの構成要素に対する操作を禁止する第４の手順と、
前記抽出した入出力関係から入力元となる全てのＷｅｂページの構成要素を抽出する第５の手順と、
前記入力元となる全てのＷｅｂページの構成要素に対する操作が完了した際に、前記出力先となるＷｅｂページの構成要素に対する操作を許可する第６の手順と、
を前記計算機に実行させることを特徴とするプログラム。
【請求項１８】
請求項１７に記載のプログラムであって、
前記Ｗｅｂページ毎に設定された前記構成要素と、前記複数のＷｅｂページの操作順序と、を予め設定した操作手順定義情報を参照する第７の手順と、
前記統合する複数のＷｅｂページの操作手順定義情報から前記複数の業務のＷｅｂページの操作順序を表示する手順表示領域と、前記複数のＷｅｂページに設定された前記構成要素を統合した単一の作業情報表示領域と、を含むＷｅｂページを出力する第８の手順と、
をさらに含むことを特徴とするプログラム。
【請求項１９】
請求項１８に記載のプログラムであって、
前記操作手順定義情報に設定された構成要素のうち、入出力関係における入力元となるＷｅｂページの構成要素に対して入力された値と、出力先となるＷｅｂページの構成要素に出力された値とを対応付けて格納した履歴情報を保持する手順をさらに含み、
前記第８の手順は、
前記作業手順表示領域に含まれる前記統合対象の複数のＷｅｂページの構成要素間の入出力関係に対する前記履歴情報を抽出する手順と、
前記抽出した履歴情報から、前記入出力関係の入力元となるＷｅｂページの構成要素に対して入力された値と、対応する前記入出力関係の出力先となるＷｅｂページの構成要素に出力された値とを比較する手順と、
前記比較の結果が常に等しくなる該出力先となるＷｅｂページの構成要素を削除する手順と、
を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂページの表示制御方法、Ｗｅｂアプリケーションシステム及びプログラムに係り、特に、複数のＷｅｂページを、Ｗｅｂページ間の依存関係に基づいて統合するＷｅｂページの表示制御方法、Ｗｅｂアプリケーションシステム及びプログラムに関する。
【背景技術】
【０００２】
近年、複数のＩＴシステムを利用して業務を行う作業者（ユーザ）の業務効率向上を目的としたＩＴシステムの導入が進んでいる。例えば特許文献１では、作業者に対して業務手順やＩＴシステムの利用手順を提示することで、作業者の効率的な業務遂行を支援するコールセンター支援システムを開示している。具体的には、業務を構成する複数の作業を作業者が実施すべき順序で表示するフローチャート表示領域と、作業者が作業を実施するために必要な情報を表示する作業支援情報表示領域とを組合せて単一の画面として構成し、作業ごとに表示するシステムである。
作業者に表示する各画面は、作業者が当該画面で必要とする情報量を、開発者が想定して開発する。しかし、開発者が想定した情報量と、作業者が期待する情報量との間に乖離がある場合があり、開発したＩＴシステムが作業者にとって使い勝手がよいとは限らないこともある。つまり、作業者の期待よりも少ない量の情報を当該画面で表示する場合には、作業者は期待する情報量に相当する量の情報を得るために、想定した操作よりも多くの操作を行わなければならないこととなる。
一方、複数の画面で表示していた情報を単一の画面に表示すると、作業者の期待よりも多い量の情報を表示してしまうため、作業者は画面に表示された情報の中から自分が必要とする情報を探し出さなければならないという負担が生ずる。このようなことが、作業者の円滑な業務遂行の妨げとなっている。
このような中、単一の画面に表示する情報の量を作業者に合わせて変更する方法として、特許文献２が挙げられる。特許文献２では、作業者が指定した複数のＷｅｂページを単一の画面に統合して表示する方法において、作業者自身が、各Ｗｅｂページの中から画面に表示する情報を部分的に選択できる方法を開示している。特許文献２に開示された技術を用いることにより、作業者が指定した複数のＷｅｂページの画面を単一の画面上に統合して表示できるため、作業者が自分に合わせて単一の画面に表示される情報の量を変更することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２４６５８９号公報
【特許文献２】特開２００２−３１２３９１号公報
【発明の概要】
【０００４】
しかし、上記特許文献２に開示された技術では、単一の画面に表示されるＷｅｂページ間の依存関係に基づいた制御ができないため、作業者が実施すべき作業の順序に基づいて各Ｗｅｂページの内容が決まる場合に、処理に不整合が生じてしまうという問題がある。
例えば、一方のＷｅｂページで特定の項目を入力し、当該項目への入力に応じて他方のＷｅｂページに表示される項目へ入力するべき値の範囲が制限されるという依存関係があるシステムについて考える。本来、両Ｗｅｂページは、異なるタイミングで且つ同時に同一画面に表示されることは無いので、他方のＷｅｂページの入力項目は、前のＷｅｂページで入力された項目の入力値に基づいて、両項目間の依存関係、すなわち、項目へ入力するべき値の範囲を判断する。このため、他方のＷｅｂページの項目に、作業者が制限を越えた値を入力してしまったとしても、動的に入力エラーを検出することができる。この両Ｗｅｂページを単一画面上に統合して表示する場合、特許文献２に開示された技術は、単にユーザによる設定に基づいて両画面の統合を行うものの、両ページの入力項目の依存関係まで判断することはできない。即ち特許文献２に開示された技術によって統合された画面では、作業者が各項目の入力順序を無視して（上述の他のＷｅｂページの項目に相当する項目に）範囲外の値を先立って入力できるため、データに不整合が起こってしまうという問題が生ずる。
更に、上記特許文献２の技術では、複数のＷｅｂページを単に統合して同一画面上に同時に表示させる場合、各Ｗｅｂページに共通して表示されている情報も重複して表示されることになり、情報の視認性が低下するという問題も生ずる。
上記問題を解決するためには、作業者による画面の統合に起因した処理の不整合、及び情報の視認性低下を防止し、効率的かつ確実な業務遂行を支援する必要がある。
上述した課題を解決するため、本発明は、複数のＷｅｂページを計算機で統合して単一のＷｅｂページとして出力するＷｅｂページの制御方法において、前記計算機が、単一のＷｅｂページに統合する複数のＷｅｂページを定義した統合定義情報を取得する第１のステップと、前記計算機が、前記統合定義情報の複数のＷｅｂページに含まれる構成要素間の入出力関係を抽出する第２のステップと、前記計算機が、前記抽出した入出力関係から出力先となるＷｅｂページの構成要素を抽出する第３のステップと、前記計算機が、前記抽出した出力先となるＷｅｂページの構成要素に対する操作を禁止する第４のステップと、前記計算機が、前記抽出した入出力関係から入力元となる全てのＷｅｂページの構成要素を抽出する第５のステップと、前記計算機が、前記入力元となる全てのＷｅｂページの構成要素に対する操作が完了した際に、前記出力先となるＷｅｂページの構成要素に対する操作を許可する第６のステップと、を含む。
更に、前記抽出した入出力関係の入力元となるＷｅｂページの構成要素と、出力先となるＷｅｂページの構成要素の入出力の履歴情報を比較し、当該比較結果が常に等しくなる出力先となるＷｅｂページの構成要素を削除するステップを含む。
本発明によれば、構成要素間の入出力関係に依存関係を有する複数のＷｅｂページを統合した単一のＷｅｂページにおいて、より利便性が向上するという効果を奏する。Ｗｅｂページに含まれる構成要素間の入出力関係に基づいて、統合後の各Ｗｅｂページに表示される構成要素に対する入力を制御することで、ユーザが誤った順序で入力を行うことを防止することができるため、ユーザの確実な業務遂行を支援することが可能となる。加えて、重複する構成要素を削除することで、単一のＷｅｂページ内に表示する情報の視認性を向上することができる。
更に、本発明によれば、開発者が事前に開発したＷｅｂページを用いて単一の画面の情報量を変更できるため、ユーザの想定する情報量に合わせたＷｅｂページの開発が容易になる。
【図面の簡単な説明】
【０００５】
図１Ａは、本発明の第１の実施形態を示し、計算機システムのハードウェアとソフトウェアの概要を示すブロック図である。
図１Ｂは、本発明の第１の実施形態を示し、計算機システムのハードウェアとソフトウェアの概要を示すブロック図である。
図２は、本発明の第１の実施形態を示し、フロー定義情報テーブルの構成の一例を表す説明図である。
図３は、本発明の第１の実施形態を示し、ステップ統合定義情報テーブルの構成の一例を表す説明図である。
図４は、本発明の第１の実施形態を示し、変更フィールド記憶テーブルの構成の一例を表す説明図である。
図５は、本発明の第１の実施形態を示し、入出力履歴情報テーブルの構成の一例を表す説明図である。
図６は、本発明の第１の実施形態を示し、フロー定義情報の記述例を示す説明図である。
図７Ａは、本発明の第１の実施形態を示し、フロー定義情報を変更する処理のフローチャートの前半部である。
図７Ｂは、本発明の第１の実施形態を示し、フロー定義情報を変更する処理のフローチャートの後半部である。
図８Ａは、本発明の第１の実施形態を示し、入力項目制御処理のフローチャートの前半部である。
図８Ｂは本発明の第１の実施形態を示し、入力項目制御処理のフローチャートの後半部である。
図９Ａは、本発明の第１の実施形態を示し、重複削除処理のフローチャートの前半部である。
図９Ｂは、本発明の第１の実施形態を示し、重複削除処理のフローチャートの中間部である。
図９Ｃは、本発明の第１の実施形態を示し、重複削除処理のフローチャートの後半部である。
図１０は、本発明の第１の実施形態を示し、ステップ統合処理のフローチャートである。
図１１Ａは、本発明の第１の実施形態を示し、イベントリスナ処理のフローチャートの前半部である。
図１１Ｂは、本発明の第１の実施形態を示し、イベントリスナ処理のフローチャートの中間部である。
図１１Ｃは、本発明の第１の実施形態を示し、イベントリスナ処理のフローチャートの後半部である。
図１２Ａは、本発明の第１の実施形態を示し、業務ステップが統合される以前の業務フロー及び支援情報表示領域の表示形式を表す画面イメージである。
図１２Ｂは、本発明の第１の実施形態を示し、業務ステップが統合された後の業務フロー及び支援情報表示領域の表示形式を表す画面イメージである。
図１３は、本発明の第１の実施形態を示し、業務ステップが繰り返しの定義を含む場合の業務フロー及び支援情報表示領域を示し、業務ステップの統合前と統合後の画面イメージである。
図１４は、本発明の第１の実施形態を示し、業務ステップが条件分岐の定義を含む場合の業務フロー及び支援情報表示領域を示し、業務ステップの統合前と統合後の画面イメージである。
図１５は、本発明の第２の実施形態を示し、計算機システムのハードウェアとソフトウェアの概要を示すブロック図である。
図１６は、本発明の第２の実施形態を示し、グループ管理テーブルの構成の一例を表す説明図である。
図１７は、本発明の第３の実施形態を示し、計算機システムのハードウェアとソフトウェアの概要を示すブロック図である。
【発明を実施するための形態】
【０００６】
以下、本発明の一実施形態を添付図面に基づいて説明する。
図１Ａ、図１Ｂは、本発明を適用した第１の実施形態に関する計算機システム１のハードウェアとソフトウェアの概要を示すブロック図である。図１Ａ、はクライアント装置１００を主体としたブロック図である。図１Ｂは、サーバ装置２００を主体としたブロック図である。
計算機システム１は、クライアント装置１００とサーバ装置２００とが、ネットワーク１５００を介して接続され、ユーザ（作業者）４００が、クライアント装置１００を操作して、サーバ装置２００と通信を行うことで、所定の業務アプリケーションサービスの提供を受けることができるＷｅｂアプリケーションシステムとして構成されている。サーバ装置２００は、クライアント装置１００からの要求に応じて業務アプリケーションサービスを業務フローとして提供する。なお、本実施形態における業務フローは、複数の業務ステップから構成され、例えば、商品を発注する業務フローは、商品のＩＤを入力する業務ステップと、商品の在庫を表示する業務ステップ及び商品の数量を入力する業務ステップなど、複数の業務ステップから構成される。各業務ステップは、それぞれ独立したＷｅｂページで構成される。
本実施形態では、クライアント装置１００のユーザ毎に、複数のＷｅｂページをひとつのＷｅｂページに統合する情報を予め設定しておき、業務フローの実行要求を受け付けてクライアント装置１００及びサーバ装置２００が単一のＷｅｂページに複数の業務ステップをまとめて出力する処理を実行する。
はじめに、クライアント装置１００の構成を示す。
図１Ａにおいて、クライアント装置１００は汎用の計算機により実現されており、ＣＰＵ１０１、ネットワークインタフェース１０２、表示装置１０３、入力装置１０４、主記憶装置１０５、二次記憶装置１０６及びこれらを接続するシステムバス１０７から構成されている。
ネットワークインタフェース１０１は、ＣＰＵ１０１の指示に従って、ネットワーク１５００を介して接続されているサーバ装置２００などと通信を行う。なお、図１Ａ、図１Ｂでは、機能ブロック間の関係性を明記するために、後述する機能ブロック間を直接接続した記述としているが、実際に処理する際にはネットワークインタフェース１０２を通じて接続が行われる。
表示装置１０３は、ディスプレイなどの画像表示装置に表示する画像の処理を行う。入力装置１０４は、マウスやキーボードなどの装置からユーザの入力を受け付ける機能を持つ。
主記憶装置１０５上には、ブラウザ１１０が格納され、ＣＰＵ１０１の指示によって実行される。二次記憶装置１０６は、ＣＰＵ１０１からの指示に従い、データの入出力を行う。主記憶装置１０５は、メモリ等の揮発性記憶装置であり、二次記憶装置１０６は、ハードディスクなどの磁気記憶装置や、ＣＤ又はＤＶＤドライブなどの光学記憶装置といった種々の不揮発性記憶媒体が適用可能な記憶装置である。なお、二次記憶装置１０６は、後述するブラウザなどのプログラムの記憶媒体として機能する。
ブラウザ１１０は、ユーザ４００の要求に応じて、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）リクエストをサーバ装置２００に送信し、サーバ装置２００からテキストや画像のデータが含まれたＨＴＴＰレスポンスを受信することにより、サーバ装置２００が管理するコンテンツデータを取得し、表示装置１０３上に表示することができる。ここでブラウザ１１０はインターネット上のＷｅｂコンテンツを表示するための一般的なアプリケーションであるため詳細な説明は省略するが、ブラウザ１１０上では、フロー実行部１１１、フロー定義情報変更部１１２及び変更フィールド記憶部１１３が機能する。これらは、ＪａｖａＳｃｒｉｐｔ（登録商標）などのプログラミング言語で実装された処理部として以降の説明を行うが、これに限定されるものではない。
フロー実行部１１１は、ユーザ４００の要求に基づいてフロー定義情報変更部１１２の呼び出しを行い、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）などの言語で記述されたフロー定義情報を受け取り、受け取ったフロー定義情報をＨＴＭＬに変換することで業務フローを実行する機能と、ユーザ４００の要求に応じて、後述するステップ統合定義情報登録部２１１及びプログラム実行部２１２を呼び出す処理を行う。なお、フロー実行部１１１が行うフロー定義情報をＨＴＭＬに変換して業務フローを実行する方法については、周知又は公知の技術で実現できるためここでは詳細な説明は省略する。なお、フロー実行部１１１は、ユーザ４００から業務ステップの結合などの変更要求を受け付けたときには、サーバ装置２００に対して、ユーザ４００によって変更された業務ステップの情報を通知する。
フロー定義情報変更部１１２は、フロー実行部１１１の要求に基づいてサーバ装置２００の情報取得部２１３からフロー定義情報、ステップ統合定義情報及び入出力履歴情報を取得し、取得した情報に基づいてフロー定義の変更を行い、変更した結果をフロー実行部１１１に返信する。さらに、フロー定義情報変更部１１２は、変更フィールド記憶部１１３に上記変更されたフロー定義の情報を登録する。フロー定義情報の構成及びフロー定義の変更処理は後述する。
変更フィールド記憶部１１３は、フロー定義情報変更部１１２がフロー定義変更処理時に、定義を変更した業務フローに含まれるフィールドに関する情報を、入出力定義情報と関連付けて変更フィールド記憶テーブル５２０に記憶する。フロー定義情報の構成、及びフロー定義情報に含まれるフィールド定義情報、入出力定義情報の構成については、後述する。また、変更フィールド記憶テーブル５２０は変更フィールド記憶部１１３内に存在し、主記憶装置１０５もしくは二次記憶装置１０６内に格納される。
次に、サーバ装置２００の構成を図１Ｂに示す。サーバ装置２００はクライアント装置１００と同様に、汎用の計算機により実現されており、ＣＰＵ２０１、ネットワークインタフェース２０２、表示装置２０３、入力装置２０４、主記憶装置２０５、二次記憶装置２０６及びこれらを接続するシステムバス２０７から構成されている。個々のハードウェアの機能はクライアント装置１００と同様であるため詳細な説明は省略するが、主記憶装置２０５上に格納され、ＣＰＵ２０１によって実行されるプログラムがＷｅｂサーバプログラム２１０である点が、クライアント装置１００と異なる。なお、二次記憶装置２０６はＷｅｂサーバプログラム２１０を格納する記憶媒体として機能する。
次に、サーバ装置２００は、ブラウザ１１０などから発行されるＨＴＴＰリクエストを、常に、待ち受けており、ＨＴＴＰリクエストを受信すると、ＨＴＴＰリクエストで指定された文書データをＨＴＴＰレスポンスとして応答するＷｅｂサーバプログラム２１０を有する。また、本実施形態においては、Ｗｅｂサーバプログラム２１０はステップ統合定義情報登録部２１１、プログラム実行部２１２、情報取得部２１３、ステップ統合定義情報記憶部２２１、入出力履歴情報記憶部２２２及びフロー定義情報記憶部２２３を有する。
ステップ統合定義情報登録部２１１は、ユーザ４００の指示により統合（または結合）される業務ステップの情報を、フロー実行部１１１の要求から受信し、ステップ統合定義情報記憶部２２１に記憶する。すなわちユーザ４００が統合を指示した業務ステップを含む業務フローのフローＩＤとステップＩＤの集合をステップ統合定義情報記憶部２２１に通知し、ステップ統合定義情報記憶部２２１がフローＩＤ、ステップＩＤの集合及びユーザＩＤを関連付けてステップ統合定義情報テーブル５１０に格納する。ステップ統合定義情報テーブル５１０の構成は後述する。なお、ステップ統合定義情報テーブル５１０は、ステップ統合定義情報記憶部２２１内に存在し、主記憶装置２０５もしくは二次記憶装置２０６に格納される。
プログラム実行部２１２は、クライアント装置１００から受信したフロー実行部１１１の要求に基づいて、フロー実行部１１１により指定されたプログラムを実行して業務アプリケーションサービスの提供を行い、実行したプログラムの履歴情報を入出力履歴情報記憶部２２２に登録する。
情報取得部２１３は、クライアント装置１００のフロー定義情報変更部１１２の要求に基づいて、フロー定義情報記憶部２２３からフロー定義情報５０２を取得し、ステップ統合定義情報記憶部２２１からステップ統合定義情報を取得し、入出力履歴情報記憶部２２２から入出力履歴情報を抽出し、フロー定義情報変更部１１２に応答する。
ステップ統合定義情報記憶部２２１は、ステップ統合定義情報登録部２１１の要求に基づいて、フローＩＤ及びユーザＩＤと関連付けて統合する業務ステップに関するステップ統合定義情報５１３をステップ統合定義情報テーブル５１０に格納する。また、ステップ統合定義情報記憶部２２１は、情報取得部２１３の要求に基づいて統合する業務ステップに関連する情報の抽出を行う。ステップ統合定義情報テーブル５１０の構成は後述する。
入出力履歴情報記憶部２２２は、プログラム実行部２１２が実行したプログラムの入出力データをフローＩＤ及びフィールドＩＤと関連付けて入出力履歴情報テーブル５３０に格納する。また、入出力履歴情報記憶部２２２は、情報取得部２１３の要求に基づいて入出力データに関する情報の抽出を行う。入出力履歴情報テーブル５３０の構成は後述する。なお、入出力履歴情報テーブル５３０は、入出力履歴情報記憶部２２２内に存在し、主記憶装置２０５もしくは二次記憶装置２０６に格納される。
フロー定義情報記憶部２２３は、情報取得部２１３の要求に基づいて、フローＩＤとフロー定義情報を関連付けて記憶するフロー定義情報テーブル５００から、フロー定義情報の抽出を行う。フロー定義情報テーブル５００の構成は後述する。なお、本実施形態では、フロー定義情報テーブル５００に格納されるデータは、事前に定義されているものとする。なお、フロー定義情報テーブル５００は、フロー定義情報記憶部２２３に存在し、主記憶装置２０５もしくは二次記憶装置２０６内に格納される。
図２は、フロー定義情報テーブル５００の構成の一例を示している。フロー定義情報テーブル５００は、業務フローのフローＩＤを格納するカラム５０１と、フロー定義情報を格納するカラム５０２とから構成され、カラム５０１に格納されたフローＩＤで一意に識別可能なフロー定義情報がカラム５０２に格納される。
具体的には、フローＩＤが「ｆｌｏｗ１」で一意に識別が可能なフロー定義情報が「ｒｙｏｈｉｓｈｉｎｓｅｉ．ｘｍｌ」であり、フローＩＤ「ｆｌｏｗ２」で一意に識別可能なフロー定義情報が「ｍｉｔｕｍｏｒｉ．ｘｍｌ」であることを示している。
図３は、ステップ統合定義情報テーブル５１０の構成の一例を示している。ステップ統合定義情報テーブル５１０は、業務フローのフローＩＤを表すカラム５１１、ユーザＩＤを表すカラム５１２及びステップ統合定義情報を表すカラム５１３から構成される。ステップ統合定義情報テーブル５１０は、カラム５１１に格納されたフローＩＤに対応するフローについて、カラム５１２に格納されたユーザＩＤを持つユーザ４００が、カラム５１３に格納されたステップの統合を指示したことを表す。
具体的には、フローＩＤが「ｆｌｏｗ１」で一意に識別されるフロー定義情報に対して、ユーザＩＤが「ｙａｍａｄａ」であるユーザ４００が、フロー定義情報で定義された業務ステップのＩＤが「ｓｔｅｐ１」と「ｓｔｅｐ２」である業務ステップの統合と、ＩＤが「ｓｔｅｐ５」と「ｓｔｅｐ６」である業務ステップの統合を指示したことを示している。また、フローＩＤが「ｆｌｏｗ２」で一意に識別されるフロー定義情報に対して、ユーザＩＤが「ｔａｎａｋａ」であるユーザ４００が、フロー定義情報で定義されたＩＤが「ｓｔｅｐ１」、「ｓｔｅｐ２」、及び「ｓｔｅｐ３」である業務ステップの統合と、ＩＤが「ｓｔｅｐ４」と「ｓｔｅｐ５」である業務ステップの統合を指示したことを示している。
図４は、変更フィールド記憶テーブル５２０の構成例を示している。変更フィールド記憶テーブル５２０は、入出力ＩＤを格納するカラム５２１、フィールドＩＤを格納するカラム５２２、入出力フラグを格納するカラム５２３、及び入力済みであるか否かを格納するカラム５２４から構成される。
フロー定義情報変更部１１２は、フロー定義情報（５０２）で定義されたＩＤが入出力ＩＤである入出力定義情報について、入出力定義情報を構成するフィールドをフィールドＩＤで識別し、該フィールドＩＤが表すフィールドが入力定義情報に含まれるか、出力定義情報に含まれるか、をカラム５２３により識別し、更に該フィールドがユーザ４００により入力されたか否かを、カラム５２４により識別する。
なお、変更フィールド記憶テーブル５２０のカラム５２３は、値が「ＩＮ」である場合には入力定義情報を表し、「ＯＵＴ」である場合には出力定義情報をそれぞれ表す。また、変更フィールド記憶テーブル５２０のカラム５２４では、値が「ＦＡＬＳＥ」である場合にはフィールドＩＤ５２２に対応するフィールドが未入力であることを示し、値が「ＴＲＵＥ」である場合には、フィールドＩＤ５２２に対応するフィールドが入力済みであることを表す。具体的には、入出力ＩＤが「ｉｏ１」である入出力定義情報に対して、未入力の入力定義情報としてフィールドＩＤが「ｆｉｅｌｄ１」と「ｆｉｅｌｄ２」のフィールドが、出力定義情報としてフィールドＩＤが「ｆｉｅｌｄ３」のフィールドが定義されていることを示している。
図５は、入出力履歴情報テーブル５３０の構成例を示している。入出力履歴情報テーブル５３０は、履歴ＩＤを格納するカラム５３１、フローＩＤを格納するカラム５３２、フィールドＩＤを格納するカラム５３３、入出力フラグを格納するカラム５３４及びプログラムの入出力データを格納するカラム５３５から構成される。カラム５３５には、プログラム実行部２１２がプログラムを実行するたびに、該プログラムの入出力データが格納される。なお、カラム５３１は、プログラム実行部２１２によるプログラムの実行履歴を一意に識別可能とするＩＤを格納するカラムである。また、カラム５３４は、カラム５２３と同様に、その値によりフィールドＩＤに対応するフィールドが入力定義情報もしくは出力定義情報であることを表す。具体的には、履歴ＩＤ「００１」では、フローＩＤが「ｆｌｏｗ１」である業務フローを実行した際に、フィールドＩＤが「ｆｉｅｌｄ１」のフィールドには値「山田太郎」が入力され、フィールドＩＤが「ｆｉｅｌｄ２」のフィールドには値「２６」が入力されてプログラムが呼び出された履歴を示す。そして、上記入力の結果、結果フィールドＩＤが「ｆｉｅｌｄ３」であるフィールドに値「山田太郎」が出力された履歴を示している。また、履歴ＩＤ「００２」では、フローＩＤが「ｆｌｏｗ２」である業務フローを実行した際に、フィールドＩＤが「ｆｉｅｌｄ１」のフィールドに値「２００８」が入力されてプログラムが実行され、入力に対する結果フィールドＩＤが「ｆｉｅｌｄ２」であるフィールドに値「１」が出力された履歴を示している。
なお、図２から図５に表したテーブルによるデータ構造の表現は一例であり、他のデータ構造による表現を制限するものではない。
図６は、フロー定義情報５０２の記述例を示している。なお、本実施形態では、フロー定義情報５０２の記述形式をＸＭＬで記述しているが、これに限定されるものではない。フロー定義情報５０２は、ルート要素としてｆｌｏｗ要素＜ｆｌｏｗ＞を持つ。ｆｌｏｗ要素は子要素としてｉｄ要素＜ｉｄ＞を持ち、ｉｄ要素の値がフロー定義情報５０２を一意に識別するフローＩＤとなる。更に、ｆｌｏｗ要素はステップ定義情報群６０５と入出力定義情報群６０９を子要素に持つ。
ステップ定義情報群６０５は、業務フローを構成する業務ステップを表す情報の集合である。ここで業務ステップとは、フロー実行部１１１がフロー定義情報５０２をＨＴＭＬに変換してユーザ４００（表示装置１０３）に提示する際に、ＨＴＭＬのページ単位に相当する情報を定義するものである。ステップ定義情報群６０５はひとつ以上のステップ定義情報６０４から構成されており、各ステップ定義情報６０４はｓｔｅｐ要素により定義される。各ｓｔｅｐ要素はｉｄ要素を子要素として持ち、ｉｄ要素の値がステップ定義情報６０４を一意に識別するステップＩＤとなる。また、ステップ定義情報６０４はガイド定義情報６０３を持ち、これはｇｕｉｄｅ要素により定義される。
ガイド定義情報６０３は、フロー実行部１１１によりＨＴＭＬの構成要素として変換され、表示装置１０３の画面に出力される情報を定義する。ガイド定義情報６０３はフィールド定義情報群６０２から構成され、フィールド定義情報群６０２はひとつ以上のフィールド定義情報６０１から構成される。ここでフィールドとは、フロー実行部１１１により変換されるＨＴＭＬの個々の要素を表す。フィールド定義情報６０１はｆｉｅｌｄ要素により定義され、その子要素であるｉｄ要素の値がフィールド定義情報６０１を一意に識別するフィールドＩＤとなる。また、ｔｙｐｅ要素により変換されるＨＴＭＬ要素を定義する。
入出力定義情報群６０９は、ユーザ４００の指示によりフロー実行部１１１が業務ステップを遷移する際に呼び出すプログラムを定義する情報の集合であり、０個以上の入出力定義情報６０８から構成される。入出力定義情報６０８は、ｉｎｐｕｔ−ｏｕｔｐｕｔ要素により定義される。ｉｎｐｕｔ−ｏｕｔｐｕｔ要素は子要素としてｉｄ要素を持ち、ｉｄ要素の値が入出力定義情報６０８を一意に識別可能な入出力ＩＤとなる。また、ｉｎｐｕｔ−ｏｕｔｐｕｔ要素は０個以上の入力定義情報６０６と０個以上の出力定義情報６０７を子要素として持つ。但し、入力定義情報６０６と出力定義情報６０７は同時に０個になることはない。各入力定義情報６０６はｉｎｐｕｔ要素により定義し、ｉｎｐｕｔ要素は入出力定義情報６０８における入力データとなるフィールドＩＤをｆｉｅｌｄｉｄ要素により定義する。また、各出力定義情報６０７はｏｕｔｐｕｔ要素により定義し、ｏｕｔｐｕｔ要素は入出力定義情報６０８
における出力データを格納するフィールドＩＤをｆｉｅｌｄｉｄ要素として定義する。
図６の例では、ｉｄがｆｌｏｗ１であるフロー定義情報５０２の一部を示しており、該フローはｉｄがｓｔｅｐ１、ｓｔｅｐ２のステップ定義情報６０４と、ｉｄがｉｏ１の入出力定義情報を含んでいることを示している。
ｉｄがｓｔｅｐ１の業務ステップは、ガイド定義情報６０３としてｉｄがｆｉｅｌｄ１であるフィールド定義情報６０１及びｆｉｅｌｄ２であるフィールド定義情報を含み、これらのフィールドはｔｙｐｅ要素がｔｅｘｔであるため、テキスト入力フィールドとして定義されている。また、ｉｄがｓｔｅｐ２の業務ステップは、ガイド定義情報６０３としてｉｄがｆｉｅｌｄ３であるフィールド定義情報６２を含み、このフィールドはｔｙｐｅ要素がｌａｂｅｌであるため、文字列フィールドとして定義されている。
なお、ｔｙｐｅ要素の定義内容は一例であり、これらの値に限定されるものではない。また、ＨＴＭＬ要素への変換はテキスト入力フィールドと文字列要素に限定されるものではなく、ＨＴＭＬ要素への変換を一意に定めることで、あらゆるＨＴＭＬ要素に対応した定義が可能である。
ｉｄがｉｏ１の入出力定義情報６０９は、入力定義情報６０９として値がｆｉｅｌｄ１及びｆｉｅｌｄ２であるｆｉｅｌｄｉｄ要素を含んでおり、これによりｉｏ１の入力としてフィールドＩＤがｆｉｅｌｄ１及びｆｉｅｌｄ２であるフィールドに入力された値が利用されることが定義されている。また、出力定義情６０７報として値がｆｉｅｌｄ３であるｆｉｅｌｄｉｄ要素を含んでおり、これによりｉｏ１の出力データはフィールドＩＤがｆｉｅｌｄ３のフィールドに出力されることが定義されている。
なお、ＸＭＬによるフローの定義は一例であり、他の定義方法を制限するものではない。
以降の説明においては、クライアント装置１００のＣＰＵ１０１またはサーバ装置２００のＣＰＵ２０１がプログラムを実行することで提供される上述の各処理部を主体として説明する。また、以降の説明においては、複数の変数を格納するデータを配列で表現するが、これに限らず、複数の変数を一つのデータとして記憶するデータ構造であれば、他のデータ構造を用いてもよい。
図７Ａ、図７Ｂは、本実施形態におけるフロー定義情報５０２を変更する処理の一例を示すフローチャートである。この処理は、クライアント装置１００のブラウザ１１０がユーザ４００の操作を契機に実行する。
本実施形態では、はじめにユーザ４００がブラウザ１１０に対し、業務フローの表示を指示するステップ７０１を実行する。
フロー実行部１１１は、ユーザ４００が指示した業務フローを識別するフローＩＤ及びユーザ４００を識別するユーザＩＤを、フロー定義情報変更部１１２に通知する（ステップ７０２）。なお、ユーザＩＤはユーザ４００が事前にフロー実行部１１１に通知していることとする。
フロー定義情報変更部１１２は、受け取ったフローＩＤとユーザＩＤをサーバ装置２００の情報取得部２１３に通知する（ステップ７０３）。
情報取得部２１３は、フロー定義情報記憶部２２３にフロー定義情報変更部１１２から受け取ったフローＩＤをキーとした検索を依頼し、対応するフロー定義情報５０２を取得する（ステップ７０４）。この際、フロー定義情報記憶部２２３は、フロー定義情報テーブル５００から、カラム５０１の値が受け取ったフローＩＤに一致する行からカラム５０２のフロー定義情報５０２を取得して情報取得部２１３に応答する。
続いて情報取得部２１３は、ステップ統合定義情報記憶部２２１にフロー定義情報変更部１１２から受け取ったフローＩＤとユーザＩＤをキーとした検索を依頼し、対応するステップ統合定義情報群を取得する（ステップ７０５）。この際、ステップ統合定義情報記憶部２２１は、ステップ統合定義情報テーブル５１０からカラム５１１の値が受け取ったフローＩＤと一致し且つカラム５１２の値が受け取ったユーザＩＤと一致する全ての行からカラム５１３のステップ統合定義情報を取得して情報取得部２１３に応答する。
更に情報取得部２１３は、入出力履歴情報記憶部２２２にフロー定義情報変更部１１２から受け取ったフローＩＤをキーとした検索を依頼し、対応する入出力履歴情報群を取得する（ステップ７０６）。この際、入出力履歴情報記憶部２２２は入出力履歴情報テーブル５３０を参照し、カラム５３２の値が受け取ったフローＩＤと一致する全ての行からカラム５３１の履歴ＩＤ、カラム５３３のフィールドＩＤ、カラム５３４の入出力フラグ及びカラム５３５の入出力データを取得して情報取得部２１３に返却する。
情報取得部２１３は、ステップ７０４、７０５及び７０６で取得したフロー定義情報５０２、ステップ統合定義情報群及び入出力履歴情報群をフロー定義情報変更部１１２へ応答する（ステップ７０７）。
情報取得部２１３から応答を受けたクライアント装置１００のフロー定義情報変更部１１２は、受信したステップ統合定義情報群を予め設定した配列ｓｔｅｐＩＤＧｒｏｕｐｓに登録する（ステップ７０８）。
フロー定義情報変更部１１２は、変更フィールド記憶テーブル５２０を空にする（ステップ７０９）。
続いて、フロー定義情報変更部１１２は、配列ｓｔｅｐＩＤＧｒｏｕｐｓの各要素をｓｔｅｐＩＤＧｒｏｕｐとして、以下の処理（ループ１）を繰り返す。
フロー定義情報変更部１１２は、情報取得部２１３から受信したフロー定義情報５０２と変数ｓｔｅｐＩＤＧｒｏｕｐを引数として、入力項目制御処理８００を呼び出す（ステップ７１０）。入力項目制御処理８００の内容は後述する。
次に、フロー定義情報変更部１１２は、情報取得部２１３から受信したフロー定義情報５０２、変数ｓｔｅｐＩＤＧｒｏｕｐ及び入出力履歴情報群を引数として、重複削除処理９００を呼び出す（ステップ７１１）を実行する。重複削除処理９００の内容は後述する。
更に、フロー定義情報変更部１１２は、情報取得部２１３から受信したフロー定義情報５０２と変数ｓｔｅｐＩＤＧｒｏｕｐを引数として、ステップ統合処理１０００を呼び出す（ステップ７１２）。ステップ統合処理１０００の内容は後述する。
フロー定義情報変更部１１２は上記ループ１を完了した後、上記ループ１で変更したフロー定義情報５０２をフロー実行部１１１に応答する（ステップ７１３）。
フロー実行部１１１は、フロー定義情報変更部１１２が応答したフロー定義情報５０２に基づいてＨＴＭＬを生成し、表示装置１０３に出力する（ステップ７１４）。
上記処理によりユーザ４００が指定した複数の業務ステップがひとつのＷｅｂページとして表示装置１０３に出力され、ユーザ４００が所望する表示形態で業務フローを遂行することができる。
図８Ａ、図８Ｂは、本実施形態における入力項目制御処理の一例を示すフローチャートである。この処理は、図７Ｂのステップ７１０で行われる処理のサブルーチンを示す。
はじめにフロー定義情報変更部１１２は、フロー定義情報５０２から入出力定義情報群を抽出し、予め設定した配列ｉｎｐｕｔＯｕｔｐｕｔｓに登録する（ステップ８０１）。
フロー定義情報変更部１１２は、配列ｉｎｐｕｔＯｕｔｐｕｔｓに登録された各要素をｉｎｐｕｔＯｕｔｐｕｔとして、以下の処理（ループ１）を繰り返す。
フロー定義情報変更部１１２は、変数ｉｎｐｕｔＯｕｔｐｕｔに含まれる入力定義情報を抽出し、抽出した入力定義情報に含まれる全てのｆｉｅｌｄｉｄ要素の値を配列ｉｎｐｕｔＦｉｅｌｄＩＤｓに登録する（ステップ８０２）。
フロー定義情報変更部１１２は、配列ｉｎｐｕｔＦｉｅｌｄＩＤｓに登録された各要素をｉｎｐｕｔＦｉｅｌｄＩＤとして、以下の処理（ループ２）を繰り返す。
フロー定義情報変更部１１２は、フロー定義情報５０２から変数ｉｎｐｕｔＦｉｅｌｄＩＤと同一の値を持つｉｄ要素を含むフィールド定義情報６０１を抽出し、更に該フィールド定義情報６０１を含むステップ定義情報６０４を抽出し、該ステップ定義情報６０４のステップＩＤを変数ｉｎｐｕｔＳｔｅｐＩＤに登録する（ステップ８０３）。
フロー定義情報変更部１１２は、変数ｉｎｐｕｔＳｔｅｐＩＤが変数ｓｔｅｐＩＤＧｒｏｕｐに含まれる値であるか否かを判定する（ステップ８０４）。なお、本実施形態では変数ｓｔｅｐＩＤＧｒｏｕｐにはステップＩＤがカンマ区切りで登録されており、変数ｉｎｐｕｔＳｔｅｐＩＤが変数ｓｔｅｐＩＤＧｒｏｕｐに含まれるとは、カンマ区切りで登録されたステップＩＤのいずれかが変数ｉｎｐｕｔＳｔｅｐＩＤと一致することを意味する。変数ｉｎｐｕｔＳｔｅｐＩＤが変数ｓｔｅｐＩＤＧｒｏｕｐに含まれる場合（ステップ８０４：Ｙｅｓ）は下記ステップ８０５へ進み、変数ｉｎｐｕｔＳｔｅｐＩＤが変数ｓｔｅｐＩＤＧｒｏｕｐに含まれていない場合（ステップ８０４：Ｎｏ）は、変数ｓｔｅｐＩＤＧｒｏｕｐを配列ｓｔｅｐＩＤＧｒｏｕｐｓの次の要素に変更してステップ８０３の処理を繰り返す。
フロー定義情報変更部１１２は、フロー定義情報５０２から変数ｉｎｐｕｔＦｉｅｌｄＩＤと同一の値を持つｉｄ要素を含むフィールド定義情報６０１を抽出し、該フィールド定義情報６０１にイベントリスナ定義追加を指示する子要素を追加する（ステップ８０５）。ここで追加するイベントリスナは、該フィールド定義情報６０１が変換されたＨＴＭＬにおいて、ユーザ４００が入力操作を完了したことを検知し、後述するイベントリスナ処理の呼び出しを行うものである。
フロー定義情報変更部１１２は、変更フィールド記憶部１１３に対して、変数ｉｎｐｕｔＯｕｔｐｕｔのｉｄ要素の値、変数ｉｎｐｕｔＦｉｅｌｄＩＤの値の登録を依頼する（ステップ８０６）。この際、変更フィールド記憶部１１３は、受け取った変数ｉｎｐｕｔＯｕｔｐｕｔのｉｄ要素の値をカラム５２１の値、受け取った変数ｉｎｐｕｔＦｉｅｌｄＩＤの値をカラム５２２の値、カラム５２３の値を「ＩＮ」、カラム５２４の値を「ＦＡＬＳＥ」として変更フィールド記憶テーブル５２０に登録する。
フロー定義情報変更部１１２は、配列ｉｎｐｕｔＦｉｅｌｄＩＤｓに含まれる全要素に対して上記処理（ループ２）を実行した後、変更フィールド記憶部１１３に対して、変数ｉｎｐｕｔＯｕｔｐｕｔのｉｄ要素の値をキーとした検索を依頼し、対応する要素数を受け取る（ステップ８０７）。この際、変更フィールド記憶部１１３は、変更フィールド記憶テーブル５２０から、受け取った変数ｉｎｐｕｔＯｕｔｐｕｔのｉｄ要素の値とカラム５２１の値が一致する要素を全て抽出し、その要素数をフロー定義情報変更部１１２に応答する。
フロー定義情報変更部１１２は、ステップ８０７で受け取った要素数が１以上であるか否かを判断する（ステップ８０８）。要素数が１以上である場合（ステップ８０８：Ｙｅｓ）は、ステップ８０９へ進み、要素数が０である場合（ステップ８０８：Ｎｏ）は、変数ｉｎｐｕｔＯｕｔｐｕｔを配列ｉｎｐｕｔＯｕｔｐｕｔｓの次の要素に変更して、ステップ８０２へ進む。
フロー定義情報変更部１１２は、変数ｉｎｐｕｔＯｕｔｐｕｔに含まれる出力定義情報を抽出し、抽出した出力定義情報に含まれる全てのｆｉｅｄｌｄｉｄ要素の値を配列ｏｕｔｐｕｔＦｉｅｌｄＩＤｓに登録する（ステップ８０９）を実行する。
フロー定義情報変更部１１２は、配列ｏｕｔｐｕｔＦｉｅｌｄＩＤｓに含まれる各要素をｏｕｔｐｕｔＦｉｅｌｄＩＤとして、以下の処理（ループ３）を実行する。
フロー定義情報変更部１１２は、フロー定義情報５０２から変数ｏｕｔｐｕｔＦｉｅｌｄＩＤと同一の値を持つｉｄ要素を含むフィールド定義情報６０１を抽出し、更に該フィールド定義情報６０１を含むステップ定義情報６０４を抽出し、該ステップ定義情報６０４のステップＩＤを変数ｏｕｔｐｕｔＳｔｅｐＩＤに登録する（ステップ８１０）。
フロー定義情報変更部１１２は、変数ｏｕｔｐｕｔＳｔｅｐＩＤが変数ｓｔｅｐＩＤＧｒｏｕｐに含まれる値であるか否かを判断する（ステップ８１１）。変数ｏｕｔｐｕｔＳｔｅｐＩＤが変数ｓｔｅｐＩＤＧｒｏｕｐに含まれる場合（ステップ８１１：Ｙｅｓ）は、ステップ８１２へ進み、変数ｏｕｔｐｕｔＳｔｅｐＩＤが変数ｓｔｅｐＩＤＧｒｏｕｐに含まれない場合（ステップ８１１：Ｎｏ）は変数ｏｕｔｐｕｔＦｉｅｌｄＩＤを配列ｏｕｔｐｕｔＦｉｅｌｄＩＤｓの次の要素に変更してステップ８１０へ進む。
フロー定義情報変更部１１２は、フロー定義情報５０２から変数ｏｕｔｐｕｔＳｔｅｐＩＤと同一の値を持つｉｄ要素を含むフィールド定義情報６０１を抽出し、該フィールド定義情報６０１がＨＴＭＬに変換された際、編集可能な要素として変換されるか否かを判断する（ステップ８１２）。なお、編集可能な要素として変換されるか否かは、フィールド定義情報６０１に含まれるｔｙｐｅ属性の値から判断することが可能であり、例えばｔｙｐｅ属性の値がｔｅｘｔである場合にはテキスト入力フィールドに変換されるため、フロー定義情報変更部１１２は編集可能な要素に変換されると判断する。一方、フィールド定義情報６０１に含まれるｔｙｐｅ属性がｌａｂｅｌである場合には文字列フィールドに変換されるため、フロー定義情報変更部１１２は編集可能な要素には変換されないと判断する。フィールド定義情報６０１が編集可能な要素を表している場合（ステップ８１２：Ｙｅｓ）は、ステップ８１３に進み、編集可能な要素ではない場合（ステップ８１２：Ｎｏ）はステップ８１４に進む。
フロー定義情報変更部１１２は、フロー定義情報５０２から変数ｏｕｔｐｕｔＳｔｅｐＩＤと同一の値を持つｉｄ要素を含むフィールド定義情報６０１を抽出し、該フィールド定義情報６０１に対してフィールドの非活性化を表す子要素を追加する（ステップ８１３）。非活性化を表す子要素とは、例えばｄｉｓａｂｌｅ要素をｆｉｅｌｄ要素の子要素として追加し、その値をｔｒｕｅに設定することで表現が可能である。非活性化を表す子要素を追加された編集可能なフィールドは、ｄｉｓａｂｌｅ要素がｆａｌｓｅに変化するか、もしくは要素が削除されるまではユーザ４００からの入力を禁止する。
フロー定義情報変更部１１２は、変更フィールド記憶部１１３に対して、変数ｉｎｐｕｔＯｕｔｐｕｔのｉｄ要素の値と、変数ｏｕｔｐｕｔＦｉｌｅｄＩＤの値の登録を依頼する（ステップ８１４）。この際、変更フィールド記憶部１１３は、受け取った変数ｉｎｐｕｔＯｕｔｐｕｔのｉｄ要素の値をカラム５２１の値、受け取ったｏｕｔｐｕｔＦｉｌｅｄＩＤの値をカラム５２２の値、カラム５２３の値を「ＯＵＴ」、カラム５２４の値を「ＦＡＬＳＥ」として変更フィールド記憶テーブル５２０に登録する。
フロー定義情報変更部１１２は、配列ｏｕｔｐｕｔＦｉｅｌｄＩＤｓに含まれる全要素に対して上記処理（ループ３）を実行し、更に配列ｉｎｐｕｔＯｕｔｐｕｔｓに含まれる全要素に対して上記処理（ループ１）を実行し、入力項目制御処理を終了する。
上記処理により、サーバ装置２００が提供するアプリケーションサービスの業務ステップ（Ｗｅｂページ）について、クライアント装置１００はユーザ４００から業務フローの実行要求を受け付けると、ステップ統合定義情報テーブル５１０を参照して複数の業務ステップをひとつにまとめるＷｅｂページを特定する。クライアント装置１００とサーバ装置２００は、統合する業務ステップに含まれる構成要素（フィールド）間の入出力の関係を抽出し、抽出した入出力の関係から出力先となる業務ステップの構成要素を抽出し、抽出した出力先となる業務ステップの編集可能な構成要素に対する操作を抑止する。
図９Ａ、図９Ｂ、図９Ｃは、本実施形態における重複削除処理のフローチャートによる表現例である。この処理は、図７のステップ７１１で行われる処理のサブルーチンを示す。
フロー定義情報変更部１１２は、予め設定した配列ｆｉｅｌｄＩＤｓを空にする（ステップ９０１）。
フロー定義情報変更部１１２は、入力として受け付けた変数ｓｔｅｐＩＤＧｒｏｕｐの各要素をｓｔｅｐＩＤとして、以下の処理（ループ１）を実行する。
フロー定義情報変更部１１２は、フロー定義情報５０２から変数ｓｔｅｐＩＤと同一の値を持つｉｄ要素を含むステップ定義情報６０４を抽出し、該ステップ定義情報６０４に含まれるフィールド定義情報群６０２を抽出する。フロー定義情報変更部１１２は、抽出した全てのフィールド定義情報群６０２に含まれるフィールド定義情報６０１からフィールドＩＤの値を抽出し、配列ｆｉｅｌｄＩＤｓに追加する（ステップ９０２）。
フロー定義情報変更部１１２は、変数ｓｔｅｐＩＤＧｒｏｕｐの各要素に対して上記処理（ループ１）を実行した後、入出力履歴情報群におけるカラム５３３から抽出したフィールドＩＤの値が配列ｆｉｅｌｄＩＤｓに含まれるフィールドＩＤの値と一致する入出力履歴情報を全て抽出し、予め設定した配列ｒｅｃｏｒｄｓに登録する（ステップ９０３）。
フロー定義情報変更部１１２は、配列ｒｅｃｏｒｄｓを検索して入出力履歴情報テーブル５３０のカラム５３４から抽出した入出力フラグが「ＯＵＴ」である入出力履歴情報のフィールドＩＤを抽出し、配列ｏｕｔｐｕｔＦｉｅｌｄＩＤｓに登録する（ステップ９０４）。
フロー定義情報変更部１１２は、配列ｏｕｔｐｕｔＦｉｅｌｄＩＤｓに含まれる各要素をｏｕｔｐｕｔＦｉｅｌｄＩＤとして、以下の処理（ループ２）を実行する。
フロー定義情報変更部１１２は、配列ｉｎｐｕｔＦｉｅｌｄＩＤｓを空にする（ステップ９０５）。
フロー定義情報変更部１１２は、配列ｒｅｃｏｒｄｓからフィールドＩＤの値が変数ｏｕｔｐｕｔＦｉｅｌｄＩＤと一致し、かつ入出力フラグが「ＯＵＴ」である全ての入出力履歴情報を抽出し、予め設定した配列ｏｕｔｐｕｔＲｅｃｏｒｄｓに登録する（ステップ９０６）。
フロー定義情報変更部１１２は、配列ｏｕｔｐｕｔＲｅｃｏｒｄｓの先頭の要素を変数ｏｕｔｐｕｔＲｅｃｏｒｄに登録する（ステップ９０７）。
フロー定義情報変更部１１２は、配列ｒｅｃｏｒｄｓから履歴ＩＤの値が変数ｏｕｔｐｕｔＲｅｃｏｒｄの履歴ＩＤの値と同一であり、かつ入出力フラグが「ＩＮ」である全ての入出力履歴情報を抽出し、変数ｉｎｐｕｔＲｅｃｏｒｄｓに登録する（ステップ９０８）。
フロー定義情報変更部１１２は、配列ｉｎｐｕｔＲｅｃｏｒｄｓに含まれる各要素をｉｎｐｕｔＲｅｃｏｒｄとして、以下の処理（ループ３）を実行する。
フロー定義情報変更部１１２は、変数ｏｕｔｐｕｔＲｅｃｏｒｄの入出力データの値と変数ｉｎｐｕｔＲｅｃｏｒｄの入出力データの値が一致するか否かを判断するステップ９０９を実行し、値が一致する場合はステップ９１０に進む。一方、変数ｏｕｔｐｕｔＲｅｃｏｒｄの入出力データの値と変数ｉｎｐｕｔＲｅｃｏｒｄの入出力データの値が一致しない場合は変数ｉｎｐｕｔＲｅｃｏｒｄを配列ｉｎｐｕｔＲｅｃｏｒｄｓの次の値に変更してステップ９０９の判断を繰り返す。
フロー定義情報変更部１１２は、変数ｉｎｐｕｔＲｅｃｏｒｄのフィールドＩＤの値を配列ｉｎｐｕｔＦｉｅｌｄＩＤｓに追加する（ステップ９１０）。
フロー定義情報変更部１１２は、配列ｉｎｐｕｔＲｅｃｏｒｄｓに含まれる全ての要素に対して上記処理（ループ３）を実行した後、配列ｏｕｔｐｕｔＲｅｃｏｒｄｓに含まれる変数ｏｕｔｐｕｔＲｅｃｏｒｄの次の要素を新たな変数ｏｕｔｐｕｔＲｅｃｏｒｄとして登録する（ステップ９１１）。
フロー定義情報変更部１１２は、配列ｉｎｐｕｔＦｉｅｌｄＩＤｓに含まれる各要素をｉｎｐｕｔＦｉｅｌｄＩＤとして以下の処理（ループ４）を実行する。
フロー定義情報変更部１１２は、配列ｒｅｃｏｒｄｓから履歴ＩＤが変数ｏｕｔｐｕｔＲｅｃｏｒｄの履歴ＩＤと一致し、かつフィールドＩＤが変数ｉｎｐｕｔＦｉｅｌｄＩＤと一致する全ての要素を予め設定した配列ｔａｒｇｅｔＲｅｃｏｒｄｓに登録する（ステップ９１２を）。
フロー定義情報変更部１１２は、変数ｔａｒｇｅｔＲｅｃｏｒｄの入出力データの値と変数ｏｕｔｐｕｔＲｅｃｏｒｄの入出力データの値が一致するか否かを判断し（ステップ９１３）、値が一致する場合（ステップ９１３：Ｙｅｓ）は、変数ｉｎｐｕｔＦｉｅｌｄＩＤを配列ｉｎｐｕｔＦｉｅｌｄＩＤｓの次の要素に変更してステップ９１２に進み、一致しない場合（ステップ９１３：Ｎｏ）はステップ９１４へ進む。
フロー定義情報変更部１１２は、配列ｉｎｐｕｔＦｉｌｅｄＩＤｓから変数ｉｎｐｕｔＦｉｅｌｄＩＤの値を削除する（ステップ９１４）。
フロー定義情報変更部１１２は、配列ｉｎｐｕｔＦｉｅｌｄＩＤｓに含まれる各要素に対して上記処理（ループ４）を実行した後、配列ｉｎｐｕｔＦｉｅｌｄＩＤｓの要素数が１以上であるか否かを判断する（ステップ９１５）。要素数が１以上である場合（ステップ９１５：Ｙｅｓ）は、ステップ９１６へ進み、要素数が０であった場合（ステップ９１５：Ｎｏ）は変数ｏｕｔｐｕｔＦｉｅｌｄＩＤを配列ｏｕｔｐｕｔＦｉｅｌｄＩＤｓの次の要素に変更してループ２の起点であるステップ９０５へ進む。
フロー定義情報変更部１１２は、変数ｏｕｔｐｕｔＲｅｃｏｒｄが配列ｏｕｔｐｕｔＲｅｃｏｒｄｓの末尾の要素か否かを判断する（ステップ９１６）。変数ｏｕｔｐｕｔＲｅｃｏｒｄが末尾の要素であった場合（ステップ９１６：Ｙｅｓ）は、ステップ９１７へ進み、末尾の要素でない場合（ステップ９１６：Ｎｏ）は、ステップ９１１へ進む。
フロー定義情報変更部１１２は、フロー定義情報５０２から変数ｏｕｔｐｕｔＦｉｅｌｄＩＤと同一のｉｄ要素を持つフィールド定義情報６０１を抽出し、該フィールド定義情報６０１がＨＴＭＬに変換された際、編集不可能な要素として変換されるか否かを判断する（ステップ９１７）。フィールド定義情報６０１が編集不可能な要素を表している場合（ステップ９１７：Ｙｅｓ）は、ステップ９１８に進み、編集不可能な要素ではない場合（ステップ９１７：Ｎｏ）は、変数ｏｕｔｐｕｔＦｉｅｌｄＩＤを配列ｏｕｔｐｕｔＦｉｅｌｄＩＤｓの次の要素に変更してループ２の起点であるステップ９０５へ進む。
フロー定義情報変更部１１２は、フロー定義情報５０２から変数ｏｕｔｐｕｔＦｉｅｌｄＩＤと同一のｉｄ要素を持つフィールド定義情報６０１を抽出し、該フィールド定義情報６０１をフロー定義情報５０２から削除する（ステップ９１８）。
フロー定義情報変更部１１２は、配列ｏｕｔｐｕｔＦｉｅｌｄＩＤｓに含まれる各要素に対して上記処理（ループ２）を実行した後、重複削除処理を終了する。
上記重複削除処理により、入出力関係の入力元となる業務ステップの構成要素（フィールド）と、出力先となる業務ステップの構成要素の入出力の履歴情報を比較して、比較結果が常に等しくなる出力先の業務ステップの構成要素を削除することで、統合後の業務ステップに同一の構成要素が表示されるのを防止することができる。
図１０は、本実施形態におけるステップ統合処理のフローチャートによる表現例である。この処理は、図７Ｂのステップ７１２で実行される処理のサブルーチンである。
フロー定義情報変更部１１２は、変数ｓｔｅｐＩＤＧｒｏｕｐの先頭要素をｂａｓｅＳｔｅｐＩＤに登録する（ステップ１００１）。
フロー定義情報変更部１１２は、変数ｂａｓｅＳｔｅｐＩＤを変数ｔａｒｇｅｔＳｔｅｐＩＤに登録する（ステップ１００２）。
フロー定義情報変更部１１２は、変数ｓｔｅｐＩＤＧｒｏｕｐの中で変数ｔａｒｇｅｔＳｔｅｐＩＤの次の要素を新たな変数ｔａｒｇｅｔＳｔｅｐＩＤとして登録する（ステップ１００３）。
フロー定義情報変更部１１２は、フロー定義情報５０２から変数ｔａｒｇｅｔＳｔｅｐＩＤと同一の値を持つｉｄ要素を含むステップ定義情報６０４を抽出し、該ステップ定義情報６０４に含まれる全てのフィールド定義情報６０１を抽出し、変数ｂａｓｅＳｔｅｐＩＤと同一の値を持つｉｄ要素を含むステップ定義情報６０４に含まれるフィールド定義情報群６０２の末尾に追加する（ステップ１００４）。
フロー定義情報変更部１１２は、フロー定義情報５０２から変数ｔａｒｇｅｔＳｔｅｐＩＤと同一の値を持つｉｄ要素を含むステップ定義情報６０４を抽出し、該ステップ定義情報６０４をフロー定義情報５０２から削除する（ステップ１００５）。
フロー定義情報変更部１１２は、変数ｔａｒｇｅｔＳｔｅｐＩＤが変数ｓｔｅｐＩＤＧｒｏｕｐの末尾の要素であるか否かを判断するステップ１００６を実行する。変数ｔａｒｇｅｔＳｔｅｐＩＤが変数ｓｔｅｐＩＤＧｒｏｕｐの末尾の要素である場合（ステップ１００６：Ｙｅｓ）は、ステップ統合処理を終了し、末尾の要素でない場合（ステップ１００６：Ｎｏ）は、ステップ１００３へ進む。
上記処理によって、複数の業務ステップをひとつのＷｅｂページに統合することができる。統合された業務ステップは、フィールド間の依存関係からフィールド（構成要素）の入力順序を制限することで、複数の業務ステップ間の整合性を保つことができる。例えば、第１の業務ステップで第１のフィールドへの入力が終了した後に、第２の業務ステップとして第２のフィールドへ入力する業務フローでは、第１のフィールドへの入力が完了するまでは編集可能な第２のフィールドを非活性化することで入力を禁止する。そして、統合されたＷｅｂページにはイベントリスナを追加することで、第１のフィールドへの入力を検知した後に、イベントリスナが第２のフィールドを活性化してユーザからの入力を許可することで、ひとつのＷｅｂページ内で複数の業務ステップ間の整合性を保持することができる。
また、複数のフィールドが同一の値を使用する場合には、入出力履歴情報テーブル５３０から重複する値を表示するフィールドを検出して削除することで、統合された業務ステップに同一の値が複数表示されるのを防止できるのである。
図１１Ａ、図１１Ｂ、図１１Ｃは、本実施形態におけるイベントリスナ処理の一例を示すフローチャートである。この処理は、統合された業務ステップに対してクライアント装置１００のユーザ４００が入力を行うことで起動する。
はじめに、ユーザ４００が表示装置１０３の画面に表示された入力フィールドに対して入力装置１０４から入力を行うと、ブラウザ１１０は入力の受け付けを完了するステップ１１０１を実行する。
ユーザ４００の入力完了はブラウザ１１０によって検知され、該入力フィールドに定義されたイベントリスナを通じてフロー実行部１１１が呼び出される。なお、本イベントリスナは図８Ａのステップ８０５において、フロー定義情報変更部１１２により業務ステップに付与されたものである。
フロー実行部１１１は、ブラウザ１１０からの呼び出しを受けて、ユーザ４００が入力を完了したフィールドのＩＤを変数ｆｉｅｌｄＩＤに登録する（ステップ１１０２）。なお、フィールドのＩＤはブラウザ１１０によりフロー実行部１１１に通知される。
フロー実行部１１１は、変更フィールド記憶部１１３に対して、フィールドＩＤを通知し、変更フィールド記憶テーブル５２０の更新を依頼する（ステップ１１０３）。この際、変更フィールド記憶部１１３は、変更フィールド記憶テーブル５２０のカラム５２２の値が受け取ったフィールドＩＤと一致し、かつカラム５２３の値が「ＩＮ」である全ての行について、カラム５２４の値を「ＴＲＵＥ」に設定する。
フロー実行部１１１は、変更フィールド記憶部１１３に対して、フィールドＩＤをキーとした検索を依頼し、結果として受け取った入出力ＩＤ群を配列ｉｎｐｕｔＯｕｔｐｕｔＩＤｓに登録する（ステップ１１０４）。この際、変更フィールド記憶部１１３は、カラム５２２の値が受け取ったフィールドＩＤと一致し、かつカラム５２３の値が「ＩＮ」である行を全て抽出し、抽出した行に含まれる入出力ＩＤから重複を排除して応答する。
フロー実行部１１１は、配列ｉｎｐｕｔＯｕｔｐｕｔＩＤｓの各要素をｉｎｐｕｔＯｕｔｐｕｔＩＤとして、以下の処理（ループ１）を実行する。
フロー実行部１１１は、変更フィールド記憶部１１３に対して、変数ｉｎｐｕｔＯｕｔｐｕｔＩＤの値をキーとした検索を依頼し、対応する要素数を受け取る（ステップ１１０５）。この際、変更フィールド記憶部１１３は、変更フィールド記憶テーブル５２０からカラム５２１の値が受け取った変数ｉｎｐｕｔＯｕｔｐｕｔＩＤの値と一致し、カラム５２３の値が「ＩＮ」であり且つカラム５２４の値が「ＦＡＬＳＥ」である全ての要素を抽出し、その要素数を通知する。
フロー実行部１１１は、ステップ１１０５で受け取った要素数が１以上であるか否かを判断する（ステップ１１０６）。要素数が１以上である場合（ステップ１１０６：Ｙｅｓ）は、変数ｉｎｐｕｔＯｕｔｐｕｔＩＤを配列ｉｎｐｕｔＯｕｔｐｕｔＩＤｓの次の要素に変更してループ１の起点であるステップ１１０５に進み、要素数が０である場合（ステップ１１０６：Ｎｏ）は、ステップ１１０７に進む。
フロー実行部１１１は、サーバ装置２００のプログラム実行部２１２に変数ｉｎｐｕｔＯｕｔｐｕｔＩＤを通知する（ステップ１１０７）。
プログラム実行部２１２は、変数ｉｎｐｕｔＯｕｔｐｕｔＩＤに対応するプログラムを実行する（ステップ１１０８）。本実施形態では、本ステップでプログラム実行部２１２が実行するプログラムは事前に変数ｉｎｐｕｔＯｕｔｐｕｔＩＤと対応付けて登録されているものとする。プログラム実行部２１２が実行するプログラムとしては、図示しないデータベースサーバに対する問い合わせの実行などを含むことができる。
プログラム実行部２１２は、ステップ１１０８で実行したプログラムの実行結果をフロー実行部１１１に応答する（ステップ１１０９）。
フロー実行部１１１は、プログラム実行部２１２から受け取ったプログラムの実行結果を変数ｒｅｓｕｌｔに登録する（ステップ１１１０）。
フロー実行部１１１は、変更フィールド記憶部１１３に対して、変数ｉｎｐｕｔＯｕｔｐｕｔＩＤの値をキーとした検索を依頼し、結果として受け取ったフィールドＩＤ群を予め設定した配列ａｃｔｉｖｅＦｉｅｌｄＩＤｓに登録する（ステップ１１１１）。この際、変更フィールド記憶部１１３は、変更フィールド記憶テーブル５２０からカラム５２１の値が受け取った変数ｉｎｐｕｔＯｕｔｐｕｔＩＤの値と一致し、かつカラム５２３の値が「ＯＵＴ」である全ての行を抽出し、抽出した各行からカラム５２２の値を抽出して応答する。
フロー実行部１１１は、配列ａｃｔｉｖｅＦｉｅｌｄＩＤｓの各要素を変数ａｃｔｉｖｅＦｉｅｌｄＩＤとして、以下の処理（ループ２）を実行する。
フロー実行部１１１は、変数ｒｅｓｕｌｔからフィールドＩＤの値が変数ａｃｔｉｖｅＦｉｅｌｄＩＤと一致する全ての要素を抽出し、抽出した要素に対する出力データを、ユーザ４００に提示されているＨＴＭＬに含まれるｉｄ属性が変数ａｃｔｉｖｅＦｉｅｌｄＩＤと一致する要素の値として挿入する（ステップ１１１２）。
フロー実行部１１１は、フロー定義情報５０２から変数ａｃｔｉｖｅＦｉｅｌｄＩＤと一致した値を持つｉｄ要素を含むフィールド定義情報６０１を抽出し、該フィールド定義情報６０１がＨＴＭＬに変換された際、編集可能なフィールドに変換されるか否かを判断する（ステップ１１１３）。該フィールド定義情報６０１が編集可能なフィールドに変換される場合（ステップ１１１３：Ｙｅｓ）は、ステップ１１１４に進み、編集可能なフィールドに変換されない場合（ステップ１１１３：Ｎｏ）は、変数ａｃｔｉｖｅＦｉｅｌｄＩＤを配列ａｃｔｉｖｅＦｉｅｌｄＩＤｓの次の要素に変更してステップ１１１２に進む。
フロー実行部１１１は、ユーザ４００に提示されているＨＴＭＬからｉｄ属性が変数ａｃｔｉｖｅＦｉｅｌｄＩＤと一致する要素を抽出し、該要素が非活性化されている場合には活性化を行う（ステップ１１１４）。なお、ＨＴＭＬ要素の非活性化とは、ＨＴＭＬ要素に値がｔｒｕｅのｄｉｓａｂｌｅ属性を追加することにより入力を受け付けない状態にすることや、ＨＴＭＬ要素自体を非表示することなど、ユーザが該ＨＴＭＬ要素を編集できない状態とすることを表しており、これらの方法に限定されるものではない。また、ＨＴＭＬ要素の活性化とは、上記の非活性化を解除するための方法であり、ＨＴＭＬ要素からｄｉｓａｂｌｅ属性を削除することやＨＴＭＬ要素の非表示を解除することなどが相当する。
フロー実行部１１１は、フロー定義情報５０２から変数ａｃｔｉｖｅＦｉｅｌｄＩＤと同一の値を持つｉｄ要素を含むフィールド定義情報６０１を抽出し、該フィールド定義情報６０１が非活性化を指示する子要素を含むか否かを判断する（ステップ１１１５）。該フィールド定義情報６０１が非活性化を指示する子要素を含む場合（ステップ１１１５：Ｙｅｓ）は、ステップ１１１６へ進み、非活性化を指示する子要素を含まない場合（ステップ１１１５：Ｎｏ）は、変数ａｃｔｉｖｅＦｉｅｌｄＩＤを配列ａｃｔｉｖｅＦｉｅｌｄＩＤｓの次の要素としてステップ１１１２へ進む。
フロー実行部１１１は、フロー定義情報５０２から変数ａｃｔｉｖｅＦｉｅｌｄＩＤと同一の値を持つｉｄ要素を含むフィールド定義情報６０１を抽出し、該フィールド定義情報６０１から非活性化を指示する子要素を削除する（ステップ１１１６）。
フロー実行部１１１は、配列ａｃｔｉｖｅＦｉｅｌｄＩＤｓに含まれる全ての要素に対して上記処理（ループ２）を実行し、更に配列ｉｎｐｕｔＯｕｔｐｕｔＩＤｓに含まれる全ての要素に対して上記処理（ループ１）を実行した後、イベントリスナ処理を終了する。
上記処理により、統合された業務ステップに追加されたイベントリスナによって、複数の業務ステップを統合したひとつのＷｅｂページ内で、複数の業務ステップの順序を保証することができる。
図１２Ａは、業務ステップが統合されていない場合の業務フローの表示形式を示し、図１２Ｂは、業務ステップが統合された場合の業務フローの表示形式を示している。
図１２Ａの画面１２−Ａ及び１２−Ｂは統合前の業務フローの表示形式を示しており、画面１２−Ａはユーザが商品検索処理を行う業務ステップのＷｅｂページで、画面１２−Ｂはユーザが発注処理を実施する業務ステップのＷｅｂページを示している。
クライアント装置１００はまず、画面１２−Ａを表示装置１０３に表示し、入力装置１０４から商品ＩＤを受け付けると、次の業務ステップである発注処理に進むことで画面１２−ＢのＷｅｂページを表示装置１０３に表示する。この際、クライアント装置１００及びサーバ装置２００ではフロー実行部１１１、及びプログラム実行部２１２が実行され、商品ＩＤに対応する商品の在庫数が検索され、さらに発注数の初期値が計算される。ユーザは画面１２−Ｂにおいて在庫数及び発注数の初期値を確認の上、必要に応じて発注数を変更し、発注処理を行う。図１２Ａの業務フローでは、画面１２−Ａから画面１２−Ｂへ表示を切り替えることで複数の業務ステップが順次実行される。
上記２つの業務ステップ（Ｗｅｂページ）をひとつのＷｅｂページに統合する情報をステップ統合定義情報テーブル５１０へユーザ毎に格納しておき、クライアント装置１００は、ユーザからの業務フローの実行要求を受け付ける。業務フローの実行要求から出力すべきＷｅｂページが統合すべきＷｅｂページである場合、クライアント装置１００及びサーバ装置２００は、上記業務ステップの統合を行って、図１２Ｂに示す画面イメージを出力する。図１２Ｂの画面１２−Ｃでは、図１２Ａに示した２つの業務ステップ（Ｗｅｂページ）をひとつのＷｅｂページ（ひとつの画面）に統合したものである。
図１２Ｂに示す画面１２−Ｃ、１２−Ｃ１、１２−Ｃ２は業務ステップをひとつのＷｅｂページに統合した後の業務フローの表示形式を示す。画面１２−Ｃはユーザが業務フローの開始を指示したときの画面イメージである。
画面１２−Ｃは、複数の業務ステップを実施するために必要な情報としてフィールドなどを表示する作業情報表示領域１０４０と、複数の手順から構成される業務ステップの順序を表す業務フローを表示するフロー表示領域１０４１から構成される。
画面１２−Ｃ１はユーザが商品ＩＤを入力した瞬間の画面イメージを示す。画面１２−Ｃ２はユーザの入力に基づいて上述のプログラムが実行され、画面１２−Ｃ２に在庫数及び発注数の初期値が出力された状態を示している。
ユーザはまず、クライアント装置１００に業務フローの表示を指示し、クライアント装置１００は表示装置１０３に画面１２−Ｃの画面を表示する。この際、在庫数１０３１及び発注数１０３２のフィールドの初期値は商品ＩＤ１０３０のフィールドに依存して決定されるため、画面１２−Ｃの状態では各入力項目は非活性化された状態で表示される。
続いて、ユーザが商品ＩＤ１０３０を入力することで画面１２−Ｃ１の状態へ遷移する。ユーザの入力はブラウザ１１０により検知され、フロー実行部１１１、プログラム実行部２１２及びイベントリスナが実行される。この結果、画面１２−Ｃ２の状態へ遷移し、在庫数１０３１及び発注数１０３２の初期値がブラウザ１１０によって挿入されると同時に発注数を示す入力項目の非活性化が解除され、ユーザは発注数１０３２のフィールドに入力することが可能となる。
このように、商品ＩＤ１０３０のフィールドに依存して在庫数１０３１及び発注数１０３２の初期値が決定されるような業務ステップを統合した際に、ユーザが商品ＩＤ１０３０を入力する前に発注数１０３２を非活性化して指定不可能とすることで、ユーザが在庫数１０３１以上の数量を発注してしまうことを防ぐことができる。
図１３は、統合された業務ステップが繰り返し定義を含む場合の統合画面の例を示している。
画面１３―Ａは統合前の業務フローの表示形式を示しており、業務ステップＡと業務ステップＢの実行が繰り返し実施される可能性があることを示している。画面１３−Ｂは、このような業務フローにおいて、ユーザが業務ステップＡと業務ステップＢの統合を指示した場合の業務フローの表示形式の例を示している。
画面１３−Ｂでは、業務ステップＡに対応するガイドであるガイドＡと業務ステップＢに対応するガイドであるガイドＢが同一の画面上に表示される。更に画面１３−Ｂでは、これらのガイドがタブ表示により複数表示可能であることを示している。すなわち、画面１３−Ｂでは、業務フローの繰り返しに応じてタブを増加させることができる。タブによる繰り返しの表現は一例であり、表現形式はこれに限定されるものではないが、図１３に示すように、統合された画面を複数回表示可能とすることで、フローが繰り返しを含む場合にも業務ステップを統合することが可能となる。
図１４は、統合された業務ステップが条件分岐を含む場合の統合画面の例を示している。
画面１４−Ａは統合前のフローの表示形式を示しており、業務ステップＡを実行後、業務ステップＢ、もしくは業務ステップＣが排他的に実行された後、業務ステップＤが実行されることを示している。画面１４−Ｂは、このようなフローにおいて、ユーザが業務ステップＡ、業務ステップＢ、及び業務ステップＣの統合を指示した場合の業務フローの表示形式の例を示している。
複数の業務ステップが統合された画面１４−Ｂでは、業務ステップＡに対応するガイドであるガイドＡに加え、業務ステップＢ、もしくは業務ステップＣを排他的に選択可能なラジオボタンが表示され、業務ステップＢの実行が選択された場合にはラジオボタンに加えて業務ステップＢに対応するガイドであるガイドＢが表示されることを示している。ラジオボタンで業務ステップＣの実行が選択された場合には業務ステップＣに対応するガイドが図中ガイドＢの表示領域に出力される。
ラジオボタンによる排他的なステップの実行を指示する表現は一例であり、表現形式はこれに限定されるものではないが、図１４に示すように、排他的に実行される業務ステップを選択するための選択方法をユーザに提示することで、条件分岐を含むフローについてもステップを統合することが可能となる。
＜第２実施形態＞
次に、第二の実施形態について、添付図面に基づいて説明する。
図１５は、第二の実施形態に関わる計算機システム２０００のハードウェアとソフトウェアの概要を示すブロック図である。
本実施形態では、前記第一の実施形態のクライアント装置１００及びサーバ装置２００に加えて開発者４０１が操作する開発用装置３００が配備されている。
開発用装置３００はクライアント装置１００と同様、汎用の計算機により実現可能であり、ＣＰＵ３０１、ネットワークインタフェース３０２、表示装置３０３、入力装置３０４、主記憶装置３０５、二次記憶装置３０６及びこれらを接続するシステムバス３０７から構成されている。個々のハードウェアの機能はクライアント装置１００と同様であるため、詳細な説明は省略する。
開発用装置３００の主記憶装置３０５上に格納されるプログラムもクライアント装置１００と同様の機能を有するブラウザ３１１であるが、ブラウザ３１１上で実行されるプログラムがフロー編集部３１０である点がクライアント装置１００と異なる。
図１６は、開発用装置３００のフロー編集部３１０が利用するグループ管理テーブル５４０の構成例を示している。グループ管理テーブル５４０は、ユーザＩＤを格納するカラム５４１とグループＩＤを格納するカラム５４２とから構成される。グループ管理テーブル５４０は、ユーザカラム５４１に格納されたユーザＩＤで一意に識別可能なユーザが、カラム５４２に格納されたグループＩＤにより一意に識別可能なグループに所属していることを表す。ここでグループとは、１人以上のユーザをまとめて管理するための集合と定義する。
具体的には、ユーザＩＤが「ｙａｍａｄａ」で識別可能なユーザと、ユーザＩＤが「ｔａｎａｋａ」はグループＩＤ「ｇｒｏｕｐ１」で識別されるグループに所属しており、ユーザＩＤ「ｋａｗａｄａ」で識別可能なユーザはグループＩＤ「ｇｒｏｕｐ２」で識別されるグループに所属していることを示している。
なお、テーブルによるデータ構造の表現は一例であり、他のデータ構造による表現を制限するものではない。
本実施形態では、前記第一の実施形態においてステップ統合定義情報テーブル５１０を用いてユーザごとに管理していたステップ統合定義情報５１３を、グループごと、すなわち複数のユーザに対するステップの統合定義を一括して管理する方法を提供する。これは、前述の図７Ａのステップ７０５において、ステップ統合定義情報記憶部２２１がユーザＩＤをキーとしてステップ統合記憶テーブル５１０を検索する前に、ステップ定義情報記憶部２２１はグループ管理テーブル５４０を、ユーザＩＤをキーとして検索を行う。そして、ステップ統合定義情報記憶部２２１が、グループ管理テーブル５４０からカラム５４１の値がユーザＩＤと一致する行のカラム５４２の値をグループＩＤとして抽出することでユーザＩＤをグループＩＤに変換し、該グループＩＤをキーとしてステップ統合定義情報テーブル５１０を検索することで、実現が可能である。
なお、ユーザＩＤとグループＩＤのマッピング定義、及びグループに対するステップ統合定義情報は、開発者４０１がフロー編集部３１０にグループＩＤ、フローＩＤ及び統合するステップＩＤの集合を通知し、フロー編集部３１０が受け取った情報をステップ統合定義情報登録部２１１へ通知し、更にステップ統合定義情報登録部２１１がステップ統合定義情報記憶部２２１へ該情報の格納を依頼し、ステップ統合定義情報記憶部２２１がステップ統合定義情報テーブル５１０に該情報を格納することで登録される。
本実施形態では、開発者４０１にグループに対するステップ統合定義情報の定義方法を提供することで、例えば企業の部門単位など、同一の業務を行う多数のユーザが存在する場合、該多数のユーザに対して一括して統合されたフローを提供することが可能となり、開発者の作業負荷を軽減することができる。
＜第３実施形態＞
次に、第三の実施形態について、添付図面に基づいて説明する。
図１７は、第三の実施形態に関わる計算機システム３０００のハードウェアとソフトウェアの概要を示すブロック図である。本実施形態では、前記第一の実施形態においてクライアント装置１００のブラウザ１１０に配備されていたフロー実行部１１１、フロー定義情報変更部１１２、変更フィールド記憶部１１３を、サーバ装置２００のＷｅｂサーバプログラム２１０に配備したものである。その他の構成は前記第１実施形態と同様である。
本実施形態では、ユーザ４００の要求に基づいてブラウザ１１０はＨＴＴＰリクエストをサーバ装置２００に送信し、要求を受け付けたＷｅｂサーバプログラム２１０は、Ｗｅｂサーバプログラム２１０に配備されたフロー実行部１１１、フロー定義情報変更部１１２、変更フィールド記憶部１１３によりフロー定義情報５０２の変更処理、及びフロー定義情報５０２に基づいたＨＴＭＬの生成処理を実行して応答を返し、ブラウザ１１０がＨＴＭＬの表示を行う。
本実施形態を用いれば、クライアント装置１００は、ユーザからの要求を受け付けてＨＴＴＰリクエストを送信する処理、及びフロー実行部１１１から受信したＨＴＭＬを表示する処理のみを実行すればよく、クライアント装置１００にかかる負荷を軽減することができる。その他については前記第１の実施形態と同様であり、複数の業務ステップをひとつのＷｅｂページに統合することができる。
【産業上の利用可能性】
【０００７】
本発明は、Ｗｅｂブラウザを利用して業務を行う計算機システム及びＷｅｂブラウザ、Ｗｅｂサーバのプログラムに利用することができる。
【図１Ａ】
2011135733.tif 000003
【図１Ｂ】
2011135733.tif 000004
【図２】
2011135733.tif 000005
【図３】
2011135733.tif 000006
【図４】
2011135733.tif 000007
【図５】
2011135733.tif 000008
【図６】
2011135733.tif 000009
【図７Ａ】
2011135733.tif 000010
【図７Ｂ】
2011135733.tif 000011
【図８Ａ】
2011135733.tif 000012
【図８Ｂ】
2011135733.tif 000013
【図９Ａ】
2011135733.tif 000014
【図９Ｂ】
2011135733.tif 000015
【図９Ｃ】
2011135733.tif 000016
【図１０】
2011135733.tif 000017
【図１１Ａ】
2011135733.tif 000018
【図１１Ｂ】
2011135733.tif 000019
【図１１Ｃ】
2011135733.tif 000020
【図１２Ａ】
2011135733.tif 000021
【図１２Ｂ】
2011135733.tif 000022
【図１３】
2011135733.tif 000023
【図１４】
2011135733.tif 000024
【図１５】
2011135733.tif 000025
【図１６】
2011135733.tif 000026
【図１７】
2011135733.tif 000027
【国際調査報告】
2011135733.tif 000028
2011135733.tif 000029
2011135733.tif 000030
2011135733.tif 000031