(57)【特許請求の範囲】
【請求項１】
コンピュータに、
第１の画面の表示要求を要求元から受信した場合に、前記第１の画面に含まれる各々の項目と、前記各々の項目に係る処理を行う処理プログラムの変数とについて予め定められた対応関係に基づいて、前記各々の項目に関する入力データを前記各々の項目に対応する変数に代入する処理、及び前記処理プログラムの処理による前記変数についての戻り値を画面情報の前記変数に対応する項目に反映させる処理を行う管理プログラムを起動し、
前記第１の画面の画面情報を前記要求元に送信し、
前記要求元から処理要求を受信した場合に、受信した前記処理要求に含まれる前記第１の画面の項目についての入力データが画面遷移指示であるか否かを判定し、
前記入力データが画面遷移指示でないと判定した場合に、前記入力データを前記各々の項目に対応する変数に代入する処理、及び前記処理プログラムの処理による前記変数についての戻り値を画面情報の前記変数に対応する項目に反映させる処理を前記管理プログラムに実行させ、
前記入力データが画面遷移指示であると判定した場合に、画面に含まれる項目に対応付けられた画面遷移指示と遷移先の画面とを関連付けた情報を記憶する記憶部を参照することにより、前記処理要求に含まれる前記第１の画面の項目に対応付けられた画面遷移指示と関連付けられた第２の画面を特定し、
前記管理プログラムと画面とを関連付ける情報を参照することにより、前記管理プログラムと、特定した前記第２の画面とが関連付けられているか否かを判定し、
前記管理プログラムと前記第２の画面とが関連付けられている場合、前記管理プログラムを継続して実行させ、
前記管理プログラムと前記第２の画面とが関連付けられていない場合、前記管理プログラムを終了させ、
前記第２の画面の画面情報を前記要求元に送信する、
ことを実行させることを特徴とする画面情報提供プログラム。
【請求項２】
前記第１の画面が第１の項目および第２の項目を含み、
前記コンピュータに、
前記第１の画面の表示要求を受信した場合、前記第１の項目、および前記第１の項目と前記第１の項目に係る処理を行う第１の処理プログラムの変数とを対応付ける第１の管理プログラムを関連付ける情報、ならびに前記第２の項目、および前記第２の項目と前記第２の項目に係る処理を行う第２の処理プログラムの変数とを対応付ける第２の管理プログラムを関連付ける情報を参照して、前記第１の管理プログラムおよび前記第２の管理プログラムを起動し、
受け付けた前記処理要求が入力データを含む場合、前記第１の画面に含まれる各々の項目に関する入力データを前記各々の項目に対応する変数に代入する処理、及び前記各々の項目に係る処理を行う処理プログラムの処理による前記変数についての戻り値を画面情報の前記変数に対応する項目に反映させる処理を、前記第１の管理プログラムおよび前記第２の管理プログラムのうち、前記処理要求に含まれる入力データの項目と関連付けられた管理プログラムに実行させる、
ことを実行させることを特徴とする請求項１に記載の画面情報提供プログラム。
【請求項３】
コンピュータに、
第１の項目および第２の項目を含む第１の画面の表示要求を要求元から受信した場合に、前記第１の項目、および前記第１の項目と前記第１の項目に係る処理を行う第１の処理プログラムの変数とを対応付ける第１の管理プログラムを関連付ける情報、ならびに前記第２の項目、および前記第２の項目と前記第２の項目に係る処理を行う第２の処理プログラムの変数とを対応付ける第２の管理プログラムを関連付ける情報を参照して、前記第１の管理プログラムおよび前記第２の管理プログラムを起動し、
前記第１の画面の画面情報を前記要求元に送信し、
前記要求元から入力データを含む処理要求を受信した場合に、前記第１の画面に含まれる各々の項目に関する入力データを前記各々の項目に対応する変数に代入する処理、及び前記各々の項目に係る処理を行う処理プログラムの処理による前記変数についての戻り値を画面情報の前記変数に対応する項目に反映させる処理を、前記第１の管理プログラムおよび前記第２の管理プログラムのうち、前記処理要求に含まれる入力データの項目と関連付けられた管理プログラムに実行させる、
ことを実行させることを特徴とする画面情報提供プログラム。
【請求項４】
コンピュータが、
第１の画面の表示要求を要求元から受信した場合に、前記第１の画面に含まれる各々の項目と、前記各々の項目に係る処理を行う処理プログラムの変数とについて予め定められた対応関係に基づいて、前記各々の項目に関する入力データを前記各々の項目に対応する変数に代入する処理、及び前記処理プログラムの処理による前記変数についての戻り値を画面情報の前記変数に対応する項目に反映させる処理を行う管理プログラムを起動し、
前記第１の画面の画面情報を前記要求元に送信し、
前記要求元から処理要求を受信した場合に、受信した前記処理要求に含まれる前記第１の画面の項目についての入力データが画面遷移指示であるか否かを判定し、
前記入力データが画面遷移指示でないと判定した場合に、前記入力データを前記各々の項目に対応する変数に代入する処理、及び前記処理プログラムの処理による前記変数についての戻り値を画面情報の前記変数に対応する項目に反映させる処理を前記管理プログラムに実行させ、
前記入力データが画面遷移指示であると判定した場合に、画面に含まれる項目に対応付けられた画面遷移指示と遷移先の画面とを関連付けた情報を記憶する記憶部を参照することにより、前記処理要求に含まれる前記第１の画面の項目に対応付けられた画面遷移指示と関連付けられた第２の画面を特定し、
前記管理プログラムと画面とを関連付ける情報を参照することにより、前記管理プログラムと、特定した前記第２の画面とが関連付けられているか否かを判定し、
前記管理プログラムと前記第２の画面とが関連付けられている場合、前記管理プログラムを継続して実行させ、
前記管理プログラムと前記第２の画面とが関連付けられていない場合、前記管理プログラムを終了させ、
前記第２の画面の画面情報を前記要求元に送信する、
処理を実行することを特徴とする画面情報提供方法。
【請求項５】
コンピュータが、
第１の項目および第２の項目を含む第１の画面の表示要求を要求元から受信した場合に、前記第１の項目、および前記第１の項目と前記第１の項目に係る処理を行う第１の処理プログラムの変数とを対応付ける第１の管理プログラムを関連付ける情報、ならびに前記第２の項目、および前記第２の項目と前記第２の項目に係る処理を行う第２の処理プログラムの変数とを対応付ける第２の管理プログラムを関連付ける情報を参照して、前記第１の管理プログラムおよび前記第２の管理プログラムを起動し、
前記第１の画面の画面情報を前記要求元に送信し、
前記要求元から入力データを含む処理要求を受信した場合に、前記第１の画面に含まれる各々の項目に関する入力データを前記各々の項目に対応する変数に代入する処理、及び前記各々の項目に係る処理を行う処理プログラムの処理による前記変数についての戻り値を画面情報の前記変数に対応する項目に反映させる処理を、前記第１の管理プログラムおよび前記第２の管理プログラムのうち、前記処理要求に含まれる入力データの項目と関連付けられた管理プログラムに実行させる、
処理を実行することを特徴とする画面情報提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画面に表示させる情報を提供する画面情報提供プログラムおよび画面情報提供方法に関する。また、本発明は、画面の作成を支援する作成支援プログラムおよび作成支援方法に関する。
【背景技術】
【０００２】
近年、インターネット上のＷｅｂサイトは、商品やサービスの売買に関する商取引の用途に使用されている。Ｗｅｂサイトは、例えば、パーソナル・コンピュータ（以下、単に「ＰＣ」という）、スマートフォン、携帯電話等のＷｅｂブラウザにより、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）文書を表示することにより実現される。
【０００３】
ＨＴＭＬ文書は、ＰＣ、スマートフォン、携帯電話から画面の表示要求を受け付けたＷｅｂサーバにより作成される。この際、商品やサービスの内容、Ｗｅｂ画面上での購入者の入力・選択内容によって手続きが異なるため、Ｗｅｂサーバは、動的に画面を構成して消費者側に提供する。動的に画面を構成するということは、動的にＨＴＭＬコンテンツをＷｅｂサーバ側で作成して、クライアントであるＷｅｂブラウザに返却する、ということを指している。
【０００４】
これに関わる技術体系として、例えば、ＣＧＩ（Ｃｏｍｍｏｎ  Ｇａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ）、Ｓｅｒｖｌｅｔ、ＪＳＰ（ＪａｖａＳｅｒｖｅｒ  Ｐａｇｅｓ，Ｊａｖａは登録商標）がある。また、ＪＳＰ等を組み合わせてＷｅｂアプリケーションを作成する際には、Ｓｔｒｕｔｓ、ＪＳＦ（ＪａｖａＳｅｒｖｅｒ  Ｆａｃｅｓ）、Ａｐｃｏｏｒｄｉｎａｔｏｒといったソフトウェアがフレームワークとして利用されている。
【０００５】
これらはＭＶＣ（Ｍｏｄｅｌ  Ｖｉｅｗ  Ｃｏｎｔｒｏｌｌｅｒ）構造といって、Ｗｅｂアプリケーションをモデル、ビュー、コントローラの３つの要素に分け、モデルにビーンを、ビューにＪＳＰを、コントローラにＳｅｒｖｌｅｔを対応付けた構成をとっている。ビーンとは、ＪａｖａＢｅａｎｓを示し、Ｊａｖａで記述された再利用可能なソフトウェアコンポーネントのことを指す。
【０００６】
モデルは、業務処理（例えば、データベースにアクセスして顧客情報を参照する処理等）に関わる記述をされたものである。以降、業務処理に関わる記述を「ビジネスロジック」と称する。すなわち、ビジネスロジックとは、業務処理が記述されたビーンを示す。また、ビューには、画面表示に関わる記述を行う。
【０００７】
関連する先行技術として、例えば、画面ごとにＳｅｒｖｌｅｔ、ＪＳＰ、ビーンを作成するものがある。また、先行技術として、Ｗｅｂアプリケーション資産を出力するＷｅｂアプリケーション開発支援装置に関するものがある。また、先行技術として、セッションスコープで維持する項目に対する処理に関するものがある（例えば、下記特許文献１〜３参照。）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−２３６３７５号公報
【特許文献２】特開２００６−１６３８５５号公報
【特許文献３】特開２００５−７０８３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来技術は、画面単位の粒度で動的に画面を生成する一連のプログラムを記述しているため、新たな画面を作成する場合や画面の構成を変更する場合に、既存のソフトウェア資産を流用することが難しい。例えば、画面遷移など、それぞれの画面に特有の処理を含むプログラムを流用する際には、画面単位の粒度で記述された一連のプログラムに対して、画面特有の処理についての記述の修正を行なっていた。プログラムの修正は、該画面を表示するためのＳｅｒｖｌｅｔ、ＪＳＰ、ビーンの内容を作業者が確認し、修正が必要となる箇所を判断して行なわれる。
【００１０】
本願の１つの側面において、本発明は、動的に画面を生成する処理を、画面特有の処理を記述しないプログラムを用いて実行させる画面情報提供プログラムおよび画面情報提供方法を提供することを目的とする。
【００１１】
また、他の１つの側面では、本発明は、画面作成にかかる作業の効率化を図ることができる作成支援プログラムおよび作成支援方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
１つの態様では、開示の画面情報提供プログラムおよび画面情報提供方法は、第１の画面の表示要求を要求元から受信した場合に、前記第１の画面の画面情報を前記要求元に送信し、さらに、前記第１の画面に含まれる各々の項目と、前記各々の項目に係る処理を行う処理プログラムの変数とについて予め定められた対応関係に基づいて、前記各々の項目に関する入力データを前記各々の項目に対応する変数に代入する処理、及び前記処理プログラムの処理による前記変数についての戻り値を画面情報の前記変数に対応する項目に反映させる処理を行う管理プログラムを起動し、前記要求元から処理要求を受信した場合に、受信した前記処理要求に含まれる前記第１の画面の項目についての入力データが画面遷移指示であるか否かを判定し、前記入力データが画面遷移指示でないと判定した場合に、前記入力データについての処理を前記管理プログラムに実行させ、前記入力データが画面遷移指示であると判定した場合に、画面に含まれる項目に対応付けられた画面遷移指示と遷移先の画面とを関連付けた情報を記憶する記憶部を参照することにより、前記処理要求に含まれる前記第１の画面の項目に対応付けられた画面遷移指示と関連付けられた第２の画面を特定し、特定した前記第２の画面の画面情報を前記要求元に送信する。
【００１３】
また、１つの態様では、開示の作成支援プログラムおよび作成支援方法は、画面に表示可能な複数の項目の中から、前記画面に表示させる項目の選択を受け付け、前記選択を受け付けた前記項目と前記画面とを関連付け、関連付けた関連付け結果を出力する。
【発明の効果】
【００１４】
１態様によれば、画面作成にかかる作業の効率化を図ることができるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】図１は、実施の形態にかかる画面情報提供装置の一実施例を示す説明図である。
【図２】図２は、実施の形態にかかるＷｅｂシステムの一実施例を示すシステム構成図である。
【図３】図３は、コンピュータのハードウェア構成を示すブロック図である。
【図４】図４は、画面１のビーンのデータ構造の一例を示す説明図（その１）である。
【図５】図５は、画面１のビーンのデータ構造の一例を示す説明図（その２）である。
【図６】図６は、画面プログラムの具体例を示す説明図（その１）である。
【図７】図７は、画面２のビーンのデータ構造の一例を示す説明図である。
【図８】図８は、開発環境の作業手順の一例を示す説明図である。
【図９】図９は、作成装置の編集画面の具体例を示す説明図（その１）である。
【図１０】図１０は、作成装置の編集画面の具体例を示す説明図（その２）である。
【図１１】図１１は、画面プログラムの具体例を示す説明図（その２）である。
【図１２】図１２は、画面遷移定義の具体例を示す説明図である。
【図１３】図１３は、要求電文の具体例を示す説明図である。
【図１４】図１４は、Ｗｅｂサーバの機能的構成の一例を示すブロック図である。
【図１５】図１５は、実施の形態にかかるＷｅｂサーバの画面情報提供処理手順の一例を示すフローチャート（その１）である。
【図１６】図１６は、実施の形態にかかるＷｅｂサーバの画面情報提供処理手順の一例を示すフローチャート（その２）である。
【図１７】図１７は、実施の形態にかかるＷｅｂサーバの画面情報提供処理手順の一例を示すフローチャート（その３）である。
【図１８】図１８は、実施の形態にかかるＷｅｂサーバの画面情報提供処理手順の一例を示すフローチャート（その４）である。
【図１９】図１９は、実施の形態にかかるＷｅｂサーバの画面情報提供処理手順の一例を示すフローチャート（その５）である。
【図２０】図２０は、複数の画面に跨ってサービスビーンのオブジェクトを保持する具体例を示す説明図である。
【図２１】図２１は、ＰＣの画面例を示す説明図である。
【図２２】図２２は、ＰＣの画面例に対応する定義情報を示す説明図である。
【図２３】図２３は、携帯電話端末の画面例を示す説明図である。
【図２４】図２４は、携帯電話端末の画面例に対応する定義情報を示す説明図である。
【図２５】図２５は、割引サービスを申し込むための入力領域を追加する前のサービス申込画面を示す説明図である。
【図２６】図２６は、割引サービスを申し込むための入力領域を追加した後のサービス申込画面を示す説明図である。
【図２７】図２７は、割引サービス契約申込機能の設計情報の設定例を示す説明図である。
【図２８】図２８は、割引サービス申込機能のサービス定義を示す説明図である。
【図２９】図２９は、割引サービス申込機能のサービスビーンを示す説明図である。
【図３０】図３０は、割引サービス申込機能のビジネスロジックのスタブを示す説明図である。
【図３１】図３１は、画面定義プログラムにより提供される編集画面の具体例を示す説明図（その１）である。
【図３２】図３２は、画面定義プログラムにより提供される編集画面の具体例を示す説明図（その２）である。
【図３３】図３３は、画面定義プログラムにより提供される編集画面の具体例を示す説明図（その３）である。
【図３４】図３４は、サービス申込画面の画面プログラムの具体例を示す説明図（その１）である。
【図３５】図３５は、サービス申込画面の画面プログラムの具体例を示す説明図（その２）である。
【図３６】図３６は、サービス申込画面の画面遷移定義を示す説明図である。
【図３７】図３７は、アクセスログの一例を示す説明図である。
【発明を実施するための形態】
【００１６】
以下に添付図面を参照して、この発明にかかる画面情報提供プログラム、画面情報提供方法、作成支援プログラムおよび作成支援方法の好適な実施の形態を詳細に説明する。
【００１７】
（画面情報提供装置１０１の一実施例）
図１は、実施の形態にかかる画面情報提供装置の一実施例を示す説明図である。図１において、画面情報提供装置１０１は、クライアント端末１０２に提供する画面の画面情報をクライアント端末１０２に送信するコンピュータである。クライアント端末１０２は、画面情報提供装置１０１から提供される画面の画面情報を表示するコンピュータである。
【００１８】
ここで、画面は、一つ以上の画面項目を含む。画面項目の種類としては、例えば、表示項目と入力項目がある。表示項目は、クライアント端末１０２のユーザに提示する情報を表示する項目である。入力項目は、クライアント端末１０２のユーザが情報（入力データ）を入力するための項目である。
【００１９】
また、画面情報提供装置１０１は、画面遷移定義情報１１０にアクセス可能である。ここで、画面遷移定義情報１１０とは、クライアント端末１０２に提供される複数の画面の画面ごとの定義情報を含むものである。画面の定義情報とは、該画面に含まれる画面項目に対応付けられた画面遷移指示と、該画面の遷移先の画面とを関連付ける情報である。
【００２０】
以下、画面情報提供装置１０１が実行する画面情報提供処理の処理手順の一例について説明する。
【００２１】
（１）画面情報提供装置１０１は、第１の画面の表示要求１０３をクライアント端末１０２から受信する。
【００２２】
（２）画面情報提供装置１０１は、第１の画面の表示要求１０３をクライアント端末１０２から受信した場合、管理プログラム１２０を起動する。ここで、管理プログラム１２０とは、第１の画面に含まれる各々の画面項目の表示データを定義する処理を行うプログラムである。管理プログラム１２０は、第１の画面に含まれる各々の画面項目と、各々の画面項目に係る処理を行う処理プログラム１３０の変数とについて予め定められた対応関係に基づいて、各々の画面項目についての表示データを定義する。具体的には、例えば、管理プログラム１２０では、各々の入力項目に関する入力データを、各々の入力項目に対応する変数に代入し、処理プログラム１３０の処理による変数についての戻り値を変数に対応する入力項目についての表示データと定義する。
【００２３】
（３）画面情報提供装置１０１は、第１の画面の画面情報１０４をクライアント端末１０２に送信する。この結果、クライアント端末１０２の表示画面に第１の画面が表示される。なお、各画面の画面情報は、例えば、画面情報提供装置１０１において、処理プログラム１３０の処理結果に基づいて作成される。
【００２４】
（４）画面情報提供装置１０１は、クライアント端末１０２から処理要求１０５を受信する。処理要求１０５は、例えば、処理プログラム１３０の処理や画面遷移を要求するものである。
【００２５】
（５）画面情報提供装置１０１は、クライアント端末１０２から処理要求１０５を受信した場合、処理要求１０５に含まれる第１の画面の画面項目についての入力データが画面遷移指示であるか否かを判定する。
【００２６】
（６）画面情報提供装置１０１は、該入力データが画面遷移指示でないと判定した場合、該入力データについての処理を管理プログラム１２０に実行させる。この結果、該入力データが該入力データに関する入力項目に対応する変数に代入され、処理プログラム１３０の処理による変数についての戻り値が、該入力データに関する入力項目についての表示データとして定義される。
【００２７】
（７）画面情報提供装置１０１は、該入力データが画面遷移指示であると判定した場合、画面遷移定義情報１１０を参照することにより、処理要求に含まれる第１の画面の画面項目に対応付けられた画面遷移指示と関連付けられた第２の画面を特定する。具体的には、例えば、まず、画面情報提供装置１０１が、画面遷移定義情報１１０の中から第１の画面の定義情報を検索する。そして、画面情報提供装置１０１が、検索した第１の画面の定義情報を参照して、処理要求に含まれる第１の画面の画面項目に対応する画面遷移指示と関連付けられた第２の画面を特定する。また、画面遷移プログラム１１１を実行することで管理プログラムの値（処理プログラムの実行結果）をチェックし、遷移先の第２の画面が画面遷移定義情報から特定したものでよいかどうか検証できる。
【００２８】
（８）画面情報提供装置１０１は、特定した第２の画面の画面情報１０６をクライアント端末１０２に送信する。この結果、クライアント端末１０２の表示画面に第２の画面が表示される。
【００２９】
以上説明した画面情報提供装置１０１によれば、画面遷移に係る画面遷移定義情報１１０を参照することにより、処理要求１０５に含まれる第１の画面の画面項目に対応付けられた画面遷移指示と関連付けられた遷移先の第２の画面を特定することができる。このように、管理プログラム１２０および処理プログラム１３０と分離して画面遷移定義情報１１０を管理することにより、管理プログラム１２０や処理プログラム１３０を他の画面にそのまま流用可能となり、画面作成にかかる作業の効率化を図ることができる。
【００３０】
（Ｗｅｂシステム２００のシステム構成）
次に、実施の形態にかかる画面情報提供装置１０１をＷｅｂシステム２００のＷｅｂサーバ（以下、「Ｗｅｂサーバ１０１」と表記する）に適用した場合について説明する。
【００３１】
図２は、実施の形態にかかるＷｅｂシステムの一実施例を示すシステム構成図である。図２において、Ｗｅｂシステム２００は、Ｗｅｂサーバ１０１とクライアント端末１０１とを含む構成である。Ｗｅｂシステム２００において、Ｗｅｂサーバ１０１とクライアント端末１０２とは、インターネット、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などのネットワーク２４０を介して相互に通信可能に接続されている。
【００３２】
Ｗｅｂサーバ１０１は、クライアント端末１０２のＷｅｂブラウザ２０１からの要求電文Ｒｑ（ＨＴＭＬ電文）に応じて、ＨＴＭＬ文書を含む応答電文Ｒｓ（ＨＴＭＬ電文）を動的に生成して送信する。クライアント端末１０２は、Ｗｅｂブラウザ２０１を備え、Ｗｅｂサーバ１０１と通信する。クライアント端末１０２は、例えば、ＰＣ、スマートフォン、携帯電話などである。
【００３３】
ここで、Ｗｅｂシステム２００は、開発環境２２０と実行環境２３０とに区分けされている。開発環境２２０は、サービス定義プログラム２０２と画面定義プログラム２０３とを含む。サービス定義プログラム２０２は、サービスビーン２０４とビジネスロジック２０５のスタブ（雛形）とサービス定義２０６とを出力するプログラムである。
【００３４】
サービスビーン２０４は、クライアント端末１０２に提供されるサービス単位のプログラムである。サービスとは、クライアント端末１０２に提供される情報処理である。サービスとしては、例えば、契約者の住所、氏名等の顧客情報を提示したり、契約者が契約している基本的なサービスの契約情報を提示したり、契約者が契約しているオプション的なサービスの契約情報を提示するものがある。サービスビーン２０４は、図１に示した管理プログラム１２０に相当する。
【００３５】
ビジネスロジック２０５は、クライアント端末１０２に提供される各サービスの業務処理に関わる記述がされたプログラムである。ビジネスロジック２０５としては、例えば、契約者の住所、氏名等の顧客情報を記憶する顧客マスタから、該当する契約者の顧客情報を検索するものがある。ビジネスロジック２０５は、図１に示した処理プログラム１３０に相当する。サービス定義２０６は、クライアント端末１０２に提供されるサービスおよび各サービスで扱う情報項目の一覧を示す情報である。
【００３６】
画面定義プログラム２０３は、画面遷移ロジック２０７およびサービス定義２０６を参照して、画面遷移定義２０８と画面プログラム２０９とを出力するプログラムである。画面遷移ロジック２０７は、ビジネスロジック２０５の処理結果に基づいて、遷移先の画面を判定するためのプログラムであり、図１に示した画面遷移プログラム１１１に相当する。画面遷移定義２０８は、画面遷移の制御に関する定義情報が記述されたものである。画面遷移定義２０８は、図１に示した画面遷移定義情報１１０に相当する。画面プログラム２０９は、画面を動的に構成するためのプログラム（例えば、ＪＳＰ）である。
【００３７】
開発環境２２０は、例えば、Ｗｅｂシステム２００の開発者（例えば、図８に示す業務設計者８０１、画面デザイナ８０２、ビジネスロジックプログラマ８０３等）が使用するコンピュータにより実現される。なお、サービス定義プログラム２０２によってビジネスロジック２０５のスタブが出力されるが、その後行われる業務処理の内容に依存する実装ならびに画面遷移ロジック２０７の実装は、一般的な開発環境やテキストエディタを使用する。
【００３８】
実行環境２３０は、Ｗｅｂサーバ１０１とクライアント端末１０２とにより実現される。Ｗｅｂサーバ１０１は、画面ビーン２１０を有する。画面ビーン２１０は、クライアント端末１０２のＷｅｂブラウザ２０１に提供する画面の画面表示にかかるプログラムである。Ｗｅｂサーバ１０１は、画面ビーン２１０を実行することにより、Ｗｅｂブラウザ２０１からの要求電文Ｒｑを処理する。
【００３９】
具体的には、例えば、Ｗｅｂサーバ１０１が、開発環境２２０から配備されたサービスビーン２０４、完成したビジネスロジック２０５、画面遷移ロジック２０７、画面遷移定義２０８および画面プログラム２０９を参照して、要求電文Ｒｑを処理する。そして、Ｗｅｂサーバ１０１が、要求電文Ｒｑの処理結果として応答電文Ｒｓを作成し、Ｗｅｂブラウザ２０１に返却する。この結果、Ｗｅｂブラウザ２０１において、Ｗｅｂサーバ１０１からの応答電文Ｒｓをもとに画面表示が更新される。
【００４０】
図２において、サービスビーン２０４、ビジネスロジック２０５、画面遷移ロジック２０７、画面プログラム２０９、画面ビーン２１０の数の関係は『サービスビーン：ビジネスロジック：画面遷移ロジック：画面プログラム：画面ビーン＝ｎ：ｎ：１：１：１』である。これは、１回の要求電文Ｒｑの受信時に実行される数の関係を示している。
【００４１】
（コンピュータのハードウェア構成）
次に、Ｗｅｂシステム２００内のＷｅｂサーバ１０１、クライアント端末１０２等のコンピュータのハードウェア構成について説明する。
【００４２】
図３は、コンピュータのハードウェア構成を示すブロック図である。図３において、コンピュータは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１と、ＲＯＭ（Ｒｅａｄ‐Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０３と、磁気ディスクドライブ３０４と、磁気ディスク３０５と、光ディスクドライブ３０６と、光ディスク３０７と、Ｉ／Ｆ（Ｉｎｔｅｒｆａｃｅ）３０８と、ディスプレイ３０９と、キーボード３１０と、マウス３１１と、を備えている。また、各構成部はバス３００によってそれぞれ接続されている。
【００４３】
ここで、ＣＰＵ３０１は、コンピュータの全体の制御を司る。ＲＯＭ３０２は、ブートプログラムなどのプログラムを記憶している。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される。磁気ディスクドライブ３０４は、ＣＰＵ３０１の制御にしたがって磁気ディスク３０５に対するデータのリード／ライトを制御する。磁気ディスク３０５は、磁気ディスクドライブ３０４の制御で書き込まれたデータを記憶する。
【００４４】
光ディスクドライブ３０６は、ＣＰＵ３０１の制御にしたがって光ディスク３０７に対するデータのリード／ライトを制御する。光ディスク３０７は、光ディスクドライブ３０６の制御で書き込まれたデータを記憶したり、光ディスク３０７に記憶されたデータをコンピュータに読み取らせたりする。
【００４５】
Ｉ／Ｆ３０８は、通信回線を通じてＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワーク２４０に接続され、このネットワーク２４０を介して他のコンピュータに接続される。そして、Ｉ／Ｆ３０８は、ネットワーク２４０と内部のインタフェースを司り、外部のコンピュータからのデータの入出力を制御する。Ｉ／Ｆ３０８には、例えば、モデムやＬＡＮアダプタなどを採用することができる。
【００４６】
ディスプレイ３０９は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイ３０９は、例えば、ＣＲＴ、ＴＦＴ液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【００４７】
キーボード３１０は、文字、数字、各種指示などの入力のためのキーを備え、データの入力を行う。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウス３１１は、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などを行う。ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
【００４８】
（ビーン４００のデータ構造）
次に、図２に示したサービスビーン２０４、ビジネスロジック２０５および画面ビーン２１０（ここでは、総称して「ビーン４００」という）のデータ構造について説明する。
【００４９】
図４は、画面１のビーンのデータ構造の一例を示す説明図（その１）である。図４において、画面１は、クライアント端末１０２のＷｅｂブラウザ２０１に提供される画面の一例である。画面１は、３つのサービスＡ，Ｂ，Ｃを扱う画面である。画面プログラム４０１は、図２に示した画面プログラム２０９の一例であり、画面１を構成するためのプログラムである。
【００５０】
ビーン４００は、画面１の画面表示にかかるプログラムである。具体的には、ビーン４００は、インタフェースプログラム４１０とビジネスロジックＡ，Ｂ，Ｃとに分割されている。インタフェースプログラム４１０は、画面プログラム４０１とビジネスロジックＡ，Ｂ，Ｃとの間のインタフェースの役割を果たすプログラムである。
【００５１】
インタフェースプログラム４１０は、画面ビーン２１０と、サービスＡ，Ｂ，ＣごとのサービスビーンＡ，Ｂ，Ｃとの２階層に分かれた構造となっている。ビジネスロジックＡ，Ｂ，Ｃは、図２に示したビジネスロジック２０５の一例であり、各サービスＡ，Ｂ，Ｃの業務処理に関わる記述がされたプログラムである。
【００５２】
画面ビーン２１０は、Ｗｅｂブラウザ２０１に提供される全画面に共通した情報を保持するプログラムである。サービスビーンＡ，Ｂ，Ｃは、図２に示したサービスビーン２０４の一例であり、サービスＡ，Ｂ，Ｃ単位のプログラムである。
【００５３】
すなわち、ビーン４００は、画面ビーン２１０を親、サービスビーン２０４を子として配列にオブジェクトを格納し、画面ごとに、１つの画面ビーン２１０、複数（１以上）のサービスビーン２０４およびビジネスロジック２０５が対応する階層構造を有している。
【００５４】
このように、本実施の形態では、インタフェースプログラム４１０を、画面ビーン２１０とサービスビーン２０４とに分割し、サービスビーン２０４とビジネスロジック２０５とをセットで部品化する。これにより、プログラム外の定義（例えば、画面遷移定義２０８）によって、画面とサービスビーン２０４およびビジネスロジック２０５との関連付けを柔軟に変更でき、動的にビーン４００のオブジェクトを構成することができる。
【００５５】
また、画面ビーン２１０に画面の識別子や画面に配置されたボタンの識別子を保持し、全画面で汎用することにより、画面遷移の処理を個々のビジネスロジック２０５から独立させることができる。さらに、画面ビーン２１０には、動作パラメータといったシステム共通情報を保持することもできる。
【００５６】
以下、図５を用いて、ビーン４００のデータ構造をより詳細に説明する。
【００５７】
図５は、画面１のビーンのデータ構造の一例を示す説明図（その２）である。図５において、画面ビーン２１０は、画面ＩＤの属性およびｇｅｔｔｅｒ（取得）／ｓｅｔｔｅｒ（置換）メソッドを持つ。画面ＩＤは、クライアント端末１０２のＷｅｂブラウザ２０１に提供される画面の識別子である。
【００５８】
また、画面ビーン２１０は、ボタンＩＤの属性およびｇｅｔｔｅｒ／ｓｅｔｔｅｒメソッドを含む。ボタンＩＤは、画面上に表示されるボタン（例えば、図４に示した画面１上のボタンａ、ボタンｂ）の識別子である。ボタンは、画面上に表示される画面項目の一例であり、例えば、クライアント端末１０２のユーザにより、画面遷移を指示する際に選択される。
【００５９】
また、画面ビーン２１０は、画面（例えば、画面１）に対応するサービスビーン２０４の属性およびａｄｄ（追加）／ｒｅｍｏｖｅ（削除）／ｇｅｔｔｅｒ／ｓｅｔｔｅｒメソッドを含む。また、画面ビーン２１０は、システム共通情報の属性およびａｄｄ／ｒｅｍｏｖｅ／ｇｅｔｔｅｒ／ｓｅｔｔｅｒメソッドを含む。
【００６０】
なお、上述した各種メソッドは、各情報項目のオブジェクトを追加／削除／置換／取得するメソッドである。また、属性「Ｓｔｒｉｎｇ」は文字列の型、属性「ＡｒｒａｙＬｉｓｔ」は配列の型、属性「Ｌｏｎｇ」は数字の型、属性「Ｂｏｏｌｅａｎ」は真偽値を表している。
【００６１】
ここで、サービスビーン２０４は、各サービスで使用する情報項目のｇｅｔｔｅｒ／ｓｅｔｔｅｒメソッドを含む。例えば、サービスビーンＡは、サービスＡで使用する項目ａ、項目ｂのｇｅｔｔｅｒ／ｓｅｔｔｅｒメソッドを含む。画面ビーン２１０とサービスビーン２０４のオブジェクトは、「１：複数（図５では「３」）」に対応する。
【００６２】
Ｗｅｂサーバ１０１は、画面遷移定義２０８に設定された画面ＩＤとサービスビーン２０４の関連付けに従って、画面で使用するサービスビーン２０４のオブジェクトを定義順にＡｒｒａｙＬｉｓｔに格納する。例えば、Ｗｅｂサーバ１０１は、画面１の表示要求を受け付けた後、次画面の表示要求を受け付けるまで、画面１で使用するサービスビーンＡ〜Ｃのオブジェクトを定義順にＡｒｒａｙＬｉｓｔに格納する。
【００６３】
ビジネスロジック２０５とサービスビーン２０４のオブジェクトは、「１：１」に対応する。Ｗｅｂサーバ１０１は、画面遷移定義２０８に設定された画面ＩＤと、サービスビーン２０４およびビジネスロジック２０５の組合せとの関連付けに従って、各画面の初期処理、遷移処理の各タイミングで、定義順にビジネスロジック２０５を呼び出す。
【００６４】
この結果、ビジネスロジック２０５に対応するサービスビーン２０４のオブジェクトが引数で渡される。ビジネスロジック２０５では、サービスビーン２０４のｇｅｔｔｅｒメソッドを使って値を取り出し、業務処理を行い、その処理結果をサービスビーン２０４のｓｅｔｔｅｒメソッドを使用して格納する。
【００６５】
なお、初期処理とは、Ｗｅｂサーバ１０１において、画面の表示要求の受付時に、サービスビーン２０４のオブジェクトが存在しない場合に実行される処理である。遷移処理とは、Ｗｅｂサーバ１０１において、ある画面から次画面への遷移要求の受付時に実行される処理である。ビジネスロジック２０５では、画面ビーン２１０のシステム共通情報も操作可能である。
【００６６】
画面プログラム２０９と画面ビーン２１０とサービスビーン２０４は、「１：１：複数（図５では「３」）」に対応する。画面プログラム２０９は、画面ビーン２１０や各画面に対応するサービスビーン２０４のメソッドを使用する。具体的には、例えば、画面プログラム２０９は、ＪＳＰの形態で、画面遷移定義２０８と整合性を持って、画面ビーン２１０やサービスビーン２０４のメソッドをプログラムに展開する。ここで、画面プログラム２０９の具体例について説明する。
【００６７】
図６は、画面プログラムの具体例を示す説明図（その１）である。図６において、画面プログラム６００は、画面１の画面項目の配置構成に応じて、画面ビーン２１０やサービスビーンＡ，Ｂ，Ｃのメソッドを使用する画面プログラム２０９である。なお、図面では、画面プログラム６００の一部を抜粋して表示している。
【００６８】
ここでは、サービスビーンＡ，Ｂ，Ｃが「Ａ→Ｂ→Ｃ」の順に配列されている。すなわち、サービスビーンＡが配列の１番目（インデックス：０）、サービスビーンＢが配列の２番目（インデックス：１）、サービスビーンＣが配列の３番目（インデックス：２）となっている。
【００６９】
例えば、画面プログラム６００の記述６０１は、配列の１番目のサービスビーンＡの項目ａの値を取得するためのものである。記述６０２は、配列の２番目のサービスビーンＢの項目ｃの値を取得するためのものである。記述６０３は、配列の３番目のサービスビーンＣの項目ｆの値を取得するためのものである。
【００７０】
上述したビーン４００のデータ構造によれば、画面の構成変更を柔軟に行うことができる。具体的には、画面単位の粒度で各種プログラムを構成するのではなく、サービス単位の粒度で各種プログラムを構成することで、柔軟に画面の構成を変更できるようになる。
【００７１】
例えば、図４に示した画面１のサービスＡ，Ｂ，ＣのうちサービスＣだけを別画面として新規に作成する場合、サービスＣのサービスビーンＣおよびビジネスロジックＣを別画面に流用することができる。また、画面１に新たなサービスＤを追加する場合、サービスＤのサービスビーンＤおよびビジネスロジックＤのみを作成し、画面遷移定義２０８および画面プログラム２０９を修正すればよい。
【００７２】
ここで、一例として、画面１のサービスＡ，Ｂ，ＣのうちサービスＣだけを別画面として新規に作成する場合について説明する。
【００７３】
図７は、画面２のビーンのデータ構造の一例を示す説明図である。図７において、画面２は、クライアント端末１０２のＷｅｂブラウザ２０１に提供される画面の一例である。画面２は、サービスＣを扱う画面である。画面プログラム７０１は、図２に示した画面プログラム２０９の一例であり、画面２を動的に構成するためのプログラムである。
【００７４】
ここで、画面ビーン２１０、サービスビーンＣおよびビジネスロジックＣは、画面１を表示するために既に作成済みのプログラムである。すなわち、画面２を提供するために、サービスビーンＣおよびビジネスロジックＣの作成や修正は不要であり、画面遷移定義２０８の修正や画面プログラム７０１の作成を行うだけで対応することができる。
【００７５】
（開発環境２２０の作業手順）
次に、実施の形態にかかる開発環境２２０の作業手順について説明する。
【００７６】
図８は、開発環境の作業手順の一例を示す説明図である。図８において、業務設計者８０１は、サービス定義プログラム２０２により、サービス定義２０６とサービスビーン２０４を作成する。具体的には、例えば、業務設計者８０１は、業務画面やビジネスロジック２０５を実装する前段階で、業務要件定義と機能設計によって、どのような業務を実現したいかを決める。
【００７７】
そして、業務設計者８０１は、入出力情報項目が確定した段階で、サービス定義２０６とサービスビーン２０４を作成する。サービス定義２０６は、画面定義プログラム２０３で特定のサービスを実装した画面を作成する際に、利用候補となる情報項目を取得するための定義である。
【００７８】
この結果、サービス定義プログラム２０２により、サービス定義２０６とサービスビーン２０４が出力される。また、サービス定義プログラム２０２により、サービスビーン２０４とのインタフェースが確定した状態で作成されたビジネスロジック２０５のスタブが出力される。
【００７９】
このあと、画面デザイナ８０２は、作成装置８１０において、画面定義プログラム２０３により、画面遷移定義２０８と画面プログラム２０９を作成する。作成装置８１０は、画面遷移定義２０８と画面プログラム２０９を作成するコンピュータである。作成装置８１０のハードウェア構成は、例えば、図３に示した構成部３０１〜３１１により実現される。
【００８０】
具体的には、例えば、画面デザイナ８０２は、サービス定義２０６を入力し、画面定義プログラム２０３によりＨＴＭＬを編集しながら、画面ＩＤの指定、個々の画面上に表示される画面項目とサービス定義２０６の情報項目との関連付けを指定する。
【００８１】
また、画面デザイナ８０２は、個々の画面上に表示されるボタンのボタンＩＤとイベントＩＤと遷移先画面ＩＤとの関連付けを指定する。ボタンＩＤは、画面上に表示されるボタンの識別子である。イベントＩＤとは、関連付けられたボタンが選択された際に発生するイベントの識別子である。また、遷移先画面ＩＤは、関連付けられたボタンが表示されている画面の遷移先の画面の識別子である。この結果、画面定義プログラム２０３により、画面プログラム２０９と画面遷移定義２０８が出力される。
【００８２】
一方、ビジネスロジックプログラマ８０３は、サービス定義プログラム２０２により作成されたビジネスロジック２０５のスタブに対して、一般的な開発環境やテキストエディタを使用して、業務処理内容に依存する実装を行い、ビジネスロジック２０５を完成させる。また、ビジネスロジックプログラマ８０３は、一般的な開発環境やテキストエディタを使用して、画面遷移ロジック２０７を作成する。
【００８３】
このように、本実施の形態にかかる開発環境２２０によれば、画面デザイナ８０２とビジネスロジックプログラマ８０３との作業依存がないため、役割の異なる担当者が並行して作業を進めることができる。
【００８４】
（作成装置８１０の編集画面の具体例）
次に、図８に示した画面デザイナ８０２が使用する作成装置８１０のディスプレイ３０９に表示される編集画面の具体例について説明する。
【００８５】
図９は、作成装置の編集画面の具体例を示す説明図（その１）である。図９において、編集画面９０１〜９０３は、Ｗｅｂブラウザ２０１に提供される画面上の表示項目および入力項目に対して、サービスと情報項目とを関連付けるための画面である。表示項目は、ビジネスロジック２０５の処理結果をクライアント端末１０２のユーザに見せるための画面上の項目である。入力項目は、クライアント端末１０２のユーザが画面上で設定した文字列や選択した結果をビジネスロジック２０５に渡すための項目である。
【００８６】
以下、作成装置８１０において、画面上の表示項目および入力項目に対して、サービスと情報項目とを関連付ける手順例（９−１）〜（９−４）について説明する。
【００８７】
（９−１）作成装置８１０は、画面デザイナ８０２の操作入力により、Ｗｅｂブラウザ２０１に提供する画面上に表示する表示項目および入力項目を作成する。この結果、編集画面９０１において、入力項目ａ、表示項目ｂおよび表示項目ｃが表示されている。
【００８８】
（９−２）作成装置８１０は、画面デザイナ８０２の操作入力により、編集画面９０１に表示された入力項目ａ、表示項目ｂおよび表示項目ｃの中から、任意の入力項目または表示項目の選択を受け付ける。ここでは、入力項目ａが選択された結果、編集画面９０２において、クライアント端末１０２に提供されるサービスの一覧表９１０が表示されている。
【００８９】
なお、編集画面９０２に一覧表示される各サービス（例えば、サービスＡ）は、サービスビーン２０４とビジネスロジック２０５との組合せ（例えば、図４に示したサービスビーンＡとビジネスロジックＡとの組合せ）を示している。また、編集画面９０２に一覧表示される各サービスは、サービス定義２０６に含まれている。
【００９０】
（９−３）作成装置８１０は、画面デザイナ８０２の操作入力により、編集画面９０２に表示されたサービスの一覧表９１０の中から、入力項目ａと関連付けるサービスの選択を受け付ける。ここでは、サービスＡが選択された結果、編集画面９０３において、サービスＡで扱う情報項目（サービスビーンＡの情報項目）の一覧表９２０が表示されている。
【００９１】
（９−４）作成装置８１０は、画面デザイナ８０２の操作入力により、編集画面９０３に表示された情報項目の一覧表９２０の中から、サービスＡと関連付ける情報項目の選択を受け付ける。
【００９２】
この結果、作成装置８１０は、上記（９−２）において選択された任意の入力項目または表示項目と、上記（９−３）において選択されたサービスと、上記（９−４）において選択された情報項目とを関連付けて出力する。ここでは、上記（９−４）において項目ａが選択された結果、入力項目ａとサービスＡと項目ａとが関連付けられて出力される。
【００９３】
このように、作成装置８１０によれば、画面上に表示される各々の表示項目や入力項目と、サービス２０４と、サービスビーン２０４の情報項目（変数）と、ビジネスロジック２０５とを関連付けることができる。この関連付け結果は、画面遷移定義２０８および画面プログラム２０９の作成に利用される。
【００９４】
また、作成装置８１０は、上記（９−２）において入力項目（ボタン）の選択を受け付けた後、画面デザイナ８０２の操作入力により、画面の遷移先となる他の画面の選択を受け付けることにしてもよい。そして、作成装置８１０は、選択された入力項目（ボタン）と、選択された画面の遷移先となる他の画面とを関連付けて出力することにしてもよい。この関連付け結果は、画面遷移定義２０８の作成に利用される。
【００９５】
なお、上述した説明では、上記（９−１）において、画面上に表示する表示項目および入力項目を作成した後、上記（９−２）〜（９−４）の手順を行うことにしたが、これに限らない。以下、図１０を用いて、作成装置８１０において、画面上の表示項目および入力項目に対して、サービスと情報項目とを関連付ける他の手順例（１０−１）〜（１０−４）について説明する。
【００９６】
図１０は、作成装置の編集画面の具体例を示す説明図（その２）である。図１０において、編集画面１００１〜１００３は、Ｗｅｂブラウザ２０１に提供される画面上の表示項目および入力項目に対して、サービスと情報項目とを関連付けるための画面である。
【００９７】
（１０−１）作成装置８１０は、Ｗｅｂブラウザ２０１に提供する画面上に表示する表示項目および入力項目と、サービスと、項目との関連付けを表す一覧表１０１０を表示する。
【００９８】
（１０−２）作成装置８１０は、画面デザイナ８０２の操作入力により、一覧表１０１０の中から、任意の入力項目または表示項目の選択を受け付ける。ここでは、入力項目ａが選択された結果、編集画面１００２において、クライアント端末１０２に提供される複数のサービスの一覧表１０２０が表示されている。
【００９９】
（１０−３）作成装置８１０は、画面デザイナ８０２の操作入力により、編集画面１００２に表示されたサービスの一覧表１０２０の中から、入力項目ａと関連付けるサービスの選択を受け付ける。ここでは、サービスＡが選択された結果、編集画面１００３において、サービスＡで扱う情報項目（サービスビーンＡの情報項目）の一覧表１０３０が表示されている。
【０１００】
（１０−４）作成装置８１０は、画面デザイナ８０２の操作入力により、編集画面１００３に表示された情報項目の一覧表１０３０の中から、サービスＡと関連付ける情報項目の選択を受け付ける。ここでは、項目ａが選択された結果、入力項目ａとサービスＡと項目ａとが関連付けられて出力される。
【０１０１】
このように、一覧表１０１０を提示して、予め作成された表示項目や入力項目のうちの必要となるものに対して、サービスと項目の関連付けを行うことにより、画面デザインを先に完成させてから、サービスと項目の関連付けをまとめて行うこともできる。
【０１０２】
（画面プログラム２０９の具体例）
ここで、作成装置８１０において、画面上の表示項目や入力項目と、サービスと、サービスビーン２０４の情報項目と、ビジネスロジック２０５との関連付けが行われた結果、出力される画面プログラム２０９の具体例について説明する。
【０１０３】
図１１は、画面プログラムの具体例を示す説明図（その２）である。図１１において、画面プログラム１１００は、画面の表示項目や入力項目の配置構成に応じて、画面ビーン２１０やサービスビーン２０４のメソッドを使用する画面プログラム２０９である。
【０１０４】
画面プログラム１１００において、網掛け部分１１１０は、サービスビーン２０４の値を動的に表示するための記述である。具体的には、網掛け部分１１１０は、画面で扱う３つ目のサービスビーン２０４が保持する情報項目（この例では、ＡｒｒａｙＬｉｓｔの先頭に格納された値）を、サービスビーン２０４が持つｇｅｔｔｅｒメソッドを使って自動生成するプログラム部位である。
【０１０５】
画面プログラム１１００によれば、Ｗｅｂサーバ１０１からＷｅｂブラウザ２０１への応答時には、サービスビーン２０４が保持する値が動的に応答電文Ｒｓに反映される。また、Ｗｅｂブラウザ２０１からＷｅｂサーバ１０１への要求時には、要求電文Ｒｑに設定された値がサービスビーン２０４に格納される。
【０１０６】
このように、画面プログラム１１００によれば、画面ビーン２１０の配下にあるサービスビーン２０４へアクセスすることができる。これにより、画面デザイナ８０２は、画面ビーン２１０やサービスビーン２０４の構造を理解してプログラムロジックを作成する必要がなく、画面デザインに専念することができる。また、サービスビーン２０４が持つ情報項目と関連付ける表示項目や入力項目は、画面上の任意の場所に配置することができるため、フレーム分割のような画面レイアウトにおける制約がない。
【０１０７】
（画面遷移定義２０８の具体例）
次に、作成装置８１０において、画面上の表示項目や入力項目と、サービスと、サービスビーン２０４の情報項目と、ビジネスロジック２０５と、遷移先の画面との関連付けが行われた結果、出力される画面遷移定義２０８の具体例について説明する。以下説明のため、Ｗｅｂブラウザ２０１に提供される任意の画面を「画面Ｓｉ」と表記する。
【０１０８】
図１２は、画面遷移定義の具体例を示す説明図である。図１２において、画面遷移定義２０８は、Ｗｅｂブラウザ２０１に提供される画面Ｓｉごとの定義情報（例えば、定義情報１２１０，１２２０）を含む。
【０１０９】
ここで、定義情報は、画面Ｓｉと、画面プログラム２０９と、サービスビーン２０４と、ビジネスロジック２０５との対応関係を示す情報である。具体的には、例えば、定義情報には、画面Ｓｉの画面ＩＤと、画面プログラム２０９のファイル名と、サービスビーン２０４のサービスビーンＩＤと、ビジネスロジック２０５のビジネスロジックＩＤとが対応付けて記述されている。
【０１１０】
また、定義情報は、画面Ｓｉと、遷移先の次画面（以下、「次画面Ｓｊ」という）との対応関係を示す情報である。具体的には、例えば、定義情報には、画面Ｓｉの画面ＩＤと、ボタンのボタンＩＤと、画面遷移ロジック２０７の画面遷移ロジックＩＤと、次画面Ｓｊの画面ＩＤとが対応付けて記述されている。ボタンは、画面Ｓｉ上に表示される入力項目の一例である。
【０１１１】
また、定義情報において、サービスビーン２０４の定義順は、画面ビーン２１０のＡｒｒａｙＬｉｓｔに格納される順番を表している。サービスビーン２０４の定義順は、例えば、図９に示した（９−３）において、サービスの一覧表９１０の中から選択されたサービスの順番に従ったものとなる。
【０１１２】
定義情報１２１０を例に挙げると、画面Ｓｉの画面ＩＤ「画面１」と、画面プログラム２０９のファイル名「ＰＧ００１．ｊｓｐ」とが対応付けて記述されている。また、定義情報１２１０には、画面Ｓｉの画面ＩＤ「画面１」と、サービスビーン２０４のサービスビーンＩＤ「サービスＡ」と、ビジネスロジック２０５のビジネスロジックＩＤ「サービスＡロジック」とが対応付けて記述されている。また、定義情報１２１０には、画面ＩＤ「画面１」と、サービスビーン２０４のサービスビーンＩＤ「サービスＢ」と、ビジネスロジック２０５のビジネスロジックＩＤ「サービスＢロジック」とが対応付けて記述されている。
【０１１３】
また、定義情報１２１０には、画面Ｓｉの画面ＩＤ「画面１」と、ボタンのボタンＩＤ「次へ」と、イベントＩＤ「ＮＥＸＴ＿ＰＡＧＥ＿ＥＶＥＮＴ」と次画面Ｓｊの画面ＩＤ「画面２」とが対応付けて記述されている。なお、このイベントＩＤは、画面Ｓｉ上においてボタン「次へ」が選択された際に発生するイベントの識別子である。
【０１１４】
定義情報１２１０によれば、画面１に対応するサービスビーン２０４およびビジネスロジック２０５を特定することができる。また、定義情報１２１０によれば、画面ビーン２１０のＡｒｒａｙＬｉｓｔに格納されるサービスビーン２０４の格納順を特定することができる。また、定義情報１２１０によれば、画面１の遷移先の画面２、および画面１から画面２への遷移条件を特定することができる。
【０１１５】
定義情報１２２０を例に挙げると、画面Ｓｉの画面ＩＤ「画面２」と、画面プログラム２０９のファイル名「ＰＧ００２．ｊｓｐ」とが対応付けて記述されている。また、画面Ｓｉの画面ＩＤ「画面２」と、サービスビーン２０４のサービスビーンＩＤ「サービスＡ」と、ビジネスロジック２０５のビジネスロジックＩＤ「サービスＡロジック」とが対応付けて記述されている。また、画面ＩＤ「画面２」と、サービスビーン２０４のサービスビーンＩＤ「サービスＣ」と、ビジネスロジック２０５のビジネスロジックＩＤ「サービスＣロジック」とが対応付けて記述されている。
【０１１６】
また、定義情報１２２０には、画面Ｓｉの画面ＩＤ「画面２」と、ボタンのボタンＩＤ「次へ」と、画面遷移ロジック２０７の画面遷移ロジックＩＤ「エラー画面への振り分けチェックロジック」とが対応付けて記述されている。さらに、定義情報１２２０には、イベントＩＤ「ＮＥＸＴ＿ＰＡＧＥ＿ＥＶＥＮＴ」と対応付けて、次画面Ｓｊの画面ＩＤ「画面３」が記述されている。同様に、イベントＩＤ「ＥＲＲＯＲ＿ＰＡＧＥ＿ＥＶＥＮＴ」と対応付けて、次画面Ｓｊの画面ＩＤ「エラー画面」が記述されている。なお、このイベントＩＤは、画面遷移ロジック「エラー画面への振り分けチェックロジック」を実行した結果、発生するイベントの識別子である。
【０１１７】
定義情報１２２０によれば、画面２に対応するサービスビーン２０４およびビジネスロジック２０５を特定することができる。また、定義情報１２２０によれば、画面２の遷移先の画面（画面３またはエラー画面）、および画面２から遷移先の画面（画面３またはエラー画面）への遷移条件を特定することができる。
【０１１８】
画面遷移定義２０８は、Ｗｅｂサーバ１０１により、Ｗｅｂブラウザ２０１から初期画面の要求および画面遷移が発生した際に参照され、サービスビーン２０４のオブジェクトが動的に生成され、画面ビーン２１０の子オブジェクトが定義順に配列に格納される。
【０１１９】
（要求電文Ｒｑの具体例）
次に、クライアント端末１０２のＷｅｂブラウザ２０１からＷｅｂサーバ１０１に送信される要求電文Ｒｑの具体例について説明する。
【０１２０】
図１３は、要求電文の具体例を示す説明図である。図１３において、要求電文Ｒｑは、ＨＴＴＰプロトコルに従って記述された電文である。要求電文Ｒｑは、ヘッダ部１３１０とボディ部１３２０とを含む。ヘッダ部１３１０には、Ｗｅｂサーバ１０１とクライアント端末１０２のＷｅｂブラウザ２０１との間の通信プロトコルであるＨＴＴＰプロトコルの規約に則った情報が記述されている。
【０１２１】
ボディ部１３２０には、クライアント端末１０２のユーザにより画面Ｓｉに設定された値や選択されたボタンのボタンＩＤ等がリクエストパラメータとして格納されている。リクエストパラメータは、パラメータ名称（例えば、ＳＣＲＥＥＮ００００１−０１／ｗｓｖ＿ｋｅｉｙａｋｕ＿ｌｉｓｔ／０／ｓｅｌｅｃｔ等）とパラメータ値（例えば、ｔｒｕｅ等）を、イコール記号（＝）でつないだものである。複数のパラメータが存在する場合は、リクエストパラメータをアンド記号（＆）でつなぐ。
【０１２２】
初回の要求電文Ｒｑには、表示要求する画面Ｓｉの画面ＩＤ（例えば、Ｓｃｒｅｅｎ  ｉｄ＝“画面１”）が含まれる。また、図１３に示した例は、２回目以降の要求電文Ｒｑのため、ヘッダ部１３１０の「Ｃｏｏｋｉｅ」にセッションＩＤ「６００ＪＩＤＢ３６８…Ｑ６Ａ」が格納されている。セッションＩＤは、Ｗｅｂサーバ１０１が応答電文Ｒｓのクッキーに格納してクライアント端末１０２に送る文字列であり、応答電文Ｒｓを発行したクライアント端末１０２を識別するためのものである。
【０１２３】
（Ｗｅｂサーバ１０１の機能的構成）
図１４は、Ｗｅｂサーバの機能的構成の一例を示すブロック図である。図１４において、Ｗｅｂサーバ１０１は、受信部１４０１と、判定部１４０２と、第１の生成部１４０３と、特定部１４０４と、第２の生成部１４０５と、実行部１４０６と、送信部１４０７と、設定部１４０８と、判断部１４０９と、削除部１４１０と、決定部１４１１と、を含む構成である。各機能部（受信部１４０１〜決定部１４１１）は、具体的には、例えば、図３に示したＲＯＭ３０２、ＲＡＭ３０３、磁気ディスク３０５、光ディスク３０７などの記憶装置に記憶されたプログラムをＣＰＵ３０１に実行させることにより、または、Ｉ／Ｆ３０８により、その機能を実現する。
【０１２４】
受信部１４０１は、クライアント端末１０２から要求電文Ｒｑを受信する機能を有する。具体的には、例えば、受信部１４０１が、ネットワーク２４０を介して、クライアント端末１０２のＷｅｂブラウザ２０１から要求電文Ｒｑ（例えば、図１３参照）を受信する。
【０１２５】
判定部１４０２は、受信された要求電文Ｒｑに基づいて、最初の画面表示か否かを判定する機能を有する。具体的には、例えば、判定部１４０２が、要求電文ＲｑのクッキーにセッションＩＤが含まれている場合、最初の画面表示ではないと判定する。一方、要求電文ＲｑのクッキーにセッションＩＤが含まれていない場合、判定部１４０２が、最初の画面表示であると判定する。
【０１２６】
第１の生成部１４０３は、判定部１４０２によって最初の画面表示であると判定された場合、画面ビーン２１０のオブジェクトを生成する。画面ビーン２１０のオブジェクトを生成とは、例えば、画面ビーン２１０に記述されている変数や関数（または、関数のポインタ）をＲＡＭ３０３に展開することである。
【０１２７】
また、第１の生成部１４０３は、要求電文Ｒｑに含まれるリクエストパラメータの中から、表示要求されている画面Ｓｉの画面ＩＤを取得する。例えば、要求電文Ｒｑに「Ｓｃｒｅｅｎ  ｉｄ＝“画面１”」というリクエストパラメータと値が含まれている場合、画面ＩＤは「画面１」となる。
【０１２８】
そして、第１の生成部１４０３は、表示要求されている画面Ｓｉの画面ＩＤを画面ビーン２１０のオブジェクトに設定する。具体的には、例えば、第１の生成部１４０３が、図５に示した画面ビーン２１０の情報項目「画面ＩＤ」に、表示要求されている画面Ｓｉの画面ＩＤを設定する。
【０１２９】
画面ビーン２１０のオブジェクトは、最初の画面表示以降、例えば、Ｗｅｂサーバ１０１とＷｅｂブラウザ２０１とのセッションが維持される限り保持され、動作パラメータといったシステム共通情報を永続的に持つことができる。ただし、画面ビーン２１０のオブジェクトの画面ＩＤやボタンＩＤの情報等は更新される。
【０１３０】
特定部１４０４は、要求電文Ｒｑにより表示要求されている画面Ｓｉに対応するサービスビーン２０４を特定する。具体的には、例えば、まず、特定部１４０４が、画面遷移定義２０８の中から、画面ビーン２１０のオブジェクトに設定されている画面Ｓｉの画面ＩＤに対応する定義情報を検索する。例えば、画面ビーン２１０のオブジェクトに設定されている画面Ｓｉの画面ＩＤが「画面１」の場合、画面遷移定義２０８の中から定義情報１２１０が検索される。
【０１３１】
そして、特定部１４０４が、検索した定義情報を参照して、画面Ｓｉの画面ＩＤに対応するサービスビーンＩＤを特定する。例えば、画面遷移定義２０８の中から定義情報１２１０が検索された場合、特定部１４０４が、画面ＩＤ「画面１」に対応するサービスビーンＩＤ「サービスＡ」および「サービスＢ」を定義順に特定する。
【０１３２】
また、特定部１４０４は、検索した定義情報を参照して、特定したサービスビーン２０４に対応するビジネスロジック２０５のオブジェクトを特定する。例えば、定義情報１２１０が検索された場合、特定部１４０４が、サービスビーンＩＤ「サービスＡ」および「サービスＢ」に対応するビジネスロジックＩＤ「サービスＡロジック」および「サービスＢロジック」を定義順に特定する。
【０１３３】
このように、要求電文Ｒｑに含まれる画面Ｓｉの画面ＩＤを手掛かりに画面遷移定義２０８を参照することで、画面Ｓｉに対応するサービスビーン２０４およびビジネスロジック２０５を特定することができる。
【０１３４】
第２の生成部１４０５は、画面Ｓｉに対応するサービスビーン２０４のオブジェクトを生成する。具体的には、例えば、第２の生成部１４０５が、サービスビーン格納領域１４２０の中から、特定された画面Ｓｉの画面ＩＤに対応するサービスビーンＩＤのサービスビーン２０４を検索する。
【０１３５】
ここで、サービスビーン格納領域１４２０は、例えば、図２に示したサービス定義２０６に定義されているサービスごとのサービスビーン２０４を格納する格納領域である。そして、第２の生成部１４０５が、画面遷移定義２０８の定義情報に定義された定義順にサービスビーン２０４のオブジェクトを生成する。
【０１３６】
なお、以下の説明では、画面Ｓｉの画面ＩＤに対応するサービスビーン２０４のサービスビーンＩＤを定義順に「サービスビーンｓ１〜ｓＫ」と表記する。また、サービスビーンｓ１〜ｓＫのうち任意のサービスビーンを「サービスビーンｓｋ」と表記する（ｋ＝１，２，…，Ｋ）。
【０１３７】
また、第２の生成部１４０５は、サービスビーン２０４に対応するビジネスロジック２０５のオブジェクトを生成する。具体的には、例えば、まず、第２の生成部１４０５が、ビジネスロジック格納領域１４３０の中から、サービスビーンｓ１〜ｓＫに対応するビジネスロジックＩＤ（以下、「ビジネスロジックｂ１〜ｂＫ」という）に対応するビジネスロジック２０５を検索する。
【０１３８】
ここで、ビジネスロジック格納領域１４３０は、例えば、サービス定義２０６に定義されている各サービスのサービスビーン２０４に対応するビジネスロジック２０５を格納する格納領域である。そして、第２の生成部１４０５が、画面遷移定義２０８の定義情報に定義された定義順にビジネスロジック２０５のオブジェクトを生成する。
【０１３９】
実行部１４０６は、サービスビーン２０４に対応するビジネスロジック２０５の初期処理を実行する。具体的には、例えば、実行部１４０６が、各ビジネスロジックｂ１〜ｂＫのビジネスロジック２０５の初期処理を実行する。この結果、サービスビーン２０４の情報項目がｓｅｔｔｅｒメソッドにより更新され、サービスビーン２０４のオブジェクトに初期値が設定される。
【０１４０】
そして、実行部１４０６が、画面ビーン２１０の情報項目「サービスビーン」の配列にサービスビーン２０４およびビジネスロジック２０５のオブジェクトを格納する。画面ビーン２１０の情報項目「サービスビーン」の配列に格納とは、例えば、生成したサービスビーン２０４のオブジェクトのポインタを格納することである。
【０１４１】
なお、実行部１４０６は、配列に格納済みのサービスビーン２０４に対応するビジネスロジック２０５の初期処理は実行しない。
【０１４２】
また、実行部１４０６は、画面Ｓｉに対応する画面プログラム２０９を実行する。具体的には、例えば、まず、実行部１４０６が、画面遷移定義２０８の定義情報を参照して、画面プログラム格納領域１４４０の中から、画面Ｓｉの画面ＩＤに対応する画面プログラム２０９を検索する。ここで、画面プログラム格納領域１４４０は、例えば、Ｗｅｂブラウザ２０１に提供される画面ごとの画面プログラム２０９を格納する格納領域である。
【０１４３】
そして、実行部１４０６が、検索した画面プログラム２０９を実行する。この結果、画面Ｓｉの画面ＩＤに対応するサービスビーン２０４のオブジェクトに設定された各情報項目の値が、画面プログラム２０９の記述に従って埋め込まれた応答電文Ｒｓが作成される。
【０１４４】
送信部１４０７は、作成された応答電文Ｒｓをクライアント端末１０２に送信する。具体的には、例えば、送信部１４０７が、ネットワーク２４０を介して、クライアント端末１０２のＷｅｂブラウザ２０１に応答電文Ｒｓを送信する。
【０１４５】
設定部１４０８は、判定部１４０２によって最初の画面表示ではないと判定された場合、要求電文Ｒｑに含まれる画面Ｓｉ上の入力項目の入力値を、サービスビーン２０４のオブジェクトに設定する。入力値とは、画面Ｓｉ上の入力項目に設定された値（例えば、ユーザＩＤ、検索キーワード、日付等）である。入力値は、例えば、クライアント端末１０２のキーボード３１０やマウス３１１を用いたユーザの操作により入力される。
【０１４６】
具体的には、例えば、まず、設定部１４０８が、要求電文Ｒｑの中から、画面Ｓｉ上の入力項目に関するリクエストパラメータを選択する。次に、設定部１４０８が、選択したリクエストパラメータのパラメータ名から、パラメータ値の格納対象となるサービスビーン２０４の配列の順番と情報項目の項目名を特定する。
【０１４７】
なお、パラメータ名には、例えば、「ＳＣＲＥＥＮ００００１−０１ｗｓｖ＿ｋｅｉｙａｋｕ＿ｌｉｓｔ／０／ｓｅｌｅｃｔ」（図１３参照）のように、サービスビーン２０４の配列の順番と情報項目の項目名が特定できる情報が埋め込まれている。この場合、サービスビーン２０４「ＳＣＲＥＥＮ００００１−０１ｗｓｖ＿ｋｅｉｙａｋｕ＿ｌｉｓｔ」の配列の順番は「０」、情報項目の項目名は「ｓｅｌｅｃｔ」である。
【０１４８】
このあと、設定部１４０８が、サービスビーンｓ１〜ｓＫの中から、格納対象となるサービスビーン２０４の配列の順番に対応するサービスビーンｓｋを特定する。次に、設定部１４０８が、特定したサービスビーンｓｋに対応するサービスビーン２０４の情報項目のうち、格納対象となる情報項目の項目名からｓｅｔｔｅｒメソッドを特定する。そして、設定部１４０８が、特定したｓｅｔｔｅｒメソッドを使用して、入力項目の入力値（パラメータ値）をサービスビーン２０４のオブジェクトに設定する。
【０１４９】
このように、要求電文Ｒｑのリクエストパラメータに含まれるサービスビーン２０４の配列の順番と項目名を手掛かりに、画面Ｓｉ上の入力項目の入力値の設定先となるサービスビーン２０４の情報項目を特定して、入力値を設定することができる。
【０１５０】
また、実行部１４０６は、サービスビーン２０４のオブジェクトに画面Ｓｉ上の入力項目の入力値が設定された場合、サービスビーン２０４に対応するビジネスロジック２０５の遷移処理を実行する。遷移処理とは、画面遷移時の業務処理である。この結果、サービスビーン２０４の情報項目がｇｅｔｔｅｒメソッドにより参照され、サービスビーン２０４のオブジェクトに設定された入力項目の入力値に基づく業務処理が行われる。
【０１５１】
判断部１４０９は、画面遷移定義２０８の定義情報を参照して、遷移処理が実行されたビジネスロジック２０５に対応するサービスビーン２０４のオブジェクトを削除するか否かを判断する。すなわち、判断部１４０９が、遷移処理が実行されたビジネスロジック２０５に対応するサービスビーン２０４を継続して実行するか否かを判断する。具体的には、例えば、判断部１４０９が、遷移処理が実行されたビジネスロジックｂｋに対応するサービスビーンｓｋに保持指定が付与されているか否かを判断する。
【０１５２】
ここで、保持指定とは、画面Ｓｉに対応するサービスビーン２０４と遷移先の画面Ｓｊとを関連付ける情報である。保持指定が付与されているサービスビーン２０４は、遷移先の画面Ｓｊでも継続して使用することを意味する。図１２の例では、定義情報１２１０の中の「ｈｏｌｄ  ｓｃｒｅｅｎＩＤ」が保持指定を示す記述である。すなわち、サービスビーンＩＤ「サービスＡ」のサービスビーン２０４に保持指定「ｈｏｌｄ  ｓｃｒｅｅｎＩＤ」が付与されている。
【０１５３】
削除部１４１０は、遷移処理が実行されたビジネスロジック２０５に対応するサービスビーン２０４のオブジェクトを削除すると判断された場合、サービスビーン２０４のオブジェクトを削除する。すなわち、削除部１４１０が、遷移処理が実行されたビジネスロジック２０５に対応するサービスビーン２０４の実行を終了させる。
【０１５４】
具体的には、例えば、削除部１４１０が、ＲＡＭ３０３に展開されているサービスビーンｓｋおよびビジネスロジックｂｋのオブジェクトを削除する。一方、遷移処理が実行されたビジネスロジック２０５に対応するサービスビーン２０４のオブジェクトを削除しないと判断された場合、削除部１４１０は、サービスビーン２０４のオブジェクトを削除しない。
【０１５５】
これにより、保持指定されているサービスビーン２０４のオブジェクトを複数の画面に跨って保持することができ、該当のサービスビーン２０４に対応する画面Ｓｉ上の画面項目を、遷移先の画面に継続して表示することができる。
【０１５６】
決定部１４１１は、要求電文Ｒｑに含まれるリクエストパラメータのパラメータ値に基づいて、遷移先の画面Ｓｊを決定する。具体的には、例えば、まず、決定部１４１１が、画面ビーン２１０のオブジェクトに設定されている画面Ｓｉの画面ＩＤを取得する。
【０１５７】
また、決定部１４１１が、要求電文Ｒｑの中から、画面Ｓｉ上のボタンおよびイベントに関するリクエストパラメータを取得する。図１３に示した要求電文Ｒｑを例に挙げると、ボディ部１３２０に記述されたリクエストパラメータのうち、ボタンに関するリクエストパラメータは「ｂｔｎ＝次へ」（図中、符号１３２２）である。また、イベントに関するリクエストパラメータは「ｅｖｔ＝ＮＥＸＴ＿ＰＡＧＥ＿ＴＲＡＮＳＦＥＲ」（図中、符号１３２３）である。
【０１５８】
このため、決定部１４１１が、ボタンに関するリクエストパラメータ「ｂｔｎ＝次へ」およびイベントに関するリクエストパラメータ「ｅｖｔ＝ＮＥＸＴ＿ＰＡＧＥ＿ＴＲＡＮＳＦＥＲ」を取得する。そして、決定部１４１１が、取得したリクエストパラメータからボタンＩＤおよびイベントＩＤを特定する。
【０１５９】
上記例では、決定部１４１１が、ボタンＩＤ「次へ」およびイベントＩＤ「ＮＥＸＴ＿ＰＡＧＥ＿ＴＲＡＮＳＦＥＲ」を特定する。なお、ボタンＩＤは、クライアント端末１０２のユーザにより選択された画面Ｓｉ上のボタンの識別子である。イベントＩＤは、クライアント端末１０２のユーザにより選択されたボタンに関連付けられているイベントの識別子である。
【０１６０】
このあと、決定部１４１１が、画面遷移定義２０８の定義情報を参照して、ボタンＩＤおよびイベントＩＤの組合せに対応する次画面Ｓｊの画面ＩＤを特定する。画面遷移定義２０８の定義情報１２１０を例に挙げると、例えば、ボタンＩＤおよびイベントＩＤの組合せを「次へ」および「ＮＥＸＴ＿ＰＡＧＥ＿ＴＲＡＮＳＦＥＲ」とすると、次画面Ｓｊの画面ＩＤは「画面２」となる。このため、決定部１４１１が、遷移先の次画面Ｓｊを画面２に決定し、画面ビーン２１０の情報項目「画面ＩＤ」に、次画面Ｓｊの画面ＩＤ「画面２」を設定する。
【０１６１】
このように、Ｗｅｂブラウザ２０１に現在提供されている画面Ｓｉの画面ＩＤと、要求電文Ｒｑのリクエストパラメータに含まれるボタンＩＤおよびイベントＩＤを手掛かりに画面遷移定義２０８を参照することにより、遷移先の次画面Ｓｊを特定することができる。
【０１６２】
また、実行部１４０６は、要求電文Ｒｑに含まれるボタンＩＤに対応する画面遷移ロジック２０７がある場合、画面遷移ロジック２０７を実行する機能を有する。具体的には、例えば、実行部１４０６が、画面遷移定義２０８の定義情報を参照して、要求電文Ｒｑに含まれるボタンＩＤに対応する画面遷移ロジックＩＤを特定する。
【０１６３】
画面遷移定義２０８の定義情報１２２０を例に挙げると、決定部１４１１が、例えば、ボタンＩＤ「次へ」に対応する画面遷移ロジックＩＤ「エラー画面への振り分けチェックロジック」を特定する。次に、実行部１４０６が、画面遷移ロジック格納領域１４５０の中から、特定した画面遷移ロジックＩＤに対応する画面遷移ロジック２０７を検索する。
【０１６４】
ここで、画面遷移ロジック格納領域１４５０は、例えば、ビジネスロジック２０５に対応する画面遷移ロジック２０７を格納する格納領域である。そして、実行部１４０６が、検索した画面遷移ロジック２０７を実行する。なお、要求電文Ｒｑに含まれるボタンＩＤに対応する画面遷移ロジックＩＤが存在しない場合、画面遷移ロジック２０７の実行は行われない。
【０１６５】
すなわち、実行部１４０６が、ボタンＩＤに対応する画面遷移ロジック２０７を実行することにより、例えば、サービスビーン２０４のオブジェクトの中身を確認して、ビジネスロジック２０５がエラーで終了しないかどうかをチェックする。ここで、エラーが発生した場合、決定部１４１１が、エラーが発生したことを示すイベントＩＤを実行部１４０６から受信する。
【０１６６】
そして、決定部１４１１が、画面遷移定義２０８の定義情報を参照して、ボタンＩＤおよびエラーが発生したことを示すイベントＩＤの組合せに対応する次画面Ｓｊの画面ＩＤを特定する。画面遷移定義２０８の定義情報１２１０を例に挙げると、例えば、ボタンＩＤおよびイベントＩＤの組合せを「次へ」および「ＥＲＲＯＲ＿ＰＡＧＥ＿ＴＲＡＮＳＦＥＲ」とすると、次画面Ｓｊの画面ＩＤは「エラー画面」となる。
【０１６７】
このため、決定部１４１１が、遷移先の次画面Ｓｊをエラー画面に決定し、画面ビーン２１０の情報項目「画面ＩＤ」に、次画面Ｓｊの画面ＩＤ「エラー画面」を設定する。一方、エラーが発生しない場合は、実行部１４０６が、ボタンＩＤと関連付けられたイベントＩＤと同じイベントＩＤを決定部１４１１に送信することになる。
【０１６８】
なお、上述した各種格納領域１４２０，１４３０，１４４０，１４５０は、Ｗｅｂサーバ１０１が備える構成であってもよく、また、Ｗｅｂサーバ１０１がアクセス可能な外部のコンピュータが備える構成であってもよい。
【０１６９】
（Ｗｅｂサーバ１０１の画面情報提供処理手順）
次に、図１５〜図１９を用いて、実施の形態にかかるＷｅｂサーバ１０１の画面情報提供処理手順について説明する。
【０１７０】
図１５〜図１９は、実施の形態にかかるＷｅｂサーバの画面情報提供処理手順の一例を示すフローチャートである。図１５のフローチャートにおいて、まず、受信部１４０１により、クライアント端末１０２から要求電文Ｒｑを受信したか否かを判断する（ステップＳ１５０１）。
【０１７１】
ここで、要求電文Ｒｑを受信するのを待って（ステップＳ１５０１：Ｎｏ）、受信した場合（ステップＳ１５０１：Ｙｅｓ）、判定部１４０２により、受信された要求電文Ｒｑに基づいて、最初の画面表示か否かを判定する（ステップＳ１５０２）。ここで、最初の画面表示ではない場合（ステップＳ１５０２：Ｎｏ）、図１７に示すステップＳ１７０１に移行する。
【０１７２】
一方、最初の画面表示の場合（ステップＳ１５０２：Ｙｅｓ）、第１の生成部１４０３により、画面ビーン２１０のオブジェクトを生成する（ステップＳ１５０３）。このあと、第１の生成部１４０３により、要求電文Ｒｑのリクエストパラメータの中から、表示要求されている画面Ｓｉの画面ＩＤを取得する（ステップＳ１５０４）。
【０１７３】
そして、第１の生成部１４０３により、画面ビーン２１０のオブジェクトに、取得した画面Ｓｉの画面ＩＤを設定して（ステップＳ１５０５）、図１６に示すステップＳ１６０１に移行する。これにより、Ｗｅｂブラウザ２０１から表示要求されている画面Ｓｉの画面ＩＤを画面ビーン２１０のオブジェクトに設定することができる。
【０１７４】
図１６のフローチャートにおいて、まず、特定部１４０４により、画面遷移定義２０８の中から、画面ビーン２１０のオブジェクトに設定されている画面Ｓｉの画面ＩＤに対応する定義情報を検索する（ステップＳ１６０１）。そして、特定部１４０４により、検索した定義情報を参照して、画面Ｓｉの画面ＩＤに対応するサービスビーンＩＤおよびビジネスロジックＩＤを特定する（ステップＳ１６０２）。
【０１７５】
このあと、第２の生成部１４０５により、サービスビーンｓｋの「ｋ」を「ｋ＝１」とし（ステップＳ１６０３）、サービスビーンｓｋおよびビジネスロジックｂｋが画面ビーン２１０の配列に存在するか否かを判断する（ステップＳ１６０４）。ここで、画面ビーン２１０の配列に存在する場合（ステップＳ１６０４：Ｙｅｓ）、ステップＳ１６０９に移行する。
【０１７６】
一方、画面ビーン２１０の配列に存在しない場合（ステップＳ１６０４：Ｎｏ）、第２の生成部１４０５により、サービスビーンｓｋおよびビジネスロジックｂｋのオブジェクトを生成する（ステップＳ１６０５）。次に、実行部１４０６により、ビジネスロジックｂｋの初期処理を実行する（ステップＳ１６０６）。
【０１７７】
そして、実行部１４０６により、画面ビーン２１０の配列にサービスビーンｓｋおよびビジネスロジックｂｋのオブジェクトを格納する（ステップＳ１６０７）。このあと、第２の生成部１４０５により、サービスビーンｓｋの「ｋ」をインクリメントして（ステップＳ１６０８）、「ｋ」が「Ｋ」より大きくなったか否かを判断する（ステップＳ１６０９）。
【０１７８】
ここで、「ｋ」が「Ｋ」以下の場合（ステップＳ１６０９：Ｎｏ）、ステップＳ１６０４に戻る。一方、「ｋ」が「Ｋ」より大きい場合（ステップＳ１６０９：Ｙｅｓ）、図１９に示すステップＳ１９０１に移行する。
【０１７９】
これにより、要求電文Ｒｑに含まれる画面Ｓｉの画面ＩＤを手掛かりに画面遷移定義２０８を参照することで、画面Ｓｉに対応するサービスビーン２０４およびビジネスロジック２０５を特定して、ビジネスロジック２０５の初期処理を実行することができる。
【０１８０】
図１７のフローチャートにおいて、まず、設定部１４０８により、画面ビーン２１０のオブジェクトに設定されている画面Ｓｉの画面ＩＤを取得する（ステップＳ１７０１）。そして、設定部１４０８により、要求電文Ｒｑの中から、画面Ｓｉ上の入力項目に関するリクエストパラメータを選択する（ステップＳ１７０２）。
【０１８１】
次に、設定部１４０８により、選択したリクエストパラメータのパラメータ名から、パラメータ値の格納対象となるサービスビーン２０４の配列の順番と情報項目の項目名を特定する（ステップＳ１７０３）。そして、設定部１４０８により、ステップＳ１７０１に取得した画面ＩＤに対応するサービスビーンｓ１〜ｓＫの中から、格納対象となるサービスビーン２０４の配列の順番に対応するサービスビーンＩＤを特定する（ステップＳ１７０４）。
【０１８２】
このあと、設定部１４０８により、特定したｓｅｔｔｅｒメソッドを使用して、入力項目の入力値（パラメータ値）をサービスビーン２０４のオブジェクトに設定する（ステップＳ１７０５）。そして、設定部１４０８により、要求電文Ｒｑの中から選択していない未選択の画面Ｓｉ上の入力項目に関するリクエストパラメータがあるか否かを判断する（ステップＳ１７０６）。
【０１８３】
ここで、未選択のリクエストパラメータがある場合（ステップＳ１７０６：Ｙｅｓ）、ステップＳ１７０２に戻る。一方、未選択のリクエストパラメータがない場合（ステップＳ１７０６：Ｎｏ）、図１８のステップＳ１８０１に移行する。これにより、クライアント端末１０２のユーザにより入力された入力項目の入力値をサービスビーン２０４のオブジェクトに設定することができる。
【０１８４】
図１８のフローチャートにおいて、まず、実行部１４０６により、画面遷移定義２０８の定義情報を参照して、画面ビーン２１０のオブジェクトに設定されている画面Ｓｉの画面ＩＤに対応するサービスビーンＩＤおよびビジネスロジックＩＤを特定する（ステップＳ１８０１）。
【０１８５】
このあと、実行部１４０６により、サービスビーンｓｋの「ｋ」を「ｋ＝１」とし（ステップＳ１８０２）、サービスビーンｓｋに対応するビジネスロジックｂｋの遷移処理を実行する（ステップＳ１８０３）。次に、判断部１４０９により、遷移処理が実行されたビジネスロジックｂｋに対応するサービスビーンｓｋに保持指定が付与されているか否かを判断する（ステップＳ１８０４）。
【０１８６】
ここで、保持指定が付与されている場合（ステップＳ１８０４：Ｙｅｓ）、ステップＳ１８０６に移行する。一方、保持指定が付与されていない場合（ステップＳ１８０４：Ｎｏ）、削除部１４１０により、画面ビーン２１０の配列に格納されているサービスビーンｓｋのオブジェクトを削除する（ステップＳ１８０５）。
【０１８７】
このあと、実行部１４０６により、サービスビーンｓｋの「ｋ」をインクリメントして（ステップＳ１８０６）、「ｋ」が「Ｋ」より大きくなったか否かを判断する（ステップＳ１８０７）。ここで、「ｋ」が「Ｋ」以下の場合（ステップＳ１８０７：Ｎｏ）、ステップＳ１８０３に戻る。
【０１８８】
一方、「ｋ」が「Ｋ」より大きい場合（ステップＳ１８０７：Ｙｅｓ）、決定部１４１１により、要求電文Ｒｑのリクエストパラメータの中から、ボタンＩＤおよびイベントＩＤを取得する（ステップＳ１８０８）。次に、決定部１４１１により、画面遷移定義２０８の定義情報を参照して、ボタンＩＤおよびイベントＩＤの組合せに対応する次画面Ｓｊの画面ＩＤを特定する（ステップＳ１８０９）。
【０１８９】
そして、決定部１４１１により、画面ビーン２１０に次画面Ｓｊの画面ＩＤを設定して（ステップＳ１８１０）、図１６に示したステップＳ１６０１に移行する。
【０１９０】
これにより、要求電文Ｒｑに含まれる画面Ｓｉの画面ＩＤを手掛かりに、画面Ｓｉに対応するサービスビーン２０４およびビジネスロジック２０５を特定して、ビジネスロジック２０５の遷移処理を実行することができる。また、保持指定されているサービスビーン２０４のオブジェクトを複数の画面に跨って保持することができ、該当のサービスビーン２０４に対応する画面Ｓｉ上の入力項目を、遷移先の画面に継続して表示することができる。
【０１９１】
図１９のフローチャートにおいて、まず、決定部１４１１により、要求電文Ｒｑのリクエストパラメータの中に、ボタンＩＤおよびイベントＩＤが存在するか否かを判断する（ステップＳ１９０１）。
【０１９２】
ここで、ボタンＩＤおよびイベントＩＤが存在する場合（ステップＳ１９０１：Ｙｅｓ）、決定部１４１１により、画面遷移定義２０８の定義情報を参照して、ボタンＩＤに対応する画面遷移ロジックＩＤがあるか否かを判断する（ステップＳ１９０２）。
【０１９３】
そして、ボタンＩＤに対応する画面遷移ロジックＩＤがある場合（ステップＳ１９０２：Ｙｅｓ）、実行部１４０６により、ボタンＩＤに対応する画面遷移ロジック２０７を実行する（ステップＳ１９０３）。このあと、決定部１４１１により、画面遷移ロジック２０７が返すイベントＩＤ（実行結果）が元のイベントＩＤと同じか否かを判断する（ステップＳ１９０４）。なお、元のイベントＩＤとは、要求電文Ｒｑのリクエストパラメータに格納されているイベントＩＤである。
【０１９４】
ここで、イベントＩＤが同じ場合（ステップＳ１９０４：Ｙｅｓ）、ステップＳ１９０７に移行する。一方、イベントＩＤが異なる場合（ステップＳ１９０４：Ｎｏ）、決定部１４１１により、画面遷移定義２０８の定義情報を参照して、ボタンＩＤおよびイベントＩＤの組合せに対応する次画面Ｓｊの画面ＩＤを特定する（ステップＳ１９０５）。なお、ここでのイベントＩＤは、画面遷移ロジック２０７が実行された結果返ってくるイベントＩＤである。
【０１９５】
そして、決定部１４１１により、画面ビーン２１０に次画面Ｓｊの画面ＩＤを設定して（ステップＳ１９０６）、図１６に示したステップＳ１６０１に移行する。
【０１９６】
また、ステップＳ１９０２において、ボタンＩＤに対応する画面遷移ロジックＩＤがない場合（ステップＳ１９０２：Ｎｏ）、ステップＳ１９０５に移行する。
【０１９７】
そして、決定部１４１１により、画面遷移定義２０８の定義情報を参照して、ボタンＩＤおよびイベントＩＤの組合せに対応する次画面Ｓｊの画面ＩＤを特定する（ステップＳ１９０５）。なお、ここでのイベントＩＤは、要求電文Ｒｑに含まれるボタンＩＤと関連するイベントＩＤである。
【０１９８】
そして、決定部１４１１により、画面ビーン２１０に次画面Ｓｊの画面ＩＤを設定して（ステップＳ１９０６）、図１６に示したステップＳ１６０１に移行する。
【０１９９】
また、ステップＳ１９０１において、ボタンＩＤおよびイベントＩＤが存在しない場合（ステップＳ１９０１：Ｎｏ）、実行部１４０６により、画面Ｓｉの画面ＩＤに対応する画面プログラム２０９を実行する（ステップＳ１９０７）。そして、送信部１４０７により、画面プログラム２０９が実行された結果作成される応答電文ＲｓをＷｅｂブラウザ２０１に送信して（ステップＳ１９０８）、本フローチャートによる一連の処理を終了する。
【０２００】
これにより、Ｗｅｂブラウザ２０１に現在提供されている画面Ｓｉの画面ＩＤと、要求電文Ｒｑのリクエストパラメータに含まれるボタンＩＤおよびイベントＩＤを手掛かりに、遷移先の次画面Ｓｊを特定することができる。
【０２０１】
（複数の画面に跨ってサービスを維持する具体例）
ここで、上述した保持指定「ｈｏｌｄ  ｓｃｒｅｅｎＩＤ」を利用して、複数の画面に跨ってサービスビーン２０４のオブジェクトを保持する具体例について説明する。
【０２０２】
図２０は、複数の画面に跨ってサービスビーンのオブジェクトを保持する具体例を示す説明図である。図２０において、画面１と画面２に跨って、サービスＡのサービスビーン２０４のオブジェクトを保持する例が示されている。
【０２０３】
ここでは、画面１と画面２に跨って、サービスＡのサービスビーン２０４のオブジェクトを保持するために、画面遷移定義２０８の定義情報１２１０に、「サービスＡ」の保持指定「ｈｏｌｄ  ｓｃｒｅｅｎＩＤ」が記述されている（図中、符号２００１）。
【０２０４】
このため、画面１のＷｅｂサーバ１０１側の処理が終了した後も、「サービスＡ」のオブジェクトが削除されない。また、画面２の表示時に、「サービスＡ」のオブジェクトが既に存在するため、「サービスＡ」のオブジェクト生成と「サービスＡロジック」の初期処理は実行されない。
【０２０５】
この結果、「サービスＣ」のオブジェクト生成と「サービスＣロジック」の初期処理のみが実行され、画面プログラム２０９の実行時に、「サービスＡ」および「サービスＣ」の値が応答電文Ｒｓに設定される。これによって、画面２と画面１で「サービスＡ」の同じ情報項目を使用する場合、画面１で入力された内容は、画面２で引き続き表示される。
【０２０６】
このように、本実施の形態では、画面Ｓｉとビジネスロジック２０５の粒度が独立であるため、１つの画面Ｓｉに複数のサービスビーン２０４のオブジェクトを割当可能であるとともに、複数画面に跨ってサービスビーン２０４のオブジェクトを保持できる。
【０２０７】
これにより、例えば、画面Ｓｉに入力された内容を遷移先の次画面Ｓｊで確認表示する場合や、別サービスの画面を既存の画面遷移に割り込んで追加する場合などに、ビジネスロジック２０５側で画面遷移の考慮が不要となる。すなわち、インタフェースプログラム４１０やビジネスロジック２０５の修正作業が不要となる。また、後述の図２１および図２３に示すように、ＰＣ画面と携帯電話端末のように画面表示サイズが異なるクライアント端末１０２向けのＷｅｂサイトにおいて、サービスビーン２０４やビジネスロジック２０５を共用することができる。
【０２０８】
（画面と画面遷移定義の一例）
次に、Ｗｅｂブラウザ２０１に提供される画面Ｓｉと画面遷移定義２０８の定義情報の一例について説明する。
【０２０９】
図２１は、ＰＣの画面例を示す説明図である。図２２は、ＰＣの画面例に対応する定義情報を示す説明図である。図２３は、携帯電話端末の画面例を示す説明図である。図２４は、携帯電話端末の画面例に対応する定義情報を示す説明図である。
【０２１０】
図２１において、画面「住所登録（ＰＣ）画面」は、ＰＣのクライアント端末１０２に表示される画面例である。画面「住所登録（ＰＣ）画面」には、「名前」、「フリガナ」、「郵便番号」、「都道府県」、「市区郡」、「町村名と番地」、「ビル・マンション名」、「自宅電話番号」、「携帯電話番号」、「メールアドレス」および「メールアドレス再入力」の入力項目が表示されている。
【０２１１】
図２２において、定義情報２２００は、画面「住所登録（ＰＣ）画面」と、画面プログラム２０９と、サービスビーン２０４と、ビジネスロジック２０５と、次画面「登録住所確認画面」との対応関係を示す情報である。ＰＣの画面例では、上述した複数の入力項目が一画面に表示されているため、定義情報は一つである。
【０２１２】
図２３において、画面「住所登録（携帯）画面１」、画面「住所登録（携帯）画面２」、画面「住所登録（携帯）画面３」および画面「住所登録（携帯）画面４」は、携帯電話端末のクライアント端末１０２に表示される画面例である。携帯電話端末は、ＰＣに比べてディスプレイ３０９の大きさが小さいため、図２１に示したＰＣの画面「住所登録（ＰＣ）画面」では一括表示されている複数の入力項目が、複数の画面に分割して表示されている。
【０２１３】
画面「住所登録（携帯）画面１」には、「名前」および「フリガナ」の入力項目が表示されている。画面「住所登録（携帯）画面２」には、「郵便番号」、「都道府県」、「市区郡」、「町村名と番地」および「ビル・マンション名」の入力項目が表示されている。画面「住所登録（携帯）画面３」には、「自宅電話番号」および「携帯電話番号」の入力項目が表示されている。画面「住所登録（携帯）画面４」には、「メールアドレス」および「メールアドレス再入力」の入力項目が表示されている。
【０２１４】
本実施の形態によれば、携帯電話端末の各画面上の入力項目とサービスビーン「住所登録情報」の項目とを関連付けることにより、ＰＣの画面「住所登録（ＰＣ）画面」で使用したサービスビーン「住所登録情報」を流用することができる。
【０２１５】
ただし、携帯電話端末では、ＰＣの画面「住所登録（ＰＣ）画面」で一括表示されている複数の入力項目が、４つの画面に分割して表示されるため、画面ごとの定義情報が作成される。
【０２１６】
図２４において、定義情報２４１０は、画面「住所登録（携帯）画面１」と、画面プログラム２０９と、サービスビーン２０４と、ビジネスロジック２０５と、次画面「住所登録（携帯）画面２」との対応関係を示す情報である。定義情報２４２０は、画面「住所登録（携帯）画面２」と、画面プログラム２０９と、サービスビーン２０４と、ビジネスロジック２０５と、次画面「住所登録（携帯）画面３」との対応関係を示す情報である。
【０２１７】
定義情報２４３０は、画面「住所登録（携帯）画面３」と、画面プログラム２０９と、サービスビーン２０４と、ビジネスロジック２０５と、次画面「住所登録（携帯）画面４」との対応関係を示す情報である。定義情報２４４０は、画面「住所登録（携帯）画面４」と、画面プログラム２０９と、サービスビーン２０４と、ビジネスロジック２０５と、次画面「登録住所確認画面」との対応関係を示す情報である。
【０２１８】
携帯電話端末の画面例では、上述した複数の入力項目が４つの画面に分割して表示されているため、定義情報は四つ（定義情報２４１０，２４２０，２４３０，２４４０）となる。
【０２１９】
以上説明したように、本実施の形態にかかるＷｅｂサーバ１０１によれば、画面遷移定義２０８を参照することにより、要求電文Ｒｑに含まれる画面Ｓｉ上のボタンおよびイベントに関するリクエストパラメータと関連付けられた遷移先の次画面Ｓｊを特定することができる。
【０２２０】
すなわち、画面遷移に係る定義情報（画面遷移定義２０８）をサービスビーン２０４およびビジネスロジック２０５と分離して管理することができる。これにより、サービスビーン２０４やビジネスロジック２０５を他の画面にそのまま流用可能となり、画面作成にかかる作業の効率化を図ることができる。
【０２２１】
また、Ｗｅｂサーバ１０１によれば、画面遷移定義２０８を参照することにより、要求電文Ｒｑに含まれる画面Ｓｉの画面ＩＤに対応するサービスビーン２０４およびビジネスロジック２０５を特定することができる。
【０２２２】
すなわち、各画面Ｓｉに対応するサービス（サービスビーン２０４、ビジネスロジック２０５）に係る定義情報（画面遷移定義２０８）をサービスビーン２０４およびビジネスロジック２０５と分離して管理することができる。これにより、サービスビーン２０４やビジネスロジック２０５を複数の画面に流用可能となり、画面作成にかかる作業の効率化を図ることができる。
【０２２３】
また、Ｗｅｂサーバ１０１によれば、画面遷移定義２０８を参照することにより、保持指定されているサービスビーン２０４のオブジェクトを複数の画面に跨って保持することができる。これにより、保持指定されているサービスビーン２０４に対応する画面Ｓｉ上の画面項目を、遷移先の次画面Ｓｊに継続して表示することができる。
【０２２４】
また、本実施の形態にかかる作成装置８１０によれば、画面デザイナ８０２の操作入力により、画面Ｓｉ上に表示させる画面項目と、サービスビーン２０４（およびビジネスロジック２０５）と、サービスビーン２０４の情報項目とを関連付けることができる。これにより、画面Ｓｉ上の画面項目とサービスビーン２０４の情報項目との対応関係が定義された画面遷移定義２０８および画面プログラム２０９を作成することができる。
【０２２５】
これらのことから、本画面情報提供プログラム、画面情報提供方法、作成支援プログラムおよび作成支援方法によれば、画面の遷移や構成を簡単かつ柔軟に変更することができる。これにより、インターネット上のＷｅｂサイト等において、顧客ニーズに合致した商品やサービスを迅速に提供することができるようになる。
【０２２６】
例えば、Ｗｅｂサイトが商業上の戦略から、新規の顧客獲得や既存顧客の囲い込みのために、短いサイクルで新しいサービスの提供を行うことができる。また、ある時期だけスポット的に画面遷移を変えたり、お勧め商品や新サービスを画面上の最も目立つ箇所に表示するなどの画面の構成変更に柔軟に対応することができる。
【０２２７】
（実施例）
次に、本実施の形態にかかる一実施例として、顧客管理システムのサービス申込画面に割引サービスを申し込むための入力領域（画面項目の集合）を追加する場合の一連の手順、および作成される各種プログラムについて説明する。
【０２２８】
図２５は、割引サービスを申し込むための入力領域を追加する前のサービス申込画面を示す説明図である。また、図２６は、割引サービスを申し込むための入力領域を追加した後のサービス申込画面を示す説明図である。
【０２２９】
図２５において、サービス申込画面２５００には、顧客情報の入力領域２５１０および基本サービス契約情報の入力領域２５２０が表示されている。また、図２６において、サービス申込画面２５００には、割引サービス契約申込の入力領域２６１０が追加された結果、顧客情報の入力領域２５１０、基本サービス契約情報の入力領域２５２０および割引サービス契約申込の入力領域２６１０が表示されている。
【０２３０】
図２７は、割引サービス契約申込機能の設計情報の設定例を示す説明図である。図２７において、業務設計者８０１（図８参照）により、割引サービス契約申込機能を実現するための設計情報２７００をサービス定義プログラム２０２に設定しているイメージが示されている。
【０２３１】
具体的には、設計情報２７００として、サービス名「割引サービス申込」、サービスビーンＩＤ「ｃｏｍ．ｆｕｊｉｔｓｕ…ＥｎｔｒｙＳＶＣＢｅａｎ」、ビジネスロジックＩＤ「ｃｏｍ．ｆｕｊｉｔｓｕ…ＥｎｔｒｙＳＶＣＬｏｇｉｃ」が設定されている。また、設計情報２７００として、項目ＩＤ（例えば、ｓｅｌｅｃｔ）と項目名（例えば、選択）とデータタイプ（例えば、Ｂｏｏｌｅａｎ）との関連付けが設定されている。
【０２３２】
割引サービス契約申込機能を実現するための設計情報が設定された結果、例えば、図２８に示すサービス定義２８００と図２９に示すサービスビーン２９００と図３０に示すビジネスロジックのスタブ３０００とが作成される。
【０２３３】
図２８は、割引サービス申込機能のサービス定義を示す説明図である。図２８において、サービス定義２８００には、割引サービス契約申込機能を実装した画面を作成する際に、利用候補となる情報項目を取得するための定義が示されている。具体的には、例えば、サービス定義２８００には、図２７に示した設計情報２７００に従って、利用候補となる情報項目が定義されている。
【０２３４】
図２９は、割引サービス申込機能のサービスビーンを示す説明図である。図２９において、サービスビーン２９００は、割引サービス申込機能のサービスビーン２０４である。サービスビーン２９００は、割引サービス申込機能で使用する各種項目（例えば、選択、割引サービスコード等）のｇｅｔｔｅｒ／ｓｅｔｔｅｒメソッドを含む。作成されたサービスビーン２９００は、Ｗｅｂサーバ１０１に配備される（図８参照）。
【０２３５】
図３０は、割引サービス申込機能のビジネスロジックのスタブを示す説明図である。図３０において、ビジネスロジックのスタブ３０００は、割引サービス申込機能のビジネスロジック２０５を作成するための雛形である。
【０２３６】
ビジネスロジックプログラマ８０３（図８参照）は、ビジネスロジック２０５のスタブ３０００に対して、一般的な開発環境やテキストエディタを使用して、割引サービス申込内容に依存する実装を行い、ビジネスロジック２０５を完成させる。作成されたビジネスロジック２０５は、Ｗｅｂサーバ１０１に配備される（図８参照）。
【０２３７】
図３１〜図３３は、画面定義プログラムにより提供される編集画面の具体例を示す説明図である。図３１には、作成装置８１０において、画面デザイナ８０２が画面定義プログラム２０３を使ってサービス申込画面に割引サービスを申し込むための入力領域３１００を追加する画面例が示されている。
【０２３８】
また、図３２には、サービス申込画面に割引サービス申込機能のサービスビーン２９００（図２９参照）を追加する画面３２１０，３２２０，３２３０が示されている。具体的には、画面３２１０において、画面デザイナ８０２が追加ボタン３２１１を選択すると、画面３２２０が表示される。
【０２３９】
画面３２２０において、サービス一覧３２２１の中から画面デザイナ８０２が追加するサービスとして「割引サービス申込」を選択し設定ボタン３２２２を選択すると、サービス申込画面に割引サービス申込機能が追加されたことを示す画面３２３０が表示される。
【０２４０】
また、図３３には、割引サービス申込機能のサービス定義２８００（図２８参照）を参照しながら、追加した入力領域に割引サービス申込機能の入出力情報項目を関連付ける画面３３１０，３３２０，３３３０が示されている。
【０２４１】
具体的には、画面３３１０には、Ｗｅｂブラウザ２０１に提供する画面上に表示する画面項目（表示項目、入力項目）とサービスと項目との関連付けを表す一覧表３３１１が表示されている。画面３３１０において、画面デザイナ８０２が、一覧表３３１１の中から、画面項目３３１２を選択すると、画面３３２０が表示される。
【０２４２】
画面３３２０には、クライアント端末１０２に提供される複数のサービスの一覧表３３２１が表示されている。画面３３２０において、画面デザイナ８０２が、一覧表３３２１の中から、画面項目３３１２と関連付けるサービス３３２２を選択すると、画面３３３０が表示される。
【０２４３】
画面３３３０には、サービス３３２２で扱う情報項目（サービスビーン２９００の情報項目）の一覧表３３３１が表示されている。画面３３３０において、画面デザイナ８０２が、一覧表３３３１の中から、サービス３３２２と関連付ける情報項目３３３２を選択する。この結果、画面項目３３１２とサービス３３２２と情報項目３３３２とが関連付けられて出力される。
【０２４４】
そして、画面定義プログラム２０３により、新たな画面プログラム２０９（例えば、後述の図３４および図３５参照）と画面遷移定義２０８（例えば、後述の図３６参照）が作成される。
【０２４５】
図３４および図３５は、サービス申込画面の画面プログラムの具体例を示す説明図である。図３４および図３５において、画面プログラム３４００は、サービス申込画面の画面プログラム２０９である。画面プログラム３４００において、符号３４１０は、サービス申込画面に割引サービスを申し込むための入力領域３１００（図３１参照）が追加された結果、新たに追加されたプログラム記述を示している。作成された画面プログラム３４００は、Ｗｅｂサーバ１０１に配備される（図８参照）。
【０２４６】
図３６は、サービス申込画面の画面遷移定義を示す説明図である。図３６において、画面遷移定義２０８には、Ｗｅｂブラウザ２０１に提供されるサービス申込画面の定義情報３６１０が記述されている。定義情報３６１０において、定義情報３６２０は、追加された割引サービス申込機能の定義情報である。
【０２４７】
具体的には、定義情報３６１０には、サービス申込画面に設定されているサービスビーン２０４が画面定義プログラム２０３の指定順に定義されている。サービス申込画面の表示時には、定義情報３６１０に定義されている順に、各サービスビーン２０４に対応するビジネスロジック２０５が実行される。
【０２４８】
なお、図３６に示した例では、３番目（最後）に割引サービス申込を追加した例である。例えば、割引サービス申込機能を２番目に追加した場合、サービス申込画面の画面プログラム２０９には割引サービス申込機能のプログラムが挿入されるとともに、３番目になったサービス（基本サービス申込）の配列位置が１から２に更新される（先頭は０）。また、画面遷移定義２０８には、２番目のサービス（割引サービス申込）に関わる部分が、３番目のサービス（基本サービス申込）の直前に挿入される。作成された画面遷移定義２０８は、Ｗｅｂサーバ１０１に配備される（図８参照）。
【０２４９】
Ｗｅｂブラウザ２０１は、上述した手順により作成されたサービスビーン２９００、ビジネスロジック２０５および画面プログラム３４００が配備されたＷｅｂサーバ１０１にアクセスすると、図２６に示したサービス申込画面２５００が表示される。ここで、Ｗｅｂブラウザ２０１がＷｅｂサーバ１０１にアクセスして、図２６に示したサービス申込画面２５００を表示した際のアクセスログについて説明する。
【０２５０】
図３７は、アクセスログの一例を示す説明図である。図３７において、アクセスログ３７００は、Ｗｅｂブラウザ２０１がＷｅｂサーバ１０１にアクセスして、図２６に示したサービス申込画面２５００を表示した際のログである。アクセスログ３７００のログ３７０１，３７０２，３７０３によれば、追加された割引サービス申込機能のビジネスロジック２０５が、図３２に示した画面３２３０で設定した順に実行されていることがわかる。
【０２５１】
なお、本実施の形態で説明した画面情報提供方法および作成支援方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本画面情報提供プログラムおよび作成支援プログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本画面情報提供プログラムおよび作成支援プログラムは、インターネット等のネットワークを介して配布してもよい。
【符号の説明】
【０２５２】
１０１  画面情報提供装置、Ｗｅｂサーバ
１０２  クライアント端末
１１０  画面遷移定義情報
１２０  管理プログラム
１３０  処理プログラム
２００  Ｗｅｂシステム
２０２  サービス定義プログラム
２０３  画面定義プログラム
２０４  サービスビーン
２０５  ビジネスロジック
２０６  サービス定義
２０７  画面遷移ロジック
２０８  画面遷移定義
２０９  画面プログラム
２１０  画面ビーン
８１０  作成装置
１４０１  受信部
１４０２  判定部
１４０３  第１の生成部
１４０４  特定部
１４０５  第２の生成部
１４０６  実行部
１４０７  送信部
１４０８  設定部
１４０９  判断部
１４１０  削除部
１４１１  決定部
【図１】
0005691516.tif 000002
【図２】
0005691516.tif 000003
【図３】
0005691516.tif 000004
【図４】
0005691516.tif 000005
【図５】
0005691516.tif 000006
【図６】
0005691516.tif 000007
【図７】
0005691516.tif 000008
【図８】
0005691516.tif 000009
【図９】
0005691516.tif 000010
【図１０】
0005691516.tif 000011
【図１１】
0005691516.tif 000012
【図１２】
0005691516.tif 000013
【図１３】
0005691516.tif 000014
【図１４】
0005691516.tif 000015
【図１５】
0005691516.tif 000016
【図１６】
0005691516.tif 000017
【図１７】
0005691516.tif 000018
【図１８】
0005691516.tif 000019
【図１９】
0005691516.tif 000020
【図２０】
0005691516.tif 000021
【図２１】
0005691516.tif 000022
【図２２】
0005691516.tif 000023
【図２３】
0005691516.tif 000024
【図２４】
0005691516.tif 000025
【図２５】
0005691516.tif 000026
【図２６】
0005691516.tif 000027
【図２７】
0005691516.tif 000028
【図２８】
0005691516.tif 000029
【図２９】
0005691516.tif 000030
【図３０】
0005691516.tif 000031
【図３１】
0005691516.tif 000032
【図３２】
0005691516.tif 000033
【図３３】
0005691516.tif 000034
【図３４】
0005691516.tif 000035
【図３５】
0005691516.tif 000036
【図３６】
0005691516.tif 000037
【図３７】
0005691516.tif 000038