(57)【要約】【課題】システム環境の変化に柔軟に対応できる保守性に優れたウェブアプリケーションの開発を容易に行うことができ、設計開発者の負担を軽減させ、かつ設計開発のスピードアップを図ること。【解決手段】業務仕様，物理仕様の入力と業務パターンの選択を行い、業務仕様，物理仕様，業務パターンの選択結果に基づいて、前記業務仕様で定義された各データ項目に対応したデータベースの構築、並びに前記データベースへのアクセスを行うためのＢｅａｎの生成、前記業務仕様情報で定義された各データ項目の入出力画面を表示するためのＪＳＰの生成、及び前記入出力画面からの入力情報を取得して該入力情報に基づいて前記Ｂｅａｎ及びＪＳＰの実行を制御するためのサーブレットの生成をそれぞれ行うことを特徴とする。【選択図】      図１
2004318260.tif 000002
【特許請求の範囲】
【請求項１】
ウェブアプリケーションプログラムを生成させるためのプログラム生成装置において、
複数のデータ項目の定義及び各データ項目間の関係を含む業務仕様情報を入力させ該入力結果を第１の記憶手段に記憶させる第１の入力手段と、
前記業務仕様情報で定義された各データ項目を入出力するための入出力画面の表示属性を示す物理仕様情報を入力させ該入力結果を第２の記憶手段に記憶させる第２の入力手段と、
前記入出力画面の画面パターンと該画面パターンに付随した処理の組み合わせを規定した複数の業務パターンからいずれかの業務パターンを選択させ該選択結果を第３の記憶手段に記憶させる選択手段と、
前記第１〜第３の記憶手段から前記業務仕様情報，物理仕様情報，業務パターンの選択結果のそれぞれを読み出し、該読み出した各情報に基づいて、前記業務仕様情報で定義された各データ項目に対応したデータベースの構築、並びに前記データベースへのアクセスを行うための第１のプログラムの生成，前記業務仕様情報で定義された各データ項目の入出力画面を前記選択された業務パターンで規定された画面パターンと前記物理仕様情報により指定された表示属性で表示するための第２のプログラムの生成、及び前記入出力画面からの入力情報を取得して該入力情報に基づいて前記第１のプログラム及び第２のプログラムの実行を制御するための第３のプログラムの生成をそれぞれ行い、第４の記憶手段に記憶させる生成手段と、
を有することを特徴とするプログラム生成装置。
【請求項２】
前記第１の入力手段は、前記複数のデータ項目をグループ化し、該グループ間の親子関係を定義した業務仕様情報を入力可能であり、
前記生成手段は、前記第２のプログラムを、前記各グループに対応する入出力画面が前記親子関係に応じて画面遷移表示するプログラムとして生成することを特徴とする請求項１記載のプログラム生成装置。
【請求項３】
前記第１の入力手段は、前記複数のデータ項目をグループ化し、各グループに対応する各入出力画面がタグ画面関係にあることを定義した業務仕様情報を入力可能であり、
前記生成手段は、前記第２のプログラムを、前記各グループに対応する各入出力画面をタグ画面として表示するプログラムとして生成することを特徴とする請求項１記載のプログラム生成装置。
【請求項４】
前記第１の入力手段は、あるデータ項目が他のデータ項目を参照する関係であることを定義した業務仕様情報を入力可能であり、
前記生成手段は、前記第２のプログラムを、前記業務仕様情報に対応する入出力画面の参照元となるデータ項目の入力欄に参照先となるデータ項目のデータを選択リストとして配置するプログラムとして生成することを特徴とする請求項１記載のプログラム生成装置。
【請求項５】
前記入出力画面の画面パターンに付随した処理は、データベースに対する項目データの検索処理，更新処理，追加処理，削除処理を含むことを特徴とする請求項１記載のプログラム生成装置。
【請求項６】
ウェブアプリケーションプログラムを生成させるためのプログラム生成装置におけるプログラム生成方法において、
複数のデータ項目の定義及び各データ項目間の関係を含む業務仕様情報を入力させ該入力結果を第１の記憶手段に記憶させる第１の入力工程と、
前記業務仕様情報で定義された各データ項目を入出力するための入出力画面の表示属性を示す物理仕様情報を入力させ該入力結果を第２の記憶手段に記憶させる第２の入力工程と、
前記入出力画面の画面パターンと該画面パターンに付随した処理の組み合わせを規定した複数の業務パターンからいずれかの業務パターンを選択させ該選択結果を第３の記憶手段に記憶させる選択工程と、
前記第１〜第３の記憶手段から前記業務仕様情報，物理仕様情報，業務パターンの選択結果をそれぞれを読み出し、該読み出した各情報に基づいて、前記業務仕様情報で定義された各データ項目に対応したデータベースの構築、並びに前記データベースへのアクセスを行うための第１のプログラムの生成，前記業務仕様情報で定義された各データ項目の入出力画面を前記選択された業務パターンで規定された画面パターンと前記物理仕様情報により指定された表示属性で表示するための第２のプログラムの生成、及び前記入出力画面からの入力情報を取得して該入力情報に基づいて前記第１のプログラム及び第２のプログラムの実行を制御するための第３のプログラムの生成をそれぞれ行い、第４の記憶手段に記憶させる生成工程と、
を有することを特徴とするプログラム生成方法。
【請求項７】
請求項６に記載されたプログラム生成方法を実行するためのプログラム。
【請求項８】
請求項６に記載されたプログラム生成方法を実行するためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ウェブ（Ｗｅｂ）アプリケーションプログラム、特にサーバサイドＪａｖａ（登録商標）の技術を利用したウェブアプリケーションシステムにおけるサーブレット、ＪＳＰ（Ｊａｖａ（登録商標）Ｓｅｒｖｅｒ  Ｐａｇｅｓ）、Ｂｅａｎ、およびＪａｖａ（登録商標）Ｓｃｒｉｐｔの設計および開発支援に関するプログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体に関するものである。
【０００２】
【従来の技術】
従来、サーブレット（Ｓｅｒｖｌｅｔ）、ＪＳＰ、およびＢｅａｎを利用したウェブアプリケーションシステムの構成において、Ｂｅａｎはデータベースにアクセスするとともに、業務処理も行い、また、その情報を保持する役割を持っており、Ｂｅａｎの設計や開発には、サーブレット、ＪＳＰの開発以上にＪａｖａ（登録商標）の知識と経験が必要であった。
【０００３】
また、従来の開発方法では、サーブレットやＪＳＰでリクエストに応じた処理を行い、その結果に応じた画面を生成するプログラムを記述するため、システムが大規模、複雑になるに従い、処理の把握が難しくなり、開発、保守作業の負担が増大していった。
【０００４】
この問題を解決するために、特開２００１−３４４１０５号公報には、開発作業を単純にし、軽減することができる方式が記述されている。
【０００５】
これは、それぞれの画面に対応させて、サーブレット、ＪＳＰ、Ｂｅａｎの各コンポーネントを１対１の関係で定義し、画面デザインから各コンポーネントの定義を対応表として生成する対応表生成部をもち、その対応表と設計ドキュメントの情報を利用して、サーブレット、ＪＳＰ、およびＢｅａｎのコードを自動生成し、これにより、開発作業を軽減させようというものである。
【０００６】
【特許文献１】
特開２００１−３４４１０５号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、上述のようなコード生成方式では、生成されるコードは、単なるコンポーネントの名称、変数、メソッドの定義、コンポーネント間の呼び出し関係であり、業務ロジックについては、何ら考慮されていない。つまり、業務仕様書からウェブアプリケーションシステムを開発する場合の開発作業の主作業である業務ロジックについては、設計者ごとに独自に設計開発作業を行わなくてはならず、業務処理開発作業としての共通化を図ることが困難である。そのため、開発作業は、各担当者のスキルに依存するといった問題があった。
【０００８】
また、上述のアプリケーション開発方法では、開発されるアプリケーションにおいて、アプリケーション本来の処理（すなわち、業務処理）の記述とプラットフォーム固有の処理の記述とが混在することになるので、アプリケーションの保守性が悪いという問題があった。例えば、業務仕様や画面等に変更を加える等の場合には、上述のようなコード生成方式で生成されたコードに対して、再度業務処理を埋め込まなくてはならなかった。
【０００９】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、複数のデータ項目の定義及び各データ項目間の関係を含む業務仕様情報を入力させ該入力結果を第１の記憶手段に記憶させ、前記業務仕様情報で定義された各データ項目を入出力するための入出力画面の表示属性を示す物理仕様情報を入力させ該入力結果を第２の記憶手段に記憶させ、前記入出力画面の画面パターンと該画面パターンに付随した処理の組み合わせを規定した複数の業務パターンからいずれかの業務パターンを選択させ該選択結果を第３の記憶手段に記憶させ、前記第１〜第３の記憶手段から前記業務仕様情報，物理仕様情報，業務パターンの選択結果それぞれを読み出し、該読み出した各情報に基づいて、前記業務仕様情報で定義された各データ項目に対応したデータベースの構築、並びに前記データベースへのアクセスを行うための第１のプログラムの生成，前記業務仕様情報で定義された各データ項目の入出力画面を前記選択された業務パターンで規定された画面パターンと前記物理仕様情報により指定された表示属性で表示するための第２のプログラムの生成、及び前記入出力画面からの入力情報を取得して該入力情報に基づいて前記第１のプログラム及び第２のプログラムの実行を制御するための第３のプログラムの生成をそれぞれ行い、第４の記憶手段に記憶させることにより、ウェブアプリケーションの開発を容易に行うことができ、設計開発者の負担を軽減させ、かつ設計開発のスピードアップを図ることができるプログラム生成装置およびプログラム生成方法およびプログラムおよび記録媒体を提供することである。
【００１０】
【課題を解決するための手段】
本発明の第１の発明は、ウェブアプリケーションプログラムを生成させるためのプログラム生成装置において、複数のデータ項目の定義及び各データ項目間の関係を含む業務仕様情報を入力させ該入力結果を第１の記憶手段（図１に示す外部記憶装置１０４内の入出力テーブル１０９）に記憶させる第１の入力手段（図４，図５に示す業務仕様入力画面）と、前記業務仕様情報で定義された各データ項目を入出力するための入出力画面の表示属性を示す物理仕様情報を入力させ該入力結果を第２の記憶手段（図１に示す外部記憶装置１０４内の物理仕様テーブル１１０）に記憶させる第２の入力手段（図８〜図１１，図４６に示す物理仕様入力画面）と、前記入出力画面の画面パターンと該画面パターンに付随した処理の組み合わせを規定した複数の業務パターンからいずれかの業務パターンを選択させ該選択結果を第３の記憶手段（図１に示す外部記憶装置１０４）に記憶させる選択手段（図８に示す画面タイプ指定エリア７１２，図１０に示す画面タイプ指定エリア９０５）と、前記第１〜第３の記憶手段から前記業務仕様情報，物理仕様情報，業務パターンの選択結果のそれぞれを読み出し、該読み出した各情報に基づいて、前記業務仕様情報で定義された各データ項目に対応したデータベース（図１に示すデータベース１１５）の構築（図２１のステップＳ２０１）、並びに前記データベースへのアクセスを行うための第１のプログラム（図１に示すＢｅａｎ１１４）の生成（図２１のステップＳ２０２，図２２に示すフローチャート），前記業務仕様情報で定義された各データ項目の入出力画面を前記選択された業務パターンで規定された画面パターンと前記物理仕様情報により指定された表示属性で表示するための第２のプログラム（図１に示すＪＳＰ１１２）の生成（図２１のステップＳ２０４，図２４，図２６〜図３２に示すフローチャート）、及び前記入出力画面からの入力情報を取得して該入力情報に基づいて前記第１のプログラム及び第２のプログラムの実行を制御するための第３のプログラム（図１に示すサーブレット１１３）の生成（図２１のステップＳ２０３，図２３に示すフローチャート））をそれぞれ行い、第４の記憶手段（図１に示す外部記憶装置１０４または、その他のサーバ装置の記憶装置）に記憶させる生成手段（図１に示すコード生成部１０７）とを有することを特徴とする。
【００１１】
本発明の第２の発明は、前記第１の入力手段は、前記複数のデータ項目をグループ化し、該グループ間の親子関係を定義した業務仕様情報（図３３に示す入出力テーブル）を入力可能であり、前記生成手段は、前記第２のプログラムを、前記各グループに対応する入出力画面が前記親子関係に応じて画面遷移表示するプログラムとして生成する（図３６に示すフローチャート）ことを特徴とする。
【００１２】
本発明の第３の発明は、前記第１の入力手段は、前記複数のデータ項目をグループ化し、各グループに対応する各入出力画面がタグ画面関係にあることを定義した業務仕様情報（図３８に示す入出力テーブル）を入力可能であり、前記生成手段は、前記第２のプログラムを、前記各グループに対応する各入出力画面をタグ画面として表示するプログラムとして生成する（図４１に示すフローチャート）ことを特徴とする。
【００１３】
本発明の第４の発明は、前記第１の入力手段は、あるデータ項目が他のデータ項目を参照する関係であることを定義した業務仕様情報（図４２に示す入出力テーブル）を入力可能であり、前記生成手段は、前記第２のプログラムを、前記業務仕様情報に対応する入出力画面の参照元となるデータ項目の入力欄に参照先となるデータ項目のデータを選択リストとして配置するプログラムとして生成する（図４４に示すフローチャート）ことを特徴とする。
【００１４】
本発明の第５の発明は、前記入出力画面の画面パターンに付随した処理は、データベースに対する項目データの検索処理，更新処理，追加処理，削除処理を含むことを特徴とする。
【００１５】
本発明の第６の発明は、ウェブアプリケーションプログラムを生成させるためのプログラム生成装置におけるプログラム生成方法において、複数のデータ項目の定義及び各データ項目間の関係を含む業務仕様情報を入力させ該入力結果を第１の記憶手段に記憶させる第１の入力工程（図３のステップＳ１０３）と、前記業務仕様情報で定義された各データ項目を入出力するための入出力画面の表示属性を示す物理仕様情報を入力させ該入力結果を第２の記憶手段に記憶させる第２の入力工程（図３のステップＳ１０４）と、前記入出力画面の画面パターンと該画面パターンに付随した処理の組み合わせを規定した複数の業務パターンからいずれかの業務パターンを選択させ該選択結果を第３の記憶手段に記憶させる選択工程（図３のステップＳ１０４）と、前記第１〜第３の記憶手段から前記業務仕様情報，物理仕様情報，業務パターンの選択結果のそれぞれを読み出し、該読み出した各情報に基づいて、前記業務仕様情報で定義された各データ項目に対応したデータベースの構築（図２１のステップＳ２０１）、並びに前記データベースへのアクセスを行うための第１のプログラムの生成（図２１のステップＳ２０２，図２２に示すフローチャート），前記業務仕様情報で定義された各データ項目の入出力画面を前記選択された業務パターンで規定された画面パターンと前記物理仕様情報により指定された表示属性で表示するための第２のプログラムの生成（図２１のステップＳ２０４，図２４，図２６〜図３２に示すフローチャート）、及び前記入出力画面からの入力情報を取得して該入力情報に基づいて前記第１のプログラム及び第２のプログラムの実行を制御するための第３のプログラムの生成（図２１のステップＳ２０３，図２３に示すフローチャート）をそれぞれ行い、第４の記憶手段に記憶させる生成工程（図２１のステップＳ１０６））とを有することを特徴とする。
【００１６】
本発明の第７の発明は、第６の発明に記載されたプログラム生成方法を実行するためのプログラムであることを特徴とする。
【００１７】
本発明の第８の発明は、第６の発明に記載されたプログラム生成方法を実行するためのプログラムを記録媒体にコンピュータが読み取り可能に記憶させたことを特徴とする。
【００１８】
【発明の実施の形態】
〔第１実施形態〕
以下、図を参照して本発明のアプリケーション開発システムについて説明する。
【００１９】
図１は、本発明の第１実施形態を示すプログラム生成装置の構成を示すブロック図である。
【００２０】
図において、１０１は入力装置で、キーボードやマウス等のポインティングデバイス等に相当し、業務仕様情報（データ項目のデータベースへの配置とデータ項目間の関係、即ちあるデータがどのような条件のもとにどのようなデータから求められるかを示す情報等）や、物理仕様情報（表示画面のプログラムコードを生成する際に用いる配置，色，表示の有無，サイズ等の条件情報等）の入力や、業務パターン（画面表示パターンと該画面表示パターンに付随したロジックの組み合わせを規定したもの）の選択等を行うことが可能である。
【００２１】
１０２は表示装置で、ＣＲＴ，ＬＣＤ等で構成され、業務仕様情報，物理仕様情報の入力画面や、該入力画面から入力された業務仕様情報や物理仕様情報、生成されたプログラムコード等を表示可能である。１０４はハードディスク等の外部記憶装置で、入力された業務仕様を記憶するための入出力テーブル１０９や入力された物理仕様を記憶するための物理仕様テーブル１１０、業務パターン選択情報１１１、生成されたプログラムコード（ＪＳＰコード１１２，サーブレット（Ｓｅｒｖｌｅｔ）コード１１３，Ｂｅａｎコード１１４）等を記憶するものである。
【００２２】
１０３は処理装置で、ＣＰＵ，ＲＯＭ，ＲＡＭ等から構成され、ＣＰＵがＲＯＭ，外部記憶装置１０４又はその他の記録媒体に格納されるプログラムをＲＡＭ上にロードして実行することにより実現されるものであり、画面制御部１０５，仕様解析部１０６，コード生成部１０７を備える。
【００２３】
画面制御部１０５は、入力装置１０１から業務仕様情報を入力するために表示装置１０２の画面（後述する図４，図５）を制御する業務仕様記述部１１６と、入力装置１０１から物理仕様情報を入力したり、業務処理パターンを選択するために表示装置１０２の画面（後述する図８〜図１１）を制御する物理仕様記述部１１７から構成される。
【００２４】
仕様解析部１０６は、入力装置１０１から入力された又は外部記憶装置１０４から読み出された業務仕様情報，物理仕様情報に対して字句解析や文法解析を行う。コード生成部１０７は、仕様解析部１０６により仕様解析された業務仕様情報，物理仕様情報，業務パターン選択情報に基づいてプログラムコード（ＪＳＰコード１１２，サーブレット（Ｓｅｒｖｌｅｔ）コード１１３，Ｂｅａｎコード１１４）を生成し、外部記憶装置１０４に記憶させる。また、コード生成部１０７は、外部記憶装置１０４から読み出された業務仕様情報（入出力テーブル１０９）に基づいて外部記憶装置１０４上にデータベース（ＤＢ）１１５を構築する。
【００２５】
１０８は全体制御部で、画面制御部１０５，仕様解析部１０６，コード生成部１０７等の各部の制御を行う。
【００２６】
図２は、図１に示したコード生成部１０７によって生成したサーブレット、ＪＳＰ、およびＢｅａｎを利用したウェブアプリケーションシステムの全体構成の一例を示す図である。
【００２７】
コード生成部１０７によって生成されたサーブレット、ＪＳＰ、およびＢｅａｎは、それぞれ実行可能な状態で、サーバ３０４側のアプリケーションサーバ３０６上に配置される。
【００２８】
このＷｅｂアプリケーションシステムは、クライアント３０１からウェブブラウザ３０２によって利用される。ウェブブラウザ３０２からＪＳＰ３０９にアクセスすることにより、ＨＴＭＬページを生成し、クライアント３０１側に返送する。そして、ウェブブラウザ３０２上には、ＪＳＰ３０９から送信されるＨＴＭＬページ３０３が表示される。
【００２９】
また、Ｗｅｂブラウザ３０２からのリクエストは、ＨＴＴＰ経由でサーバ３０４側に送信される。サーバ３０４にはＨＴＴＰサーバ３０５とアプリケーションサーバ３０６があり、アプリケーションサーバ３０６にはサーブレットやＪＳＰの実行環境が含まれている。
【００３０】
サーバ３０４側にリクエストが送信されると、リクエストに応じて該当するサーブレット３０７が起動される。サーブレット３０７は、対応するＢｅａｎ３０８に処理を要求する。さらに、Ｂｅａｎ３０８はＤＢアクセスオブジェクト３１０を利用してデータベース３１１にアクセスし、業務に関する処理やデータ加工などを行い、その処理結果を保持する。ＤＢアクセスオブジェクト３１０は、業務を分析、設計した結果、作成されるクラスや、再利用可能な既存のクラスである。
【００３１】
次に、サーブレット３０７からＪＳＰ３０９にＢｅａｎ３０８を渡し、ＪＳＰ３０９を呼び出す。ＪＳＰ３０９は、Ｂｅａｎ３０８で保持する処理結果を参照して、ＨＴＭＬページを生成し、クライアント３０１側に返送する。クライアント３０１側に返送されたＨＴＭＬページは、Ｗｅｂブラウザ３０２上に表示される。
【００３２】
サーブレット３０７は、Ｗｅｂブラウザ３０２からのリクエストの受け付け、Ｂｅａｎ３０８への処理要求、およびＪＳＰ３０９の呼び出しという、それぞれの間をつなぎ、制御する役割を持つ。ＪＳＰ３０９はＨＴＭＬページを出力するための表示に関することを受け持ち、Ｂｅａｎ３０８はデータベース３１１へのアクセス等の業務に関する処理を受け持つ。Ｂｅａｎ３０８やＪＳＰ３０９を利用せず、サーブレット３０７のみでＷｅｂブラウザ３０２からのリクエストを処理することは可能であるが、Ｂｅａｎ３０８やＪＳＰ３０９を利用することでそれぞれの役割を明確に分離することで、機能分担を簡潔に把握することができる。
【００３３】
図３は、本発明のプログラム生成装置における第１の制御処理手順の一例を示すフローチャートであり、図１に示した処理装置１０３の全体制御部１０８の動作に対応する。なお、Ｓ１０１〜Ｓ１０７は各ステップを示す。
【００３４】
図１に示した処理装置１０３は、コード生成する業務仕様（入出力テーブル）や物理仕様テーブルの入力及び業務パターンの選択を行う入力モードと、入力された業務仕様（入出力テーブル）や物理仕様テーブル，業務パターン選択情報からプログラムコードを生成する生成モードとを有する。
【００３５】
まず、全体制御部１０８が起動されると、ステップＳ１０１において、入力装置１０１からオペレータの指示により選択されたモードが生成モードか入力モードかを判定し、入力モードが選択されたと判定した場合には、ステップＳ１０２に進み、全体制御部１０８は、画面制御部１０５を起動する。
【００３６】
起動された画面制御部１０５は、ステップＳ１０３において、業務仕様記述部１１６により業務仕様入力画面（後述する図４，図５）を表示させ、生成するウェブアプリケーションのアプリケーション名，オペレータからの業務仕様の一形態である入出力テーブルへの項目入力を受け付け、該入出力テーブルを外部記憶装置１０４に格納する。
【００３７】
次に、画面制御部１０５は、ステップＳ１０４において、物理仕様記述部１１７を起動させる。起動された物理仕様記述部１１７は物理仕様入力画面（後述する図８〜図１１）を表示させ、オペレータからの物理仕様の一形態である物理仕様テーブルへの入力と業務パターンの選択を受け付け、この物理仕様テーブルと業務パターンの選択情報を外部記憶装置１０４にそれぞれ格納し、処理を終了する。
【００３８】
一方、ステップＳ１０１において、入力装置１０１からオペレータの指示により選択されたモードが生成モードであると判定した場合には、ステップＳ１０５に進み、全体制御部１０８は、外部記憶装置１０４に格納された入出力テーブルと物理仕様テーブルを読み出すとともに、仕様解析部１０６を起動させて、読み出した入出力テーブルと物理仕様テーブルの字句解析，文法解析を行う。
【００３９】
次に、ステップＳ１０６において、全体制御部１０８は、コード生成部１０７を起動させて、仕様解析部１０６で字句解析，文法解析が行われた入出力テーブルと物理仕様テーブル、そして選択された業務パターンに基づいてコード生成及びデータベースの構築を行う。
【００４０】
そして、ステップＳ１０７において、全体制御部１０８は、生成されたコードを、オペレータの指示により表示装置１０２に表示したり、外部記憶装置１０４に書き込む出力処理を行う。
【００４１】
以下、各処理を具体的に説明する。
【００４２】
まず、オペレータによって入力モードが選択された場合について説明する。
【００４３】
入力モードの選択により、全体制御部１０８は業務仕様記述部１１６を起動する。これにより、表示装置１０２に後述する図４に示す業務仕様入力画面が表示され、オペレータはこの業務仕様入力画面より業務仕様を入力装置１０１を用いて入力する。
【００４４】
以下、図４〜図６を参照して、本発明のプログラム生成装置における業務仕様（入出力データ）について説明する。
【００４５】
図４は、本発明のプログラム生成装置における業務仕様入力画面の一例を示す模式図であり、業務仕様記述部１１６により起動される。
【００４６】
図５は、本発明のプログラム生成装置における項目入力画面の一例を示す模式図であり、業務仕様記述部１１６により起動される。
【００４７】
図６は、本発明のプログラム生成装置における入出力テーブルのテーブル構成の一例を示す模式図である。
【００４８】
図４の業務仕様入力画面及び図５の項目入力画面から入力される業務仕様は、内部的には図６の入出力テーブルの形式で保存される。
【００４９】
まず、図４において、４００はアプリケーション名入力エリアで、生成するウェブアプリケーションのアプリケーション名（この例では「ＺｙｕｔｙｃｈＫａｎｒｉ」）を入力する。
【００５０】
４０１はデータファイル番号入力エリアで、生成するウェブアプリケーションの識別情報であるデータファイル番号（この例では「ＺｙｕｔｙｃｈＫａｎｒｉ」（アプリケーション名と同一でもよい））を入力するためのものであり、図６に示す入出力テーブルの欄１に格納される。４０２はファイル名入力エリアで、生成するウェブアプリケーションのデータファイル名（この例では「受注管理」）を入力するためのものであり、図６に示す入出力テーブルの欄３に格納される。４０３は説明入力エリア、４０４は備考入力エリアで、生成するウェブアプリケーションの説明等を入力する。４０５は削除ボタンで、このボタンをマウス等で指示することにより、対応するデータファイルが削除される。４０６は詳細ボタンで、このボタンをマウス等で指示することにより、対応するデータファイルの各項目情報（データ項目）を入力する項目入力画面（図５）が表示される。
【００５１】
図５において、５０１は並び順入力エリアで、対応するデータ項目の並び順（１，２，３，…）を入力するためのものであり、図６に示す入出力テーブルの欄１０に格納される。５０２はデータ項目番号入力エリアで、対応するデータ項目の識別情報であるデータ項目番号（この例では「ＤｅｎｐｙｏＮｏ」を含む９項目（ただし、図５では６項目のみ示している）を入力するためのものであり、図６に示す入出力テーブルの欄２に格納される。５０３はデータ項目名入力エリアで、対応するデータ項目の名称（この例では「伝票番号」を含む９項目）を入力するためのものであり、図６に示す入出力テーブルの欄４に格納される。
【００５２】
５０４はキー機能指定エリアで、対応する項目データのキー種別を指定するためのものであり、図６に示す入出力テーブルの欄５に格納される。このキー種別には主キーであることを示す「Ｋ」、第２キーであることを示す「Ｓ」、当該項目が参照関係であること示す「Ｒ」、当該項目が親子関係の子供であること示す「Ｐ」、タグ画面（ボタン）となることを示す「Ｂ」等がある。
【００５３】
５０７，５０８は参照先データファイル番号入力エリア，参照先データ項目番号入力エリアで、キー機能指定エリアが「Ｐ」又は「Ｒ」に設定されている場合のみ有効となり、「Ｒ」のときは、参照関係の対象データファイル番号，対象データファイル項目番号を指定し、「Ｐ」のときは、親子関係の親の対象データファイル番号，対象データファイル項目番号を指定するためのものであり、図６に示す入出力テーブルの欄６，欄７にそれぞれ格納される。
【００５４】
５０５は桁数入力エリアで、対応するデータ項目の桁数を入力するためのものであり、図６に示す入出力テーブルの欄８に格納される。５０６はデータタイプ入力エリアで、対応するデータ項目のデータタイプ（テキスト，数値，日付，通貨等）を入力するためのものであり、図６に示す入出力テーブルの欄１１に格納される。５０９は式入力エリアで、コード生成補助情報を表しており、例えば、当該データ項目が他のデータ項目より算出される等の場合は、その算出式等を記載し、また、タグ画面生成（キー機能指定エリアが「Ｂ」）等の場合には、タグ対象のパネル名称を指定するためのものであり、図６に示す入出力テーブルの欄９に格納される。
【００５５】
５１０は削除ボタンで、このボタンをマウス等で指示することにより、対応するデータ項目が削除される。５１１は閉じるボタンで、このボタンをマウス等で指示することにより、データ項目入力画面が終了される。５１２は適用ボタンで、このボタンをマウス等で指示することにより、業務仕様入力画面（図４）及びデータ項目入力画面（図５）で入力された業務仕様より入出力テーブルが生成され、外部記憶装置１０４に記憶される。
【００５６】
図７は、本発明のプログラム生成装置において生成されるウェブアプリケーションにおける表示画面の一例を示す模式図である。
【００５７】
図７に示すように、生成されるウェブアプリケーションにおける表示画面は詳細表示２０１と一覧表示２０２から構成される。
【００５８】
以下、図８〜図１１を参照して、本発明のプログラム生成装置における物理仕様について説明する。
【００５９】
図８〜図１１は、本発明のプログラム生成装置における物理仕様入力画面の一例を示す模式図であり、物理仕様記述部１１７により起動される。なお、各図において同一のものには同一の符号を付してある。
【００６０】
図１２は、本発明のプログラム生成装置における物理仕様テーブルのテーブル構成の一例を示す模式図である。物理仕様情報とは、例えば画面表示／未表示の設定や画面サイズ，色等のように、プログラムコードを生成するための条件（特に、ユーザインタフェース部分の物理的な仕様）を記述したもので、業務仕様の各データ項目に付随している。図８〜図１１の物理仕様入力画面から入力される物理仕様情報は、内部的には図４に示した物理仕様テーブルの形式で保存される。
【００６１】
まず、図８において、７０１はデータファイル選択エリアで、物理仕様を入力するデータファイル（この例では「受注管理  ＺｙｕｔｙｃｈＫａｎｒｉ」）を選択するためのものである。７０４は画面タグで、画面全体に関する物理仕様を入力する場合に選択するものであり、このタグを選択することにより図８に示す画面が表示される。７０５はファイルタグで、ファイルに関する物理仕様を入力する場合に選択するものであり、このタグを選択することにより図１０に示す画面が表示される。７０６は項目タグで、各項目に関する物理仕様を入力する場合に選択するものであり、このタグを選択することにより図１１に示す画面が表示される。
【００６２】
７０２はリセットボタンで、この画面での入力を初期値に戻す場合に選択する。７０３は適用ボタンで、この画面での入力で物理テーブルを更新する場合に適用する。７０８は背景色指定エリアで、ウェブアプリケーション画面の背景色を指定することができる。なお、ボタン７０８ａを指示することにより、図９に示す色選択画面が表示され背景色を選択することも可能である。
【００６３】
７０９は背景壁紙指定エリアで、ウェブアプリケーション画面の背景壁紙を指定することができる。７１０は詳細サイズ指定エリアで、ウェブアプリケーション画面の詳細表示（図７の詳細表示２０１）のサイズを指定することができる。７１１は一覧サイズ指定エリアで、ウェブアプリケーション画面の一覧表示（図７の一覧表示２０２）のサイズを指定することができる。７１２は画面タイプ指定エリアで、業務パターンを指定することができる。この業務パターンには、後述する図１３〜図１９に示すように、一覧表示パターン，詳細表示パターン，更新パターン，一覧更新パターン，検索一覧パターン，一覧詳細パターン，一覧詳細更新パターン等がある。
【００６４】
図１０において、９０１は一覧枠線の太さを指定するエリア、９０２は一覧枠線の色を指定するエリア、９０３は一覧横サイズを指定するエリア、９０４は一覧縦サイズを指定するエリアである。
【００６５】
９０５は画面タイプ指定エリアで、業務パターン（後述する図１３〜図１９に示す一覧表示，詳細表示，更新，一覧更新，検索一覧，一覧詳細，一覧詳細更新のいずれか）を指定（選択）することができ、画面タイプ指定エリア７１２（図８）と同一の機能を有する。９０６は表示行数指定エリアで、一覧表示の表示行数を指定するエリアである。９０７は追加行数指定エリアで、画面タイプ（業務パターン）で「一覧更新」等が選択された場合には、データを追加するための追加行の数を指定するエリアである。
【００６６】
９０８はリセットボタンで、この画面での入力を初期値に戻す場合に選択する。９０９は適用ボタンで、この画面での入力で物理テーブルを更新する場合に適用する。
【００６７】
図１１において、１００１はデータ項目指定エリアで、物理仕様を入力するデータ項目を指定するエリアである。１００４は詳細表示形式指定エリアで、データ項目指定エリア１００１で指定されている項目を詳細表示に「表示」又は「未表示」とするかを選択する。１００５は一覧表示形式指定エリアで、データ項目指定エリア１００１で指定されている項目を一覧表示に「表示」又は「未表示」とするかを選択する。
【００６８】
１００２はリセットボタンで、この画面での入力を初期値に戻す場合に選択する。１００３は適用ボタンで、この画面での入力で物理テーブルを更新する場合に適用する。
【００６９】
図１２に示す物理仕様テーブルの例では、対応するデータファイルの識別番号（データファイル番号）が欄１に記述されているように「ＺｙｕｔｙｃｈＫａｎｒｉ」、データファイル項目の識別番号（データ項目番号）が欄２に記述されているように「ＤｅｎｐｙｏＮｏ」であることを示している。また、欄３のメタソースコードは、プログラムコード生成のための条件式を表しており、この条件式の値を欄４のパラメータ値が表している。
【００７０】
図１２に示す物理仕様テーブルの１行目は、条件式「ＤｅｔａｉｌＴｙｐｅ」のパラメータ値に「０」がセットされていることを示している。これは、詳細表示における伝票番号項目を「表示」とするようコード生成指示を表現したものである。即ち、図１１の詳細表示形式指定エリア１００４で「表示」が指定された場合に対応する。
【００７１】
また、図１２に示す物理仕様テーブルの２行目は、条件式「ＬｉｓｔＴｙｐｅ」のパラメータ値に「１」がセットされていることを示している。これは、一覧表示における伝票番号項目を「未表示」とするようコード生成指示を表現したものである。即ち、図１１の一覧表示形式指定エリア１００５で「未表示」が指定された場合に対応する。
【００７２】
以下、図１３〜図２０を参照して、本発明のプログラム生成装置における業務パターンについて説明する。
【００７３】
図１３は、本発明のプログラム生成装置における業務パターンとして「一覧表示」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【００７４】
図１３に示す一覧表示画面は、各項目が横並びとなり、各項目名称とその値が１対ｎの関係で構成されており、データベース内のデータの一覧表示（いわゆるオカレンス表示）等として用いられる。なお、入力機能及びボタン機能は付されていない。
【００７５】
図１４は、本発明のプログラム生成装置における業務パターンとして「詳細表示」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【００７６】
図１４に示す詳細表示画面は、各項目が縦並びとなり、各項目名称とその値が１対１の関係で構成される。なお、入力機能及びボタン機能は付されていない。
【００７７】
図１５は、本発明のプログラム生成装置における業務パターンとして「更新」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【００７８】
図１５に示す更新画面は、各項目が縦並びとなり、各項目名称とその値が１対１の関係で構成され、データベースに対するデータの更新、新規登録、削除、表示（検索）等の機能を有する。
【００７９】
なお、各項目のデータ表示エリア１５０１は入力可能となっており、キー項目を入力して「表示」ボタン１５０５を指示することにより、データベースを検索して該検索結果を表示することができる。また、データ表示エリア１５０１に表示されているデータに変更を加え、「更新」ボタン１５０２を指示することにより、データベースに対してデータ更新を行うことができる。
【００８０】
また、データ表示エリア１５０１に新規のデータを入力し、「新規」ボタン１５０３を指示することにより、データベースに対してデータ表示エリアに表示されているデータの新規登録を行うことができる。さらに、「削除」ボタン１５０４を指示することにより、データベースに対してデータ表示エリア１５０１に表示されているデータの削除を行うことができる。
【００８１】
また、「取消」ボタン１５０６を指示することにより、データ表示エリア１５０１に表示されているデータをクリアすることができる。さらに、「閉じる」ボタン１５０７を指示することにより、更新画面を閉じることができる。
【００８２】
図１６は、本発明のプログラム生成装置における業務パターンとして「一覧更新」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【００８３】
図１６に示す一覧更新画面は、各項目が横並びとなり、各項目名称とその値が１対ｎの関係で構成されており、データベース内のデータの一覧表示（いわゆるオカレンス表示）等として用いられる。
【００８４】
なお、１レコード（１行）ごとに「削除」ボタン１６０１が設けられており、このボタンを指示することにより、対応するレコードを画面から削除することができる。また、「削除」ボタン１６０１が設けられている行のデータ表示エリア１６０３のデータを変更することができる。
【００８５】
さらに、「削除」ボタン１６０１の代わりに「追加用」の文字列１６０２が付されている行はデータ追加行であり、この行のデータ表示エリア１６０３にデータを入力することにより、レコードを画面に追加することができる。
【００８６】
また、１６０４は「適用」ボタンで、このボタンを指示することにより、この一覧更新画面での入力を有効としてデータベースを更新することができる。
【００８７】
図１７は、本発明のプログラム生成装置における業務パターンとして「検索一覧」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【００８８】
図１７に示す検索一覧画面は、データベースに対するデータの検索機能を有する画面であり、検索キーを入力するための検索キー入力エリア１７０１と検索結果を一覧表示するための一覧表示エリア１７０２から構成される。
【００８９】
検索キー入力エリア１７０１は、各項目が縦並びとなり、各項目名称とその値が１対１の関係で構成されており、データ入力エリア１７０３に示すいずれかの項目にキー項目を入力して「検索」ボタン１７０６を指示することにより、データベースを検索して該検索結果を受注管理一覧（一覧表示エリア１７０２）に一覧表示することができる。
【００９０】
また、「取消」ボタン１７０４を指示することにより、データ入力エリア１７０３に入力されたデータをクリアすることができる。さらに、「閉じる」ボタン１７０５を指示することにより、検索一覧画面を閉じることができる。
【００９１】
また、一覧表示エリア１７０２は、各項目が横並びとなり、各項目名称とその値が１対ｎの関係で構成されており、データベースの検索結果を一覧表示（オカレンス表示）する。
【００９２】
図１８は、本発明のプログラム生成装置における業務パターンとして「一覧詳細」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【００９３】
図１８に示す一覧詳細画面は、一覧表示ウィンドウ１８０１と詳細表示ウィンドウ１８０２の２つのウィンドウから構成される。
【００９４】
一覧表示ウィンドウ１８０１は、各項目が横並びとなり、各項目名称とその値が１対ｎの関係で構成されており、データベース内のデータの一覧表示（いわゆるオカレンス表示）等として用いられ、データ入力機能は付されていない。
【００９５】
なお、１レコード（１行）ごとに「詳細」ボタン１８０３が設けられており、このボタンを指示することにより、詳細表示ウィンドウ１８０２をポップアップ表示させ、対応するレコードの詳細情報を詳細表示ウィンドウ１８０２内のデータ表示エリア１８０４に表示させることができる。
【００９６】
詳細表示ウィンドウ１８０２は、各項目が縦並びとなり、各項目名称とその値が１対１の関係で構成され、一覧表示ウィンドウ１８０１内の「詳細」ボタン１８０３が指示されたレコードの詳細情報をデータ表示エリア１８０４に表示させるのみで、データ入力機能は付されていない。
【００９７】
図１９は、本発明のプログラム生成装置における業務パターンとして「一覧詳細更新」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【００９８】
図１９に示す一覧詳細更新画面は、一覧表示ウィンドウ１９０１と詳細検索ウィンドウ１９０２の２つのウィンドウから構成される。
【００９９】
一覧表示ウィンドウ１９０１は、各項目が横並びとなり、各項目名称とその値が１対ｎの関係で構成されており、データベース内のデータの一覧表示（いわゆるオカレンス表示）等として用いられ、データ入力機能は付されていない。
【０１００】
なお、１レコード（１行）ごとに「詳細」ボタン１９０３が設けられており、このボタンを指示することにより、詳細検索ウィンドウ１９０２をポップアップ表示させ、対応するレコードの詳細情報を詳細検索ウィンドウ１９０２内のデータ表示エリア１９０５に表示させることができる。
【０１０１】
また、追加ボタン１９０４を指示した場合にも、詳細検索ウィンドウ１９０２がポップアップ表示され、詳細検索ウィンドウ１９０２で新規レコードの詳細情報の追加を行うことができる。
【０１０２】
詳細検索ウィンドウ１９０２は、各項目が縦並びとなり、各項目名称とその値が１対１の関係で構成され、データベースに対するデータの更新、新規登録、削除、表示（検索）等の機能を有する。
【０１０３】
なお、各項目のデータ表示エリア１９０５は入力可能となっており、キー項目を入力して「表示」ボタン１９０９を指示することにより、データベースを検索して該検索結果を表示することができる。また、データ表示エリア１９０５に表示されているデータに変更を加え、「更新」ボタン１９０６を指示することにより、データベースに対してデータ更新を行うことができる。
【０１０４】
また、データ表示エリア１９０５に新規のデータを入力し、「新規」ボタン１９０７を指示することにより、データベースに対してデータ表示エリアに表示されているデータの新規登録を行うことができる。さらに、「削除」ボタン１９０８を指示することにより、データベースに対してデータ表示エリア１９０５に表示されているデータの削除を行うことができる。
【０１０５】
また、「取消」ボタン１９１０を指示することにより、データ表示エリア１９０５に表示されているデータをクリアすることができる。さらに、「閉じる」ボタン１９１１を指示することにより、詳細検索ウィンドウ１９０２を閉じることができる。
【０１０６】
図２０は、選択される業務パターンにより生成されるウェブアプリケーションプログラムの実行時に表示される画面の内容を示した図である。
【０１０７】
以下、図２１〜図３１を参照して、図１に示したコード生成部１０７によるコード生成処理について説明する。
【０１０８】
図２１は、本発明の第２の制御処理手順の一例を示すフローチャートであり、図１に示したコード生成部１０７によるコード生成処理に対応する。なお、Ｓ２０１〜Ｓ２０４は各ステップを示す。
【０１０９】
まず、ステップＳ２０１において、入出力テーブル１０９に格納された業務仕様情報に基づいて、入出力テーブル１０９内の各項目データを記憶するためのデータベースを外部記憶装置１０４上にデータベース１１５を構築（生成）する。なお、この時、入出力テーブル１０９の欄５において、主キー「Ｋ」，サブキー「Ｓ」に設定された項目を主キー，サブキーとする。このデータベース１１５は、例えばＳＱＬ等を利用したデータベースである。
【０１１０】
次に、ステップＳ２０２において、ステップＳ２０１で構築したデータベース１１５に対するアクセスを行うＢｅａｎ１１４を、入出力テーブル１０９及び業務パターン選択情報１１１に基づいて生成する（詳細は図２２に示す）。
【０１１１】
次に、ステップＳ２０３において、入出力テーブル１０９及び業務パターン選択情報１１１に基づいて、ウェブブラウザからの入力データを取得してウェブアプリケーション全体を制御するサーブレット１１３を生成する（詳細は図２３に示す）。
【０１１２】
次に、ステップＳ２０４において、ウェブブラウザへの表示を制御する（図１３〜図１９に示した画面のウェブブラウザへの出力を制御する）ＪＳＰ１１２を生成する（詳細は図２４〜図３２に示す）。
【０１１３】
そして、図３のステップＳ１０７にリターンして、生成した各コードを外部記憶装置１０４に格納する。
【０１１４】
図２２は、本発明の第３の制御処理手順の一例を示すフローチャートであり、図２１のステップＳ２０２に示したＢｅａｎ生成処理に対応する。なお、Ｓ３０１〜Ｓ３０６は各ステップを示す。
【０１１５】
まず、ステップＳ３０１において、選択された業務パターン（業務パターン選択情報１１１）がいずれの業務パターンであるか判断し、「一覧表示」，「詳細表示」「検索一覧」，「一覧詳細」のいずれかであると判定した場合には、ステップＳ３０２に進み、データベースの検索用Ｂｅａｎ、即ちデータベースに対して検索処理を行うＢｅａｎを生成し、処理をリターンする。
【０１１６】
一方、ステップＳ３０１で、業務パターン選択情報１１１が「更新」，「一覧更新」，「一覧詳細更新」のいずれかであると判定した場合には、ステップＳ３０３〜Ｓ３０６において、データベースの更新用Ｂｅａｎ，追加用Ｂｅａｎ，削除用Ｂｅａｎ，検索用Ｂｅａｎ、即ちデータベースに対して更新処理，追加処理，削除処理，検索処理を行うＢｅａｎをそれぞれ生成し、Ｂｅａｎ生成処理を終了する。
【０１１７】
なお、検索用Ｂｅａｎ，更新用Ｂｅａｎ，追加用Ｂｅａｎ，削除用Ｂｅａｎの各ファイル名は、例えば、アプリケーション名にそれぞれ文字列“ＢｅａｎＫｅｎｓａｋｕ”，“ＢｅａｎＫｏｕｓｈｉｎ”，“ＢｅａｎＴｓｕｉｋａ”，“ＢｅａｎＳａｋｕｚｙｏ”を付加し拡張子を“ｊａｖａ（登録商標）”としたＢｅａｎファイルとする。
【０１１８】
図２３は、本発明の第４の制御処理手順の一例を示すフローチャートであり、図２１のステップＳ２０３に示したサーブレット生成処理に対応する。なお、Ｓ４０１〜Ｓ４０４は各ステップを示す。
【０１１９】
まず、ステップＳ４０１において、サーブレットファイルを生成する。このサーブレットファイルのファイル名は、例えば、アプリケーション名に文字列“Ｓｅｒｖｌｅｔ”を付加し拡張子を“ｊａｖａ（登録商標）”とする。
【０１２０】
次に、ステップＳ４０２において、ウェブブラウザからの入力情報を受け取るコードをサーブレットファイル内に生成する。
【０１２１】
次に、ステップＳ４０３において、「ステップＳ４０２で生成したコードで受け取る入力情報に対応する業務処理のＢｅａｎを起動して業務処理を実行させるためのコード」をサーブレットファイル内に生成する。なお、ここで生成されるコードは、選択された業務パターンによって異なるものとなる。業務パターン選択情報が「一覧表示」，「詳細表示」「検索一覧」，「一覧詳細」のいずれかである場合には、検索指示が入力されたことを示すウェブブラウザからの入力情報に応じて、検索用Ｂｅａｎを呼び出して実行させるコードを生成し、一方、業務パターン選択情報が「更新」，「一覧更新」，「一覧詳細更新」のいずれかである場合には、更新，追加，削除，検索指示が入力されたことを示すウェブブラウザからの入力情報に応じて、更新用Ｂｅａｎ，追加用Ｂｅａｎ，削除用Ｂｅａｎ，検索用Ｂｅａｎをそれぞれ呼び出して実行させるコードを生成する。
【０１２２】
次に、ステップＳ４０４において、「ＪＳＰを呼び出して、ステップＳ４０３で業務処理を実行させたＢｅａｎの処理結果を表示させるコード」をサーブレットファイル内に生成し、サーブレット生成処理を終了する。
【０１２３】
なお、業務パターン選択情報が「一覧詳細」である場合には、図１８に示した一覧表示ウィンドウ１８０１と詳細表示ウィンドウ１８０２の２つのウィンドウにそれぞれサーブレット（一覧表示ウィンドウ用のサーブレット，詳細表示ウィンドウ用のサーブレット）を生成するものとする。そして、一覧表示ウィンドウ用のサーブレットには、一覧表示ウィンドウ１８０１上で「詳細」ボタン１８０３が指示されたことを示す入力情報を取得した場合に、検索用Ｂｅａｎを呼び出して対応するレコードの情報を検索させ、詳細表示ウィンドウ用のＪＳＰを呼び出すためのコードを記載しておくものとする。これにより、一覧表示ウィンドウ１８０１上で「詳細」ボタン１８０３を指示すると、詳細表示ウィンドウ１８０２がポップアップされ、対応するレコードの詳細情報が表示されるようになる。
【０１２４】
また、業務パターン選択情報が「一覧詳細更新」である場合にも、図１９に示した一覧表示ウィンドウ１９０１と詳細検索ウィンドウ１９０２の２つのウィンドウにそれぞれサーブレット（一覧表示ウィンドウ用のサーブレット，詳細検索ウィンドウ用のサーブレット）を生成するものとする。そして、一覧表示ウィンドウ用のサーブレットには、一覧表示ウィンドウ１９０１上で「詳細」ボタン１９０３，「追加」ボタン１９０４が指示されたことを示す入力情報を取得した場合に、（「詳細」ボタン１９０３が指示された場合は検索用Ｂｅａｎを呼び出して対応するレコードの情報を検索させ、）詳細更新ウィンドウ用のＪＳＰを呼び出すためのコードを記載しておくものとする。これにより、一覧表示ウィンドウ１９０１上で「詳細」ボタン１９０３又は「追加」ボタン１９０４を指示すると、詳細検索ウィンドウ１９０２がポップアップされ、特に「詳細」ボタン１９０３が指示された場合は該当するレコードの詳細情報が詳細検索ウィンドウ１９０２に表示されるようになる。
【０１２５】
さらに、詳細検索ウィンドウ用のサーブレットは、詳細検索ウィンドウ１９０２上での「更新」，「新規」，「削除」，「表示」ボタンが指示されたことが入力されたことに応じて、更新用Ｂｅａｎ，追加用Ｂｅａｎ，削除用Ｂｅａｎ，検索用Ｂｅａｎをそれぞれ呼び出して実行させ、詳細更新ウィンドウ用のＪＳＰを呼び出すためのコードを記載しておくものとする。
【０１２６】
図２４は、本発明の第５の制御処理手順の一例を示すフローチャートであり、図２１のステップＳ２０４に示したＪＳＰ生成処理に対応する。なお、Ｓ５０１〜Ｓ５０８は各ステップを示す。
【０１２７】
まず、ステップＳ５０１において、選択された業務パターン（業務パターン選択情報１１１）がいずれの業務パターンであるか判断し、「一覧表示」であると判定した場合には、ステップＳ５０２に進み、一覧表示ＪＳＰ生成処理（詳細は図２６に示す）を行い、ＪＳＰ生成処理を終了する。
【０１２８】
また、ステップＳ５０１で、選択された業務パターン（業務パターン選択情報１１１）が「詳細表示」であると判定した場合には、ステップＳ５０３に進み、詳細表示ＪＳＰ生成処理（詳細は図２７に示す）を行い、ＪＳＰ生成処理を終了する。
【０１２９】
また、ステップＳ５０１で、選択された業務パターン（業務パターン選択情報１１１）が「更新」であると判定した場合には、ステップＳ５０４に進み、更新ＪＳＰ生成処理（詳細は図２８に示す）を行い、ＪＳＰ生成処理を終了する。
【０１３０】
また、ステップＳ５０１で、選択された業務パターン（業務パターン選択情報１１１）が「一覧更新」であると判定した場合には、ステップＳ５０５に進み、一覧更新ＪＳＰ生成処理（詳細は図２８に示す）を行い、ＪＳＰ生成処理を終了する。
【０１３１】
また、ステップＳ５０１で、選択された業務パターン（業務パターン選択情報１１１）が「検索一覧」であると判定した場合には、ステップＳ５０６に進み、検索一覧ＪＳＰ生成処理（詳細は図２９に示す）を行い、ＪＳＰ生成処理を終了する。
【０１３２】
また、ステップＳ５０１で、選択された業務パターン（業務パターン選択情報１１１）が「一覧詳細」であると判定した場合には、ステップＳ５０７に進み、一覧詳細ＪＳＰ生成処理（詳細は図３０に示す）を行い、ＪＳＰ生成処理を終了する。
【０１３３】
また、ステップＳ５０１で、選択された業務パターン（業務パターン選択情報１１１）が「一覧詳細更新」であると判定した場合には、ステップＳ５０８に進み、一覧詳細更新ＪＳＰ生成処理（詳細は図３１に示す）を行い、ＪＳＰ生成処理を終了する。
【０１３４】
図２５は、本発明におけるＪＳＰファイル生成を模式的に示す模式図である。
【０１３５】
図２５に示すように、ＪＳＰ内のコード生成においては、入出力テーブル１０９の欄３のデータファイル名より、一覧タイトルを表示するための一覧タイトル表示コード２５０１，詳細タイトルを表示するための詳細タイトル表示コード２５０３がＪＳＰ内に生成される。
【０１３６】
また、入出力テーブル１０９の欄４のデータ項目名より、一覧表示のための一覧表示コード２５０２，詳細表示のための詳細表示コード２５０４がＪＳＰ内に生成される。
【０１３７】
図２６は、本発明の第６の制御処理手順の一例を示すフローチャートであり、図２４のステップＳ５０２に示した一覧表示ＪＳＰ生成処理に対応する。なお、Ｓ６０１〜Ｓ６０７は各ステップを示す。
【０１３８】
まず、ステップＳ６０１において、ＪＳＰファイルを生成する。このＪＳＰファイルのファイル名は、例えば、アプリケーション名とし拡張子を“ｊａｖａ（登録商標）”とする。
【０１３９】
次に、ステップＳ６０２において、「検索用Ｂｅａｎを用いてデータベース内の全レコードを取得するコード」をＪＳＰファイル内に生成する。
【０１４０】
次に、ステップＳ６０３において、「対応するサーブレットを起動するコード」をＪＳＰファイル内に生成する。
【０１４１】
次に、ステップＳ６０４において、「一覧タイトルを表示するコード」をＪＳＰファイル内に生成する。この一覧タイトルは、例えば、入出力テーブル１０９の欄４のデータファイル名に文字列“一覧”を付加したものとする。
【０１４２】
次に、ステップＳ６０５において、「物理仕様テーブル内の「ＬｉｓｔＴｙｐｅ」の値が表示「０」となっている項目名を順次横並びに表示するコード」をＪＳＰファイル内に生成する。
【０１４３】
次に、ステップＳ６０６において、「ステップＳ６０２でＢｅａｎより取得した全レコードに対してステップＳ６０７の処理を繰り返し行う（ループ）ためのコード」をＪＳＰファイル内に生成する。
【０１４４】
次に、ステップＳ６０７において、「カレントのレコードの「ＬｉｓｔＴｙｐｅ」の値が表示「０」となっている項目の項目データを順次横並びに表示するコード」をＪＳＰファイル内に生成し、一覧表示ＪＳＰ生成処理を終了する。
【０１４５】
図２７は、本発明の第７の制御処理手順の一例を示すフローチャートであり、図２４のステップＳ５０３に示した詳細表示ＪＳＰ生成処理に対応する。なお、Ｓ７０１〜Ｓ７０５は各ステップを示す。
【０１４６】
まず、ステップＳ７０１において、ＪＳＰファイルを生成する。このＪＳＰファイルのファイル名は、例えば、アプリケーション名とし拡張子を“ｊａｖａ（登録商標）”とする。
【０１４７】
次に、ステップＳ７０２において、「検索用Ｂｅａｎを参照して検索結果を取得するコード」をＪＳＰファイル内に生成する。
【０１４８】
次に、ステップＳ７０３において、「対応するサーブレットを起動するコード」をＪＳＰファイル内に生成する。
【０１４９】
次に、ステップＳ７０４において、「詳細タイトルを表示するコード」をＪＳＰファイル内に生成する。この詳細タイトルは、例えば、入出力テーブル１０９の欄４のデータファイル名とする。
【０１５０】
次に、ステップＳ７０５において、「物理仕様テーブル内の「ＤｅｔａｉｌＴｙｐｅ」の値が表示「０」となっている項目名とステップＳ７０２でＢｅａｎから参照した該当する項目データ（検索結果）を順次横並びに表示するコード」をＪＳＰファイル内に生成し、詳細表示ＪＳＰ生成処理を終了する。
【０１５１】
図２８は、本発明の第８の制御処理手順の一例を示すフローチャートであり、図２４のステップＳ５０４に示した更新ＪＳＰ生成処理に対応する。なお、Ｓ８０１〜Ｓ８０６は各ステップを示す。
【０１５２】
まず、ステップＳ８０１において、ＪＳＰファイルを生成する。このＪＳＰファイルのファイル名は、例えば、アプリケーション名とし拡張子を“ｊａｖａ（登録商標）”とする。
【０１５３】
次に、ステップＳ８０２において、「検索用Ｂｅａｎを参照して検索結果を取得するコード」をＪＳＰファイル内に生成する。
【０１５４】
次に、ステップＳ８０３において、「対応するサーブレットを起動するコード」をＪＳＰファイル内に生成する。
【０１５５】
次に、ステップＳ８０４において、「詳細タイトルを表示するコード」をＪＳＰファイル内に生成する。この詳細タイトルは、例えば、入出力テーブル１０９の欄４のデータファイル名とする。
【０１５６】
次に、ステップＳ８０５において、「物理仕様テーブル内の「ＤｅｔａｉｌＴｙｐｅ」の値が表示「０」となっている項目名と該項目データの入力エリア（初期値：Ｓ８０２でＢｅａｎから参照した該当する項目の検索結果）を順次縦並びに表示するコード」をＪＳＰファイル内に生成する。
【０１５７】
次に、ステップＳ８０６において、「「更新」，「新規」，「削除」，「表示」，「取消」，「閉じる」ボタンを生成するコード」をＪＳＰファイル内に生成し、更新ＪＳＰ生成処理を終了する。なお、「取消」，「閉じる」ボタンを指示された場合の処理は、ＪＳＰファイル内に、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ等のスクリプト言語で記載しておくものとする。
【０１５８】
なお、入出力テーブル１０９の欄９に式として、入力値の制御等の業務ロジックが記載されている場合には、項目データ入力エリアの入力を該業務ロジックをＪａｖａ（登録商標）Ｓｃｒｉｐｔ等のスクリプト言語にて制御するようにＪＳＰファイル内に記載するものとする（サーブレットやＢｅａｎでも同様のロジックを実行させるようにしてもよい）。なお、この業務ロジックとは、項目の並び順「８」の受注数が「１０」以上の値と規定されている場合等、「［８］＞＝１０，０，１」とし、この判定結果が「０（真）」の場合は、並び順「８」の受注数の入力を受け付け、一方、「１（偽）」の場合は、エラーメッセージ等を表示し、受注数の入力を受け付けないようにＪａｖａ（登録商標）Ｓｃｒｉｐｔ等のスクリプト言語で記載するものである。
【０１５９】
図２９は、本発明の第９の制御処理手順の一例を示すフローチャートであり、図２４のステップＳ５０５に示した一覧更新ＪＳＰ生成処理に対応する。なお、Ｓ９０１〜Ｓ９０８は各ステップを示す。
【０１６０】
まず、ステップＳ９０１において、ＪＳＰファイルを生成する。このＪＳＰファイルのファイル名は、例えば、アプリケーション名とし拡張子を“ｊａｖａ（登録商標）”とする。
【０１６１】
次に、ステップＳ９０２において、「検索用Ｂｅａｎを用いてデータベース内の全レコードを取得するコード」をＪＳＰファイル内に生成する。
【０１６２】
次に、ステップＳ９０３において、「対応するサーブレットを起動するコード」をＪＳＰファイル内に生成する。
【０１６３】
次に、ステップＳ９０４において、「一覧タイトルを表示するコード」をＪＳＰファイル内に生成する。この一覧タイトルは、例えば、入出力テーブル１０９の欄４のデータファイル名に文字列“一覧”を付加したものとする。
【０１６４】
次に、ステップＳ９０５において、「物理仕様テーブル内の「ＬｉｓｔＴｙｐｅ」の値が表示「０」となっている項目に対して「削除」ボタン用のエリアと該項目の項目名を順次横並びに表示するコード」をＪＳＰファイル内に生成する。
【０１６５】
次に、ステップＳ９０６において、「ステップＳ６０２でＢｅａｎより取得した全レコード数＋業務仕様テーブル１１０内に設定された図示しない追加行数値（図１０の９０７で入力）だけステップＳ９０７の処理を繰り返し行う（ループ）ためのコード」をＪＳＰファイル内に生成する。
【０１６６】
次に、ステップＳ９０７において、「カレントのレコードの「ＬｉｓｔＴｙｐｅ」の値が表示「０」となっている項目に対して、「削除」ボタンと該項目の項目データ入力エリアを初期値をＢｅａｎより取得した項目データ（Ｓ９０２の検索結果）として順次横並びに表示するコード」をＪＳＰファイル内に生成する。なお、カレントレコードのデータが空の場合には「削除」ボタンの代わりに、文字列“追加”を表示するコードを生成するようにする。
【０１６７】
次に、ステップＳ９０８において、「「適用」ボタンを生成するコード」をＪＳＰファイル内に生成し、一覧更新ＪＳＰ生成処理を終了する。
【０１６８】
なお、入出力テーブル１０９の欄９に式として、入力値の制御等の業務ロジックが記載されている場合には、項目データ入力エリアの入力を該業務ロジックをＪａｖａ（登録商標）Ｓｃｒｉｐｔにて制御するようにＪＳＰファイル内に記載するものとする。なお、この業務ロジックとは、受注数が「１０」以上と規定されている場合等、「［８］＞＝１０，０，１」のようにＪａｖａ（登録商標）Ｓｃｒｉｐｔ等のスクリプト言語で記載するものである。
【０１６９】
図３０は、本発明の第１０の制御処理手順の一例を示すフローチャートであり、図２４のステップＳ５０６に示した検索一覧ＪＳＰ生成処理に対応する。なお、Ｓ１００１〜Ｓ１０１０は各ステップを示す。
【０１７０】
まず、ステップＳ１００１において、ＪＳＰファイルを生成する。このＪＳＰファイルのファイル名は、例えば、アプリケーション名とし拡張子を“ｊａｖａ（登録商標）”とする。
【０１７１】
次に、ステップＳ１００２において、「検索用Ｂｅａｎを参照して検索結果を取得するコード」をＪＳＰファイル内に生成する。
【０１７２】
次に、ステップＳ１００３において、「対応するサーブレットを起動するコード」をＪＳＰファイル内に生成する。
【０１７３】
次に、ステップＳ１００４において、「検索タイトルを表示するコード」をＪＳＰファイル内に生成する。この検索タイトルは、例えば、入出力テーブル１０９の欄４のデータファイル名に文字列“検索”を付加したものとする。
【０１７４】
次に、ステップＳ１００５において、「物理仕様テーブル内の「ＤｅｔａｉｌＴｙｐｅ」の値が表示「０」となっている項目名と該項目データの入力エリアを順次縦並びに表示するコード」をＪＳＰファイル内に生成する。
【０１７５】
次に、ステップＳ１００６において、「「取消」，「閉じる」，「検索」ボタンを生成するコード」をＪＳＰファイル内に生成する。なお、「取消」，「閉じる」ボタンを指示された場合の処理は、ＪＳＰファイル内に、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ等のスクリプト言語で記載しておくものとする。
【０１７６】
また、入出力テーブル１０９の欄９に式として、入力値の制御等の業務ロジックが記載されている場合には、項目データ入力エリアの入力を該業務ロジックをＪａｖａ（登録商標）Ｓｃｒｉｐｔにて制御するようにＪＳＰファイル内に記載するものとする（サーブレットやＢｅａｎでも同様のロジックを実行させるようにしてもよい）。なお、この業務ロジックとは、受注数が「１０」以上と規定されている場合等、「［８］＞＝１０，０，１」のようにＪａｖａ（登録商標）Ｓｃｒｉｐｔ等のスクリプト言語で記載する。
【０１７７】
次に、ステップＳ１００７において、「一覧タイトルを表示するコード」をＪＳＰファイル内に生成する。この一覧タイトルは、例えば、入出力テーブル１０９の欄４のデータファイル名に文字列“一覧”を付加したものとする。
【０１７８】
次に、ステップＳ１００８において、「物理仕様テーブル内の「ＬｉｓｔＴｙｐｅ」の値が表示「０」となっている項目名を順次横並びに表示するコード」をＪＳＰファイル内に生成する。
【０１７９】
次に、ステップＳ１００９において、「ステップＳ１００２でＢｅａｎより取得した全レコードに対してステップＳ１０１０の処理を繰り返し行う（ループ）ためのコード」をＪＳＰファイル内に生成する。
【０１８０】
次に、ステップＳ１０１０において、「カレントのレコードの「ＬｉｓｔＴｙｐｅ」の値が表示「０」となっている項目の項目データを順次横並びに表示するコード」をＪＳＰファイル内に生成し、検索一覧ＪＳＰ生成処理を終了する。
【０１８１】
図３１は、本発明の第１１の制御処理手順の一例を示すフローチャートであり、図２４のステップＳ５０７に示した一覧詳細ＪＳＰ生成処理に対応する。なお、Ｓ１１０１〜Ｓ１１１２は各ステップを示す。
【０１８２】
まず、ステップＳ１１０１において、ＪＳＰファイルを生成する。このＪＳＰファイルのファイル名は、例えば、アプリケーション名とし拡張子を“ｊａｖａ（登録商標）”とする。
【０１８３】
次に、ステップＳ１１０２において、「検索用Ｂｅａｎを用いてデータベース内の全レコードを取得するコード」をＪＳＰファイル内に生成する。
【０１８４】
次に、ステップＳ１１０３において、「対応するサーブレットを起動するコード」をＪＳＰファイル内に生成する。
【０１８５】
次に、ステップＳ１１０４において、「一覧タイトルを表示するコード」をＪＳＰファイル内に生成する。この一覧タイトルは、例えば、入出力テーブル１０９の欄４のデータファイル名に文字列“一覧”を付加したものとする。
【０１８６】
次に、ステップＳ１１０５において、「物理仕様テーブル内の「ＬｉｓｔＴｙｐｅ」の値が表示「０」となっている項目に対して、「詳細」ボタン用のエリアと該項目の項目名を順次横並びに表示するコード」をＪＳＰファイル内に生成する。
【０１８７】
次に、ステップＳ１１０６において、「ステップＳ１１０２でＢｅａｎより取得した全レコードに対してステップＳ１１０７の処理を繰り返し行う（ループ）ためのコード」をＪＳＰファイル内に生成する。
【０１８８】
次に、ステップＳ１１０７において、「カレントのレコードの「ＬｉｓｔＴｙｐｅ」の値が表示「０」となっている項目に対して、「詳細」ボタンと該項目の項目データを順次横並びに表示するコード」をＪＳＰファイル内に生成する。
【０１８９】
次に、ステップＳ１１０８において、詳細表示用のＪＳＰファイルを生成する。このＪＳＰファイルのファイル名は、例えば、アプリケーション名に文字列“Ｓｙｏｕｓａｉ”を付加して拡張子を“ｊａｖａ（登録商標）”とする。
【０１９０】
次に、ステップＳ１１０９において、「検索用Ｂｅａｎを参照して検索結果を取得するコード」を詳細表示用ＪＳＰファイル内に生成する。
【０１９１】
次に、ステップＳ１１１０において、「詳細表示用のサーブレットを起動するコード」を詳細表示用ＪＳＰファイル内に生成する。
【０１９２】
次に、ステップＳ１１１１において、「詳細タイトルを表示するコード」をＪＳＰファイル内に生成する。この詳細タイトルは、例えば、入出力テーブル１０９の欄４のデータファイル名とする。
【０１９３】
次に、ステップＳ１１１２において、「物理仕様テーブル内の「ＤｅｔａｉｌＴｙｐｅ」の値が表示「０」となっている項目名とＪＳＰファイルから受け取ったレコードの該当する項目データ（検索結果）を順次縦並びに表示するコード」をＪＳＰファイル内に生成し、一覧詳細ＪＳＰ生成処理を終了する。
【０１９４】
図３２は、本発明の第１２の制御処理手順の一例を示すフローチャートであり、図２４のステップＳ５０８に示した一覧詳細更新ＪＳＰ生成処理に対応する。なお、Ｓ１２０１〜Ｓ１２１４は各ステップを示す。
【０１９５】
まず、ステップＳ１２０１において、ＪＳＰファイルを生成する。このＪＳＰファイルのファイル名は、例えば、アプリケーション名とし拡張子を“ｊａｖａ（登録商標）”とする。
【０１９６】
次に、ステップＳ１２０２において、「検索用Ｂｅａｎを用いてデータベース内の全レコードを取得するコード」をＪＳＰファイル内に生成する。
【０１９７】
次に、ステップＳ１２０３において、「対応するサーブレットを起動するコード」をＪＳＰファイル内に生成する。
【０１９８】
次に、ステップＳ１２０４において、「一覧タイトルを表示するコード」をＪＳＰファイル内に生成する。この一覧タイトルは、例えば、入出力テーブル１０９の欄４のデータファイル名に文字列“一覧”を付加したものとする。
【０１９９】
次に、ステップＳ１２０５において、「物理仕様テーブル内の「ＬｉｓｔＴｙｐｅ」の値が表示「０」となっている項目に対して、「詳細」ボタン用のエリアと該項目の項目名を順次横並びに表示するコード」をＪＳＰファイル内に生成する。
【０２００】
次に、ステップＳ１２０６において、「ステップＳ１１０２でＢｅａｎより取得した全レコードに対してステップＳ１２０７の処理を繰り返し行う（ループ）ためのコード」をＪＳＰファイル内に生成する。
【０２０１】
次に、ステップＳ１２０７において、「カレントのレコードの「ＬｉｓｔＴｙｐｅ」の値が表示「０」となっている項目に対して、「詳細」ボタンと該項目の項目データを順次横並びに表示するコード」をＪＳＰファイル内に生成する。なお、「詳細」ボタンが指示された場合に、後述するＳ１２０９で生成される詳細表示用のＪＳＰファイルを呼び出すＪａｖａ（登録商標）ＳｃｒｉｐｔをＪＳＰファイル内に記載する。
【０２０２】
次に、ステップＳ１２０８において、「「追加」ボタンを生成するコード」をＪＳＰファイル内に生成する。
【０２０３】
次に、ステップＳ１２０９において、詳細検索用ＪＳＰファイルを生成する。このＪＳＰファイルのファイル名は、例えば、アプリケーション名に文字列“Ｓｙｏｕｓａｉｋｅｎｓａｋｕ”を付加して拡張子を“ｊａｖａ（登録商標）”とする。
【０２０４】
次に、ステップＳ１２１０において、「検索用Ｂｅａｎを参照して検索結果を取得するコード」を詳細検索用ＪＳＰファイル内に生成する。
【０２０５】
次に、ステップＳ１２１１において、「詳細検索用のサーブレットを起動するコード」を詳細検索用ＪＳＰファイル内に生成する。
【０２０６】
次に、ステップＳ１２１２において、「詳細検索タイトルを表示するコード」をＪＳＰファイル内に生成する。この詳細検索タイトルは、例えば、入出力テーブル１０９の欄４のデータファイル名とする。
【０２０７】
次に、ステップＳ１２１３において、「物理仕様テーブル内の「ＤｅｔａｉｌＴｙｐｅ」の値が表示「０」となっている項目名と該項目の項目データ（初期値：Ｓ１２１０で参照した検索結果）を順次縦並びに表示するコード」を詳細検索用ＪＳＰファイル内に生成する。
【０２０８】
次に、ステップＳ１２１４において、「「更新」，「新規」，「削除」，「表示」，「取消」，「閉じる」ボタンを生成するコード」をＪＳＰファイル内に生成し、一覧詳細更新ＪＳＰ生成処理を終了する。なお、「取消」，「閉じる」ボタンを指示された場合の処理は、ＪＳＰフファイル内に、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ等のスクリプト言語で記載しておくものとする。
【０２０９】
なお、入出力テーブル１０９の欄９に式として、入力値の制御等の業務ロジックが記載されている場合には、項目データ入力エリアの入力を該業務ロジックをＪａｖａ（登録商標）Ｓｃｒｉｐｔにて制御するようにＪＳＰファイル内に記載するものとする（サーブレットやＢｅａｎでも同様のロジックを実行させるようにしてもよい）。なお、この業務ロジックとは、受注数が「１０」以上と規定されている場合等、「［８］＞＝１０，０，１」のようにＪａｖａ（登録商標）Ｓｃｒｉｐｔ等のスクリプト言語で記載するものである。
【０２１０】
以上示したように、コード生成部１０７は、入出力テーブル，物理仕様テーブル，業務パターン選択情報から、各データファイル項目の入出力を制御するＪＳＰ（内部にＪａｖａ（登録商標）Ｓｃｒｉｐｔ等のスクリプト言語も含む）とＳｅｒｖｌｅｔ、そして各データファイル項目のデータベースへのアクセスを制御するＢｅａｎを生成する。
【０２１１】
これにより、業務仕様の設計を行い、各データ項目を入出力テーブルとして外部記憶装置１０４に配置し、入出力テーブル間の関係を定義することを開発作業の中心とするのみで、ウェブアプリケーションシステムの開発を容易に行うことができ、かつ開発作業を軽減できるため、開発期間を短縮することができる。
【０２１２】
このように、本発明のプログラム生成装置によって、業務仕様からウェブアプリケーションのソースコードを自動生成することによって、Ｊａｖａ（登録商標）の特別な知識を必要とはせず、プログラミングを簡単にすることができ、開発作業を軽減することができる。さらに、本発明のプログラム生成装置によって、データベースの構築も同時に可能であり、さらなる作業の軽減を実現することができる。
【０２１３】
従って、システム環境の変化に柔軟に対応できる保守性に優れたウェブアプリケーションの開発を容易に行うことができ、設計開発者の負担を軽減させ、かつ設計開発のスピードアップを図ることができる優れたウェブアプリケーション開発環境を提供することを可能とする。
【０２１４】
〔第２実施形態〕
本実施形態では、業務パターンで「一覧詳細更新」が選択された場合であって、且つ、入出力テーブル内に親子関係を有する２つのデータファイルを定義されていた場合、テーブルの親子関係、全てについて、連続的に一覧詳細表示処理が行えるようにＪＳＰコードを生成するように構成する。以下、その実施形態について説明する。
【０２１５】
図３３は、本発明における親子関係を有するデータ入出力テーブルの一例を示す模式図である。
【０２１６】
図３３に示すように、このデータ入出力テーブルには、データファイル名「受注管理」のデータファイル３３０１と、データファイル名「受注明細」のデータファイル３３０２が定義されている。
【０２１７】
３３０３に示すように、データファイル３３０２の項目「受注番号」のキー種別には、当該項目が親子関係の子供であること示す「Ｐ」が指定されている。また、３３０４，３３０５に示すように、親の対象データファイル番号がデータファイル３３０１のデータファイル番号，親の対象データファイル項目番号がデータ項目３３０６に指定されている。
【０２１８】
なお、実際の業務仕様の入力の際は、図４に示した業務情報入力画面において、１行目にデータファイル名「受注管理」を入力し、２行目にデータファイル名「受注明細」を入力し、各データファイルに対して、図５に示した項目入力画面にて各項目を入力する。そして、データファイル「受注明細」のデータ項目「受注番号」に関してはキー機能指定エリア５０４で親子関係の子供であること示す「Ｐ」を指定し、参照先ファイル番号入力エリア５０７，参照先データ項目番号入力エリア５０８で、親の対象データファイル番号に「ＺｙｕｔｙｃｈＫａｎｒｉ」，「ＤｅｎｐｙｏＮｏ」を指定する。これにより、図３３に示した親子関係を有する入出力テーブルを生成することができる。
【０２１９】
コード生成部１０７は、この図３３に示す入出力テーブルからコード生成を行うとき、業務パターンで「一覧詳細更新」パターンを選択されている場合には、図３４に示すようにテーブルの親子関係全てについて連続的に一覧詳細表示処理が行えるようにＪＳＰコードが生成される。
【０２２０】
図３４は、本発明のプログラム生成装置における業務パターンとして「一覧詳細更新」が選択され且つ入出力テーブルに親子関係がある場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【０２２１】
図３４に示す一覧詳細更新画面（親子関係有り）は、「受注管理」の一覧表示ウィンドウ３４０１と、「受注管理」の詳細検索＋「受注明細」の一覧を備えたウィンドウ３４０２と、「受注明細」の詳細検索ウィンドウ３４０３の３つのウィンドウから構成される。
【０２２２】
そして、「受注管理」の一覧表示ウィンドウ３４０１にて、「詳細」ボタン３４０４又は「追加」ボタン３４０５を指示することにより、「受注管理」の詳細検索＋「受注明細」の一覧を備えたウィンドウ３４０２がポップアップ表示される。
【０２２３】
そして、「受注管理」の詳細検索＋「受注明細」の一覧を備えたウィンドウ３４０２にて、「詳細」ボタン３４０６又は「追加」ボタン３４０７を指示することにより、「受注明細」の詳細検索ウィンドウ３４０３がポップアップ表示される。
【０２２４】
なお、親子関係は２つのデータファイル間のみでなく、順次何世代でも定義可能であり、親子関係が続く限り、順次つぎのウィンドウを生成するようにコード生成される。
【０２２５】
図３５は、本発明のプログラム生成装置における業務パターンとして「一覧詳細更新」が選択され且つ入出力テーブルに親子関係がある場合のＪＳＰファイル生成を模式的に示す模式図である。
【０２２６】
図３５に示すように、入出力テーブル１０９内の親データファイル３５０１より、親データファイル一覧表示画面のための表示コード３５０３を含むＪＳＰファイル（ＪＳＰ１）が生成される。
【０２２７】
また、親データファイル３５０１より親データファイル詳細検索画面の表示のための表示コード３５０４と、子データファイル３５０２より子データファイル一覧表示のための表示コード３５０５を含むＪＳＰファイル（ＪＳＰ２）が生成される。
【０２２８】
さらに、子データファイル３５０２より子データファイル詳細検索表示のための表示コード３５０６を含むＪＳＰファイル（ＪＳＰ３）が生成される。
【０２２９】
図３６は、本発明の第１３の制御処理手順の一例を示すフローチャートであり、一覧詳細更新（親子関係有り）ＪＳＰ生成処理に対応する。なお、Ｓ１３０１〜Ｓ１３０９は各ステップを示す。また、このフローチャートの処理は、図１に示した仕様解析部１０６で入出力ファイル１０９内に親子関係があると判断した場合に、図３２に示した一覧詳細更新ＪＳＰ生成処理の代わりに、図２４のステップＳ５０８でコールされるものとする。
【０２３０】
まず、ステップＳ１３０１において、入出力テーブルのＫｅｙ項目を取得し、ステップＳ１３０２において、Ｋｅｙの内容が「Ｐ」でるか否かを判定し、「Ｐ」であると判断した場合には、当該データファイルは親子関係の子ファイルであると判断して、ステップＳ１３０３に進み、入出力テーブルの参照先データファイル番号と参照先データ項目番号を取得する。そして、ステップＳ１３０４において、データファイルの親子関係を確立させて該親子関係情報をメモリ上に記憶し、ステップＳ１３０５に進む。
【０２３１】
一方、ステップＳ１３０２において、Ｋｅｙの内容が「Ｐ」でないと判断した場合には、ステップＳ１３０５に進む。
【０２３２】
そして、ステップＳ１３０５において、全項目についてステップＳ１３０１〜１３０４の処理が終了したか否かを判定し、まだ終了していないと判断した場合には、ステップＳ１３０１に戻り、次の項目のＫｅｙ値を取得する。一方、全項目について終了したと判断した場合には、ステップＳ１３０６に進む。
【０２３３】
次に、ステップＳ１３０６において、ステップＳ１３０４で確立した親子関係に基づいて、親データファイルの一覧表示ＪＳＰ生成処理を行う。この処理により、アプリケーション名をファイル名とし拡張子を“ｊｓｐ”とするＪＳＰファイルが生成される。なお、ここでは詳細は省略する。
【０２３４】
次に、ステップＳ１３０７において、ステップＳ１３０４で確立した親子関係に基づいて、親データファイルの詳細検索及び子データファイルの一覧表示ＪＳＰ生成処理を行う。この処理により、アプリケーション名派生番号（２番目に生成されるＪＳＰファイルなら「２」）を付加したファイル名とし拡張子を“ｊｓｐ”とするＪＳＰファイルが生成される。なお、ここでは詳細は省略する。
【０２３５】
そして、ステップＳ１３０８において、ステップＳ１３０４で確立した親子関係に基づいて、子データファイルの詳細検索ＪＳＰ生成処理を行う。この処理により、アプリケーション名に派生番号（３番目に生成されるＪＳＰファイルなら「３」）を付加してファイル名とし拡張子を“ｊｓｐ”とするＪＳＰファイルが生成される。なお、ここでは詳細は省略する。
【０２３６】
次に、ステップＳ１３０９において、ステップＳ１３０４で確立した親子関係が終了したか否かを判定し、まだ終了していないと判断した場合には、ステップＳ１３０６に戻り、親子関係が続く限り繰り返す。一方、親子関係が終了したと判断した場合には、そのまま一覧詳細更新ＪＳＰ生成処理を終了する。
【０２３７】
なお、業務パターン選択情報が「一覧詳細更新」が選択され入出力ファイルに親子関係が有る場合、図３４に示した「受注管理」の一覧表示ウィンドウ３４０１と、「受注管理」の詳細検索＋「受注明細」の一覧を備えたウィンドウ３４０２と、「受注明細」の詳細検索ウィンドウ３４０３の３つのウィンドウにそれぞれサーブレット（「受注管理」の一覧表示ウィンドウ用のサーブレット，「受注管理」の詳細検索＋「受注明細」の一覧表示ウィンドウ用のサーブレット，「受注明細」の詳細検索ウィンドウ用のサーブレット）を生成するものとする。
【０２３８】
そして、「受注管理」の一覧表示ウィンドウ用のサーブレットには、「受注管理」の一覧表示ウィンドウ３４０１上で「詳細」ボタン３４０４，「追加」ボタン３４０５が指示されたことを示す入力情報を取得した場合に、（「詳細」ボタン３４０４が指示された場合は検索用Ｂｅａｎを呼び出して対応するレコードの情報を検索させ、）「受注管理」の詳細検索＋「受注明細」の一覧表示ウィンドウ用のＪＳＰを呼び出すためのコードを記載しておくものとする。これにより、「受注管理」の一覧表示ウィンドウ３４０１上で「詳細」ボタン３４０４又は「追加」ボタン３４０５を指示すると、「受注管理」の詳細検索＋「受注明細」の一覧表示ウィンドウ３４０２がポップアップされ、特に「詳細」ボタン３４０４が指示された場合は該当するレコードの詳細情報が「受注管理」の詳細検索＋「受注明細」の一覧表示ウィンドウ３４０２に表示されるようになる。
【０２３９】
さらに、「受注管理」の詳細検索＋「受注明細」の一覧表示ウィンドウ用のサーブレットは、「受注管理」の詳細検索＋「受注明細」の一覧表示ウィンドウ３４０２上での「更新」，「新規」，「削除」，「表示」ボタンが指示が入力されたことに応じて、更新用Ｂｅａｎ，追加用Ｂｅａｎ，削除用Ｂｅａｎ，検索用Ｂｅａｎをそれぞれ呼び出して実行させ、「受注管理」の詳細検索＋「受注明細」の一覧表示ウィンドウ用のＪＳＰを呼び出すためのコードを記載しておくものとする。
【０２４０】
また、「受注管理」の詳細検索＋「受注明細」の一覧表示ウィンドウ用のサーブレットは、「受注管理」の詳細検索＋「受注明細」の一覧表示ウィンドウ３４０２上で「詳細」ボタン３４０６，「追加」ボタン３４０７が指示されたことを示す入力情報を取得した場合に、（「詳細」ボタン３４０６が指示された場合は検索用Ｂｅａｎを呼び出して対応するレコードの情報を検索させ、）「受注明細」の詳細検索ウィンドウ用のＪＳＰを呼び出すためのコードを記載しておくものとする。これにより、「受注管理」の詳細検索＋「受注明細」の一覧表示ウィンドウ３４０２上で「詳細」ボタン３４０６又は「追加」ボタン３４０７を指示すると、「受注明細」の詳細検索ウィンドウ３４０３がポップアップされ、特に「詳細」ボタン３４０６が指示された場合は該当するレコードの詳細情報が「受注明細」の詳細検索ウィンドウ３４０３に表示されるようになる。
【０２４１】
さらに、「受注明細」の詳細検索ウィンドウ用のサーブレットは、「受注明細」の詳細検索ウィンドウ３４０３上での「更新」，「新規」，「削除」，「表示」ボタンが指示されたことを示す入力情報を取得したことに応じて、更新用Ｂｅａｎ，追加用Ｂｅａｎ，削除用Ｂｅａｎ，検索用Ｂｅａｎをそれぞれ呼び出して実行させ、「受注明細」の詳細検索ウィンドウ用のＪＳＰを呼び出すためのコードを記載しておくものとする。
【０２４２】
〔第３実施形態〕
本実施形態では、タグ画面を表示するプログラムの生成方法について、図３７〜図４１を用いて説明する。
【０２４３】
タグ機能は、クライアントに依存した処理であるため、本来、ＨＴＭＬには、タグ表示の命令はない。タグ機能を用いなかった場合、図３７に示すように、全てのパネル画面３７０１〜３７０３をウィンドウに順次配置することになり、操作性、可読性の点で問題がある。
【０２４４】
本実施形態では、ＨＴＭＬのｉｆｒａｍｅ（インラインフレーム）を利用して、タグと同等の機能を実現する。
【０２４５】
図３８は、本発明におけるタグ機能を有するデータ入出力テーブルの一例を示す模式図である。
【０２４６】
図３８に示すように、このデータ入出力テーブルには、データファイル番号「Ｂｕｔｔｏｎ」のデータファイル３８０１と、データファイル３８０１の各データ項目に対応付けられたデータファイル番号「Ｔａｂｌｅ０１」，「Ｔａｂｌｅ０２」，「Ｔａｂｌｅ０３」のデータファイル３８０２，３８０３，３８０４が定義されている。なお、データファイル番号「Ｂｕｔｔｏｎ」は、タグ生成のための予約語である。
【０２４７】
図３９は、本発明においてタグ機能を有する場合の物理仕様テーブルの一例を示す模式図である。
【０２４８】
図３９において、３９０１はデータファイル番号が「Ｂｕｔｔｏｎ」でデータファイル項目番号が「Ｐａｎｅｌ０１」の高さ情報（物理仕様入力画面内の図示しない高さ情報入力欄にて入力される）に対応する物理仕様テーブルのレコードであり、ここでは「１００％」と設定されている。
【０２４９】
３９０２はデータファイル番号が「Ｂｕｔｔｏｎ」でデータファイル項目番号が「Ｐａｎｅｌ０１」の幅情報（物理仕様入力画面内の図示しない幅情報入力欄にて入力される）に対応する物理仕様テーブルのレコードであり、ここでは「８０％」と設定されている。
【０２５０】
３９０３，３９０４はデータファイル番号が「Ｂｕｔｔｏｎ」でデータファイル項目番号が「Ｐａｎｅｌ０２」，「Ｐａｎｅｌ０３」の高さ情報に対応する物理仕様テーブルのレコードであり、ここでは「Ｔ」と設定されている。このように、高さ情報が「Ｔ」に設定されることにより、「Ｔａｂｌｅ０１」，「Ｔａｂｌｅ０２」，「Ｔａｂｌｅ０３」はタグ表示され、「Ｔａｂｌｅ０１」が第１面，「Ｔａｂｌｅ０２」，「Ｔａｂｌｅ０３」が第２画面以降のパネル画面として設定されていることが分かる。なお、ＰａｎｅｌＨの値が「Ｔ」の場合は、ＰａｎｅｌＷの設定は省略される。
【０２５１】
図４０は、本発明のプログラム生成装置においてタグ機能を有する場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【０２５２】
図４０に示す表示画面には、パネル１〜３に対応するタグ４００１〜４００３がそれぞれ設けられている。
【０２５３】
（ａ）は初期状態で、パネル１が表示されている。
【０２５４】
（ｂ）はタグ４００２が指示された状態で、パネル２が表示されている。
【０２５５】
（ｃ）はタグ４００３が指示された状態で、パネル３が表示されている。
【０２５６】
なお、（ｂ），（ｃ）の状態で、タグ４００１が指示されると、（ａ）の状態に移行し、パネル１が表示される。
【０２５７】
図４１は、本発明の第１４の制御処理手順の一例を示すフローチャートであり、ＪＳＰ生成（タグ有り）処理に対応する。なお、Ｓ１４０１〜Ｓ１４１１は各ステップを示す。また、このフローチャートの処理は、図１に示した仕様解析部１０６で入出力ファイル１０９内にタグがあると判断した場合に、図２４に示したＪＳＰ生成処理の代わりに、図２１のステップＳ２０４でコールされるものとする。
【０２５８】
まず、ステップＳ１４０１において、ＪＳＰファイルを生成する。このＪＳＰファイルのファイル名は、例えば、アプリケーション名とし拡張子を“ｊａｖａ（登録商標）”とする。
【０２５９】
次に、ステップＳ１４０２において、入出力テーブルのデータファイル番号を取得し、ステップＳ１４０３において、データファイル番号が、タグ生成のための予約語「Ｂｕｔｔｏｎ」でるか否かを判定し、「Ｂｕｔｔｏｎ」であると判断した場合には、当該データ項目はタグ画面であると判断して、ステップＳ１４０４に進み、当該データ項目の式欄のデータファイル番号（パネルテーブル）を取得する。そして、ステップＳ１４０５において、「該当するデータファイル番号のパネル画面およびタグボタンを生成するコード」をＪＳＰファイル内に生成する。なお、この式欄の値（データファイル番号）をｉｆｒａｍｅ（パネル）におけるＵＲＬとし、生成したタグボタンに対応付けておく。例えば、図３８に示したデータファイル３８０１の第１番目の項目「Ｐａｎｅｌ０１」であれば、式欄には「Ｔａｂｌｅ０１」が格納されており、「Ｔａｂｌｅ０１」をデータファイル番号とするデータファイル項目名「項目１−１」，「項目１−２」，「項目１−３」で構成するパネル画面と「Ｐａｎｅｌ０１」に相当するタグボタンを生成し、「Ｐａｎｅｌ０１」に相当するタグボタンにパネル画面のＵＲＬである「Ｔａｂｌｅ０１」をリンクするコードを生成する。また、ここでは詳細は記載しないが、図２４〜図３２に示したように、パネル画面は業務パターン選択情報に基づく画面となるようにする。
【０２６０】
一方、ステップＳ１４０３で、データファイル番号の内容が「Ｂｕｔｔｏｎ」でないと判断した場合には、ステップＳ１４０６に進む。
【０２６１】
そして、ステップＳ１４０６において、全項目についてステップＳ１４０２〜１４０５の処理が終了したか否かを判定し、まだ終了していないと判断した場合には、ステップＳ１４０２に戻り、次の項目のデータファイル番号を取得する。一方、全項目について終了したと判断した場合には、ステップＳ１４０７に進む。
【０２６２】
次に、ステップＳ１４０７において、パネル画面に対応した物理仕様テーブルから高さ情報と幅情報を取得する。
【０２６３】
次に、ステップＳ１４０８において、高さ情報が「Ｔ」であるか否かを判定し、「Ｔ」でないと判断した場合には、ステップＳ１４０９において、「該当するタグ画面を高さ情報と幅情報とに基づいて第１面として表示するコード」をＪＳＰファイル内に生成する。
【０２６４】
一方、ステップＳ１４０８で、高さ情報が「Ｔ」であると判断した場合には、ステップＳ１４１０において、「該当するタグ画面を第２面として表示するコード」をＪＳＰファイル内に生成する。
【０２６５】
そして、ステップＳ１４１１において、全パネルテーブルについてステップＳ１４０７〜１４１０の処理が終了したか否かを判定し、まだ終了していないと判断した場合には、ステップＳ１４０７に戻り、次のパネルテーブルに関連した物理仕様テーブルから高さ情報と幅情報を取得する。一方、全パネルテーブルについて終了したと判断した場合には、ＪＳＰ生成（タグ有り）処理を終了する。
【０２６６】
以上の処理により、タグ画面を生成するコードを生成することができる。
【０２６７】
〔第４実施形態〕
本実施形態では、コンボボックス配置画面を表示するプログラムの生成方法について、図４２〜図４４を用いて説明する。
【０２６８】
図４２は、本発明におけるコンボボックスを配置したデータ入出力テーブルの一例を示す模式図である。
【０２６９】
図４２に示すように、このデータ入出力テーブルには、データファイル名「受注管理」のデータファイル４２０１と、データファイル名「製品マスタ」のデータファイル４２０２と、データファイル名「顧客マスタ」のデータファイル４２０３とが定義されている。
【０２７０】
４２０４に示すように、データファイル４２０１の項目「顧客コード」のキー種別には、当該項目が参照関係の参照元（即ち、コンボボックス）であること示す「Ｒ」が指定されており、４２０５，４２０６に示すように、参照先データファイル番号がデータファイル４２０３，参照先データファイル項目番号がデータ項目４２１１に指定されている。
【０２７１】
４２０７に示すように、データファイル４２０２の項目「製品コード」のキー種別には、当該項目が参照関係の参照元（即ち、コンボボックス）であること示す「Ｒ」が指定されており、４２０８，４２０９に示すように、参照先データファイル番号がデータファイル４２０２，参照先データファイル項目番号がデータ項目４２１０に指定されている。
【０２７２】
図４３は、本発明のプログラム生成装置においてコンボボックス配置画面を有する場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【０２７３】
図４３に示す表示画面には、コンボボックス４３０１，４３０２が設けられている。
【０２７４】
コンボボックス４３０１は、「顧客マスタ」に登録された「顧客コード」をコンボボックスリストとし、該リストより顧客コードを選択することができる。また、コンボボックス４３０２では、「製品マスタ」に登録された「製品コード」をコンボボックスリストとし、該リストより顧客コードを選択することができる。
【０２７５】
図４４は、本発明の第１５の制御処理手順の一例を示すフローチャートであり、コンボボックス生成処理に対応する。なお、Ｓ１５０１〜Ｓ１５０７は各ステップを示す。また、このフローチャートの処理は、図１に示した仕様解析部１０６で入出力ファイル１０９内にコンボボックスがあると判断した場合に、図２４に示したＪＳＰ生成処理においてステップＳ５０１実行前にコールされるものとする。
【０２７６】
まず、ステップＳ１５０１において、入出力テーブルのＫｅｙ項目を取得し、ステップＳ１５０２において、Ｋｅｙの内容が「Ｒ」でるか否かを判定し、「Ｒ」であると判断した場合には、当該データ項目は参照関係のデータファイルが存在すると判断して、ステップＳ１５０３において、参照先データファイル番号と参照先データ項目番号を取得し、ステップＳ１５０４において、データファイルの参照関係が確立して該参照関係情報をメモリ上に記憶する。
【０２７７】
一方、ステップＳ１５０２で、Ｋｅｙの内容が「Ｒ」でないと判断した場合には、当該データ項目は参照関係のデータファイルが存在しないと判断して、ステップＳ１５０５に進む。
【０２７８】
そして、ステップＳ１５０５において、全項目についてステップＳ１５０１〜１５０４の処理が終了したか否かを判定し、まだ終了していないと判断した場合には、ステップＳ１５０１に戻り、次の項目のＫｅｙ値を取得する。一方、全項目について終了したと判断した場合には、ステップＳ１５０６に進む。
【０２７９】
次に、ステップＳ１５０６において、参照関係の確立しているデータ項目について、参照元データ項目をコンボボックスの対象項目とし、「該参照先データファイルに対応する検索用Ｂｅａｎを用いて対応するデータベースから、参照先データファイルの参照先データ項目の全データを取得して、該取得データをコンボボックスの選択リストの要素とするコンボボックスを生成するコード」をメモリ上に生成する。なお、参照先のデータファイルに対応するウェブアプリケーション（少なくとも、検索用Ｂｅａｎ，データベース等）は予め生成しておくものとする。
【０２８０】
そして、ステップＳ１５０７において、全ての参照関係についてステップＳ１５０６の処理が終了したか否かを判定し、まだ終了していないと判断した場合には、ステップＳ１５０６に戻り、次の参照関係に対する「コンボボックス生成コード」を生成する。一方、全参照関係について終了したと判断した場合には、コンボボックス生成処理を終了し、図２４のステップＳ５０１に進む。
【０２８１】
そして、ステップＳ５０２〜Ｓ５０８内の各ＪＳＰ生成処理において、参照元の項目の「入力エリアを表示するコード」の生成時に、上述のステップＳ１５０６で生成記憶したコンボボックスを表示するコード」をＪＳＰファイル内に出力するようにする。
【０２８２】
これにより、「コンボボックスを生成するコード」をＪＳＰファイル内に生成することができる。
【０２８３】
〔第５実施形態〕
上記第１実施形態では、ユーザによる業務仕様，物理仕様の入力及び業務パターンの選択後にコード生成部１０７がコード生成を行う構成について説明したが、ユーザにより業務仕様の入力後に、入力された業務仕様及びデフォルトの物理仕様，デフォルトの業務パターン選択情報に基づいて、コード生成部１０７が表示画面のみコード生成を行うように構成してもよい。これにより、ユーザは、生成されたコードに基づく表示画面をプレビューにより確認して、物理仕様の入力及び業務パターンの選択を行うことが可能となる。以下、その実施形態について説明する。
【０２８４】
図４５は、本発明の第５実施形態におけるウェブアプリケーション開発方法を模式的に説明するための模式図である。
【０２８５】
図４５に示すように、本実施形態では、ユーザにより入力される業務仕様から生成された入出力テーブル２７０１と、予め用意されたデフォルト物理仕様テーブル２７０２，デフォルト業務パターン選択情報２７０３とのマッチグにより、コード生成部１０７が、ソースコード（表示部分のみ）のスケルトン（雛型）２７０４を生成する。
【０２８６】
そして、スケルトン２７０４の内容確認後、ユーザが物理仕様の入力と業務パターンの選択を行うと、コード生成部１０７は、入力された物理仕様（物理仕様テーブル２７０５）と選択された業務パターン（業務パターン選択情報２７０６）とから、ウェｂアプリケーションプログラム２７０７を生成する。
【０２８７】
なお、物理仕様の入力と業務パターンによる業務の選択後にコード生成部１０７が行うコード生成は、入力された業務仕様（入出力テーブル２７０１）から生成されたソースコードの選別を行うとともに、ＪＳＰ，サーブレット，Ｂｅａｎなどのコンポーネントを組み込む処理も行う。
【０２８８】
図４６は、本発明の第５実施形態における物理仕様入力画面の一例を示す模式図であり、物理仕様記述部１１７により起動される。
【０２８９】
図４６に示すように、本実施形態の物理仕様入力画面は、入力部４６０１とプレビュー部４６０２から構成されている。
【０２９０】
入力部４６０１は、物理仕様の入力及び業務仕様（画面タイプ）の選択を行うためのものであり、プレビュー部４６０２は、コード生成部１０７により生成される表示画面のプレビュー表示を行うためのものであり、物理仕様入力画面起動時には、ユーザにより入力された業務仕様（入出力テーブル２７０１）とデフォルト物理仕様（デフォルト物理仕様テーブル２７０２）とデフォルト業務パターン選択情報２７０３とから、コード生成部１０７により生成された表示画面がプレビュー表示される。
【０２９１】
そして、入力部４６０１において物理仕様の入力及び業務仕様（画面タイプ）の選択を行った後、「適用」ボタン４６０３等を指示することにより、コード生成部１０７により新たに表示画面のコード生成が行われ、プレビュー部４６０２に表示されるものとする。
【０２９２】
これにより、ユーザは、生成される表示画面を確認しながら物理仕様の入力や業務パターンを選択することができる。
【０２９３】
なお、上記各実施形態では、プログラム生成装置とウェブアプリケーションを実行するアプリケーションサーバを実装したサーバ装置とが同一である場合について説明したが、プログラム生成装置とアプリケーションサーバを実装したサーバ装置とが異なる装置とするように構成してもよい。この場合、プログラム生成装置に対して、アプリケーションサーバを実装したサーバ装置を指定しておく（生成モードでの実行時にユーザにより入力、又は予めユーザにより入力しておき外部記憶装置１０４上に記憶しておく）。そして、プログラム生成装置は、該指定情報を読み出して、該指定されたサーバ装置の記憶装置上に、生成したコードの記憶やデータベースの構築を行うものとする。
【０２９４】
さらに、アプリケーションサーバを実装したサーバ装置とデータベースを構築するサーバ装置とが異なる装置であるように構成してもよい。
【０２９５】
この場合、ユーザは、プログラム生成装置に、アプリケーションサーバを実装したサーバ装置とデータベースを構築するサーバ装置とをそれぞれ指定する（生成モードでの実行時にユーザにより入力、又は予めユーザにより入力しておき外部記憶装置１０４上に記憶しておく）。そして、プログラム生成装置は、該指定情報を読み出して、該指定されたデータベースを構築するサーバ装置の記憶装置上へのデータベースの構築（データベースを構築するサーバ装置にデータベースをクリエイトする指示を出す）と、該データベースへのアクセスを制御するＢｅａｎコード１１４（この場合はＥＪＢ（Ｅｎｔｅｒｐｒｉｓｅ  Ｊａｖａ（登録商標）  Ｂｅａｎｓ））を生成する。また、プログラム生成装置は、指定されたアプリケーションサーバが実装されるサーバ装置の記憶装置上にＪＳＰコード１１２，サーブレット（Ｓｅｒｖｌｅｔ）コード１１３を生成するものとする。
【０２９６】
さらに、上記各実施形態では、ウェブアプリケーションサーバ上で動作するウェブアプリケーションプログラムを生成するプログラム生成装置について説明したが、ミドルウェアとしてウェブアプリケーションサーバの代わりに、ノーツ（商品名）・アプリケーションサーバやドミノ（商品名）・アプリケーションサーバ等のグループウェアを利用したアプリケーションを生成するように構成してもよい。
【０２９７】
この場合、サーブレットの代わりに、エージェントと呼ばれるＪａｖａ（登録商標）で作成されたプログラムをプログラム生成装置で生成し、グループウェアのアプリケーションサーバに配置するものとする。また、ＪＳＰにより表示していた入出力画面は、フォームと呼ばれるコンテンツとして、プログラム生成装置で生成して、グループウェアのデータベースに登録しておく。また、Ｂｅａｎは上記実施形態と同一のものを使用可能である。
【０２９８】
また、本発明のプログラム生成装置が生成するアプリケーションは、ＰＤＡ（携帯情報端末）や携帯電話といった携帯端末をクライアントとするアプリケーションとしてもよい。
【０２９９】
そして、クライアントとの間のプロトコルもＨＴＴＰのみではなく、ＷＡＰ（Ｗｉｒｅｌｅｓｓ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）等とし、ＪＳＰにより生成されるコードも、ＨＴＭＬに限られるものではなく、ＸＭＬ，ＷＭＬ等のその他の構造化言語とするような、プログラムを、本発明のプログラム生成装置が生成するように構成してもよい。
【０３００】
また、入出力画面に、グラフ表示エリア等を有する業務パターンを設け、データベース内のデータをグラフ表示させるように構成してもよい。その場合、グラフの種類（折れ線グラフ，棒グラフ，円グラフ等）を選択可能としてもよい。また、グラフの生成処理は、サーブレット又はグラフ作成用のＢｅａｎを生成し、該Ｂｅａｎに行わせるよう構成してもよい。
【０３０１】
さらに、各種統計処理を行わせる機能を有する業務パターンを設け、データベース内のデータの統計処理結果を表示させるように構成してもよい。その場合、統計処理の種類を選択可能としてもよい。また、各種統計処理は、サーブレット又は各統計処理用のＢｅａｎを生成し、該Ｂｅａｎに行わせるよう構成してもよい。
【０３０２】
また、上記各実施形態では、プログラム生成装置が、データベースへのアクセスを行うためのＢｅａｎ，各データ項目の入出力画面を選択された画面パターンで表示するためのＪＳＰ、入出力画面からの入力情報を取得して該入力情報に基づいてＢｅａｎ，ＪＳＰの実行を制御してアプリケーション全体を統括制御するサーブレットから構成されるウェブアプリケーションを生成する場合について説明したが、上記Ｂｅａｎ，ＪＳＰの機能をも含んだサーブレットのみ、上記Ｂｅａｎの機能を含んだサーブレットとＪＳＰのみ、又は、上記ＪＳＰの機能を含んだサーブレットとＢｅａｎのみ、から構成されるウェブアプリケーションを生成するように構成してもよいことはいうまでもない。
【０３０３】
なお、上記各実施形態のいずれか複数を組み合わせた構成も全て本発明に含まれるものである。
【０３０４】
以上より、業務仕様の設計を行い、各データ項目を入出力テーブルとして外部記憶装置１０４に配置し、入出力テーブル間の関係を定義することを開発作業の中心とするのみで、ウェブアプリケーションシステムの開発を容易に行うことができ、かつ開発作業を軽減できるため、開発期間を短縮することができる。
【０３０５】
このように、本発明のプログラム生成装置によって、業務仕様からウェブアプリケーションのソースコードを自動生成することによって、Ｊａｖａ（登録商標）の特別な知識を必要とはせず、プログラミングを簡単にすることができ、開発作業を軽減することができる。さらに、本発明のプログラム生成装置によって、データベースの構築も同時に可能であり、さらなる作業の軽減を実現することができる。
【０３０６】
従って、システム環境の変化に柔軟に対応できる保守性に優れたウェブアプリケーションの開発を容易に行うことができ、設計開発者の負担を軽減させ、かつ設計開発のスピードアップを図ることができる優れたウェブアプリケーション開発環境を提供することを可能とする。
【０３０７】
以下、図４７に示すメモリマップを参照して本発明に係るプログラム生成装置で読み出し可能なデータ処理プログラムの構成について説明する。
【０３０８】
図４７は、本発明に係るプログラム生成装置で読み出し可能な各種データ処理プログラムを格納する記録媒体のメモリマップを説明する図である。
【０３０９】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０３１０】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０３１１】
本実施形態における図３，図２１〜図２４，図２６〜図３２，図３６，図４１，図４４に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０３１２】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０３１３】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０３１４】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０３１５】
プログラムを供給するための記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０３１６】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０３１７】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０３１８】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記録媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０３１９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０３２０】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０３２１】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウエアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０３２２】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から排除するものではない。
【０３２３】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【０３２４】
【発明の効果】
以上説明したように、本発明によれば、複数のデータ項目の定義及び各データ項目間の関係を含む業務仕様情報を入力させ該入力結果を第１の記憶手段に記憶させ、前記業務仕様情報で定義された各データ項目を入出力するための入出力画面の表示属性を示す物理仕様情報を入力させ該入力結果を第２の記憶手段に記憶させ、前記入出力画面の画面パターンと該画面パターンに付随した処理の組み合わせを規定した複数の業務パターンからいずれかの業務パターンを選択させ該選択結果を第３の記憶手段に記憶させ、第１〜第３の前記記憶手段から前記業務仕様情報，物理仕様情報，業務パターンの選択結果のそれぞれを読み出し、該読み出した各情報に基づいて、前記業務仕様情報で定義された各データ項目に対応したデータベースの構築、並びに前記データベースへのアクセスを行うための第１のプログラムの生成，前記業務仕様情報で定義された各データ項目の入出力画面を前記選択された業務パターンで規定された画面パターンと前記物理仕様情報により指定された表示属性で表示するための第２のプログラムの生成、及び前記入出力画面からの入力情報を取得して該入力情報に基づいて前記第１のプログラム及び第２のプログラムの実行を制御するための第３のプログラムの生成をそれぞれ行い、第４の記憶手段に記憶させるので、業務仕様の設計を行い、各データ項目を入出力テーブルとして外部記憶装置に配置し、入出力テーブル間の関係を定義することを開発作業の中心とするのみで、ウェブアプリケーションシステムの開発を容易に行うことができ、かつ開発作業を軽減できるため、開発期間を短縮することができる。
【０３２５】
また、このように、業務仕様からウェブアプリケーションのソースコードを自動生成することによって、Ｊａｖａ（登録商標）の特別な知識を必要とはせず、プログラミングを簡単にすることができ、開発作業を軽減することができる。さらに、本発明のプログラム生成装置によって、データベースの構築も同時に可能であり、さらなる作業の軽減を実現することができる。
【０３２６】
従って、システム環境の変化に柔軟に対応できる保守性に優れたウェブアプリケーションの開発を容易に行うことができ、設計開発者の負担を軽減させ、かつ設計開発のスピードアップを図ることができる優れたウェブアプリケーション開発環境を提供することを可能とする等の効果を奏する。
【図面の簡単な説明】
【図１】本発明の第１実施形態を示すプログラム生成装置の構成を示すブロック図である。
【図２】図１に示したコード生成部によって生成したサーブレット、ＪＳＰ、およびＢｅａｎを利用したウェブアプリケーションシステムの全体構成の一例を示す図である。
【図３】本発明のプログラム生成装置における第１の制御処理手順の一例を示すフローチャートである。
【図４】本発明のプログラム生成装置における業務仕様入力画面の一例を示す模式図である。
【図５】本発明のプログラム生成装置における項目入力画面の一例を示す模式図である。
【図６】本発明のプログラム生成装置における入出力テーブルのテーブル構成の一例を示す模式図である。
【図７】本発明のプログラム生成装置において生成されるウェブアプリケーションにおける表示画面の一例を示す模式図である。
【図８】本発明のプログラム生成装置における物理仕様入力画面の一例を示す模式図である。
【図９】本発明のプログラム生成装置における物理仕様入力画面の一例を示す模式図である。
【図１０】本発明のプログラム生成装置における物理仕様入力画面の一例を示す模式図である。
【図１１】本発明のプログラム生成装置における物理仕様入力画面の一例を示す模式図である。
【図１２】本発明のプログラム生成装置における物理仕様テーブルのテーブル構成の一例を示す模式図である。
【図１３】本発明のプログラム生成装置における業務パターンとして「一覧表示」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【図１４】本発明のプログラム生成装置における業務パターンとして「詳細表示」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【図１５】本発明のプログラム生成装置における業務パターンとして「更新」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【図１６】本発明のプログラム生成装置における業務パターンとして「一覧更新」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【図１７】本発明のプログラム生成装置における業務パターンとして「検索一覧」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【図１８】本発明のプログラム生成装置における業務パターンとして「一覧詳細」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【図１９】本発明のプログラム生成装置における業務パターンとして「一覧詳細更新」が選択された場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【図２０】選択される業務パターンにより生成されるウェブアプリケーションプログラムの実行時に表示される画面の内容を示す図である。
【図２１】本発明の第２の制御処理手順の一例を示すフローチャートである。
【図２２】本発明の第３の制御処理手順の一例を示すフローチャートである。
【図２３】本発明の第４の制御処理手順の一例を示すフローチャートである。
【図２４】本発明の第５の制御処理手順の一例を示すフローチャートである。
【図２５】本発明におけるＪＳＰファイル生成を模式的に示す模式図である。
【図２６】本発明の第６の制御処理手順の一例を示すフローチャートである。
【図２７】本発明の第７の制御処理手順の一例を示すフローチャートである。
【図２８】本発明の第８の制御処理手順の一例を示すフローチャートである。
【図２９】本発明の第９の制御処理手順の一例を示すフローチャートである。
【図３０】本発明の第１０の制御処理手順の一例を示すフローチャートである。
【図３１】本発明の第１１の制御処理手順の一例を示すフローチャートである。
【図３２】本発明の第１２の制御処理手順の一例を示すフローチャートである。
【図３３】本発明における親子関係を有するデータ入出力テーブルの一例を示す模式図である。
【図３４】本発明のプログラム生成装置における業務パターンとして「一覧詳細更新」が選択され且つ入出力テーブルに親子関係がある場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【図３５】本発明のプログラム生成装置における業務パターンとして「一覧詳細更新」が選択され且つ入出力テーブルに親子関係がある場合のＪＳＰファイル生成を模式的に示す模式図である。
【図３６】本発明の第１３の制御処理手順の一例を示すフローチャートである。
【図３７】タグ機能を使用することなく生成されたウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【図３８】本発明におけるタグ機能を有するデータ入出力テーブルの一例を示す模式図である。
【図３９】本発明においてタグ機能を有する場合の物理仕様テーブルの一例を示す模式図である。
【図４０】本発明のプログラム生成装置においてタグ機能を有する場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【図４１】本発明の第１４の制御処理手順の一例を示すフローチャートである。
【図４２】本発明におけるコンボボックスを配置したデータ入出力テーブルの一例を示す模式図である。
【図４３】本発明のプログラム生成装置においてコンボボックス配置画面を有する場合に生成されるウェブアプリケーションプログラムの実行時に表示される画面の模式図である。
【図４４】本発明の第１５の制御処理手順の一例を示すフローチャートである。
【図４５】本発明の第５実施形態におけるウェブアプリケーション開発方法を模式的に説明するための模式図である。
【図４６】本発明の第５実施形態における物理仕様入力画面の一例を示す模式図である。
【図４７】本発明に係るプログラム生成装置で読み出し可能な各種データ処理プログラムを格納する記録媒体のメモリマップを説明する図である。
【符号の説明】
１０１  入力装置
１０２  表示装置
１０３  処理装置（ＣＰＵ，ＲＡＭ，ＲＯＭ）
１０４  外部記憶装置（ハードディスク）
１０５  画面制御部
１１６  業務仕様記述部
１１７  物理仕様記述部
１０６  仕様解析部
１０７  コード生成部
１０８  全体制御部
１０９  入出力テーブル
１１０  物理仕様テーブル
１１１  業務パターン選択情報
１１２  ＪＳＰコード
１１３  Ｓｅｒｖｌｅｔコード
１１４  Ｂｅａｎコード
１１５  データベース
【図１】
2004318260.tif 000003
【図２】
2004318260.tif 000004
【図３】
2004318260.tif 000005
【図４】
2004318260.tif 000006
【図５】
2004318260.tif 000007
【図６】
2004318260.tif 000008
【図７】
2004318260.tif 000009
【図８】
2004318260.tif 000010
【図９】
2004318260.tif 000011
【図１０】
2004318260.tif 000012
【図１１】
2004318260.tif 000013
【図１２】
2004318260.tif 000014
【図１３】
2004318260.tif 000015
【図１４】
2004318260.tif 000016
【図１５】
2004318260.tif 000017
【図１６】
2004318260.tif 000018
【図１７】
2004318260.tif 000019
【図１８】
2004318260.tif 000020
【図１９】
2004318260.tif 000021
【図２０】
2004318260.tif 000022
【図２１】
2004318260.tif 000023
【図２２】
2004318260.tif 000024
【図２３】
2004318260.tif 000025
【図２４】
2004318260.tif 000026
【図２５】
2004318260.tif 000027
【図２６】
2004318260.tif 000028
【図２７】
2004318260.tif 000029
【図２８】
2004318260.tif 000030
【図２９】
2004318260.tif 000031
【図３０】
2004318260.tif 000032
【図３１】
2004318260.tif 000033
【図３２】
2004318260.tif 000034
【図３３】
2004318260.tif 000035
【図３４】
2004318260.tif 000036
【図３５】
2004318260.tif 000037
【図３６】
2004318260.tif 000038
【図３７】
2004318260.tif 000039
【図３８】
2004318260.tif 000040
【図３９】
2004318260.tif 000041
【図４０】
2004318260.tif 000042
【図４１】
2004318260.tif 000043
【図４２】
2004318260.tif 000044
【図４３】
2004318260.tif 000045
【図４４】
2004318260.tif 000046
【図４５】
2004318260.tif 000047
【図４６】
2004318260.tif 000048
【図４７】
2004318260.tif 000049