(57)【要約】【課題】ウェブアプリケーションを開発する場合において、頻繁に行われる画面仕様の変更作業や顧客毎に画面をカスタマイズする作業は容易ではなかった。【解決手段】ウェブアプリケーションの表示画面を予めＨＴＭＬファイルとして作成し、動的に表示を変更する箇所に識別子を追加する。ロジックコンポーネントのフィールドを識別子にリンクさせ、リンク情報とＨＴＭＬファイルからウェブアプリケーションのソースコードを自動的に作成する【選択図】      図２
2004342061.tif 000002
【特許請求の範囲】
【請求項１】
ウェブサーバー（１１０）上で動作するウェブアプリケーション（１２０）のプログラム開発方法であって、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイルと開発用言語のコンポーネント間のリンク情報からプログラムを自動的に作成する開発方法。
【請求項２】
請求項１のプログラムを自動的に作成する方法において、ＨＴＭＬファイルからプログラムの構造を記述したＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイルに一度変換し、ＸＭＬファイルからプログラムを自動的に作成する開発方法。
【請求項３】
請求項１のＨＴＭＬファイルにおいて、システムの状態と連携して表示を動的に変化させる箇所とリクエスト（１０１）送信機能を持つタグに識別子（６００）をＨＴＭＬに追加し、その識別子に開発用言語のコンポーネントのフィールドへのリンクを付与し、ＨＴＭＬファイルとリンク情報から画面表示コンポーネント（１２４）のプログラムを自動的に作成する開発方法。
【請求項４】
請求項３のリンク情報の管理において、リンク情報およびその他のプログラムに関する情報の記述は、識別子の名前でリンク付けした別のファイルに保存管理し、ＨＴＭＬファイルには識別子（６００）のみを追加する方式によって、ＨＴＭＬファイルとプログラム情報とを分離する方式を特徴とする。
【請求項５】
請求項３のリンク付与操作において、リンク付与やその他プログラムに関連した情報をＨＴＭＬに割り付けるための操作は対話形式の画面入力によって行われ、プログラム開発者（２００）がＨＴＭＬファイルを選択すると連動してＨＴＭＬファイル内に記述されている識別子（６００）を表示し、次に何れかの識別子を選択すると連動して所定の項目を入力するための画面を表示するユーザインタフェースを有することを特徴とする。
【請求項６】
請求項５の対話形式の画面において、ＨＴＭＬファイルに記述した識別子（６００）とウェブアプリケーション開発支援装置（２２０）に登録されているコンポーネントのフィールドを表示し、プログラム開発者（２００）が表示されたフィールドの中から選択することでリンク付与を行う方式を特徴とする。
【請求項７】
請求項６の対話形式の画面において、表示するコンポーネントおよびコンポーネントのフィールドは、識別子の役割、コンポーネントの役割、コンポーネントのフィールドの型によって、予め対象外であると予想される項目を除いた上で、表示すること特徴とする。
【請求項８】
請求項６のコンポーネントのフィールド表示画面において、配列型のフィールドが選択された場合、そのフィールドに保存されているコンポーネントに関する情報を予め本装置が保持し、配列型のフィールドに保存されているコンポーネントの情報をプログラム開発者（２００）が特に入力する必要なく、自動的に他の画面に引き継ぐことを特徴とする。
【請求項９】
画面遷移、画面が送信するリクエスト名、画面のフィールド名とコンポーネントのフィールド対応、リクエストおよびそのパラメータ名、に関する情報を基にウェブアプリケーションの構造を説明したドキュメントを自動的に作成する方式を特徴とする。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ウェブアプリケーション開発方法および開発支援装置に関し、インターネットのウェブシステムで広く使用されているＨＴＭＬとプログラムのコンポーネント間のリンク情報からウェブアプリケーションのプログラムを自動的に作成する装置に関する。
【０００２】
【従来技術】
近年、インターネット技術を使用したウェブアプリケーションによるシステムが普及している。特に、サーバーサイドで動作するプログラムとしてはＪａｖａ、ＡＳＰ（Ａｃｔｉｖｅ  Ｓｅｒｖｅｒ  Ｐａｇｅｓ）、ＣＧＩ（ＣｏｍｍｏｎＧａｔｅｗａｙ  Ｉｎｔｅｒｆａｃｅ）プログラムが広く使用されている。
【０００３】
【発明が解決しようとする課題】
ウェブアプリケーションの開発においては、質や独自性の高い画面設計をしたい、開発が完了した後も頻繁に画面仕様を変更したい、ＡＳＰ事業者にあっては同じアプリケーションを顧客毎に画面をカスタマイズしたい、開発期間をもっと短期に行いたい、などの顧客ニーズがある。
【０００４】
しかしながら従来の開発方法は、画面仕様をドキュメントに作成する作業と開発用言語を使用した画面コンポーネントのプログラミング作業には重複した作業が含まれているため開発効率が低下するとともに質や独自性の高い画面設計を行う必要性から画面設計者２０１とプログラム開発者２００間とで開発作業を分担して行う場合、両者間の役割分担を明確に決めることが難しいなどの課題があった。
【０００５】
従来の開発方法は、画面仕様変更や既存の画面から少し変更した画面を作成する作業を行う場合、基となるファイルには画面のレイアウトに関する記述とプログラムに関する記述が混在したり、修正に伴う影響範囲がアプリケーション内に分散したりして、修正に掛かるコストが高騰する場合があった。
【０００６】
従来の開発方法は、プログラム開発者２００が開発用言語に精通していなければならないということがあり、開発期間を短縮するには課題があった。
【０００７】
また、ウェブアプリケーション１２０のプログラムを説明したドキュメントを作成する場合、従来方法はプログラム開発者２００がワープロを使用して作成するか、開発用言語のソースコードから自動的に作成するかの何れかである。前者の方式は、ドキュメントを作成するのに多くの費用が必要となり、後者の方式では、コンポーネントの開発用言語上のメソッドやフィールドに関する説明は自動的に作成できるが、ウェブアプリケーションの構造の説明を自動的に作成することはできなかった。
【０００８】
本発明は、ＨＴＭＬファイルからウェブアプリケーション１２０のプログラムおよびドキュメントを自動的に作成する方式で上述した課題を解決する開発方法を提供することを目的とする。
【０００９】
【課題を解決するための手段】
本発明はウェブサーバー１１０上で動作するウェブアプリケーション１２０のプログラム開発方法であって上記の目的を解決するために、以下の方法で開発を行うものである。
【００１０】
ウェブアプリケーション１２０は、ウェブサーバー１１０上に配置され、データベースなどと連携して動的にＨＴＭＬを作成し、ブラウザー１００に返信する。
【００１１】
本発明では初めに、ブラウザー１００に返信するＨＴＭＬ（レスポンス１０２）をＨＴＭＬエディタを使用してＨＴＭＬファイルとして作成する。次にＨＴＭＬの中でデータベースなどと連携して動的に表示を変える箇所とウェブサーバー１１０へのリクエスト１０１送信機能を持つタグに識別子６００を追加する。
【００１２】
識別子を追加したＨＴＭＬファイルをウェブアプリケーション開発支援装置２２０に登録すると、ウェブアプリケーション開発支援装置２２０はリクエスト１０１に関する情報、画面遷移に関する情報、動的に表示を変更する箇所に関する情報、をＨＴＭＬファイルを解析することによって自動的に取得する。ＨＴＭＬファイルから取得できないプログラムに必要な情報は、プログラム開発者２００から対話的な画面を使用して入力し、ウェブアプリケーション開発支援装置２２０はウェブアプリケーション１２０を構成するフォームコンポーネント１２１、制御コンポーネント１２２、共有メモリコンポーネント１２３、画面表示コンポーネント１２４のコードを自動的に作成する。
【００１３】
画面表示コンポーネント１２４は、共有メモリコンポーネント１２３あるいはフォームコンポーネント１２１が持つフィールドをＨＴＭＬに追加した識別子にリンクさせ、ＨＴＭＬファイルとリンク情報からコードを自動的に作成する。この方式は画面仕様の変更や既に存在する画面から少し異なった画面を作成したりする作業を行う場合、ＨＴＭＬファイルを修正しリンクを付与し直すことで画面表示コンポーネント１２４を素早く作成できることを特徴とする。
【００１４】
リンク情報や他のプログラムに関連する情報をＨＴＭＬファイルとは別のファイルに保存管理することによって、画面仕様としてのＨＴＭＬファイルとプログラム関連のファイルとを分離した開発環境を提供することを特徴とする。
【００１５】
識別子へのリンクの付与は、対話形式の画面で行われ、ウェブアプリケーション開発支援装置２２０はリンクの対象となるコンポーネントのフィールドを表示して、プログラム開発者２００が何れかを選択する操作で行う、ユーザインタフェースを有することを特徴とする。
【００１６】
また、ウェブアプリケーションの構造を説明したドキュメントを、上述した方式によって取得した情報を基に、ウェブアプリケーション開発支援装置２２０が自動的に作成することを特徴とする。
【００１７】
【発明の実施の形態】
ウェブアプリケーション１２０の基本的な画面遷移モデルを図１に示す。画面は順にＡ，Ｂ，Ｃ，Ｄへと遷移していく。画面Ａ，Ｂ，Ｃにおいて１、２、３が入力され、入力されたデータは共有メモリ内に保存する。画面Ｄにおいて共有メモリからデータを取得し、画面Ａ，Ｂ，Ｃで入力されたデータを表示する。
【００１８】
本発明は、この画面遷移モデルを基本構成とするウェブアプリケーションのソースコードを、画面間の遷移情報を持った複数のＨＴＭＬファイルから、自動的に作成する方式を特徴としている。ウェブアプリケーション開発支援装置２２０が自動的に作成するソースコードの機能は、
●  各画面で入力したデータを受信する機能
●  入力データを共有メモリに保存する機能
●  画面遷移機能
●  共有メモリからデータを取得して画面に表示する機能
である。
【００１９】
これらの機能を持ったコードを自動的に作成するためには、開発しようとしているウェブアプリケーション１２０において、画面からの入力データ、画面への表示データ、共有メモリに保存するデータおよび画面遷移、を把握し管理する必要がある。しかしＨＴＭＬからこれらの情報を全て判断して取得することはできないので本発明では、判断するための識別子をＨＴＭＬファイルに追加する。
【００２０】
入力データを判断できるように、画面設計者２０１はＨＴＭＬにブラウザー１００からウェブサーバー１１０へのリクエスト１０１を送信する機能を持つタグに識別子６００を追加する。また、表示データを判断できるように、ＨＴＭＬ内に動的に表示を変更する箇所に識別子６００を追加する。通常、識別子を追加したＨＴＭＬファイルの作成までは、画面設計者２０１が行い、以後のプログラミング作業をプログラム開発者２００が行う。
【００２１】
ウェブアプリケーション開発支援装置２２０は、ＨＴＭＬのタグを解析することでＨＴＭＬリンク当たり一つの画面遷移を自動的に取得することができるが、遷移先の画面が複数存在する場合は、プログラム開発者２００が遷移先のＨＴＭＬファイルと遷移条件を入力する。
【００２２】
ウェブアプリケーション開発支援装置２２０は、各画面での入力データと表示データを保存するための共有メモリの構成を自動的に作成する。別々の画面で同じデータを入力する場合などは重複して作成されてしまうので、プログラム開発者２００がテキストエディタを使用して重複部分の削除を行う。
【００２３】
共有メモリをどのように画面へ表示するかは、図１の画面Ｄにおいて動的に表示を変化させる箇所に、プログラム開発者２００が共有メモリのデータを選択して、リンクを付与することによって指示する。
【００２４】
以上の手順によって、本発明はウェブアプリケーション２２０のソースコードを上述の機能に関して自動的に作成する。
【００２５】
図２に本発明であるウェブアプリケーション開発支援装置２２０の構成を、図３にウェブアプリケーション開発支援装置２２０によって開発するアプリケーションのシステム構成を示す。ウェブアプリケーション１２０は、ウェブサーバー１１０上に配置する。一般に、ウェブアプリケーション１２０はフォームコンポーネント１２１、制御コンポーネント１２２、共有メモリコンポーネント１２３、画面表示コンポーネント１２４に分割して構築する。
【００２６】
制御コンポーネント１２２は、リクエスト１０１を受信することによって呼び出され、ブラウザ１００にレスポンス１０２を返信するまでのフロー制御を行う。フォームコンポーネント１２１に受信したリクエスト１０１を保存する。共有メモリコンポーネント１２３はリクエストあるいはセッションが確立している間、画面間でデータを共有するための機能を持つ。フォームコンポーネント１２１と共有メモリコンポーネント１２３が図１の共有メモリに対応する。画面表示コンポーネント１２４はブラウザ１００に返信するＨＴＭＬを動的に作成する機能を持つ。
【００２７】
本発明におけるアプリケーションの開発手順を説明する。画面設計者２０１がＨＴＭＬエディタを使用して、ウェブアプリケーション１２０の複数画面をＨＴＭＬファイルとして作成し、タグによって画面間のＨＴＭＬリンク付けを行う。次に、作成したＨＴＭＬファイルにシステムの状態と連携して表示を動的に変化させる箇所とリクエスト１０１送信機能を持つタグに識別子６００を追加し、ウェブアプリケーション開発支援装置２２０に登録する。
【００２８】
ウェブアプリケーション開発支援装置２２０は、ＨＴＭＬファイル２１０を解析することによって追加した識別子６００とリクエスト１０１情報を自動的に取得し、共有メモリコンポーネント１２３のプログラム構造をＸＭＬファイル（共有メモリコンポーネントＸＭＬファイル２１１）形式で出力する。
【００２９】
プログラム開発者２００が共有メモリコンポーネントＸＭＬファイル２１１を、包含関係を見て重複した項目をテキストエディタを使用して削除し、そのファイルから共有メモリコンポーネントコード生成機能２２３が、共有メモリコンポーネント１２３のコードを自動的に作成する。
【００３０】
制御コンポーネントコード生成機能２２１が、ＨＴＭＬより取得された情報からフォームコンポーネント１２１と制御コンポーネント１２２のコードを自動的に作成する。
【００３１】
対話的な画面を使用してプログラム開発者２００が、対象となる共有メモリコンポーネントのフィールドをＨＴＭＬに追加した識別子へリンクさせるために、フィールドを選択し、識別子リンク入力機能２２４は、入力されたリンク情報を識別子リンク保存ファイル２１３に保存する。画面表示コンポーネントコード生成機能２２５は、ＨＴＭＬファイル２１０と識別子リンク保存ファイル２１３から画面表示コンポーネント１２４のコードを自動的に作成する。以上が開発手順の説明である。ウェブアプリケーション開発支援装置２２０によって自動的に作成されたソースコードファイル２３０がウェブアプリケーション１２０のソースコードファイルとなる。
【００３２】
本発明の実施形態をＪａｖａ言語を使用してＳｅｒｖｌｅｔ／Ｂｅａｎ／ＪＳＰプラットフォーム上に図３の掲示板システムを開発する場合を例として詳細説明を行う。図５にＨＴＭＬファイルの内容を示す。例では、メモ入力フォーム画面でメモを入力し、投稿一覧表示画面で投稿されたメモの一覧を表形式で表示する。図５のメモ入力画面用のｍｅｍｏ．ｈｔｍと投稿一覧表示画面用のｂｏａｒｄｌｉｓｔ．ｈｔｍファイルを予め画面設計者２０１がＨＴＭＬエディタで作成する。
【００３３】
次に、画面設計者２０１がこれらＨＴＭＬファイルに動的に表示を変更する箇所に識別子を追加する。識別子は、［＃＃名前＃＃］の形式の書式と＜！−−ａｒｒａｙｍａｒｋｉｄ＝”名前”−−＞と＜！−−ｅｎｄａｒｒａｙｍａｒｋ−−＞で一連のタグを囲む形式の書式がある。前者は動的に表示を変更する箇所であることを示し、後者のａｒｒａｙｍａｒｋとｅｎｄａｒｒａｙｍａｒｋによる書式は、データ数によってａｒｒａｙｍａｒｋ内の一連のタグや文字列を繰り返して、表の行を作成する方法で動的に表示を変更する箇所であることを示している。
【００３４】
その例を図６に示す。ｍｅｍｏ．ｈｔｍの場合、リクエスト１０１送信の機能を持つタグ（ｆｏｒｍ，ｉｎｐｕｔ，ｔｅｘｔａｒｅａ，ｓｅｌｅｃｔタグ）に識別子を記述している。ｂｏａｒｄｌｉｓｔ．ｈｔｍの場合、投稿した全データを表示するために表形式で表示する、そのため表の１行分のタグをａｒｒａｙｍａｒｋ、ｅｎｄａｒｒａｙｍａｒｋで囲み、各カラムについて［＃＃名前＃＃］形式で識別子を記述している。表に識別子を記述する場合、１行だけを残して、識別子を記述する。  識別子を記述する前と後のＨＴＭＬファイルの表示例を図７に示す。
【００３５】
次に、ＨＴＭＬファイルをウェブアプリケーション開発支援装置２２０に登録する。ウェブアプリケーション開発支援装置２２０は、図６のＨＴＭＬファイルを解析して中間ファイル図８と図９を作成する。図８の表はブラウザ１００からウェブサーバー１１０へのリクエスト１０１に関する情報を取得したものである。
【００３６】
リクエスト名は便宜上リクエストに対して付ける名前であって、ｆｏｒｍタグに追加した識別子から求める。画面遷移先は、ｆｏｒｍタグのａｃｔｉｏｎ属性から求め、制御クラス名とフォームクラス名はｎａｍｅ属性から名前を作成する、パラメータ名はｆｏｒｍと／ｆｏｒｍタグ内に含まれるタグおよびａｃｔｉｏｎ属性を解析することで得ることができる、使用する共有メモリクラス名はプログラム開発者２００が入力する。
【００３７】
図９の表はＨＴＭＬファイル内において動的に表示を変更する箇所に関する情報である。ｂｏａｒｄｌｉｓｔ．ｈｔｍ内の識別子を取得することで求めることができる。
【００３８】
次に、共有メモリコンポーネント１２３用のＪａｖａコード作成の方法について説明する。共有メモリコンポーネント情報生成機能２２２が図８、９の両中間ファイルから共有メモリコンポーネントＸＭＬファイル２１１を作成する、その例を図１０に示す。
【００３９】
図１０のＸＭＬファイルには、共有メモリコンポーネント１２３のクラスをｍｏｄｅｌエレメントで、そのクラス名をｃｌａｓｓ属性で、配列データを保存するための型とクラス名をｌｉｓｔｃｌａｓｓ属性で、クラスが持つフィールドをｆｉｅｌｄエレメントで、クラスのオブジェクトをｂｅａｎエレメントで、そのスコープをｓｃｏｐｅ属性で、記述している。
【００４０】
図１０の（ｂ）は、図８の表のパラメータ名から、図１０の（ｃ）は図９の表の識別子から求めることができ、図１０の（ａ）は、（ｂ），（ｃ）のｍｏｄｅｌエレメントから求めることができる。
【００４１】
図１０のＸＭＬファイルは、図８、９から自動的に作成したデータであるため、重複した項目も含まれている。プログラム開発者２００が、テキストエディタを使用して重複した部分を削除し、図１１のＸＭＬファイルを作成する。
【００４２】
共有メモリコンポーネントコード生成機能２２３が、共有メモリコンポーネントＸＭＬファイル２１１（図１１のＸＭＬファイル）からＸＭＬデータの内容に従って、共有メモリコンポーネント１２３のＪａｖａクラスのコードを自動的に作成する。図１２に作成されたクラスのコードの一部を示す。投稿データを保存するＤａｔａｉｔｅｍクラスとそのインスタンスを配列として保存するＤａｔａｌｉｓｔクラスが作成されている。
【００４３】
次に、フォームコンポーネント１２１と制御コンポーネント１２２用のＪａｖａコード作成について説明する。制御コンポーネントコード生成機能２２１は、図８の中間ファイルからフォームコンポーネント１２１、制御コンポーネント１２２用のＪａｖａのクラスとしてそれぞれＦｏｒｍＲｅｇｉｓｔクラスとＡｃｔｉｏｎＲｅｇｉｓｔクラスを自動的に作成する（図１３参照）。
【００４４】
ＦｏｒｍＲｅｇｉｓｔクラスは、図８の表のパラメータ名とフォームクラス名から作成することができ、ＡｃｔｉｏｎＲｅｇｉｓｔクラスは、図８の表からパラメータ名、制御クラス名、使用する共有メモリクラス名を取得し、Ｄａｔａｌｉｓｔクラスに関する情報をＪａｖａのコードを解析することで取得することによって、自動的に作成することができる。ＡｃｔｉｏｎＲｅｇｉｓｔクラスには、受信したリクエスト１０１からパラメータを取得するコード、共有メモリコンポーネントのオブジェクトを取得し投稿されたデータを保存するコード、画面遷移するためのコード、例外を検出するコードが作成されている。
【００４５】
次に、画面表示コンポーネント１２４用のＪａｖａコード作成について説明する。図６のＨＴＭＬに記述した識別子６００にＪａｖａのクラスのフィールドへのリンクを付与する。その際付与するリンク情報やその他のプログラムに関する情報は、ＨＴＭＬファイル内で画面レアウト情報とプログラム情報が混在してしまうのを避けるために、識別子の名前でリンクを持たせた別のファイル（識別子リンク保存ファイル２１３）に保存する方式とする（図１４参照）。
【００４６】
リンク情報などＨＴＭＬファイル内の識別子にプログラムに関連した情報を入力するためのユーザインタフェースを図１５に示す。対話形式で入力作業を進めることを特徴とする。  ＨＴＭＬファイル（例では、ｂｏａｒｄｌｉｓｔ．ｈｔｍ）を選択すると、ファイル内の識別子が自動的に取得され、左下のウインドウに識別子が表示されている。そのウインドウに表示されている識別子を選択（例では、ａｒｒａｙｍａｒｋ（ｄａｔａｌｉｓｔ））すると、右ウインドウに属性値を入力する画面が表示される。このような入力インタフェースによってプログラム開発者２００は、容易にプログラムに関連した情報をＨＴＭＬに加えることができる。
【００４７】
次に、プログラム開発者２００がコンポーネントのフィールドを選択できるように、ウェブアプリケーション開発支援装置２２０は図１６の画面を表示する。上半分のウインドウには装置に登録されているＪａｖａのクラスの中で、フォームコンポーネント１２１と共有メモリコンポーネント１２３（図１１のｂｅａｎエレメントで定義されているコンポーネント）を表示している。但し、コンポーネントの役割からリンク付与には予め対象外であると予想されるコンポーネント（例  制御コンポーント１２２）は表示しないように制御している。さらに、ａｒｒａｙｍａｒｋ（ｄａｔａｌｉｓｔ）は、図９の中間ファイルから複数データを制御するための識別子であることが判断でき、配列タイプのフィールドのみを図１６の下半分のウインドウに表示するように制御している。
【００４８】
画面には識別子の役割、Ｊａｖａのクラスの役割、クラスのフィールドの型によって、ウェブアプリケーション開発支援装置２２０に登録されているＪａｖａクラスの中から予め対象外であると予想される項目を除いた上で、Ｊａｖａのクラスおよびフィールドを表示し、プログラム開発者２００はその中から選択することを特徴としている。プログラム開発者２００が表示された項目の中から選択することによって該識別子にコンポーネントのフィールドへのリンクを付与する。このようなユーザインタフェースを提供することによって、作業が容易になるとともに入力誤りを少なくすることができる。
【００４９】
図１７にリンク付与作業を行って作成した識別子リンク保存ファイル２１３の例を示す。図１６においてプログラム開発者２００が「（ｐｖｔ）ＡｒｒａｙＬｉｓｔ  ｌｉｓｔ」を選択すると、図１７の表のｄａｔａｌｉｓｔの行が自動的に作成される。ｔｙｐｅ属性値は、フィールドｌｉｓｔに保存されているＪａｖａのクラスが記述される。これは次の方法で取得することができる。
【００５０】
ウェブアプリケーション開発支援装置２２０が自動的に、図１６の画面で選択されたｌｉｓｔフィールドが所属するコンポーネント名（ｍｏｄｅｌ）を取得し、それと同じ名前を持つ図１１のｂｅａｎエレメントのｎａｍｅ属性値を検索し、検索されたｂｅａｎエレメントのｃｌａｓｓ属性からクラス名（ｍｏｄｅｌ．Ｄａｔａｌｉｓｔ）を求めて、ｃｏｌｌｅｃｔｉｏｎｍａｐエレメントの子エレメントの中からｃｌａｓｓ、ｆｉｅｌｄ属性値がそれぞれｍｏｄｅｌ．Ｄａｔａｌｉｓｔとｌｉｓｔであるｉｔｅｍエレメントを検索すると、＜ｉｔｅｍｃｌａｓｓ＝”ｍｏｄｅｌ．Ｄａｔａｌｉｓｔ”ｆｉｅｌｄ＝”ｌｉｓｔ”ｔｙｐｅ＝”ｍｏｄｅｌ．Ｄａｔａｉｔｅｍ”／＞が求められ、これから図１７のｄａｔａｌｉｓｔの行を作成している。このように、配列型に保存されているクラスを装置が保持し、自動的に情報が引き継がれていくことを特徴とする。
【００５１】
次に、画面表示コンポーネントコード生成機能２２５は、図１７と図１６のｂｏａｒｄｌｉｓｔ．ｈｔｍファイルからＪＳＰファイル（画面表示コンポーネント１２４）を自動的に作成する。作成したＪＳＰファイルを図１８に示す。
【００５２】
図６の識別子（ａ）の［＜！−−ａｒｒａｙｍａｒｋ  ｉｄ＝”ｄａｔａｌｉｓｔ”−−＞」および（ｃ）の「＜！−−ｅｎｄａｒｒａｙｍａｒｋ−−＞」は、図１７の表のｄａｔａｌｉｓｔのリンク情報を使用して図１８の（ａ）の「＜ｌｏｇｉｃ：ｉｔｅｒａｔｅ  ｉｄ＝”ｍｏｄｅｌ＿ｔｍｐｌｔ”ｎａｍｅ＝”ｍｏｄｅｌ”ｐｒｏｐｅｒｔｙ＝”ｌｉｓｔ”ｓｃｏｐｅ＝”ｒｅｑｕｅｓｔ”ｔｙｐｅ＝”ｍｏｄｅｌ．Ｄａｔａｉｔｅｍ”＞」および（ｃ）の「＜／ｌｏｇｉｃ：ｉｔｅｒａｔｅ＞」に置換している。また、図６の識別子（ｂ）の「［＃＃ｍｅｍｏ＃＃］」は、図１７のｍｅｍｏのリンク情報を使用して図１８の（ｂ）の「＜ｂｅａｎ：ｗｒｉｔｅｎａｍｅ＝”ｍｏｄｅｌ＿ｔｍｐｌｔ”ｐｒｏｐｅｒｔｙ＝“ｍｅｍｏ”ｓｃｏｐｅ＝”ｐａｇｅ”／＞」に置換している。
【００５３】
以上の手順で本発明によるウェブアプリケーションの開発方法についての説明を終了する。次に、ウェブアプリケーションの構造を説明するドキュメントを自動的に作成する方式について説明する。
【００５４】
自動的に作成するドキュメントの項目は、
●  画面遷移図
●  画面が送信するリクエスト名
●  画面のフィールド名とコンポーネントのフィールドの対応
●  リクエストおよびパラメータ名
である。
【００５５】
ウェブアプリケーション開発支援装置２２０は、図６のＨＴＭＬファイル内のｆｏｒｍタグに付与されている識別子６００を取得し、図８の表において同じ名前のリクエスト名を検索、画面遷移先を取得し、画面が送信するリクエスト名の一覧と画面遷移図を作成する。
【００５６】
ウェブアプリケーション開発支援装置２２０は、図６のＨＴＭＬファイルから識別子を取得、識別子リンク保存ファイル２１３から識別子に付与されているリンク情報を取得、リンク情報からリンク付けされているコンポーネントのフィールド名を取得、識別子の名前を画面のフィールド名として、画面のフィールド名とコンポーネントのフィールドの対応表を作成する。
【００５７】
ウェブアプリケーション開発支援装置２２０は、図８の表からリクエストおよびパラメータ名の一覧表を作成する。
【００５８】
以上の方法で、ウェブアプリケーションの構造を記述したドキュメントを自動的に作成する方式を特徴とする。
【００５９】
【実施例】
発明の実施形態で説明した機能を持つプログラムを保存した記録媒体およびＣＰＵ装置に配置して前述した機能を実現する装置。
【００６０】
【発明の効果】
上述したように本発明によれば、ＨＴＭＬファイルからウェブアプリケーションのコードを自動的に作成することができ、開発期間を短縮することができる。
【００６１】
本発明による開発環境は、画面仕様としてのＨＴＭＬファイルの作成とプログラミング作業とが分離しているので、画面設計者２０１とプログラム開発者２００間で容易に分担して作業を行うことができる。
【００６２】
画面仕様変更や少し異なった画面を追加する作業を行う場合、ＨＴＭＬを修正してＨＴＭＬ内に記述した識別子へのコンポーネントのリンク付与をやり直すことで容易に画面表示コンポーネント１２４を作成することができるので、画面仕様変更に素早く対応することができる。
【００６３】
ウェブアプリケーションの構造を説明したドキュメントを、自動的に作成することができる。
【図面の簡単な説明】
【図１】コード自動生成におけるウェブアプリケーションの基本画面遷移モデル図である。
【図２】ウェブアプリケーション開発支援装置図である。
【図３】ウェブアプリケーションのシステム構成図である。
【図４】掲示板システムの機能図である。
【図５】ＨＴＭＬファイル図である。
【図６】ＨＴＭＬファイルに識別子を追加した図である。
【図７】識別子を記述する前と後のＨＴＭＬファイルの表示図である。
【図８】中間ファイル（リクエスト情報）図である。
【図９】中間ファイル（動的表示アイテム情報）図である。
【図１０】自動的に作成された共有メモリコンポーネントＸＭＬファイル図である。
【図１１】開発者によって編集した共有メモリコンポーネントＸＭＬファイル図である。
【図１２】共有メモリコンポーネントのＪａｖａコード図である。
【図１３】フォームコンポーネントと制御コンポーネントのＪａｖａコード図である。
【図１４】識別子リンク情報管理方式図である。
【図１５】ＨＴＭＬファイルにプログラム情報を入力するためのユーザインタフェース図である。
【図１６】コンポーネントを選択するためのユーザインタフェース図である。
【図１７】識別子リンク保存ファイル図である。
【図１８】ＪＳＰファイル図である。
【符号の説明】
１００  ブラウザー
１０１  リクエスト
１０２  レスポンス
１１０  ウェブサーバー
１２０  ウェブアプリケーション
１２１  フォームコンポーネント
１２２  制御コンポーネント
１２３  共有メモリコンポーネント
２００  プログラム開発者
２０１  画面設計者
２１０  ＨＴＭＬファイル
２１１  共有メモリコンポーネントＸＭＬファイル
２１３  識別子リンク保存ファイル
２２０  ウェブアプリケーション開発支援装置
２２１  制御コンポーネントコード生成機能
２２２  共有メモリコンポーネント情報生成機能
２２３  共有メモリコンポーネントコード生成機能
２２４  識別子リンク入力機能
２２５  画面表示コンポーネントコード生成機能
２２６  ドキュメント作成機能
２３０  ウェブアプリケーションのソースコードファイル
６００  識別子
【図１】
2004342061.tif 000003
【図２】
2004342061.tif 000004
【図３】
2004342061.tif 000005
【図４】
2004342061.tif 000006
【図５】
2004342061.tif 000007
【図６】
2004342061.tif 000008
【図７】
2004342061.tif 000009
【図８】
2004342061.tif 000010
【図９】
2004342061.tif 000011
【図１０】
2004342061.tif 000012
【図１１】
2004342061.tif 000013
【図１２】
2004342061.tif 000014
【図１３】
2004342061.tif 000015
【図１４】
2004342061.tif 000016
【図１５】
2004342061.tif 000017
【図１６】
2004342061.tif 000018
【図１７】
2004342061.tif 000019
【図１８】
2004342061.tif 000020