(57)【要約】【課題】  サイト作成者が容易にウェブページを作成することができること。【解決手段】  メニュー画面を構成する各メニュー項目名と当該各メニュー項目に対応する階層位置情報とを含む設計情報を予め記憶する設計情報記憶手段と、設計情報に含まれる各メニュー項目の階層位置情報に基づいて各メニュー項目間の階層構造を表すメニュー階層情報を、ウェブページを構成するデータ形式にて作成して記憶するメニュー階層情報作成手段と、を備え、ウェブページ作成送信手段が、アクセス要求受付手段にてユーザ端末から受け付けた特定のウェブページへのアクセス要求情報に対応するメニュー項目を表示するメニュー画面をメニュー階層情報に基づいて生成するメニュー画面作成機能を備えた。【選択図】図２
2005275865.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続されたユーザ端末から特定のウェブページへのアクセス要求情報を受け付けるアクセス要求受付手段と、このアクセス要求にて特定されたメニュー画面及びメイン画面から成るウェブページを作成して前記ユーザ端末に送信するウェブページ作成送信手段と、を備えたウェブページ自動作成システムにおいて、
前記メニュー画面を構成する各メニュー項目名と当該各メニュー項目に対応する階層位置情報とを含む設計情報を予め記憶する設計情報記憶手段と、
前記設計情報に含まれる各メニュー項目の階層位置情報に基づいて各メニュー項目間の階層構造を表すメニュー階層情報を、ウェブページを構成するデータ形式にて作成して記憶するメニュー階層情報作成手段と、を備え、
前記ウェブページ作成送信手段が、前記アクセス要求受付手段にて前記ユーザ端末から受け付けた特定のウェブページへのアクセス要求情報に対応するメニュー項目を表示するメニュー画面を前記メニュー階層情報に基づいて生成するメニュー画面作成機能を備えた、
ことを特徴とするウェブページ自動作成システム。
【請求項２】
ネットワークを介して接続されたユーザ端末から特定のウェブページへのアクセス要求であるページ遷移パス情報を受け付けるアクセス要求受付手段と、このページ遷移パス情報にて特定されたメニュー画面及びメイン画面から成るウェブページを作成して前記ユーザ端末に送信するウェブページ作成送信手段と、を備えたウェブページ自動作成システムにおいて、
ウェブページを特定するページ遷移パス情報に対応した、前記メニュー画面を構成する各メニュー項目名及び当該各メニュー項目名に対応する階層位置情報と、前記メイン画面を構成するメイン画面情報と、を含む設計情報を予め記憶する設計情報記憶手段と、
前記設計情報に含まれる各メニュー項目の階層位置情報に基づいて各メニュー項目間の階層構造を表すメニュー階層情報を、ウェブページを構成するデータ形式にて作成して前記ページ遷移パス情報と共に記憶するメニュー階層情報作成手段と、を備え、
前記ウェブページ作成送信手段が、前記アクセス要求受付手段にて前記ユーザ端末から受け付けた特定のウェブページへのページ遷移パス情報に対応するメニュー項目を表示するメニュー画面を前記メニュー階層情報に基づいて生成するメニュー画面作成機能と、この作成したメニュー画面と共に表示される前記ページ遷移パス情報に対応するメイン画面を前記メイン画面情報に基づいて設定するウェブページ作成機能と、を備えたことを特徴とするウェブページ自動作成システム。
【請求項３】
前記設計情報は、特定のページ遷移パス毎に前記メニュー項目名と前記メイン画面情報とが予め表形式にて関連付けて構成されたデータである、ことを特徴とする請求項２記載のウェブページ自動作成システム。
【請求項４】
前記設計情報は、表形式にて構成されたデータ中において、前記各メニュー項目名の階層位置情報がその階層に応じた位置に配置されたデータである、ことを特徴とする請求項３記載のウェブページ自動作成システム。
【請求項５】
前記メニュー画面作成機能が、前記ユーザ端末からの要求に応じて既に送信したウェブページ中のメニュー項目の階層位置情報を所定の記憶部に記憶すると共に、前記ユーザ端末から受け付けたページ遷移パス情報に対応するメニュー画面のメニュー項目名の階層位置が前記表示メニュー階層記憶機能にて記憶された階層位置情報よりも下の階層である場合に前記メニュー画面を作成する、ことを特徴とする請求項２，３又は４記載のウェブページ自動作成システム。
【請求項６】
ユーザ端末にネットワークを介して接続されたウェブサーバが前記ユーザ端末から特定のウェブページへのアクセス要求情報を受け付けるアクセス要求受付工程と、
前記ウェブサーバが前記アクセス要求にて特定されたメニュー画面及びメイン画面から成るウェブページを作成して前記ユーザ端末に送信するウェブページ作成送信工程と、を有するウェブページ自動作成方法において、
前記アクセス要求受付工程に前後して、前記ウェブサーバが、予め記憶された前記メニュー画面を構成する各メニュー項目名と当該各メニュー項目に対応する階層位置情報とを含む設計情報に基づいて各メニュー項目間の階層構造を表すメニュー階層情報を、ウェブページを構成するデータ形式にて作成して記憶するメニュー階層情報作成工程を有すると共に、
前記ウェブページ作成送信工程に、前記ウェブサーバが前記アクセス要求受付工程にて前記ユーザ端末から受け付けた特定のウェブページへのアクセス要求情報に対応するメニュー項目を表示するメニュー画面を前記メニュー階層情報に基づいて生成するメニュー画面作成工程を備えた、ことを特徴とするウェブページ自動作成方法。
【請求項７】
ネットワークを介して接続されたユーザ端末から特定のウェブページへのアクセス要求情報を受け付けるアクセス要求受付手段と、このアクセス要求にて特定されたメニュー画面及びメイン画面から成るウェブページを作成して前記ユーザ端末に送信するウェブページ作成送信手段と、を備えたコンピュータに、
前記メニュー画面を構成する各メニュー項目名と当該各メニュー項目に対応する階層位置情報とを含む設計情報を予め記憶する設計情報記憶手段と、
前記設計情報に含まれる各メニュー項目の階層位置情報に基づいて各メニュー項目間の階層構造を表すメニュー階層情報を、ウェブページを構成するデータ形式にて作成して記憶するメニュー階層情報作成手段と、を実現すると共に、
前記ウェブページ作成送信手段に、前記アクセス要求受付手段にて前記ユーザ端末から受け付けた特定のウェブページへのアクセス要求情報に対応するメニュー項目を表示するメニュー画面を前記メニュー階層情報に基づいて生成するメニュー画面作成機能を、実現するためのウェブページ自動作成用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブページ自動作成システムにかかり、特に、ツリー構造からなるメニュー画面を有するウェブページを自動作成するシステムに関する。また、ウェブページ自動作成方法及びウェブページ自動作成用プログラムに関する。
【背景技術】
【０００２】
インターネットの発達により、さまざまなＷＥＢページが出現している。その中で、ユーザの操作を容易にするため、現在どの項目を実行（表示）しているか、次にどの項目を実行（表示）すればよいかなどのメニュー項目を表示するＷＥＢページが多く開発されている。
【０００３】
そして、従来のＷＥＢページ作成の方法では、ＷＥＢページ間の遷移の機能、メニュー部分の表示機能を毎回プログラムして作成する必要があった。そのような従来技術の一例を特許文献１に示す。この文献に開示されている「画面遷移制御方式」では、設定情報から画面遷移を行っている。すなわち、予め作成された画面制御テーブルを参照して画面遷移の機能を実現している。
【０００４】
【特許文献１】特開平４−１０５１２０号公報
【特許文献２】特開２００１−１３４６１６号公報
【特許文献３】特開２００２−１０８９０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１に示すＷＥＢページの画面制御方式では、メニュー項目を表示する機能についてはふれられていない。このメニュー項目を表示する機能を実現するにはそれぞれの画面情報ファイルに対して表示するメニュー項目を作成しておく必要があるが、この手法では、新しいメニューの追加、変更があるたびに関係するすべての画面情報ファイルを変更する必要がある。すなわち、上記特許文献１に示す技術においては、ＷＥＢページ間の遷移の機能、メニュー部分の表示機能の作成にプログラミングの作業が必要であり、その作業に時間及びコストがかかる、という問題があった。これに伴い、一度作成するとメニューの追加、変更などに手間がかかるという問題があった。
【０００６】
また、クライアントからサーバにアクセスする際に想定した順とは異なる順序でアクセスすることがある。すなわち、ＷＥＢブラウザを対象としたとき、ＷＥＢブラウザからサーバへは任意の文字列の遷移パスを入力可能であることから、画面上に表示されていないメニュー項目のアクセスが考えられる。このように、画面に表示された遷移（あらかじめ想定された遷移）に対して次にどの画面を生成するかを規定しているが、想定していない順序の要求にこたえることはできず、意図しない順でアクセスされた際には表示エラーを引き起こすことがあり、その後のウェブサイト自体の正常な動作を保証されない、という問題も生じる。
【０００７】
さらに、ユーザの操作を容易にするためのＷＥＢページ表示を行う技術としては、上記特許文献２，３のものもある。特許文献２のものはウェブ検索を効率的に行うために、ウェブページを収集して、これにインデックスを付加し、ウェブページを分類する、という技術である。また、特許文献３のものも同様に、ＷＥＢ検索を効率よく行うために、個々の利用者の利用履歴に基づいて各利用者に最適と判断される形態に検索用メニューを自動更新して表示する、という技術である。
【０００８】
しかしながら、上記特許文献２，３のものは、いずれもＷＥＢ検索を容易にすることを目的とするものであって、ウェブページの設計が容易になるものではない。すなわち、特許文献２のものでは集められたウェブページの検索が容易になるだけであって、多くのウェブページの作成が容易になるわけではない。また、特許文献３のものでは一度訪れたサイトにのみ有効であって、また、ある構造のウェブページにしか対応することができない。
【０００９】
このため、本発明では、サイト作成者が容易に作成することができると共に、ユーザにとっても利用しやすいウェブページ自動作成システムを提供することをその目的とする。
【課題を解決するための手段】
【００１０】
そこで、本発明では、ネットワークを介して接続されたユーザ端末から特定のウェブページへのアクセス要求情報を受け付けるアクセス要求受付手段と、このアクセス要求にて特定されたメニュー画面及びメイン画面から成るウェブページを作成して前記ユーザ端末に送信するウェブページ作成送信手段と、を備えたウェブページ自動作成システムにおいて、
メニュー画面を構成する各メニュー項目名と当該各メニュー項目に対応する階層位置情報とを含む設計情報を予め記憶する設計情報記憶手段と、
設計情報に含まれる各メニュー項目の階層位置情報に基づいて各メニュー項目間の階層構造を表すメニュー階層情報を、ウェブページを構成するデータ形式にて作成して記憶するメニュー階層情報作成手段と、を備え、
ウェブページ作成送信手段が、アクセス要求受付手段にてユーザ端末から受け付けた特定のウェブページへのアクセス要求情報に対応するメニュー項目を表示するメニュー画面をメニュー階層情報に基づいて生成するメニュー画面作成機能を備えた、という構成を採っている。
【００１１】
さらに具体的には、ネットワークを介して接続されたユーザ端末から特定のウェブページへのアクセス要求であるページ遷移パス情報を受け付けるアクセス要求受付手段と、このページ遷移パス情報にて特定されたメニュー画面及びメイン画面から成るウェブページを作成して前記ユーザ端末に送信するウェブページ作成送信手段と、を備えたウェブページ自動作成システムにおいて、
ウェブページを特定するページ遷移パス情報に対応した、メニュー画面を構成する各メニュー項目名及び当該各メニュー項目名に対応する階層位置情報と、メイン画面を構成するメイン画面情報と、を含む設計情報を予め記憶する設計情報記憶手段と、
設計情報に含まれる各メニュー項目の階層位置情報に基づいて各メニュー項目間の階層構造を表すメニュー階層情報を、ウェブページを構成するデータ形式にて作成してページ遷移パス情報と共に記憶するメニュー階層情報作成手段と、を備え、
ウェブページ作成送信手段が、アクセス要求受付手段にてユーザ端末から受け付けた特定のウェブページへのページ遷移パス情報に対応するメニュー項目を表示するメニュー画面を前記メニュー階層情報に基づいて生成するメニュー画面作成機能と、この作成したメニュー画面と共に表示される前記ページ遷移パス情報に対応するメイン画面をメイン画面情報に基づいて設定するウェブページ作成機能と、を備えた、という構成を採っている。
【００１２】
そして、上記構成において、設計情報は、特定のページ遷移パス毎にメニュー項目名とメイン画面情報とが予め表形式にて関連付けて構成されたデータである、という構成にすると望ましい。さらに、設計情報は、表形式にて構成されたデータ中において、各メニュー項目名の階層位置情報がその階層に応じた位置に配置されたデータである、という構成にするとなお望ましい。
【００１３】
このような構成にすることにより、まず、予めウェブページ作成者にて用意された表形式の設計情報からメニューの階層構造（ツリー構造）を表すメニュー階層情報が作成される。そして、ユーザからアクセスがあると、そのアクセス遷移パスに対応するメニュー表示が階層構造を反映して自動的に作成され、かかるメニュー表示及びメイン画面から成るウェブページが作成されてユーザ端末に送信される。従って、表形式の設定情報から自動的にツリー構造のメニューを有するウェブページを作成することができ、ウェブページ作成の容易化、迅速化を図ることができ、作成コストの削減をも図ることができる。特に、設計情報が表形式にて作成されているため、ウェブページの変更も容易に行うことができ、ツリー構造のメニューであっても、メニュー項目の追加、変更、移動等をも容易に行うことができる。
【００１４】
また、上記構成に加え、メニュー画面作成機能が、ユーザ端末からの要求に応じて既に送信したウェブページ中のメニュー項目の階層位置情報を所定の記憶部に記憶する表示メニュー階層記憶機能を有すると共に、ユーザ端末から受け付けたページ遷移パス情報に対応するメニュー画面のメニュー項目名の階層位置が表示メニュー階層記憶機能にて記憶された階層位置情報よりも下の階層である場合にメニュー画面を作成する機能を有する、という構成にすると望ましい。
【００１５】
これにより、既に経由したウェブページの階層情報が記憶されるため、この階層よりも下の階層に位置するウェブページ以外のページにアクセス要求がなされた場合にはアクセスエラーとしてウェブページが作成されないこととなる。従って、想定した順番以外のアクセス要求がユーザ端末からあった場合にはページにアクセスできないようにすることで、簡易な設計にて不正なアクセスを防止することができる。
【００１６】
また、本発明は、ユーザ端末にネットワークを介して接続されたウェブサーバがユーザ端末から特定のウェブページへのアクセス要求情報を受け付けるアクセス要求受付工程と、
ウェブサーバが前記アクセス要求にて特定されたメニュー画面及びメイン画面から成るウェブページを作成してユーザ端末に送信するウェブページ作成送信工程と、を有するウェブページ自動作成方法において、
アクセス要求受付工程に前後して、ウェブサーバが、予め記憶されたメニュー画面を構成する各メニュー項目名と当該各メニュー項目に対応する階層位置情報とを含む設計情報に基づいて各メニュー項目間の階層構造を表すメニュー階層情報を、ウェブページを構成するデータ形式にて作成して記憶するメニュー階層情報作成工程を有すると共に、
ウェブページ作成送信工程に、ウェブサーバがアクセス要求受付工程にてユーザ端末から受け付けた特定のウェブページへのアクセス要求情報に対応するメニュー項目を表示するメニュー画面を前記メニュー階層情報に基づいて生成するメニュー画面作成工程を備えた、というウェブページ自動作成方法でもある。
【００１７】
さらに、本発明では、ネットワークを介して接続されたユーザ端末から特定のウェブページへのアクセス要求情報を受け付けるアクセス要求受付手段と、このアクセス要求にて特定されたメニュー画面及びメイン画面から成るウェブページを作成してユーザ端末に送信するウェブページ作成送信手段と、を備えたコンピュータに、
メニュー画面を構成する各メニュー項目名と当該各メニュー項目に対応する階層位置情報とを含む設計情報を予め記憶する設計情報記憶手段と、
設計情報に含まれる各メニュー項目の階層位置情報に基づいて各メニュー項目間の階層構造を表すメニュー階層情報を、ウェブページを構成するデータ形式にて作成して記憶するメニュー階層情報作成手段と、を実現すると共に、
ウェブページ作成送信手段に、アクセス要求受付手段にてユーザ端末から受け付けた特定のウェブページへのアクセス要求情報に対応するメニュー項目を表示するメニュー画面を前記メニュー階層情報に基づいて生成するメニュー画面作成機能を、実現するためのウェブページ自動作成用プログラムでもある。
【００１８】
このような構成にしても、上述同様に作用し、上記目的を達成することができる。
【発明の効果】
【００１９】
本発明は、以上のように構成され機能するので、これによると、容易に作成できる設定情報から自動的にツリー構造のメニューを有するウェブページを作成することができ、ウェブページ作成の容易化、迅速化を図ることができ、作成コストの削減をも図ることができる、という従来にない優れた効果を有する。
【発明を実施するための最良の形態】
【００２０】
本発明であるウェブページ自動作成システムは、ツリー構造のメニューを有するウェブページを、表形式の設計情報から作成する、というものである。すなわち、ウェブページ作成者は、メニュー項目の階層位置情報を有する表形式の設計情報を作成することで、容易に複雑なツリー構造のウェブページを提供することができる、というシステムである。以下、その詳細な構成を実施例にて説明する。
【実施例１】
【００２１】
本発明の第１の実施例を、図１乃至図１２を参照して説明する。図１乃至図２は、本発明であるウェブページ自動作成システムの構成を示す図である。図３乃至図７は、本システムにて用いられるデータの構造を説明する図である。図８乃至図９は、本システムにおける動作を示す図である。図１０乃至図１２は、本システムにて用いられるデータの構造を説明する図である。
【００２２】
〈構成〉
本発明であるウェブページ自動作成システムは、所定のウェブサイトを開設し、アクセスしてきたユーザ端末に対してウェブページを配信するウェブサーバ１内に構築されるシステムである。そして、このウェブページ自動作成システムを備えたウェブサーバ１は、図１に示すように、ネットワークＮを介してユーザ端末Ｕに接続されている。
【００２３】
なお、本発明であるウェブページ自動作成システムは、ウェブサーバ１内に構築されていることに限定されない。ウェブサーバ１に接続された別のサーバコンピュータ内に構築されていて、ウェブサーバ１に対するユーザ端末Ｕからの要求に応じて、上記別のサーバコンピュータが当該ウェブサーバ１に変わってウェブページを作成してもよい。また、後述するように、ウェブサーバ１内に構築されるウェブページ自動作成システムを構成する各処理部は、一つのコンピュータ内に構築されることに限定されない。すなわち、ウェブページ自動作成システムは、複数台のコンピュータにて構成されていてもよい。
【００２４】
次に、図１に示すウェブサーバ１の構成、すなわち、ウェブページ自動作成システムの詳細な構成について図２を参照して説明する。まず、ウェブサーバ１は、上述したようにウェブサイトを開設するサーバコンピュータであって、演算部であるＣＰＵ１０、記憶装置であるハードディスク２０（ＨＤ）やＲＡＭ３０などのメモリ、入力装置、出力装置など、一般的なコンピュータが有する構成を備えている。
【００２５】
そして、上記ハードディスク２０には、予めウェブページ作成者にて設計されたウェブページの設計情報２１が記憶されており、設計情報記憶部（設計情報記憶手段）が形成されている。この設計情報は、ウェブページを特定するページ遷移パス情報に対応した、メニュー画面を構成する各メニュー項目名及び当該各メニュー項目名に対応する階層位置情報と、メイン画面を構成するメイン画面情報と、を含むものである。さらに具体的に、図３を参照して説明する。
【００２６】
図３に示すように、ウェブページの設計情報Ｔは表形式のデータであり、一つのデータは、メニュー項目毎、換言すると、各メニュー項目に対応したページ遷移パス情報毎に所定の項目が関連付けられて記憶されている。すなわち、図３の例では、各「行」毎に一つのメニュー項目に対応するページ遷移パス情報やアクションクラスなどが記憶されている。
【００２７】
具体的に、各設計情報は、次の５個の項目からなる。
・「メニュー名（１）〜メニュー名（５）」の列には、メニュー部に表示するメニュー名が記入されている。なお、カッコ内の数値（１）〜（５）はメニューを表示する階層を表し、この数値が小さいほど高い階層を表している。なお、この例では階層が５つだが、任意の個数に拡張可能である。このとき、1行にメニュー名は（１）〜（５）のうち1つだけ存在する。
・「遷移パス」の列には、ユーザがウェブページ上に表示されたメニュー項目を選択することで、ユーザ端末から要求されたウェブページの遷移要求であるページ遷移パス情報が記入されている。
・「アクションクラス」の列には、画面を表示する際に行う処理（ログ出力、データベースからの検索など）を行うＪａｖａ（登録商標）の実行クラス名が記入される。
・「level1〜level5」の列には、メニュー名に対応する一意のメニューＩＤが記入されている。なお、メニュー名同様で、任意の個数に拡張可能である。このとき、１行に level1 〜 level5 のうち１つだけメニューIDを記入する。なお、levelは、ツリー構造となるメニューの階層に相当するものであり、数字が少ないほど階層が高い。
・「表示ページ」には、リクエストを受けて表示するメイン部分のページ名が記入されている。
【００２８】
なお、上述したように、上記設計情報Ｔは、「メニュー名」の項目、あるいは、「ｌｅｖｅｌ」の項目が階層を表すようになっている。すなわち、表形式にて構成されたデータ中において、各メニュー項目の階層位置情報が含まれていて、そのメニュー項目名が階層に応じた位置に配置されて表されている。
【００２９】
また、上記ハードディスク２０には、メインページを作成する際に必要とされる画像データなどのメイン画面用リソース２２も記憶されている。このメイン画面用リソースは、最終的にウェブページが作成される際にタグによる指定によって読み出されてページ上に表示される。
【００３０】
次に、ＣＰＵ１０に所定のプログラムが組み込まれることにより構築される各処理部について説明する。まず、図２に示すように、ＣＰＵ１０には、ユーザ端末Ｕから特定のウェブページへのアクセス要求であるページ遷移パス情報を受け付けるリクエスト処理部１１（アクセス要求受付手段）と、このページ遷移パス情報にて特定されたメニュー画面及びメイン画面から成るウェブページを作成してユーザ端末に送信するメニュー画面生成部１２，メイン画面生成部１３，リクエスト処理部１１（ウェブページ作成送信手段）とが構築されている。また、さらに、設計情報Ｔに含まれる各メニュー項目の階層位置情報に基づいて各メニュー項目間の階層構造を表すメニュー階層情報を、ウェブページを構成するデータ形式にて作成してページ遷移パス情報と共に記憶する画面構造プロパティ生成部１４（メニュー階層情報作成手段）が構築されている。以下、各処理部１１〜１４が有する機能について説明する。
【００３１】
まず、画面構造プロパティ生成部１４の機能について説明する。この画面構造プロパティ生成部１４は、予めハードディスク２０に記憶された表形式の設計情報Ｔから、ツリー表示用プロパティファイル３２、画面遷移用プロパティファイル３１、メニュー部表示用テンプレートファイル３３を生成して、これらのファイルをＲＡＭ３０などの記憶装置に記憶しておく。
【００３２】
ここで、設計情報Ｔからツリー表示用プロパティファイル３２を生成する例を、図４を参照して説明する。このとき、設計情報Ｔのうち、遷移パス、level1 〜5 の項目を使用する。そして、ツリー情報表示用プロパティファイルは、遷移パス１つに対してメニューを表示する階層のlevelとメニューIDのname の２つ属性を持つ。１つの遷移パスに対して２つの属性を記述できるような設定ファイルであればプロパティファイルの形式は問わない。今回は、１つの遷移パスに対して、「遷移パス＋.level」、「遷移パス＋.name」の２行のプロパティを記述するプロパティファイルの形式を用いている。そして、まず、設計情報Ｔの1行のデータから、「遷移パス＋.level」、「遷移パス+.name」 の2つのプロパティを生成する。「遷移パス ＋.level」の項目には、level1〜level5のうち、値が入力されているlevelの数値を設定する。「遷移パス＋.name」の項目には、levelに入力されている値を設定する。ここで、図４を例に説明すると、遷移パス go_user_manage_page の行には、level1の列に user_manage の値が入力されているので、
go_user_manage_page.do.level = 1
go_user_manage_page.do.name = user_manage
の２つのプロパティを作成する。
これを、行の数だけ繰り返す。
【００３３】
このようにして、図４の左上に示すように、ウェブページを表示するためのソースとなるＨＴＭＬタグ形式にて表されたツリー表示用プロパティファイル３２として記憶される。
【００３４】
続いて、設計情報Ｔから画面遷移用プロパティファイル３１を生成する例を説明する。設計情報Ｔのうち、遷移パス、アクションクラス、表示ページの項目を使用する。このとき、表の1行のデータから、１つの遷移に関するプロパティを生成する。なお、ユーザから受け付けたリクエストパスと処理内容で画面遷移先を設定できる機能と、画面遷移の設定を行う何らかの形式のプロパティファイルを持てば、画面遷移の実装は特に問わない。今回は、実際の構築例の一つとして画面遷移用のプロパティファイルはオープンソースのWebアプリケーションフレームワーク Strutsのプロパティファイルを用いて説明する。そして、Strutsの画面遷移用プロパティファイルは、XML形式のファイルで、１つの遷移情報を表すタグ<action>を複数持つ、遷移情報全体を現すタグ <action-mappings>からなる。この遷移情報を表すタグ<action-mapping>は、遷移パスを表す属性 "path" 、遷移を行う際に実行する処理クラス "type"、遷移先 として表示するページを表すタグ<forward>からなる。また、<forward>タグには、成功した際に表示するページを表す属性"path"、処理に成功したかを表す"name"からなる。この実装例 では "name"の属性は常に"success"とする。
【００３５】
そして、設計情報Ｔである表の1行のデータから、1つの<action>タグを生成する。遷移パスは、<action>タグの"path"属性に、アクションクラスは<action>タグの"type"属性に、表示ページは<forward>タグの"path"属性に対応させる。ここで、図５を例に説明すると、遷移パス： go_user_manage_page.do アクションクラス：GoAction、表示ページ： user_manage の一行から、次のようなタグを生成する。 
<action path="/go_user_manage_page" type="GoAction">
<forward name="success" path=" user_manage" />
</action>         
これを、行の数だけ繰り返すこととなる。
【００３６】
このようにして、図５の左上に示すように、ウェブページを表示するためのソースとなるＨＴＭＬタグ形式にて表された画面遷移用プロパティファイル３１を生成することができ、これがＲＡＭ３０に記憶される。
【００３７】
次に、設計情報Ｔからメニュー表示用テンプレートファイル３３を生成する方法およびその例を説明する。設計情報Ｔのうち、メニュー表示、メニュー名（X)、遷移パス、level(X)を使用する。なお、ここで、Xは添字 1〜5 を指す。そして、メニュー表示用テンプレートファイル３３はJSP(JavaServer pages)形式のファイルからなる。JSP形式のファイルは、セッション中に存在するJavaクラスのオブジェクトのプロパティの値がある値の場合そのタグの中身を実行し、プロパティの値が存在しない、またはある値でない場合そのタグの中身を無視するタグライブラリの機能を持つ。このタグライブラリの機能を持てば実装は問わないが、今回の例では次の2つのタグライブラリ <logic:present> <logic:equal>を使用する。それぞれの機能は次のとおりである。
・<logic:present>は、セッション内に、name属性の値で検索されたオブジェクトのプロパティ値が存在するかどうかを判定し、存在した場合タグの中身を実行する。
・<logic:equal>は、セッション内に、name属性の値で検索されたオブジェクトのプロパティ値が value属性の値と等しいかどうかを判定し、等しい場合タグの中身を処理する。なお、これら2つのタグライブラリの機能は、一般的によく使用されている機能である。
【００３８】
ここで、設計情報Ｔの行と行は親子関係を持つ。すなわち、上述したように、各メニュー項目間の階層関係が表されている。これを図６を参照して説明する。自分の行と、自分の行より下の行の中で１番最初に同じ列にデータが存在する行との間に、行が存在する場合、現在の行には子がいると定義する。例えば、ある行の子を以下のように定義する。図６にあるように、親の次の列に存在する行を子とする。図６の場合、親１は子１(b,c)、子2(d)、子3(e) の3つの子を持つ。さらに、図３の設計情報Ｔを実例として説明する。1行目の「ユーザ管理」は、自分より下の行の中で1番最初に同じ列にデータが存在する行は８行目の「業務メニュー」である。1行目の「ユーザ管理」（1列）の次の列（2列目）にデータが存在する行は2行目「パートナ登録」と3行目の「パートナ一覧」である。従って、1行目の「ユーザ管理」の子は2行目の「パートナ登録」と、3行目から7行目の「パートナ一覧」の2つの子を持つ。2行目の「パートナ登録」は、自分より下の行で1番最初に同じ列にデータが存在する行は3行目の「パートナ一覧」である。この２つの行の間には行が存在しないので、2行目の「パートナ登録」は子を持たない。
【００３９】
そして、図７には、設計情報Ｔからメニュー表示用テンプレートファイル３３を生成した例を示す。また、このときの作成手順を、図８のフローチャートに示す。
【００４０】
まず、設計情報を1行読み込む（ステップＡ１）。そして、読み込んだ行に対して、メニュー名およびリンク先の表示用に、以下のコードを出力する（ステップＡ２）。
【００４１】
<tr>
<td class="level[x]">
<html:link page="[遷移パス]">[メニュー名(x)]</html:link>
</td>
</tr>
なお、図３の1行目の場合、以下のコードを出力する。
【００４２】
<tr>
<td class="level1">
<html:link page="go_user_manage_page.do">ユーザ管理</html:link>
</td>
</tr>
【００４３】
続いて、現在の行より下の行を読み込み、子がいるかどうかを判断する（ステップＡ３）。このとき、現在の行に子がいる場合は（ステップＡ３にて肯定判断）、ステップＡ４の処理を行う。なお、現在の行に子がいない場合は（ステップＡ３にて否定判断）、何もせずに終了する。
【００４４】
そして、現在の行より下の行に子がいる場合には、子の数だけステップＡ４，Ａ５の処理を繰り返す。すなわち、図１の場合、１行目の「ユーザ管理」は、2行目の「パートナ登録」と3行目から7行目の「パートナ一覧」の2回処理を行う。まず、メニュー項目の表示、非表示の制御用に、以下の2つのタグを子要素として追加する（ステップＡ４，Ａ５）。
【００４５】
<logic:present name="menu" property="level[x]" scope="session">
<logic:equal name="menu" property="level[x]" value="[levelxの値]" scope="session">
【００４６】
そして、上記処理（ステップＡ４，Ａ５）を、全ての子の行に対して行う（ステップＡ６にて肯定判断）。このようにして設計情報Ｔからメニュー表示用テンプレートファイルを作成した例を図７に示す。
【００４７】
以上のようにして、ウェブサーバ１のＣＰＵ１０に構築された画面構造プロパティ生成部１４にて、予め設計情報２１から画面遷移用プロパティファイル３１、ツリー表示用プロパティファイル３２、メニュー部表示用テンプレートファイル３３が生成され、ＲＡＭ３０などの記憶部に記憶保持される。
【００４８】
また、上述したように、ＣＰＵ１０には、リクエスト処理部１１、メニュー画面生成部１２、メイン画面生成部１３が構築されている。まず、リクエスト処理部１１は、ユーザ端末Ｕからウェブページの表示指定情報であるページ遷移パス情報を取得してメニュー画面生成部１２とメイン画面生成部１３に渡すと共に、各生成部１２，１３にて生成された各画面（メニュー画面Ｐ１、メイン画面Ｐ２）からウェブページＰを生成してユーザ端末に返送する機能を有する。また、メニュー画面生成部１２（メニュー画面作成機能）は、リクエスト処理部１１（アクセス要求受付手段）にてユーザ端末から受け付けた特定のウェブページへのページ遷移パス情報に対応するメニュー項目を表示するメニュー画面をメニュー階層情報に基づいて生成する。また、メイン画面生成部１３（ウェブページ作成機能）は、上記作成されたメニュー画面と共に表示されるページ遷移パス情報に対応するメイン画面をメイン画面情報に基づいて設定する。
【００４９】
そして、さらに、上記メニュー画面生成部１２（メニュー画面作成機能）では、ユーザ端末からの要求に応じて既に送信したウェブページ中のメニュー項目の階層位置情報を所定の記憶部であるＲＡＭ３０内に形成されたメニュー表示用メモリ部３４に記憶する表示メニュー階層記憶機能と、ユーザ端末から受け付けたページ遷移パス情報に対応するメニュー画面のメニュー項目名の階層位置が上記表示メニュー階層記憶機能にて記憶された階層位置情報よりも下の階層である場合にメニュー画面を作成する、という機能をも有している。すなわち、既に経由したウェブページの階層情報を記憶して、この階層よりも下の階層に位置するウェブページ以外のページにアクセス要求がなされた場合にはアクセスエラーとしてウェブページを作成しない、という機能を有している。これにより、想定した順番以外のアクセス要求がユーザ端末からあった場合にはページにアクセスすることができず、簡易な設計にて不正なアクセスを防止することができる。
【００５０】
次に、上記構成のウェブページ自動作成システムであるウェブサーバ１の動作について、図９乃至図１２を参照して説明する。図９は、全体的な動作を示すフローチャートである。図１０乃至図１２は、その際に用いられるデータを示す説明図である。
【００５１】
まず、ウェブサーバ１は、図示しないが上述したように、あらかじめ画面構造プロパティ生成部１４で表形式の設計情報Ｔから、ツリー表示用プロパティファイル３２、画面遷移用プロパティファイル３１、メニュー部表示用テンプレートファイル３３を生成して、記憶しておく（メニュー階層情報作成工程）。なお、この処理は、後述するアクセス要求受付工程の後であって、ウェブページ作成処理の前に行われてもよい。
【００５２】
そして、ウェブサーバ１は、リクエスト処理部１１にてウェブブラウザなどのユーザ端末ＵからＨＴＴＰリクエスト等を受け取ると、リクエスト内容を処理してメニュー画面生成部１２、メイン画面生成部１３にリクエストパラメータであるページ遷移パス情報を渡す（アクセス要求受付工程、ステップＳ１）。なお、ユーザ端末１からのリクエスト要求は、具体的には、リンクをクリックする、フォームに入力するなどの行為のより行われる。また、リクエスト処理部１２とは、具体的にはＨＴＴＰサーバ、サーブレットなどを想定している。その後、ウェブページ１は、リクエストに応じて、メニュー画面Ｐ１とメイン画面Ｐ２からなるウェブページＰを生成して、ユーザ端末Ｕに送信する（ウェブページ作成送信工程）。以下、上記処理の内容を詳述する。
【００５３】
メニュー画面生成部１２では、リクエスト処理部１１からリクエストパラメータを受け取ると、リクエストパラメータ、ツリー表示用プロパティファイル３２、メニュー部表示用テンプレートファイル３３、メニュー表示用メモリ３４から、メニュー画面Ｐ１を生成する。具体的には、メニュー画面生成部１２、まず、リクエスト情報を受け取ると、ツリー表示用プロパティファイル３２を検索し、level, name を取得する（ステップＳ２）。この処理を以下に実際の例を示して説明する。
【００５４】
クライアントから、http://xxxx/xxx/go_partner_add_page.do のリクエストを受信すると、リクエスト処理部はリクエストのパス情報 go_partner_page.do をメニュー画面生成部に渡す。メニュー画面生成部１２では、メニュー部画面表示用プロパティファイルを検索し、go_partner_add_page.do に対応する name, level を取得する。例えば、図４に示すようにで生成したプロパティファイル３２で検索すると、 go_partner_add_page.do.level = 2 、go_partner_add_page.do.name = partner_add なので、level = 2, name = partner_add となる。その後、取得したlevel と name が想定した順序のアクセスかどうかをチェックする。すなわち、メニュー表示用メモリのうち、取得したlevel より下のlevel に値が存在するかをチェックする（ステップＳ３）。このとき、存在しない場合には（ステップＳ３にて肯定判断）、想定しない順序でのアクセスなのでアクセスエラーを示すウェブページをユーザ端末Ｕに返す（ステップＳ９）。一方、存在する場合、次のステップ（ステップＳ４）の処理を行う。
【００５５】
続いて、level, name をセッション中にあるメニュー表示用メモリに追加する（ステップＳ４）。具体的には、levelの記憶部分 に name を記憶する。また、記憶する際に自身のレベルより大きいレベルの値は削除する。そして、メニュー表示用メモリ３４、メニュー部表示用テンプレートファイル３３から、メニュー画面Ｐ１を生成する（ステップＳ５）。具体的には、セッション中にあるメニュー表示用メモリ３４、メニュー表示用テンプレートファイル３３から、メニュー部のHTMLを生成する。<logic:present><logic:equal>．．．．．</logic:equal></logic:present> で囲まれた部分は、セッション中のメニュー表示用メモリに、 property 属性の level の欄に、value属性の値 が存在する場合は囲まれた部分を出力し、存在しない場合は囲まれた部分を出力しない。
【００５６】
ここで、上記ステップＳ３、Ｓ４、Ｓ５の処理について、図１０乃至図１２を参照してさらに具体的に説明する。
【００５７】
まず、メニュー表示用メモリ３４の実装例を図１０に示す。ウェブサーバ１は、ユーザアクセスの１セッションにつき、図１０に示すような1つのメニュー表示用メモリ３４を持つ。そして、メニュー表示用メモリ３４は、level1 〜 level10 の記憶部分を持つ。なお、この図の例では１〜１０までだが、任意の個数に拡張可能である。
【００５８】
そして、ステップＳ３、Ｓ４に示すように、ユーザからのアクセス要求が想定した順序のアクセスであるかをチェックし、メニュー表示用メモリ３４に level, name を追加するときの例を図１１に具体的に示す。この図を参照すると、level1 に user_manage, level2 に partner_add が記憶されている。llevel = 3, name = company を追加するとき（Ｂ１）、メニュー表示用メモリ３４ａに対してメニュー表示用メモリ３４ｂに示すように、level3 に company を追加する。また、level = 1, name = project_manage を追加するとき（Ｂ２）、level1 より大きいレベルの値は削除するので、level2 の値を削除する。その結果、メニュー表示用メモリ３４ｃに示すように、level1 = project_manage を記憶する。また、level = 4, name = company を追加するとき（Ｂ３）、メニュー表示用メモリ３４ａの level3 には値が記憶されていない。すなわち、メニュー表示用メモリのうち、取得したlevel （level=4)より下のlevel(level=3) に値が存在しないので（換言すると、上の階層が既に表示されたページとしてメモリに記憶されていないので）、この場合ブラウザにアクセスエラーを示すウェブページを返す（ステップＳ９）。
【００５９】
次に、ステップＳ５にて、メニュー表示用メモリ３４、メニュー表示用テンプレートファイル３３からメニュー画面Ｐ１を生成するときの例を図１２に具体的に示す。図１２を参照すると、メニュー表示用メモリ３４の level1 の欄に user_name が格納されており、他の欄には何も格納されていない。メニュー表示用テンプレートファイル３３のAの部分の property属性 の値は level1 で value属性の値 は user_manage である。セッション中のメニュー表示用メモリ３４ｄの level1 の欄には user_manage が格納されているので、Aの部分は出力する。Bの部分の property属性 の値は level2 で value属性の値 は partner_list である。メニュー表示用メモリ３４ｄの level2 の欄には何も格納されていないので、Bの部分は出力されず、メニュー画面として生成されない。この結果、メニュー表示用メモリ３４ｄ、メニュー表示用テンプレートファイルから、メニュー画面のソースファイルである出力HTMLファイルＰＦが生成される。
【００６０】
このようにしてメニュー画面が生成されると、続いて、メイン画面生成部１３にてメイン画面Ｐ２の生成を行う。リクエスト処理部１１からリクエスト情報を受け取ると、画面遷移用プロパティファイル３１を検索し、メイン画面Ｐ２を生成する処理を行うアクションクラスを検索する（ステップＳ６）。そして、このステップで検索されたアクションクラスの処理内容に従い、メイン画面Ｐ２を生成する（ステップＳ７）。なお、上記ステップＳ６、Ｓ７の処理は一般によく用いられている処理であり、例えば、オープンソースのウェブアプリケーションフレームワークの Struts の処理機能を使用する。
【００６１】
その後、リクエスト処理部１１が、メニュー画面生成部１２及びメイン画面生成部１３からそれぞれ生成された生成されたメニュー画面Ｐ１とメイン画面を取得して、これらを合成した結果であるのウェブページＰをユーザ端末Ｕに返す（ステップＳ８）。
【００６２】
このようにすることにより、表形式の設定情報から自動的にツリー構造のメニューを有するウェブページを作成することができ、ウェブページ作成の容易化、迅速化を図ることができ、作成コストの削減をも図ることができる。特に、設計情報が表形式にて作成されているため、ウェブページの変更も容易に行うことができ、ツリー構造のメニューであっても、メニュー項目の追加、変更、移動等をも容易に行うことができる。その結果、ウェブシステム作成者は、メニュー部、画面遷移に関する機能を作成する必要がなくなり、メインの機能の作成のみに集中できる。
【００６３】
以上、本発明の効果についてまとめると、まず、表形式の設定情報からWEBシステムの構築に必要な機能を自動生成するため、プログラムをまったく作成する必要がなく、表形式の設定情報を作成するだけで、ツリー構造のメニューを持つWEBシステムを容易に作成できる。
【００６４】
また、セッション中のメニュー表示メモリにアクセス情報を格納しており、想定した順番以外のリクエストでは結果を出力しないため、ユーザ端末Ｕからの不正なアクセスを防止できると共に、ウェブシステムの異常動作を抑制することができる。
【００６５】
さらには、設定情報が表形式になっているので、メニュー項目の追加、変更、移動が容易にでき、変更に柔軟に対応できる。
【産業上の利用可能性】
【００６６】
本発明であるウェブページ自動作成システムは、ウェブサイトを開設しているウェブサーバに組み込むことができ、これによりウェブ設計が容易になるため、産業上の利用可能性を有する。
【図面の簡単な説明】
【００６７】
【図１】本発明の構成の概要を示すブロック図である。
【図２】本発明の構成を示す機能ブロック図である。
【図３】設計情報の構造の一例を示す説明図である。
【図４】ツリー表示用プロパティファイルの生成の様子を示す説明図である。
【図５】画面遷移用プロパティファイルの生成の様子を示す説明図である。
【図６】設計情報の階層の様子を示す説明図である。
【図７】メニュー表示用テンプレートファイルの生成の様子を示す説明図である。
【図８】メニュー表示用テンプレートファイルの作成動作を示すフローチャートである。
【図９】ウェブページを自動生成するときの動作を示すフローチャートである。
【図１０】メニュー表示用メモリ部に記憶されるデータを示す説明図である。
【図１１】メニュー表示用メモリ部内のデータの更新の様子を示す説明図である。
【図１２】ウェブページを生成するときの様子を示す説明図である。
【符号の説明】
【００６８】
１  ウェブサーバ（ウェブページ自動作成システム）
１１  リクエスト処理部（アクセス要求受け付け手段）
１２  メニュー画面生成部（メニュー画面作成機能）
１３  メイン画面生成部
１４  画面構造プロパティ生成部（メニュー階層情報作成手段）
２１  設計情報
３１  画面遷移用プロパティファイル
３２  ツリー表示用プロパティファイル
３３  メニュー表示用テンプレートファイル
３４  メニュー表示用メモリ部
Ｔ  設計情報（表形式データ）
Ｐ  ウェブページ
Ｐ１  メニュー画面
Ｐ２  メイン画面
【図１】
2005275865.tif 000003
【図２】
2005275865.tif 000004
【図３】
2005275865.tif 000005
【図４】
2005275865.tif 000006
【図５】
2005275865.tif 000007
【図６】
2005275865.tif 000008
【図７】
2005275865.tif 000009
【図８】
2005275865.tif 000010
【図９】
2005275865.tif 000011
【図１０】
2005275865.tif 000012
【図１１】
2005275865.tif 000013
【図１２】
2005275865.tif 000014