(57)【要約】【課題】開発時にはＷｅｂアプリケーション等で使用する画面は頻繁に追加されたり削除されたりといった状況が生じるが、このような場合であってもユーザによる直観的な操作で、Ｗｅｂアプリケーション等で使用する画面に対応したメニュー画面を生成することができる仕組みを提供することを目的としている。【解決手段】メニューエディタ領域に定義領域に表示された定義情報がドラッグアンドドロップされたことを受け付けた際に、当該ドロップされた定義情報とドロップされた位置とを用いて、アプリケーションで使用するメニュー画面を構成するために用いられるメニュー定義情報を生成する。これにより、ユーザは直観的な操作で画面に遷移するメニュー画面を生成することができる。【選択図】図１１
2020017305.tif 000002
【特許請求の範囲】
【請求項１】
画面を識別するための画面情報を含む定義情報を記憶する記憶手段と、前記記憶手段に記憶された定義情報に基づいて複数の画面を用いたアプリケーションを生成する生成手段とを備え、前記アプリケーションのメニュー画面を表示する際に用いられるメニュー定義情報を生成する情報処理装置であって、
前記記憶手段に記憶された前記定義情報を表示する定義領域と、メニューエディタ領域とを表示領域に表示する表示制御手段と、
前記表示領域における操作を受け付ける受付手段と、
前記受付手段で前記メニューエディタ領域に前記定義領域に表示された定義情報がドラッグアンドドロップされたことを受け付けた際に、ドロップされた前記定義情報を取得する情報取得手段と、
前記受付手段で前記定義情報がドロップされた位置を取得する位置取得手段と、
前記情報取得手段で取得された前記定義情報と、前記位置取得手段で取得された前記位置とを用いて、前記アプリケーションで使用するメニュー定義情報を生成するメニュー定義生成手段と、
を有する情報処理装置。
【請求項２】
前記受付手段で前記メニューエディタ領域に前記定義領域に表示された定義情報がドラッグアンドドロップされたことを受け付けた際に、当該定義情報がメニュー画面上で利用できる定義であるかを判断する判断手段を更に有し、
前記メニュー定義生成手段は、前記判断手段で利用できないと判断した場合には、前記メニュー定義情報を生成しないことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記メニュー定義情報は、前記メニュー画面上の階層を示す階層情報も含んでおり、
前記メニュー定義生成手段は、前記位置取得手段で取得された前記位置に応じて前記階層を決定し、前記メニュー定義情報を生成することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記メニュー定義情報は、親階層にあたるメニュー定義情報を特定する情報も含んでいることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
画面を識別するための画面情報を含む定義情報を記憶する記憶手段と、前記記憶手段に記憶された定義情報に基づいて複数の画面を用いたアプリケーションを生成する生成手段とを備え、前記アプリケーションのメニュー画面を表示する際に用いられるメニュー定義情報を生成するな情報処理装置の制御方法であって、
前記情報処理装置が
前記記憶手段に記憶された前記定義情報を表示する定義領域と、メニューエディタ領域とを表示領域に表示する表示制御工程と、
前記表示領域における操作を受け付ける受付工程と、
前記受付工程で前記メニューエディタ領域に前記定義領域に表示された定義情報がドラッグアンドドロップされたことを受け付けた際に、ドロップされた前記定義情報を取得する情報取得工程と、
前記受付工程で前記定義情報がドロップされた位置を取得する位置取得工程と、
前記情報取得工程で取得された前記定義情報と、前記位置取得工程で取得された前記位置とを用いて、前記アプリケーションで使用するメニュー定義情報を生成するメニュー定義生成工程と、
を有する制御方法。
【請求項６】
画面を識別するための画面情報を含む定義情報を記憶する記憶手段と、前記記憶手段に記憶された定義情報に基づいて複数の画面を用いたアプリケーションを生成する生成手段とを備え、前記アプリケーションのメニュー画面を表示する際に用いられるメニュー定義情報を生成するな情報処理装置に搭載可能なプログラムであって、
前記情報処理装置を、
前記記憶手段に記憶された前記定義情報を表示する定義領域と、メニューエディタ領域とを表示領域に表示する表示制御手段、
前記表示領域における操作を受け付ける受付手段、
前記受付手段で前記メニューエディタ領域に前記定義領域に表示された定義情報がドラッグアンドドロップされたことを受け付けた際に、ドロップされた前記定義情報を取得する情報取得手段、
前記受付手段で前記定義情報がドロップされた位置を取得する位置取得手段、
前記情報取得手段で取得された前記定義情報と、前記位置取得手段で取得された前記位置とを用いて、前記アプリケーションで使用するメニュー定義情報を生成するメニュー定義生成手段、として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、企業内では、クライアント端末に特別なアプリケーションをインストールすることなく業務が行えるように、業務用アプリケーションのＷｅｂ化が急速に進んでいる。そしてこのような業務アプリケーションの開発現場においては、開発スキル不足や要員不足を解決するために、Ｗｅｂアプリケーションをプログラミングレスで容易に作成できる開発ツールが用いられている。このような開発ツールを用いると、プログラミング言語の知識を有していなくても、業務・設計ノウハウを活用して基本設計情報を定義するだけで、Ｗｅｂアプリケーションを自動生成することができる。
【０００３】
このようなＷｅｂアプリケーションは複数の画面を用意し、画面から別の画面へと遷移していくように設計されるが、途中で所望の画面へ遷移が行えるように各画面へのリンクを集めたメニューを作成することが一般的である。
このようなメニュー作成に係る開発者の手間を削減することができる方法として、特許文献１には、定義ファイルの文法を簡略化することで、定義ファイルの作成・修正等の負担を減らすことができる技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−２６１９６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
使用する画面数が多い場合には、メニューから所望の項目をユーザが選択しやすいように複数の項目をひとまとまりのカテゴリとして分類することでメニュー項目の選択を行いやすいように開発されている。そして、このような開発時には頻繁に画面が追加されたり、カテゴリが変更されたりといった状況が生じるが、特許文献１の方法を用いたとしてもメニュー部品と動作の関係を見直す必要は発生してしまい、開発者に負荷がかかってしまうことになる。
そこで本発明は、上記課題を鑑み、直観的な操作で、Ｗｅｂアプリケーションで使用する画面に対応したメニュー画面を生成することができる仕組みを提供することを目的としている。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明は、画面を識別するための画面情報を含む定義情報を記憶する記憶手段と、前記記憶手段に記憶された定義情報に基づいて複数の画面を用いたアプリケーションを生成する生成手段とを備え、前記アプリケーションのメニュー画面を表示する際に用いられるメニュー定義情報を生成するな情報処理装置であって、前記記憶手段に記憶された前記定義情報を表示する定義領域と、メニューエディタ領域とを表示領域に表示する表示制御手段と、前記表示領域における操作を受け付ける受付手段と、前記受付手段で前記メニューエディタ領域に前記定義領域に表示された定義情報がドラッグアンドドロップされたことを受け付けた際に、ドロップされた前記定義情報を取得する情報取得手段と、前記受付手段で前記定義情報がドロップされた位置を取得する位置取得手段と、前記情報取得手段で取得された前記定義情報と、前記位置取得手段で取得された前記位置とを用いて、前記アプリケーションで使用するメニュー定義情報を生成するメニュー定義生成手段と、を有している。
【発明の効果】
【０００７】
このようにすることで、直観的な操作で、Ｗｅｂアプリケーションで使用する画面に対応したメニュー画面を生成することができる。
【図面の簡単な説明】
【０００８】
【図１】Ｗｅｂアプリケーション自動生成システム（情報処理システム）のシステム構成の一例を示す図である。
【図２】開発用端末１０１、サーバ１０２、利用者用端末１０３のハードウェア構成を示す図である。
【図３】Ｗｅｂアプリケーションの機能構成を説明するための図である。
【図４】データベース定義１１１の一例を説明するための図である。
【図５】データモデル定義１１２の一例を説明するための図である。
【図６】ビジネスプロセス定義１１３の一例を説明するための図である。
【図７】入出力定義１１４の一例を説明するための図である。
【図８】アプリケーション定義１１０を説明するための図である。
【図９】Ｗｅｂアプリケーションを自動生成する際の流れを説明するためのフローチャートである。
【図１０】メニューエディタでメニュー画面を作成する際の流れを説明するためのフローチャートである。
【図１１】メニューエディタでメニュー画面を作成する様子を説明する図である。
【図１２】メニューエディタでメニュー画面を作成する様子を説明する図である。
【図１３】入出力定義１１４のＭＡＩＮ＿ＭＡＮＵ項目の一例である。
【図１４】利用者用端末１０３で表示されるメニュー画面の一例である。
【図１５】メニューエディタでメニュー画面を作成する際の流れを説明するためのフローチャートである。
【図１６】メニューエディタでメニュー画面を作成する様子を説明する図である。
【図１７】入出力定義１１４のＭＡＩＮ＿ＭＡＮＵ項目の一例である。
【図１８】メニューエディタでメニュー画面を編集する際の流れを説明するためのフローチャートである。
【図１９】メニューエディタでメニュー画面を作成する様子を説明する図である。
【図２０】入出力定義１１４のＭＡＩＮ＿ＭＡＮＵ項目の一例である。
【図２１】メニューエディタでメニュー画面を作成する様子を説明する図である。
【図２２】メニューエディタでメニュー画面を作成する様子を説明する図である。
【図２３】入出力定義１１４のＭＡＩＮ＿ＭＡＮＵ項目の一例である。
【図２４】利用者用端末１０３で表示されるメニュー画面の一例である。
【発明を実施するための形態】
【０００９】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００１０】
図１は、本実施形態におけるＷｅｂアプリケーション自動生成システム（以下、情報処理システムとも称する）のシステム構成を示す図である。本発明のＷｅｂアプリケーション自動生成システムは、開発用端末１０１、サーバ１０２（サーバ装置）、利用者用端末１０３が、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワーク１０５を介して相互にデータ通信可能に接続されている。
【００１１】
Ｗｅｂアプリケーションとは、企業内で用いられる業務用アプリケーションをＷｅｂ上で実施することができるアプリケーションのことであり、クライアント端末上に特別なアプリケーションをインストールすることなく業務を行うことができるため、近年広く用いられている。本発明のＷｅｂアプリケーションシステムは、このようなＷｅｂアプリケーションを指定した要件定義情報からプログラミングレスで自動生成することができるシステムである。このようなシステムを用いることにより、開発スキルが不足していたしても各企業内で容易にＷｅｂ上の業務アプリケーションを開発することができる。
【００１２】
図１に示す開発用端末１０１には、Ｗｅｂアプリケーション（プログラム）を自動生成する際に開発者が使用する端末でありプログラムを自動生成する開発ツールがインストールされている。この端末で予め要件定義を行い、開発ツールに読み込ませて自動生成処理を行うことでＷｅｂアプリケーション１３０（プログラム）が生成される。
【００１３】
サーバ１０２は、開発用端末１０１で生成されたＷｅｂアプリケーション（プログラム）を保持運用し、業務アプリケーションを本番環境として提供するために用いられる。利用者は、利用者用端末１０３を介してＷｅｂアプリケーション１３０（プログラム）へのアクセスを行い、業務アプリケーションを利用することができる。そして、Ｗｅｂアプリケーションを用いて生成されたデータは、データベース１４０内に記憶される。
【００１４】
利用者用端末１０３は、一般に本番環境において業務アプリケーションを利用するユーザが利用する端末であり、本端末を用いてサーバ１０２に接続することで、Ｗｅｂ化されたアプリケーションを利用することができる。
【００１５】
図２は、開発用端末１０１、サーバ１０２、利用者用端末１０３のハードウェア構成を示す図である。
【００１６】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００１７】
また、ＲＯＭ２０２あるいは外部メモリ２１１（記憶手段）には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  ＯｕｔｐｕｔＳｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、開発用端末１０１、サーバ１０２、利用者用端末１０３の実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
【００１８】
ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００１９】
また、入力コントローラ（入力Ｃ）２０５は、キーボードや不図示のマウス等のポインティングデバイス等の入力デバイス２０９からの入力を制御する。
【００２０】
ビデオコントローラ（ＶＣ）２０６は、ディスプレイ２１０等の表示器への表示を制御する。表示器の種類はＣＲＴや、液晶ディスプレイを想定するが、これに限らない。
【００２１】
メモリコントローラ（ＭＣ）２０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ２１１へのアクセスを制御する。
【００２２】
通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００２３】
尚、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２４】
本発明の開発用端末１０１、サーバ１０２、利用者用端末１０３が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行可能となるものである。
【００２５】
さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ２１１に格納されている。
【００２６】
図３は、Ｗｅｂアプリケーション自動生成システムの構成図および生成されたアプリケーション等の機能構成を説明するための図である。
【００２７】
開発用端末１０１は、リポジトリ定義部（Ｗｅｂアプリケーション定義部）１０００と、ソースコード保持部１２１と生成処理部１２２を含むＷｅｂアプリケーション生成部１２０と、メニューエディタ部１５０とを有している。
【００２８】
リポジトリ定義部１０００は、データベース定義１１１、データモデル定義１１２、ビジネスプロセス定義１１３、入出力定義１１４と、Ｗｅｂアプリケーションを生成する際にこれらの定義ファイルのうちいずれの定義ファイルを用いるかを設定するアプリケーション定義１１０とを有している。
【００２９】
メニューエディタ部１５０は、生成されたＷｅｂアプリケーションで利用者が使用するメインメニュー画面を編集することができる編集部であり、具体的には、入出力定義で定義されるメニュー定義項目を編集するために用いられ、定義項目特定部１５１と、位置特定部１５２と、メニュー項目生成部１５３と、メニュー描画部１５４とを有している。メニュー描画部１５４は、アプリケーションで表示されるメニュー画面を構成するメニュー定義項目をアイコンとして描画するメニューエディタ領域と、画面を識別する画面情報である入出力定義等を表示する定義領域とを表示領域に描画している。アプリケーション開発者であるユーザは、この表示領域上でアイコン等をドラッグしたりドロップしたりすることができ、マウス等の入力デバイス２０９を用い直観的な操作でアイコン（すなわちメニュー定義項目）を追加したり移動することができる。なお、このような操作はディスプレイがタッチパネル式ディスプレイであるような場合には、タッチ操作で受け付けることもできる。メニュー描画部１５４においてアイコンの追加や移動が発生すると、定義項目特定部１５１は、追加若しくは移動がされたアイコンの定義項目を入出力定義１１４から特定する。さらに、位置特定部１５２が、追加若しくは移動がされたアイコンがドロップされた位置と他のアイコンとの位置関係をもとに、メニュー画面上の位置情報を特定する。そしてメニュー項目生成部は、定義項目特定部１５１で特定された定義と位置特定部１５２で特定された位置とを用いて、入出力定義１１４のメニュー定義を生成若しくは変更する。このようにメニュー定義を生成若しくは変更することにより、最終的に作成されるＷｅｂアプリケーションで利用されるメインメニュー画面が生成される。
【００３０】
サーバ１０２は、開発用端末１０１の生成処理部１２２で生成されたＷｅｂアプリケーション１３０を保持し、利用者用端末１０３からの要求に応じた処理や、利用者用端末１０３から入力された入力データ等をデータベース１４０への記憶処理を行う。
【００３１】
（Ｗｅｂアプリケーションの自動生成処理）
【００３２】
次に、図３乃至図１０を用いて、開発者がＷｅｂアプリケーションを開発用端末１０１で自動生成する際の流れを説明する。図４乃至８は、図３のリポジトリ定義部１０００に記憶されるデータベース定義１１１、データモデル定義１１２、ビジネスプロセス定義１１３、入出力定義１１４、アプリケーション定義１１０等の開発者によって予め設定した定義の一例を示したものである。
【００３３】
図４はＷｅｂアプリケーションがアクセスするサーバの設定を記憶したデータベース定義１１１である。図４に示すように、データベース定義には、サーバ１０２のコード４０１、サーバの名前４０２、接続ＵＲＬ情報４０３、サーバの種類４０４、データベース名４０５、アプリケーションがデータベースにアクセスする際に必要となるユーザ名４０６及びパスワード４０７が定義されている。
【００３４】
図５は、スキーマ情報として定義されるデータモデル定義１１２である。図５（ａ）に示すように各データモデル定義は、コード５０１と名前５０２を付与して管理されており、詳細定義もそれぞれ定義されている。例えばコード『ＰＲＯＤＵＣＴ』では、図５（ｂ）に示す項目５１０と図５（ｃ）に示す操作コード５２０が詳細定義されている。
【００３５】
図５（ｂ）は、データベース上で受け付ける項目として、項目コード５１１、項目の名前５１２、ＮＵＬＬを許可するか否かを設定する項目５１３、桁数５１４、データタイプ５１５を定義している。
【００３６】
項目コード５１１はデータモデル内のデータモデル項目を一意に特定するコードである。名前５１２はデータモデル項目に対して、ユーザが任意に設定する名前である。ユーザがデータモデル項目を特定しやすくするために設定するものである。項目５１３はデータモデル項目に登録するデータに対して空を許容するかどうかを設定する項目である。桁数５１４はデータモデル項目に登録できるデータの桁数を設定する。データタイプ５１５はデータモデル項目のデータ型を設定する項目である。文字、数値、日付等、データの型を指定する。この例では、データモデル「ＰＲＯＤＵＣＴ」に対して、「ＰＲＯＤＵＣＴ＿ＩＤ」から「ＰＲＯＤＵＣＴ＿ＳＴＯＣＫ」までのデータモデル項目を定義している。ここで定義する各項目はＷｅｂアプリケーションが接続するデータベースのテーブルのカラム名と一致する。
【００３７】
図５（ｃ）は、データモデルに対する操作をどのように受け付けるかを設定した操作コードであり、操作コード５２１、当該操作の名前５２２、操作タイプ５２３が定義されている。すなわち、データモデルが関連するテーブルに対して操作内容を定義するものである。ここでは、操作コード『ＲＥＧＩＳＴ』というコードを有する商品データ登録操作は、操作タイプ『ＩＮＳＥＲＴ』であると定義されており、つまりユーザ登録操作で入力されたデータがデータベースに挿入されるというように定義されている。
【００３８】
図６は、Ｗｅｂアプリケーションの業務フローを定義するためのビジネスプロセス定義１１３である。図６（ａ）に示すように、各ビジネスプロセス定義は、コード６０１と名前６０２を付与して管理されており、詳細なロジック定義もそれぞれ定義されている。なお、ビジネスプロセスのコード６０１は、後述する入出力定義からの呼び出し指定するコードとして用いられる。詳細なロジック定義としては、図６（ｂ）に示すように、制御コード６１１、データモデルコード６１２、機能コード６１３、パラメータ６１４、作業コード６１５が設定されている。
【００３９】
制御コード６１１はビジネスロジックの操作タイプを示す。この例の「ＩＮ」はビジネスプロセスへの入力データの変数格納を示す。変数は作業コード６１５が該当する。この例の「ＣＡＬＬ」はデータモデルコード６１２が保有する機能コード６１３の内容を呼び出すことを示す。呼び出しの際にはパラメータ６１４の内容を引数として渡す。
【００４０】
例えば図６（ａ）のコード『ＲＥＧＩＳＴ＿ＢＰ』のビジネスプロセス定義では、制御コード６１１の設定順に以下のような処理が行われる。この例ではＷｅｂ画面の入力内容を制御コード「ＩＮ」で受け取り、受け取ったデータを作業コード「ＩＮＰＵＴ」として定義している。次に制御コード「ＣＡＬＬ」でデータモデル「ＰＲＯＤＵＣＴ」に対する操作を定義している。つまり、まず（１）『ＩＮ』制御として、図５のＰＲＯＤＵＣＴ（ＤＭ商品）というデータモデルコード５０１から、入力データを取得する。その際に、当該作業コードに『ＩＮＰＵＴ』というコードを付与する。次に、（２）『ＣＡＬＬ』制御として、図５（ｃ）のデータモデル定義の操作コードとして設定されており『ＩＮＳＥＲＴ』処理を、『ＩＮ』制御で読み込んだ入力データ（作業コード『ＩＮＰＵＴ』）に対して行うビジネスロジックが定義している。
【００４１】
図７は、Ｗｅｂ画面に配置する各表示項目の入出力定義１１４である。ここで設定されている項目が、利用者用端末１０３の表示画面に表示され、本番環境時にユーザが用いる画面として用いられる。図７（ａ）に示すように、各入出力定義は、コード７０１と名前７０２と入出力タイプ７０３等を付与して管理されており、詳細な項目定義もそれぞれされている。例えば図７（ａ）のコード『ＰＲＯＤＵＣＴ＿ＲＥＧＩＳＴ＿ＩＯ』では、図７（ｂ）に示す項目タイプ７１１、項目コード７１２、名前７１３、表示７１４、加工式７１５、遷移先となる次入出力７１６（画面情報）、データモデルコード７１８、データモデル項目コード７１９が定義されている。なお、本実施形態では入出力タイプ７０３として通常の入出力画面を示す「ＩＯ」とメニュー画面であることを示す「ＭＥＮＵ」の例を示しているが、それ以外にユーザの指示を受けつけるダイアログ画面であることを示す「ＤＩＡＬＯＧ」、エクスポート画面であることを示す「ＥＸＰＯＲＴ」、インポート画面であることを示す「ＩＭＰＯＲＴ」、マトリクス画面であることを示す「ＭＡＴＲＩＸ」、帳票印刷画面であることを示す「ＰＲＩＮＴ＿ＦＩＬＥ」、携帯端末画面であることを示す「ＭＯＢＩＬＥ」等様々な入出力タイプを定義することもできる。
【００４２】
項目コード７１２は入出力定義内の項目を一意に特定するコード（画面情報）である。名前７１３は入出力項目に対してユーザが任意に命名する名前である。入出力項目を特定しやすくする目的で設定する。表示７１４は定義した入出力項目を画面上に表示するかどうかの設定である。非表示とした場合は画面上には表示されず、隠しデータとして情報を保持する。次入出力７１６は項目タイプがアクションに設定された入出力項目について、ボタン押下された後に遷移する入出力コードを設定する。すなわち、ある画面から別の画面への遷移を定義する。次入出力パラメータ７１７は項目タイプがアクションに設定された入出力項目について、ボタン押下された後に画面遷移と同時に渡すパラメータ情報である。データモデルコード７１８は該入出力項目と関連するデータモデルコードを設定する。同様にデータモデル項目コード７１９は該入出力項目と関連するデータモデル項目コードを設定する。
【００４３】
この例では、項目タイプ「ＩＯ  入出力」と定義されている項目は入出力項目（データを入力およびデータを表示する「フィールド」）である。項目タイプ「Ａ  アクション」と定義されている項目はアクション項目（処理を呼び出し、画面を遷移する「ボタン」）である。この例における、項目コード「ＲＥＧＩＳＴ＿ＡＣＴ」はアクション項目である。アクション項目「ＲＥＧＩＳＴ＿ＡＣＴ」の加工式７１５には、「ＲＥＧＩＳＴ＿ＢＰ」が定義されている。「ＲＥＧＩＳＴ＿ＢＰ」のアクションでは、ビジネスプロセス「ＲＥＧＩＳＴ＿ＢＰ」が呼び出されることを示す定義である。そして、次入出力先として、「ＰＲＯＤＵＣＴ＿ＬＩＳＴ＿ＩＯ」のコードが定義されている。すなわち、アプリケーション上の商品登録画面でユーザによる「登録」アクションが行われると、「ＲＥＧＩＳＴ＿ＢＰ」の加工式で定義されたアクションが実行された後、次入出力７１６として定義された「ＰＲＯＤＵＣＴ＿ＬＩＳＴ＿ＩＯ」に画面遷移することが定義されている。すなわち、「ＰＲＯＤＵＣＴ＿ＬＩＳＴ＿ＩＯ」が遷移先の表示画面情報となる。
【００４４】
また、図７（ａ）の入出力タイプ「ＭＥＮＵ」と定義されている項目は、メインメニュー画面を定義することができる項目タイプである。コード『ＭＡＩＮ＿ＭＡＮＵ』では、図７（ｃ）に示すように、項目コード７１２「ＴＯ＿ＰＲＯＤＵＣＴ＿ＩＤ」の次入出力７１６には「ＰＲＯＤＵＣＴ＿ＲＥＧＩＳＴ＿ＩＯ」が対応するように定義されており、項目コード７１２「ＴＯ＿ＰＲＯＤＵＣＴ＿ＮＡＭＥ」の次入出力７１６には「ＰＲＯＣＵＣＴ＿ＬＩＳＴ＿ＩＯ」が対応するように定義されている。すなわち、アプリケーション上のメインメニュー画面でユーザによる「商品登録ページへ」アクションが行われると、「ＰＲＯＤＵＣＴ＿ＲＥＧＩＳＴ＿ＩＯ」に画面遷移し、メインメニュー画面でユーザによる「商品一覧ページへ」アクションが行われると、「ＰＲＯＤＵＣＴ＿ＬＩＳＴ＿ＩＯ」に画面遷移することが定義されている。さらに、入出力タイプが「ＭＥＮＵ」である場合には、各項目のメニュー画面上における階層７２０（階層情報）と階層構造となった際の親項目７２１とが定義できる。
【００４５】
図８（ａ）は、Ｗｅｂアプリケーションを生成する際に使用する入出力定義を規定するアプリケーション定義１１０を示す図である。各アプリケーション定義１１０、コード８０１とアプリケーション名８０２とが設定されており、さらに初期画面として用いられる入出力定義を初期入出力コード８０３として定義することができる。すなわち、初期入出力コード８０３として特定された入出力定義が遷移画面図のトップ階層として特定される画面となる。コード８０１は、リポジトリ定義部１０００に保存される定義ファイル全体（プロジェクトとも称する）の中でアプリケーションを一意に特定することができるコードである。アプリケーション名８０２は、アプリケーションに対して、ユーザが任意に設定することができる名前である。
【００４６】
さらに、アプリケーション定義１１０は、コードごとに図８（ｂ）の所属定義設定画面８１０に示すように所属する入出力定義が設定されている。所属定義設定画面８１０には、入出力一覧８１１と所属入出力一覧８１２と、追加ボタン８１４、削除ボタン８１５が表示される。
【００４７】
入出力一覧８１１にはプロジェクトに保存される入出力定義１００４の入出力コード全てが表示される。ユーザは任意の入出力コードを所望の数だけ選択し、追加ボタン８１４を押下することにより、当該アプリケーションコードに所属入出力として所属させることができる。追加処理が行われると、当該入出力コードは所属入出力一覧８１２に表示される。また、ユーザは所属入出力一覧８１２に表示されている入出力コードを選択し削除ボタン８１５を押下することにより、所属を外すこともできる。
【００４８】
図９は、図４乃至８に示すようなリポジトリ定義部１０００に記憶されているデータベース定義１１１、データモデル定義１１２、ビジネスプロセス定義１１３、入出力定義１１４、アプリケーション定義１１０等の要件定義がされた後、Ｗｅｂアプリケーションを自動生成する際の流れを説明するためのフローチャートである。このような処理は、開発用端末１０１のＣＰＵ２０１が記憶されている制御プログラムを読み出して実行することにより実現される。
【００４９】
まず、Ｓ９０１では、開発用端末１０１のＣＰＵ２０１が、ユーザからＷｅｂアプリケーションを生成するアプリケーション定義１１０の指定を受け付ける（受付手段）。
【００５０】
次に、Ｓ９０２では、開発用端末１０１のＣＰＵ２０１が、データベース定義１１１をリポジトリ定義部１０００から読み込む。Ｓ９０３では、データモデル定義１１２をリポジトリ定義部１０００から読み込む。Ｓ９０４では、ビジネスプロセス定義１１３をリポジトリ定義部１０００から読み込む。Ｓ９０５では、入出力定義１１４をリポジトリ定義部１０００から読み込む。
【００５１】
このような定義はＸＭＬ形式で記述されているため、Ｓ９０６では、開発用端末１０１のＣＰＵ２０１が、ＸＭＬファイルを構造解析し、必要な定義内容をメモリ上にオブジェクトデータとして保存する。
【００５２】
次に、Ｓ９０７では、生成処理は開発用端末１０１のＣＰＵ２０１が生成処理部１２２として機能し、予め設定されているソースコードテンプレートを、ソースコード保持部１２１から読み込み、Ｓ９０８でメモリ上に保存した定義データをソースコードテンプレートに埋め込んだ、ソースコードファイル、すなわちＷｅｂアプリケーションを生成する。
【００５３】
以上のように、予め定義した要件定義とソースコードを用いることにより、Ｗｅｂアプリケーションが自動生成される。開発者は、このように生成したＷｅｂアプリケーションを、サーバ１０２に保存して業務アプリケーションの開発作業を終了する。
【００５４】
（メニュー定義項目の追加処理）
【００５５】
次に、図１０乃至図１４を用いて、Ｗｅｂアプリケーションの開発者等が予め定義している画面の入出力定義を用いて、アプリケーションで使用されるメニュー画面を生成する際に用いるメニュー定義項目（メニュー定義情報）を作成する流れを説明する。
【００５６】
上述したようなＷｅｂアプリケーションなどで生成される業務アプリケーションでは、複数の画面を用意し、画面から別の画面に遷移するように設計されるが、このようなアプリケーションでは途中で所望の画面へ遷移が行えるように各画面へのリンクを集めたメニューを作成することが一般的である。しかし開発時には頻繁に画面が追加されたり、画面をまとめているカテゴリが変更されたりすることがあるため、直観的な操作で、Ｗｅｂアプリケーションで使用する画面に対応したメニュー画面を生成することができる仕組みが必要とされている。本実施形態では、メニュー画面のメニュー定義項目をユーザが直観的な操作で簡便に生成することができる仕組みを提供する。
【００５７】
図１０は、Ｗｅｂアプリケーションの開発者等が予め定義している画面の入出力定義を用いて、メニュー定義項目を追加する処理を説明するためのフローチャートである。このような処理は、開発用端末１０１のＣＰＵ２０１が記憶されている制御プログラムを読み出して実行することにより実現される。図１１（ａ）乃至（ｄ）は、画面の定義情報を用いてメニュー定義項目を作成する様子を示す図であり、入出力定義の『ＣＵＳＴＯＭＥＲ＿ＲＥＧ(顧客登録)』をメニュー定義として追加する際の例を示している。図１１に示すメニューエディタ画面の表示領域には、メニュー定義項目に対応するアイコンが表示されるメニューエディタ領域１１０２と各種定義情報が表示される定義領域１１０１が設けられている。入出力定義のメニュー定義項目に既に何らかの項目が設けられている場合には、当該項目に対応するアイコンがメニューエディタ領域１１０２に表示されており、このような状態でユーザはメニュー定義項目を追加する操作を行う。以下の説明ではアイコンの名称としてメニュー定義項目の「名前」を用いた例で説明するが、「名前」以外の項目をアイコンの名称としてもい。
【００５８】
まず、Ｓ１００１では、開発用端末１０１のＣＰＵ２０１が、ユーザによって図１１（ａ）に示すようなメニューエディタ画面を表示した状態で、各種定義情報が選択できるように表示された定義領域１１０１からメニューエディタ領域１１０２に定義がドラッグアンドドロップされたことを受け付けたかどうかを判断する。定義領域１１０１には、アプリケーション定義、ビジネスプロセス定義、データモデル定義、入出力定義等が表示されており、ユーザはマウス等の入力デバイス２０９を用いて選択アイコン１１０４を操作し、所望の定義を選択することができる。
【００５９】
Ｓ１００２では、開発用端末１０１のＣＰＵ２０１が、選択アイコン１１０４で選択された定義がメニュー画面で画面遷移可能な定義であるかを特定する。具体的には、選択された定義が入出力定義１１４の入出力タイプ７０３がＩＯである場合に、画面遷移可能な定義であると判断される。それ以外の定義の場合には画面遷移はできないため、メニューエディタ領域には定義のアイコンを生成させずに処理を終了する。
【００６０】
Ｓ１００２で画面遷移可能な定義であると判断された場合には、Ｓ１００３に遷移し、開発用端末１０１のＣＰＵ２０１が、ユーザによって選択された定義の定義情報を取得する（情報取得）。具体的には、入出力タイプ７０３がＩＯである入出力定義１１４の定義項目のうち、少なくとも画面を特定することができる項目コード７１２を取得する。
【００６１】
Ｓ１００４では、開発用端末１０１のＣＰＵ２０１が、ユーザにより選択された定義に対応するアイコンがメニューエディタ領域１１０２でドロップされた位置情報を取得し、アイコンがドロップされた位置と他のアイコンとの位置関係をもとに、メニュー画面上のユーザにより選択された定義のアイコンを追加したい位置の位置情報を特定する。図１１（ｂ）に示す例では、「商品一覧ページへ」のアイコンの下に追加されることを示す識別アイコン１１２０が表示された状態で『ＣＵＳＴＯＭＥＲ＿ＲＥＧ(顧客登録)』のアイコンをドロップ操作する様子を示している。この場合には、「商品一覧ページへ」と同じ階層であって、「商品一覧ページへ」の次に表示される位置を示す位置関係が特定される（位置取得）。識別アイコン１１２０としては、具体的には図１１（ｂ）に示すように三角形状のアイコンや挿入位置に破線を表示する形態や挿入位置を示す線を表示させる形態を用いることができる。
Ｓ１００５では、開発用端末１０１のＣＰＵ２０１が、ユーザからメニュー定義で表示される項目名を受け付ける。具体的には、図１１（ｃ）に示すようなメニュー項目の追加作成画面１１５０が表示され、ユーザは項目コードと名前を入力し、ＯＫボタン１１５１を押下するとメニュー定義で表示される項目名を設定することができる。なお、メニュー項目の追加作成画面１１５０を表示させることなく、「項目コード」と「名前」を当初は自動補間しておき、後から編集するようにしてもよい。
【００６２】
Ｓ１００６では、開発用端末１０１のＣＰＵ２０１が、入出力タイプ７０３がＭＡＮＵである入出力定義の定義項目にＳ１００３で取得した項目コード７１２とＳ１００４で特定した位置関係から求まる階層とＳ１００５で取得した項目コード及び名前とを追加する。すなわち、アプリケーションで表示されるメニュー画面を設定するメニュー定義項目にメニュー項目を追加されてメニュー定義項目が新たに生成される（メニュー定義生成）。図１３（ａ）は図１１で行われた操作によって『ＣＵＳＴＯＭＥＲ＿ＲＥＧ(顧客登録)』が追加された後の入出力タイプ７０３がＭＡＮＵである入出力定義の定義項目である（メニュー定義）。図１３（ａ）に示すように、図１１に示す操作を行うと、階層７２０はアイコンがドロップされた位置に対応する「１」とし、次入出力７１６は、選択されたアイコンに対応する入出力定義から特定された情報である「ＣＵＳＴＯＭＥＲ＿ＲＥＧ_ＩＯ  顧客情報」とし、項目コード７１２と名前７１３は、メニュー項目の追加作成画面１１５０で受け付けた内容としてメニュー項目が追加される。
【００６３】
Ｓ１００７では、開発用端末１０１のＣＰＵ２０１は、作成されたメニュー画面用の入出力定義をもとに、画面の定義情報に対応したアイコンがメニューエディタ領域１１０２に描画されるように表示制御する（図１１（ｄ））。つまりメニューエディタ領域１１０２を開発者は見るだけで、アプリケーションのメニュー画面で表示されるであろう表示状態を確認することができる。
【００６４】
このような処理により作成された入出力定義をもとに作成されたアプリケーションのメニュー画面１４００(利用者用端末で表示されるメニュー画面)を図１４（ａ）に示す。メニュー画面１４００に表示される名称は、入出力定義の名前７１３が用いられる。図１１及び図１３（ａ）に示すように「商品登録ページへ」と「商品一覧ページへ」と「顧客登録ページへ」とがいずれも階層「１」とされている場合には、メニュー画面１４００では第１階層の選択ボックスとして並列させて表示される。
【００６５】
以上説明したように、画面の入出力定義を用いてメニュー画面の入出力定義を直観的な操作で作成することができる。なお図１１は、他のアイコンの階層と同じ階層に新たなアイコンを追加する例であったが、図１２に示すようにいずれかのアイコンの下位層に新たなアイコンを追加することもできる。
【００６６】
図１２（ａ）に示す例では、「商品一覧ページへ」のアイコンの右側に追加されることを示す識別アイコン１１２０が表示された状態で『ＣＵＳＴＯＭＥＲ＿ＲＥＧ(顧客登録)』のアイコンをドロップしている。この場合には「商品一覧ページへ」を親階層とし、「商品一覧ページへ」の下階層である階層「２」に項目が追加されることになる。この場合にも図１２（ｂ）に示すようにメニュー項目の追加作成画面１１５０が表示され、ユーザは項目コードと名前を入力し、ＯＫボタン１１５１を押下するとメニュー定義で表示される項目名を設定することができる。図１２（ｃ）は図１２（ａ）（ｂ）に示す操作により、新たな「顧客登録ページへ」の項目が追加された後のメニューエディタ領域１１０２の様子である。図１３（ｂ）は、図１２で行われた操作によって『ＣＵＳＴＯＭＥＲ＿ＲＥＧ(顧客登録)』が追加された後の入出力タイプ７０３がＭＡＮＵである入出力定義の定義項目である（メニュー定義）。階層７２０はアイコンがドロップされた位置である「２」が追加され、親項目７２１には「商品一覧ページへ」に対応する「ＴＯ＿ＰＲＯＤＵＣＴ＿ＭＡＮＵ」が追加される。
【００６７】
図１４（ｂ）は図１２の操作に伴って行われた処理により作成された入出力定義をもとに作成されたアプリケーションのメニュー画面１４００(利用者用端末で表示されるメニュー画面)である。「商品登録ページへ」と「商品一覧ページへ」が階層「１」の選択ボックスとして表示され、「顧客登録ページへ」は親階層の「商品一覧ページへ」の選択ボックスの上に選択アイコン１４０１が位置している場合、若しくは「商品一覧ページへ」の選択ボックスが選択されている場合しか表示されない階層「２」の選択ボックスとして用意される。つまり、入出力定義に対応する定義アイコンをメニューエディタ領域にドロップする位置により、階層や親項目を決定することができる。
【００６８】
図１０乃至図１４では入出力定義を用いてメニュー定義項目を追加する例を説明したが、メニュー定義項目には画面の入出力定義以外の項目もメニュー定義項目として追加することができる。このような処理について、図１５乃至１７を用いて説明する。
【００６９】
図１５は、入出力定義とは関係ないカテゴリを示す項目をメニュー定義項目に追加する処理を説明するためのフローチャートである。このような処理は、開発用端末１０１のＣＰＵ２０１が記憶されている制御プログラムを読み出して実行することにより実現される。図１６（ａ）乃至（ｄ）は、入出力項目パレット１６０１に用意されたアイコン１６０２を用いてメニュー定義項目を作成する様子を示す図であり、『商品』のカテゴリをメニュー定義として追加する際の例を示している。図１７は、図１６で行われた操作によって『商品』のカテゴリが追加された後の入出力タイプ７０３がＭＡＮＵである入出力定義の定義項目である（メニュー定義）。
【００７０】
Ｓ１５０１では、開発用端末１０１のＣＰＵ２０１は、ユーザによって図１６（ａ）に示すようなメニューエディタ画面を表示した状態で、入出力項目パレット１６０１からカテゴリ追加を行うための入出力項目パレット１６０１に用意されたアイコン１６０２がメニューエディタ領域１１０２にドラッグアンドドロップされたことを受け付けたかどうかを判断する。
【００７１】
Ｓ１５０２では、開発用端末１０１のＣＰＵ２０１が、ユーザにより選択されたアイコン１６０２がメニューエディタ領域１１０２でドロップされた位置情報を取得し、アイコンがドロップされた位置と他のアイコンとの位置関係をもとに、メニュー画面上のユーザにより選択された定義のアイコンを追加したい位置の位置情報を特定する。図１６（ｂ）に示す例では、「商品登録ページへ」のアイコンの左に追加されることを示す識別アイコン１１２０が表示された状態でアイコン１６０２をドロップしている。この場合には「商品登録ページへ」の階層を一つ下げ、追加されたアイコン１６０２が「商品登録ページへ」の元の階層とする位置関係を特定する。
【００７２】
Ｓ１５０３では、開発用端末１０１のＣＰＵ２０１が、ユーザからメニュー定義で表示される項目名を受け付ける。具体的には、図１６（ｃ）に示すようなメニュー項目の追加作成画面１１５０が表示され、ユーザは項目コードと名前を入力し、ＯＫボタン１１５１を押下するとメニュー定義で表示される項目名を設定することができる。
【００７３】
Ｓ１５０４では、開発用端末１０１のＣＰＵ２０１が、入出力タイプ７０３がＭＡＮＵである入出力定義の定義項目にＳ１５０３で特定した位置関係から求まる階層とＳ１５０４で取得した項目コード及び名前とを追加する。すなわち、アプリケーションで表示されるメニュー画面を設定するメニュー定義項目に追加する。図１７は図１６で行われた操作によってメニュー画面で各画面をまとめたカテゴリとして「商品」が追加された後の入出力タイプ７０３がＭＡＮＵである入出力定義の定義項目である（メニュー定義）。図１７に示すように、図１６に示す操作を行うと、階層７２０はアイコンがドロップされた位置に対応する「１」とし、項目コード７１２と名前７１３は、メニュー項目の追加作成画面１１５０で受け付けた内容としてメニュー項目が追加される。さらに「商品」のアイコンが追加されることにより階層が変更された「商品登録ページへ」のメニュー定義は、階層７２０が親階層である「商品」の次の階層である「２」に変更され、親項目７２１に親階層である「商品」を示す「ＰＲＯＤＵＣＴ」が追加される。
【００７４】
Ｓ１５０６では、開発用端末１０１のＣＰＵ２０１は、作成されたメニュー画面用の入出力定義をもとに、カテゴリを示すアイコンをメニューエディタ領域１１０２に描画されるように表示制御する（図１６（ｄ））。
【００７５】
以上説明したように、メニュー定義項目には画面の入出力定義以外のカテゴリを示す項目もメニュー定義項目として追加することができる。このようなカテゴリを示す項目は、アプリケーションのメニュー画面１４００で選択されても対応する画面が用意されていないため、遷移することはできないが関連する複数の画面をひとまとまりにしてメニュー画面上で表示させることができるため、利用者はメニュー画面１４００上で遷移したい画面を見つけやすくなる。
【００７６】
図１０乃至図１７の説明では、いずれもメニューエディタ領域に存在しないアイコンを追加する場合を説明したが、メニューエディタ領域では既に使用されているメニュー定義項目のアイコンの配置位置を変更することで、メニュー画面の表示形態を変更させることもできる。このようなメニュー定義の変更処理について、図１８乃至２４を用いて説明する。
【００７７】
図１８は、メニューエディタ領域に既に表示されている、すなわち既にメニュー画面として定義されているメニュー定義項目のメニュー画面上での表示位置を変更する処理を説明するためのフローチャートである。このような処理は、開発用端末１０１のＣＰＵ２０１が記憶されている制御プログラムを読み出して実行することにより実現される。図１９（ａ）乃至（ｃ）は、メニューエディタ領域１１０２に表示されたアイコンを用いてメニュー定義項目のメニュー画面上での表示位置を変更する様子を示す図であり、階層「１」の「商品一覧ページへ」の項目を「商品」カテゴリの下位層である階層「２」の位置に変更する例を示している。図２０は、図１９で行われた操作によって「商品一覧ページへ」が「商品」のカテゴリに含まれるように変更された後の入出力タイプ７０３がＭＡＮＵである入出力定義の定義項目である（メニュー定義）。
【００７８】
Ｓ１８０１では、開発用端末１０１のＣＰＵ２０１は、ユーザによって図１９（ａ）に示すようなメニューエディタ画面上で表示されているメニュー定義項目に対応したアイコンの位置が変更されるようにドラッグアンドドロップされたことを受け付けたかどうかを判断する。
【００７９】
Ｓ１８０２では、開発用端末１０１のＣＰＵ２０１が、ユーザによって選択された定義の定義情報を取得する。具体的には、入出力タイプ７０３がＭＡＮＵである入出力定義１１４のいずれのメニュー定義項目が選択されているかを特定する。
【００８０】
Ｓ１８０３では、開発用端末１０１のＣＰＵ２０１が、ユーザにより選択されたアイコンがメニューエディタ領域１１０２でドロップされた位置情報を取得し、アイコンがドロップされた位置と他のアイコンとの位置関係をもとに、メニュー画面上のユーザにより選択された定義のアイコンを追加したい位置の位置情報を特定する。図１９（ｂ）に示す例では、「商品一覧ページへ」のアイコンを「商品登録ページへ」のアイコンの下に追加されることを示す識別アイコン１１２０が表示された状態でドロップ操作する様子を示している。この場合には、「商品一覧ページへ」の階層が「商品登録ページへ」と同じ階層となるような位置関係を特定する。
【００８１】
Ｓ１８０４では、開発用端末１０１のＣＰＵ２０１が、Ｓ１８０３で特定した位置関係から求まる階層となるようにメニュー項目を変更する。図２０は、図１７に示す入出力定義の定義情報を図１９で行われた操作によって変更した後の入出力定義のメニュー定義項目である。図２０に示すように、図１９に示す操作を行うと、「商品一覧ページへ」の階層７２０はアイコンがドロップされた位置に対応する「２」に変更され、親項目７２１に親階層である「商品」を示す「ＰＲＯＤＵＣＴ」が追加される。
【００８２】
Ｓ１８０５では、開発用端末１０１のＣＰＵ２０１は、変更されたメニュー画面用の入出力定義をもとに、カテゴリを示すアイコンをメニューエディタ領域１１０２に描画されるように表示制御する（図１９（ｃ））。
【００８３】
また、アイコンの位置変更は図２１乃至図２３に示すように、既に配置されている上位層アイコンと下位層アイコンとの間に割り込ませる形で挿入することも可能である。下位層アイコンが１つしかない場合には、挿入したアイコンの階層を元の下位層アイコンの階層とするとともに、下位層アイコンの階層を１つ下の階層に変更すればよい。しかし、下位層アイコンが複数ある場合には、複数の下位層アイコンと上位層アイコンとの間に新たな階層としてアイコンを挿入し複数の下位層アイコンの階層を１つ下の階層に変更したいのか、若しくは、複数の下位層アイコンのうちの１つの下位層アイコンのみの親階層としてアイコンを挿入したいのか判別が難しい。
【００８４】
そこで、本実施形態では、いずれの処理を行うかは、アイコンをドロップする位置応じて決定することができる。図２１は、複数の下位層アイコンのうちの１つの下位層アイコンのみの親階層としてアイコンを挿入したい場合の例であり、図２１（ｃ）に示すように「商品情報管理」を、「顧客登録ページへ」のみの親階層として挿入している。このように挿入したい場合には、図２１（ｂ）に示すように「商品登録ページへ」の上位階層であって、「商品」カテゴリの含まれる複数のアイコンの群を識別可能な破線領域２００１の内側にアイコン１１２０が表示されている状態でドロップすればよい。このような位置でドロップすることにより、図２１（ｃ）に示すように、「商品」と「商品登録ページへ」の間の位置であって、「商品一覧ページへ」と同じ階層に「商品情報管理」の位置を変更することができる。このときの変更前の入出力定義の定義情報は図２３（ａ）であり、図２１の操作により変更された後の入出力定義情報が図２３（ｂ）である。ここで示されているように、「商品情報管理」の階層が「１」から「２」に変更され、親項目７２１が「ＰＲＯＤＵＣＴ」と追記されるとともに、「商品登録ページへ」の階層が「２」から「３」に変更され、親項目７２１が「ＰＲＯＤＵＣＴ＿ＥＤＩＴ」に変更される。そして図２３（ａ）に対応するアプリケーションのメニュー画面１４００が図２４（ａ）であり、図２３（ｂ）に対応するアプリケーションのメニュー画面１４００が図２４（ｂ）である。
【００８５】
一方、図２２は、複数の下位層アイコンの全ての親階層としてアイコンを挿入したい場合の例であり、図２２（ｂ）に示すように「商品情報管理」を「商品登録ページへ」と「商品一覧ページへ」の親階層として挿入している。このように挿入したい場合には、図２２（ａ）に示すように「商品登録ページへ」もしくは「商品一覧ページへ」の上位階層であって、「商品」カテゴリの含まれる複数のアイコンの群を識別可能な破線領域２００１の外側にアイコン１１２０が表示されている状態でドロップすればよい。このような位置でドロップすることにより、図２２（ｂ）に示すように、「商品」と「商品登録ページへ」及び「商品一覧ページへ」との間の階層位置に「商品情報管理」の位置を変更することができる。このときの変更前の入出力定義の定義情報は図２３（ａ）であり、図２１の操作により変更された後の入出力定義情報が図２３（ｃ）である。ここで示されているように、「商品情報管理」の階層が「１」から「２」に変更され、親項目７２１が「ＰＲＯＤＵＣＴ」と追記されるとともに、「商品登録ページへ」の階層が「２」から「３」に変更され、親項目７２１が「ＰＲＯＤＵＣＴ＿ＥＤＩＴ」に変更され、さらに「商品登録一覧ページへ」の階層が「２」から「３」に変更され、親項目７２１が「ＰＲＯＤＵＣＴ＿ＥＤＩＴ」に変更される。そして図２３（ｃ）に対応するアプリケーションのメニュー画面１４００が図２４（ｃ）である。
【００８６】
このように、配置を変更したいアイコンをドロップする位置に応じて、複数の下位層アイコン全ての親階層として挿入するか、複数の下位層アイコンのいずれか１つの親階層として挿入するかを決定し、アイコンを挿入することができるため、ユーザは直観的な操作でいずれの階層構造にするかを選択することができる。
【００８７】
なお、図２１乃至図２３の説明では、既に配置されているアイコンの位置を変更する例を用いて説明したが、新しい項目を追加する場合でも同様にドロップする位置に応じて、複数の下位層アイコン全ての親階層としてアイコンを追加するか、複数の下位層アイコンのいずれか１つの親階層となるようにアイコンを追加するかを決定し、アイコンを挿入することができる。また、配置位置を変更する操作は、画面にリンクしていないカテゴリ項目のアイコンも、画面にリンクしている項目のアイコンもいずれも同じように変更させることができる。
【００８８】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【００８９】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置の情報処理装置が前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【００９０】
したがって、本発明の機能処理を情報処理装置で実現する（実行可能とする）ために、前記情報処理装置にインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００９１】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００９２】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【００９３】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００９４】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理を情報処理装置で実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００９５】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行して情報処理装置にインストールさせて実現することも可能である。
【００９６】
また、情報処理装置が、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、情報処理装置上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００９７】
さらに、記録媒体から読み出されたプログラムが、情報処理装置に挿入された機能拡張ボードや情報処理装置に接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【００９８】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００９９】
１０１  開発用端末
１０２  サーバ
１０３  利用者用端末
１３０  Ｗｅｂアプリケーション
【図１】
2020017305.tif 000003
【図２】
2020017305.tif 000004
【図３】
2020017305.tif 000005
【図４】
2020017305.tif 000006
【図５】
2020017305.tif 000007
【図６】
2020017305.tif 000008
【図７】
2020017305.tif 000009
【図８】
2020017305.tif 000010
【図９】
2020017305.tif 000011
【図１０】
2020017305.tif 000012
【図１１】
2020017305.tif 000013
【図１２】
2020017305.tif 000014
【図１３】
2020017305.tif 000015
【図１４】
2020017305.tif 000016
【図１５】
2020017305.tif 000017
【図１６】
2020017305.tif 000018
【図１７】
2020017305.tif 000019
【図１８】
2020017305.tif 000020
【図１９】
2020017305.tif 000021
【図２０】
2020017305.tif 000022
【図２１】
2020017305.tif 000023
【図２２】
2020017305.tif 000024
【図２３】
2020017305.tif 000025
【図２４】
2020017305.tif 000026