(57)【要約】【課題】フレームワークを用いたウェブアプリケーションの画面遷移を、アプリケーションロジックが用意されていない環境で、正しく試験分析することのできるウェブアプリケーションの画面遷移試験分析装置遷移装置を提供する。【解決手段】画面表示プログラムと、この画面表示プログラムによって表示される画面に表示させるデータを定義する複数の画面データファイルと、画面データファイルを指定する情報および画面表示プログラムを指定する情報を含む画面遷移定義ファイルを用意しておく。フロー制御管理部は、与えられたリクエストに対応する画面遷移情報を画面遷移定義ファイルより取得し、これを基にデータオブジェクトの取得要求を生成して実行データ生成部に通知する。実行データ生成部は、アプリケーションロジックに代替してデータオブジェクトの生成を行うものであり、フロー制御管理部からのデータオブジェクトの取得要求に基づき該当する画面データファイルの画面データを取得し、これを解析してデータオブジェクトを生成する。【選択図】図１
2006048528.tif 000002
【特許請求の範囲】
【請求項１】
画面のレイアウトを定義した静的情報にデータオブジェクトを動的に割り当てる複数の画面表示プログラム、前記画面表示プログラムによって表示される画面に表示させるデータを定義する複数の画面データ、ならびに、少なくとも前記画面データを指定する情報および前記画面表示プログラムを指定する情報を含む複数の画面遷移情報が格納される画面情報データ格納部と、
ブラウザを通じてユーザから与えられたリクエストに対応する前記画面遷移情報を前記画面情報データ格納部より取得する画面遷移情報取得手段と、
前記画面遷移情報取得手段により取得された画面遷移情報に含まれる前記画面データを指定する情報に基づいて前記画面情報データ格納部より前記画面データを取得し、この画面データを基にデータオブジェクトを生成するデータオブジェクト生成手段と、
前記データオブジェクト生成手段により生成されたデータオブジェクトを格納するデータオブジェクト格納手段と、
前記画面遷移情報取得手段により検索された画面遷移情報に含まれる前記画面表示プログラムを指定する情報を含む表示要求を生成して前記ブラウザに通知する表示要求手段と  を具備することを特徴とするウェブアプリケーションの画面遷移装置。
【請求項２】
前記画面遷移情報は、アプリケーションロジックを用いた処理に関する画面遷移情報と、アプリケーションロジックを用いた画面遷移の実行が有効か無効かを宣言するためのフラグ情報とをさらに含み、
前記画面遷移情報取得手段により取得された画面遷移情報に含まれる前記フラグ情報に基づいて、前記データオブジェクト生成手段の動作のオンオフを切り替える切り替え手段をさらに有することを特徴とする請求項１記載のウェブアプリケーションの画面遷移装置。
【請求項３】
前記画面情報データ格納部に格納された前記画面遷移情報および前記画面表示プログラムの内容を解析して前記画面データの枠組み部分を作成する画面データ作成手段をさらに有することを特徴とする請求項１または２記載のウェブアプリケーションの画面遷移装置。
【請求項４】
画面情報データ格納部に、画面のレイアウトを定義した静的情報にデータオブジェクトを動的に割り当てる複数の画面表示プログラム、前記画面表示プログラムによって表示される画面に表示させるデータを定義する複数の画面データ、および少なくとも前記画面データを指定する情報および前記画面表示プログラムを指定する情報を含む複数の画面遷移情報を格納しておき、
画面遷移情報取得手段により、ブラウザを通じてユーザから与えられたリクエストに対応する前記画面遷移情報を前記画面情報データ格納部より取得し、
データオブジェクト生成手段により、前記画面遷移情報取得手段により取得された画面遷移情報に含まれる前記画面データを指定する情報に基づいて前記画面情報データ格納部より前記画面データを取得し、この画面データを基にデータオブジェクトを生成して、データオブジェクト格納手段に格納し、
表示要求手段により、前記画面遷移情報取得手段により検索された画面遷移情報に含まれる前記画面表示プログラムを指定する情報を含む表示要求を生成して前記ブラウザに通知する
ことを特徴とするウェブアプリケーションの画面遷移方法。
【請求項５】
前記画面遷移情報は、アプリケーションロジックを用いた処理に関する画面遷移情報と、アプリケーションロジックを用いた画面遷移の実行が有効か無効かを宣言するためのフラグ情報とをさらに含み、
切り替え手段により、前記画面遷移情報取得手段により取得された画面遷移情報に含まれる前記フラグ情報に基づいて、前記データオブジェクト生成手段の動作のオンオフを切り替えることを特徴とする請求項４記載のウェブアプリケーションの画面遷移方法。
【請求項６】
画面データ作成手段により、前記画面情報データ格納部に格納された前記画面遷移情報および前記画面表示プログラムの内容を解析して前記画面データの枠組み部分を作成し、
前記画面データ作成手段により作成された画面データの枠組みに配置すべき表示データをユーザの入力操作に基づいて取得し、
前記画面データ作成手段により作成された画面データの枠組みに、前記ユーザから入力された表示データをマージして画面データを完成させ、前記画面情報データ格納部に格納することを特徴とする請求項５記載のウェブアプリケーションの画面遷移方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションロジックが存在しない環境下において、フレームワークを用いたウェブアプリケーションにおける画面の遷移を分析するための画面遷移装置およびウェブアプリケーションにおける画面の遷移を分析するための画面遷移方法に関する。
【背景技術】
【０００２】
フレームワークを用いたウェブアプリケーションは、一般的に、画面のレイアウトを定義した静的情報にデータオブジェクトを動的に割り当てることのできる形式の画面表示プログラムと、この画面表示プログラムによって表示させるデータオブジェクトを生成するアプリケーションロジックとの組み合わせとによって定義される。
【０００３】
このウェブアプリケーションの画面遷移は、遷移先の画面を表示するために用いられる画面表示プログラムを指定する情報と、その画面に表示させるデータオブジェクトを生成するためのアプリケーションロジックを指定する情報との組み合わせを宣言的に定義した画面遷移定義ファイルによって決められる。
【０００４】
フレームワークに組み込まれた、画面遷移を管理するフロー制御部は、ユーザからブラウザを通じて与えられたリクエストと画面遷移定義ファイルの記述に従って、画面表示プログラムおよびアプリケーションロジックを呼び出し、アプリケーションロジックから応答されたデータオブジェクトを画面表示プログラムに提供する。これを繰り返すことで、ウェブアプリケーションの画面遷移が次々に実行される。
【０００５】
しかし、この画面遷移の試験分析では、アプリケーションロジックが正常に動作していることが必須であるものの、画面設計はアプリケーションロジックの作成とは別に、設計の初期段階で行われることが多い。このため、画面遷移の試験分析を設計の初期段階で行うことは難しかった。
【０００６】
画面ごとの操作（イベント）とそのイベント発生により次に表示する画面との対応を画面遷移条件ファイルに記述しておき、表示画面に対してユーザが行った操作に対して、画面遷移条件ファイルの記述内容に従って次の画面を表示することで、実際のアプリケーションプログラムの開発前に、実行時のイメージを把握できるようにする技術は既に知られている（たとえば特許文献１を参照）。
【特許文献１】特開平１０−０４９３５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、フレームワークを用いたウェブアプリケーションの画面遷移の試験分析は、画面表示プログラムが完成している状況の中で行われるので、単に、画面ごとの操作（イベント）とそのイベント発生により次に表示する画面との対応を定義しただけでは、ウェブアプリケーションの画面遷移の試験分析を正しく行うことはできない。すなわち、少なくとも、遷移先の画面に対応した画面表示プログラムが画面遷移の試験分析において呼び出される機構が試験分析の環境において不可欠である。
【０００８】
本発明は、このような課題を解決するためになされたものであり、フレームワークを用いたウェブアプリケーションの画面遷移を、アプリケーションロジックが用意されていない環境で、正しく試験分析することのできるウェブアプリケーションの画面遷移装置およびウェブアプリケーションの画面遷移方法を提供することを目的としている。
【課題を解決するための手段】
【０００９】
かかる目的を達成するために、本発明にかかるウェブアプリケーションの画面遷移装置は、画面のレイアウトを定義した静的情報にデータオブジェクトを動的に割り当てることのできる複数の画面表示プログラム、画面表示プログラムによって表示される画面に表示させるデータを定義する複数の画面データ、および少なくとも画面データを指定する情報および画面表示プログラムを指定する情報を含む複数の画面遷移情報が格納される画面情報データ格納部と、ブラウザを通じてユーザから与えられたリクエストに対応する画面遷移情報を画面情報データ格納部より所得する画面遷移情報取得手段と、画面遷移情報取得手段により取得された画面遷移情報に含まれる画面データを指定する情報に基づいて画面情報データ格納部より画面データを取得し、この画面データを基にデータオブジェクトを生成するデータオブジェクト生成手段と、データオブジェクト生成手段により生成されたデータオブジェクトを格納するデータオブジェクト格納手段と、画面遷移情報取得手段により検索された画面遷移情報に含まれる画面表示プログラムを指定する情報を含む表示要求を生成してブラウザに通知する表示要求手段とを具備することを特徴とする。
【００１０】
また、本発明は、画面遷移情報がアプリケーションロジックを用いた処理に関する画面遷移情報と、アプリケーションロジックを用いた画面遷移の実行が有効か無効かを宣言するためのフラグ情報とをさらに含み、画面遷移情報取得手段により取得された画面遷移情報に含まれるフラグ情報を判定して、データオブジェクト生成手段の動作のオンオフを切り替える切り替え手段をさらに有するものであってよい。
【００１１】
さらに、本発明は、画面情報データ格納部に格納された画面遷移情報および画面表示プログラムの内容を解析して画面データの枠組み部分を作成する画面データ作成手段をさらに有するものであってよい。
【発明の効果】
【００１２】
本発明のウェブアプリケーションの画面遷移装置およびウェブアプリケーションの画面遷移方法によれば、フレームワークを用いたウェブアプリケーションの画面遷移を、アプリケーションロジックが用意されていない環境で正しく試験分析することができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明の実施の形態について説明する。
【００１４】
図１は、本発明の一実施形態に係るウェブアプリケーションの画面遷移装置の構成を示すブロック図である。
【００１５】
同図に示すように、このウェブアプリケーションの画面遷移装置１００は、画面表示プログラム１０１、ブラウザ１０２、画面遷移定義ファイル１０３、リクエスト受付部１０４、フロー制御管理部１０５、実行データ生成部１０６、画面データ格納部１０７、および画面データファイル１０８、画面遷移確認フロー制御部１０９で構成されている。画面表示プログラム１０１、画面遷移定義ファイル１０３、画面データファイル１０８は図示しないファイル格納部にそれぞれ外部ファイルとして格納されている。
【００１６】
画面表示プログラム１０１は、画面のレイアウトを定義した静的情報にデータオブジェクトを動的に割り当てることのできる形式で記述された画面表示のためのプログラムである。この画面表示プログラム１０１は画面ごとに複数用意されている。
【００１７】
ブラウザ１０２は、画面表示プログラム１０１を呼び出して画面を再現するプログラムである。また、ブラウザ１０２は、画面に設けられたボタンなどがユーザによって操作されることで、その操作に対応するリクエストを生成する。
【００１８】
画面遷移定義ファイル１０３は、画面の遷移に関する情報が記述された外部ファイルである。画面の遷移とは、たとえば、画面上でボタンなどがユーザによって操作されることなどを契機に発生する画面の移り変わりである。画面遷移定義ファイル１０３には、画面に設けられたボタンなどがユーザによって操作されることでブラウザ１０２にて生成されるリクエストの種類ごとに個別の画面遷移情報の定義が記述されている。
【００１９】
リクエスト受付部１０４、フロー制御管理部１０５および実行データ生成部１０６は、フレームワーク１１０にプラグインで組み込まれた機能である。
【００２０】
リクエスト受付部１０４は、ブラウザ１０２より受け取ったリクエストに対する処理をフロー制御管理部１０５に委譲する。
【００２１】
フロー制御管理部１０５は、画面遷移定義ファイル１０３を参照して、リクエストの種類に応じたデータオブジェクトの取得要求を図示しないアプリケーションロジックに対して行うか、または後記する画面遷移確認フロー制御部１０９に対して行うかを切り替える。
【００２２】
画面遷移確認フロー制御部１０９は、リクエストの種類に応じたデータオブジェクトの取得要求を実行データ生成部１０６に対して行い、実行データ生成部１０６から取得したデータオブジェクトを、アプリケーションサーバ１１２の画面データ格納部１０７にわたす。
【００２３】
実行データ生成部１０６は、アプリケーションロジックに代替してデータオブジェクトの生成を行うものであり、フロー制御管理部１０５からのデータオブジェクトの取得要求に基づき、該当する画面データファイル１０８の画面データを取得し、これを解析してデータオブジェクトを生成する。
【００２４】
画面データ格納部１０７は、実行データ生成部１０６によって生成されたデータオブジェクトを格納する。あるいは、物理的な格納部に格納されたデータオブジェクトへの参照（アドレス情報）を格納するものであってもよい。画面表示プログラム１０１は、この画面データ格納部１０７に格納されたデータオブジェクト（実体）あるいはデータオブジェクトへの参照（実体への参照）を読み込んでブラウザ１０２へ提供する。
【００２５】
画面データファイル１０８は、画面遷移の試験分析を行うため個々の画面ごとに用意され、それぞれ画面に表示させるデータの定義が記述された外部ファイルである。
【００２６】
次に、画面遷移定義ファイル１０３、画面表示プログラム１０１、および画面データファイル１０８について説明する。
【００２７】
図２は画面遷移定義ファイル１０３の一例である。
【００２８】
ここで、ａｃｔｉｏｎタグによって挟まれた記述部（ａｃｔｉｏｎ要素）が１つの種類のリクエストに対応する画面遷移情報２１である。個々の画面遷移情報２１は、ａｃｔｉｏｎ要素のｐａｔｈ属性、ｎａｍｅ属性、ｓｃｏｐｅ属性、ｖａｌｉｄａｔｅ属性、ｉｎｐｕｔ属性、ｔｙｐｅ属性の各値、ならびにｆｏｒｗａｒｄ要素のｎａｍｅ属性およびｐａｔｈ属性の各値で構成されている。
【００２９】
ａｃｔｉｏｎ要素のｐａｔｈ属性は画面データファイル１０８を指定するパスである。ａｃｔｉｏｎ要素のｎａｍｅ属性は画面遷移情報の名前を示すものである。ｓｃｏｐｅ属性は画面データ格納部１０７においてデータオブジェクトを格納する箱の種類を指定するものである。たとえば、“ｓｅｓｓｉｏｎ”は複数の画面に跨ってデータオブジェクトを保持することが可能な属性を持った箱を意味する。
【００３０】
ｖａｌｉｄａｔｅ属性は、フロー制御管理部１０５がブラウザ１０２から入力されたデータのチェックを行う処理を行うか、行わないかを指定するものである。このｖａｌｉｄａｔｅ属性の値として“ｔｒｕｅ”を設定すると、入力されたデータのチェックを行うための処理に遷移し、“ｆａｌｓｅ”を設定すると、チェックを行うための処理に遷移しない。
【００３１】
ｉｎｐｕｔ属性は、ｖａｌｉｄａｔｅ属性の値が“ｔｒｕｅ”のとき、入力されたデータのチェックでエラーが発生した場合に遷移する画面を定義するものである。
【００３２】
ｔｙｐｅ属性は、ブラウザ１０２からリクエストが送信された際、そのリクエストに応じてアプリケーションロジックの呼び出しを行う処理部を設定する属性である。
【００３３】
また、ｆｏｒｗａｒｄ要素のｎａｍｅ属性は遷移先画面に対応する画面表示プログラム１０１を呼び出すために必要な条件を示すものであり、ｆｏｒｗａｒｄ要素のｐａｔｈ属性は、その遷移先画面の画面表示プログラム１０１を指定するパスである。この例では、処理の成功を意味する“ｓｕｃｃｅｓｓ”というキーワードが遷移条件として与えられた場合に“／ｎｅｘｔ．ｊｓｐ”のパスで指定される遷移先画面の画面表示プログラム１０１を呼び出すことを意味し、処理の失敗を意味する“ｆａｌｓｅ”というキーワードが遷移条件として与えられた場合に“／ｅｒｒｏｒ．ｊｓｐ”のパスで指定される遷移先画面の画面表示プログラム１０１を呼び出すことを意味する。
【００３４】
さらに、画面遷移定義ファイル１０３には、ｔｒａｎｓｉｔＰｒｏｃｅｓｓｏｒ要素２２が設けられており、ｆｌａｇ属性の値として”ｔｒｕｅ”または”ｆａｌｓｅ”を設定することができる。”ｔｒｕｅ”ならばアプリケーションロジックを用いない画面遷移の実行を有効とし、逆に”ｆａｌｓｅ”ならば実際の運用時のアプリケーションロジックを用いた画面遷移の実行を有効とすることを意味する。図１の環境ではアプリケーションロジックが用意されていないので、ｆｌａｇ属性の値として”Ｔｒｕｅ”が設定される。また、図６に示すウェブアプリケーションの実際の運用時の環境では、ｆｌａｇ属性の値に”ｆａｌｓｅ”を設定すればよい。
【００３５】
上記の画面遷移情報において、ａｃｔｉｏｎ要素のｐａｔｈ属性およびｓｃｏｐｅ属性の各値と、ｆｏｒｗａｒｄ要素のｎａｍｅ属性およびｐａｔｈ属性の各値は、アプリケーションロジックを用いない画面遷移の実行において有意な画面遷移情報であり、その他の属性の値は、アプリケーションロジックを用いた画面遷移の実行のために有意な画面遷移情報である。
【００３６】
図３は画面表示プログラム１０１の例である。
【００３７】
この画面表示プログラム１０１は、たとえばＪＳＰ（Ｊａｖａ  Ｓｅｒｖｅｒ  Ｐａｇｅｓ）などのプログラミング言語で記述された例である。Ｊａｖａは登録商標である。
【００３８】
この画面表示プログラム１０１には、文字列の表示のためのプログラム記述部１３１、Ｂｅａｎなどの構造を持ったデータの表示のためのプログラム記述部１３２、Ｌｉｓｔ構造の表示のためのプログラム記述部１３３、Ｍａｐ構造の表示のためのプログラム記述部１３４などが含まれている。
【００３９】
文字列の表示のためのプログラム記述部１３１およびＬｉｓｔ構造の表示のためのプログラム記述部１３３は、ｂｅａｎ：ｗｒｉｔｅ要素のｎａｍｅ属性およびｓｃｏｐｅ属性の各値で構成されている。ｎａｍｅ属性はｓｃｏｐｅ属性の値で指定される箱から取り出すデータオブジェクトを指定する名前である。ｓｃｏｐｅ属性は画面データ格納部１０７においてデータオブジェクトを格納する箱の種類を指定する情報である。
【００４０】
構造を持ったデータの表示のためのプログラム記述部１３２およびＭａｐ構造の表示のためのプログラム記述部１３４は、ｂｅａｎ：ｗｒｉｔｅ要素のｎａｍｅ属性、ｐｒｏｐｅｒｔｙ属性およびｓｃｏｐｅ属性の各値で構成されている。ここで、ｐｒｏｐｅｒｔｙ属性の値は、ｎａｍｅ属性で指定されるファイルからＢｅａｎ、Ｍａｐを取り出すためのキーである。
【００４１】
図４は、画面データファイル１０８の例である。
【００４２】
画面データファイル１０８は、異なる画面ごとに用意され、画面に表示するデータの定義が記述された外部ファイルである。
【００４３】
この画面データファイル１０８には、ｔｒａｎｓｉｔタグのｐａｔｈ属性の値として、ブラウザ１０２からのリクエストの種類に対応するキーが記述され、自画面データファイル１０８を呼び出すために必要な条件としてｆｏｒｗａｒｄ属性の値が記述されている。さらに、画面データファイル１０８には、文字列のデータを定義する画面データ記述部１５１、Ｂｅａｎなどの構造を持ったデータを定義する画面データ記述部１５２、Ｌｉｓｔ構造のデータを定義する画面データ記述部１５３、Ｍａｐ構造のデータを定義する画面データ記述部１５４が含まれている。
【００４４】
各々の画面データ記述部１５１、１５２，１５３，１５４は、ｄａｔａタグのｔｙｐｅ属性、ｓｃｏｐｅ属性、ｋｅｙ属性の各値と、ｆｉｅｌｄタグを用いて定義される変数である表示データとで構成されている。ここで、ｔｙｐｅ属性の値はデータの型を示す情報である。ｓｃｏｐｅ属性の値は画面データ格納部１０７においてデータオブジェクトを格納する箱の種類を指定するものである。ｋｅｙ属性の値は自画面データのキーである。
【００４５】
図５は、この実施形態のウェブアプリケーションの画面遷移装置１００の動作を示すシーケンス図である。
【００４６】
まず、管理者２０１が、ブラウザ１０２、フレームワーク１１１およびアプリケーションサーバ１１２をそれぞれ起動し、フレームワーク１１１に構築されたリクエスト受付部１０４に対して起動を要求する（Ｓ１）。リクエスト受付部１０４は、起動要求を受けるとフロー制御管理部１０５を起動する（Ｓ２）。フロー制御管理部１０５は、起動後、まず画面遷移定義ファイル１０３を読み込み、その内容を保持する（Ｓ３，Ｓ４）。
【００４７】
次に、ユーザ２０２は、ブラウザ１０２によって表示された画面上のボタンなどを操作するなどしてブラウザ１０２に別画面の表示の要求を入力する（Ｓ５）。ブラウザ１０２は、ユーザ２０２からの入力に対応したリクエストを生成してリクエスト受付部１０４に与える（Ｓ６）。リクエスト受付部１０４はブラウザ１０２より受けたリクエストをフロー制御管理部１０５に渡す（Ｓ７）。
【００４８】
フロー制御管理部１０５は、リクエストを受けると、保持しておいた画面遷移定義ファイル１０３の内容から、まず、図２に示したｔｒａｎｓｉｔＰｒｏｃｅｓｓｏｒ要素２２のｆｌａｇ属性の値を調べ、これが”ｔｒｕｅ”ならば、アプリケーションロジックを用いない画面遷移を実行するために、リクエストを画面遷移確認フロー制御部１０９にわたす（Ｓ８）。
【００４９】
ｔｒａｎｓｉｔＰｒｏｃｅｓｓｏｒ要素２２のｆｌａｇ属性の値が”ｆａｌｓｅ”の場合は、フロー制御管理部１０５は、データオブジェクトの取得要求を生成してアプリケーションロジックに通知しようとするが、アプリケーションロジックは存在しないことから、試験分析環境が無効であることを、リクエスト受付部１０４を通じてブラウザ１０２に応答する。
【００５０】
画面遷移確認フロー制御部１０９は、当該リクエストに対応する画面遷移情報を判別する。たとえば、受け付けたリクエストに対して、たとえば、図２に示したように、ａｃｔｉｏｎ要素のｐａｔｈ属性の値が”／ｔａｓｋＬｉｓｔ”である画面遷移情報２１を検索する。
【００５１】
次に、画面遷移確認フロー制御部１０９は、この画面遷移情報２１の中のａｃｔｉｏｎ要素のｐａｔｈ属性の値とｆｏｒｗａｒｄ要素のｎａｍｅ属性の値を含むデータオブジェクト取得要求を生成して実行データ生成部１０６に通知するわけであるが（Ｓ１０）、図２に示す画面遷移情報２１においては、ｆｏｒｗａｒｄ要素のｎａｍｅ属性の値が２つある。そこで、そのどちらを用いてデータオブジェクト取得要求を生成するかを前もって選択しなければならない（Ｓ９）。このｆｏｒｗａｒｄ要素のｎａｍｅ属性の値を選択する処理については後で説明する。ここで、ａｃｔｉｏｎ要素のｐａｔｈ属性は画面データファイル１０８を指定するパス、ｆｏｒｗａｒｄ要素のｎａｍｅ属性はその遷移先画面に対応する画面表示プログラム１０１を呼び出すために必要な条件である。
【００５２】
実行データ生成部１０６は、画面遷移確認フロー制御部１０９からのデータオブジェクト取得要求を受けると、全ての画面データファイル１０８の中から、ｔｒａｎｓｉｔ要素のｐａｔｈ属性とｆｏｒｗａｒｄ属性の各値が、データオブジェクト取得要求に含まれるａｃｔｉｏｎ要素のｐａｔｈ属性とｆｏｒｗａｒｄ要素のｎａｍｅ属性の各値と各々一致するもの、たとえば図４に示した画面データファイル１０８を取得する（Ｓ１１，Ｓ１２）。
【００５３】
続いて、実行データ生成部１０６は、取得した画面データファイル１０８の内容、すなわち図４の画面データ記述部１５１、１５２，１５３，１５４の内容から、それぞれのデータオブジェクトを生成し（Ｓ１３）、その結果を画面遷移確認フロー制御部１０９に応答する（Ｓ１４）。
【００５４】
画面遷移確認フロー制御部１０９は、実行データ生成部１０６より応答されたデータオブジェクトを画面データ格納部１０７に格納し（Ｓ１５）、フロー制御管理部１０５を通じてリクエスト受付部１０４に対して表示を要求する（Ｓ１６，Ｓ１７）。この表示要求には、フロー制御管理部１０５が今回のリクエストに対して画面遷移定義ファイル１０３から検索した画面遷移情報２１に含まれる遷移先画面に対応する画面表示プログラムのパス、すなわちｆｏｒｗａｒｄ要素のｐａｔｈ属性の値（たとえば”／ｎｅｘｔ．ｊｓｐ”など）が付加される。
【００５５】
リクエスト受付部１０４は、この表示要求をブラウザ１０２に与える（Ｓ１８）。ブラウザ１０２は表示要求を受けると、これに含まれている、遷移先画面に対応する画面表示プログラムのパスに基づいて該当する画面表示プログラム１０１を呼び出す（Ｓ１９）。この呼び出しに応じて画面表示プログラム１０１は、画面データ格納部１０７に格納されたデータオブジェクトを読み出して（Ｓ２０，Ｓ２１）、画面のレイアウトにそれらのデータオブジェクトを割り当て、その結果をブラウザ１０２に返す（Ｓ２２）。これによりブラウザ１０２にて、新しい画面を表示する処理が行われる（Ｓ２３）。
【００５６】
このように、この実施形態のウェブアプリケーションの画面遷移装置１００によれば、アプリケーションロジックが用意されていない環境で、画面遷移の試験分析を行うことができる。これにより画面遷移の試験分析をアプリケーションロジック完成前の設計初期段階にて行うことができ、ウェブアプリケーションの開発期間を短縮することができる。
【００５７】
また、画面遷移定義ファイル１０３は、ｔｒａｎｓｉｔＰｒｏｃｅｓｓｏｒ要素２２のｆｌａｇ属性の値を”ｔｒｕｅ”から”ｆａｌｓｅ”に変更するだけで、アプリケーションロジックを用いたウェブアプリケーションの実際の運用時にもそのまま利用することができる。
【００５８】
図６は、アプリケーションロジック２０４を用いたウェブアプリケーション実際の運用時のシステムの構成を示す図である。図１に示すアプリケーションロジック２０４を用いない場合の実施の形態のウェブアプリケーションの画面遷移装置と同一部分には同一符号を付して、重複する部分の詳細説明を省略する。
【００５９】
図６に示すように、リクエスト受付部１０４は、ブラウザ１０２より受けたリクエストをフロー制御管理部１０５に渡す。フロー制御管理部１０５は、リクエストを受けると、初期化の段階で保持しておいた画面遷移定義ファイル１０３の内容から、ｔｒａｎｓｉｔＰｒｏｃｅｓｓｏｒ要素２２のｆｌａｇ属性の値が”ｆａｌｓｅ”であることを判断する。続いて、フロー制御管理部１０５は、画面遷移定義ファイル１０３に記述されている画面遷移情報２１の中の、アプリケーションロジックを用いた画面遷移の実行に有意な画面遷移情報を基に、当該リクエストに対応するデータオブジェクトの取得要求を生成してアプリケーションロジック２０４に通知する。
【００６０】
アプリケーションロジック２０４は、データオブジェクトの取得要求に対し、自らに実装されたロジックを実行し、その結果であるデータオブジェクトを画面データ格納部１０７に格納するとともに、リクエスト受付部１０４に対して表示を要求する。
【００６１】
以降は、画面遷移の試験分析のときと同様に、リクエスト受付部１０４は、フロー制御管理部１０５からの表示要求をブラウザ１０２に与える。ブラウザ１０２は表示要求を受けると画面表示プログラム１０１を呼び出す。この呼び出しに応じて画面表示プログラム１０１は、画面データ格納部１０７に格納されたデータオブジェクトを読み出して、画面のレイアウトにそれらのデータオブジェクトを割り当て、その結果をブラウザ１０２に返す。これによりブラウザ１０２にて、新しい画面を表示する処理が行われる。
【００６２】
次に、図２に示した画面遷移情報２１のｆｏｒｗａｒｄ要素のｎａｍｅ属性の値を選択する処理について説明する。
【００６３】
図７はツールを用いてユーザに画面遷移条件であるｎａｍｅ属性の値を選択させる機構の構成を示す図、図８はこの機構による画面遷移条件の選択の流れを示す図である。
【００６４】
ここで、画面遷移先制御スレッド２１１およびクライアント制御ツール２１２は、フレームワーク１１０にプラグインで組み込まれた機能である。画面遷移先制御スレッド２１１は、画面遷移確認フロー制御部１０９から起動される。画面遷移先制御スレッド２１１は、フロー制御管理部１０５が画面遷移定義ファイル１０３から読み取った、画面遷移情報の遷移条件であるｆｏｒｗａｒｄ要素のｎａｍｅ属性を受け取る（Ｓ１）。一方、画面遷移確認フロー制御部１０９は画面遷移先制御スレッド２１１を起動した後に待ち状態に入る。画面遷移先制御スレッド２１１はクライアント制御ツール２１２に画面遷移確認フロー制御部１０９が待ち状態に入っていることを通知し、遷移条件を渡す（Ｓ２）。
【００６５】
クライアント制御ツール２１２は、ユーザ２０２に画面遷移確認フロー制御部１０９が待ち状態に入っていることを通知するとともに（Ｓ３）、画面遷移先制御スレッド２１１から受け取った遷移条件を基に遷移先条件を選択するための、たとえば図９に示すようなダイアログを表示する（Ｓ４）。ユーザ２０２によってダイアログで一つの遷移条件が選択されると、その遷移条件がクライアント制御ツール２１２に入力される（Ｓ５）。
【００６６】
クライアント制御ツール２１２は、ユーザ２０２より入力された遷移条件が返ってきたら、遷移条件を画面遷移先制御スレッド２１１に渡す（Ｓ６）。画面遷移先制御スレッド２１１は、画面遷移条件が返ってくると待ち状態を終了し、遷移条件を画面遷移確認フロー制御部１０９に渡す（Ｓ７）。
【００６７】
このようにして画面遷移確認フロー制御部１０９は、画面遷移情報２１においてｆｏｒｗａｒｄ要素のｎａｍｅ属性の値が複数存在する場合に、その中のどれを用いてデータオブジェクト取得要求を生成すればよいかを決定することができる。
【００６８】
また、上記のようにユーザが動的に遷移条件を与える方法のほかに、図１０に示すような画面遷移定義ファイル１０３の一部として遷移条件定義ファイルを用意しておき、この遷移条件定義ファイルを画面遷移確認フロー制御部１０９が読み込んで遷移条件を取得するようにしてもよい。図１０の（ａ）は、遷移条件が”ｓｕｃｃｅｓｓ”の場合の遷移条件定義ファイル、図１０の（ｂ）は、遷移条件が”ｆａｌｓｅ”の場合の遷移条件定義ファイルの例を示している。
【００６９】
次に、本発明の第２の実施形態として、画面データファイル１０８を自動生成する手段を有するウェブアプリケーションの画面遷移装置３００について説明する。
【００７０】
図１１は、この第２の実施形態のウェブアプリケーションの画面遷移装置３００の構成を示すブロック図である。図１に示すアプリケーションロジック２０４を用いない場合の実施の形態のウェブアプリケーションの画面遷移装置と同一部分には同一符号を付して、重複する部分の詳細説明を省略する。
【００７１】
画面データファイル１０８を自動生成する手段として、ウェブアプリケーションの画面遷移装置３００は、図１のウェブアプリケーションの画面遷移装置１００に解析部３０１が付加されている構成である。
【００７２】
図１２は、解析部３０１による画面データファイル１０８の自動生成の流れを示すシーケンス図である。
【００７３】
解析部３０１は、ユーザ２０２からの起動要求を受け（Ｓ１）、画面遷移定義ファイル１０３から、ａｃｔｉｏｎ要素のｐａｔｈ属性の値、ｆｏｒｗａｒｄ要素のｎａｍｅ属性およびｐａｔｈ属性の各値を読み込み、保持する（Ｓ２，Ｓ３）。
【００７４】
解析部３０１は、画面遷移定義ファイル１０３から取得したｆｏｒｗａｒｄ要素のｐａｔｈ属性の値により遷移先画面の画面表示プログラム１０１を特定し、この画面表示プログラム１０１からデータ表示属性すなわちｂｅａｎ：ｗｒｉｔｅ要素の属性の値を読み込み、これを保持する（Ｓ４，Ｓ５）。
【００７５】
解析部３０１は、画面遷移定義ファイル１０３および画面表示プログラム１０１から取得した情報を用いて画面データの、表示データを除く部分である枠組みを作成する（Ｓ６）。ユーザ２０２から表示データが入力されたとき（Ｓ７）、解析部３０１は、画面データの枠組みにユーザ２０２から入力された表示データをマージして画面データファイル１０８を完成させ（Ｓ８）、完成した画面データを画面データファイル１０８を決められた場所に配置する（Ｓ９）。ここで、ユーザ２０２から入力される「表示データ」とは、たとえば、図４の画面データファイル１０８の例において下線が引かれた部分であり、その他の部分は画面データの枠組みとして解析部３０１により自動生成される。
【００７６】
図１３に、画面データの枠組みと、この枠組みに表示データを埋め込んだ結果の例を示す。同図に示すように、画面データの枠組みは、表示データを除いたデータで構成されたものであり、「“」と「”」との間、「＜Ｆｉｅｌｄ＞」と「＜Ｆｉｅｌｄ＞」との間に表示データが埋め込まれるようになっている。
【００７７】
図１４は、画面データファイル１０８の画面データ記述部１５１、１５２，１５３，１５４における表示データ以外の枠組み部分を自動生成する手順を示す図である。
【００７８】
解析部３０１は、まず、画面表示プログラム１０１を先頭から読み込み（ステップ９０１）、データ表示のためのタグ（ｂｅａｎ：ｗｒｉｔｅタグ）を検出して、図４の符号１５１、１５２、１５３、１５４で示されるような一つの画面データ記述部を検出する（ステップ９０２）。一つの画面データ記述部を検出したならば、そこに含まれているコメントから、データの種別すなわち文字列データ、構造を持ったデータ、Ｌｉｓｔ構造のデータ、Ｍａｐ構造のデータの判別を行う（ステップ９０３）。データの種別が分かれば、続いて解析部３０１は、その画面データ記述部の用語を用いて、画面データのｄａｔａ要素のデフォルトデータを生成する（ステップ９０４）。以上の動作を画面表示プログラム１０１の先頭からＥＯＦ（Ｅｎｄ  Ｏｆ  Ｆｉｌｅ）が検出されるまで繰り返す（ステップ９０５）。これにより画面データファイル１０８の画面データ記述部１５１、１５２，１５３，１５４における表示データ以外の枠組み部分が生成される。
【００７９】
このように、この実施形態では、画面データファイル１０８の作成が半自動化されることで、試験分析環境を効率的に得ることができる。
【００８０】
なお、本発明は、上述の実施形態にのみ限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。たとえば、上記した実施の形態では画面遷移の試験分析を主たる用途として記載したが、試験分析の用途に限られないものである。
【図面の簡単な説明】
【００８１】
【図１】本発明の一実施形態にかかるウェブアプリケーションの画面遷移装置の構成を示すブロック図。
【図２】画面遷移定義ファイルの例を示す図。
【図３】画面表示プログラムの例を示す図。
【図４】画面データファイルの例を示す図。
【図５】図１のウェブアプリケーションの画面遷移装置の動作を示すシーケンス図。
【図６】アプリケーションロジックを用いたウェブアプリケーション実際の運用時のシステムの構成を示す図。
【図７】ツールを用いてユーザに画面遷移条件であるｎａｍｅ属性の値を選択させる機構の構成を示す図。
【図８】図７の機構による画面遷移条件の選択の流れを示す図。
【図９】画面遷移条件の選択ダイアログを示す図。
【図１０】遷移条件定義ファイルの具体例を示す図。
【図１１】本発明の第２の実施形態に係るウェブアプリケーションの画面遷移装置の構成を示すブロック図。
【図１２】図１１の解析部による画面データファイルの自動生成の流れを示すシーケンス図。
【図１３】画面データの枠組みとこの枠組みに表示データを埋め込んだ結果の例を示す図。
【図１４】画面データファイルの画面データ記述部における表示データ以外の枠組み部分を自動生成する手順を示すフローチャート。
【符号の説明】
【００８２】
２１・・・画面遷移情報
２２・・・ｔｒａｎｓｉｔＰｒｏｃｅｓｓｏｒ要素
１００・・・ウェブアプリケーションの画面遷移装置
１０１・・・画面表示プログラム
１０２・・・ブラウザ
１０３・・・画面遷移定義ファイル
１０４・・・リクエスト受付部
１０５・・・フロー制御管理部
１０６・・・実行データ生成部
１０７・・・画面データ格納部
１０８・・・画面データファイル
１０９・・・画面遷移確認フロー制御部
１１０・・・フレームワーク
１１２・・・アプリケーションサーバ
３０１・・・解析部
【図１】
2006048528.tif 000003
【図２】
2006048528.tif 000004
【図３】
2006048528.tif 000005
【図４】
2006048528.tif 000006
【図５】
2006048528.tif 000007
【図６】
2006048528.tif 000008
【図７】
2006048528.tif 000009
【図８】
2006048528.tif 000010
【図９】
2006048528.tif 000011
【図１０】
2006048528.tif 000012
【図１１】
2006048528.tif 000013
【図１２】
2006048528.tif 000014
【図１３】
2006048528.tif 000015
【図１４】
2006048528.tif 000016