(57)【要約】【課題】  複数の画面定義情報を用いて表示された画面を容易に制御するプログラムを生成する仕組みを提供する。【解決手段】  アプリケーションの実行のために用いられるプログラムを生成するプログラム生成装置であって、アプリケーションにより表示される画面を定義した画面定義情報を管理する。画面定義情報のうち、複数の画面定義情報の指定を受け付ける。指定を受け付けた複数の画面定義情報を用いて、アプリケーションのクライアントに表示するための画面情報を生成するための第１のプログラムを生成する。画面情報を用いてクライアントに表示された画面を介してユーザの操作を受け付けたときに当該画面に含まれる画面部品を制御するための第２のプログラムを生成する。指定を受け付けた画面定義情報の識別情報を表示し選択を受け付ける。第２のプログラムは、選択を受け付けた画面定義情報に含まれる画面部品を制御することを特徴とするプログラム生成装置。【選択図】  図１０
2018101237.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションの実行のために用いられるプログラムを生成するプログラム生成装置であって、
前記アプリケーションにより表示される画面を定義した画面定義情報を管理する画面定義情報管理手段と、
前記画面定義情報管理手段に管理されている画面定義情報のうち、複数の画面定義情報の指定を受け付ける画面定義情報受付手段と、
前記画面定義情報受付手段により指定を受け付けた複数の画面定義情報を用いて、アプリケーションのクライアントに表示するための画面情報を生成するための、第１のプログラムを生成する画面情報生成プログラム生成手段と、
前記画面情報を用いてクライアントに表示された画面を介してユーザの操作を受け付けたときに当該画面に含まれる画面部品を制御するための、第２のプログラムを生成する画面部品制御プログラム生成手段と、
前記画面定義情報受付手段により指定を受け付けた画面定義情報の識別情報を表示し選択を受け付ける選択受付手段と
を備え、
前記第２のプログラムは、
前記選択受付手段により選択を受け付けた画面定義情報に含まれる画面部品を制御すること
を特徴とするプログラム生成装置。
【請求項２】
前記選択受付手段により選択を受け付けた画面定義情報の制御順序を受け付ける制御順序受付手段を更に備え、
前記第２のプログラムは、
前記制御順序受付手段により受け付けた制御順序に従って、前記選択受付手段により選択を受け付けた画面定義情報に含まれる画面部品を制御すること
を特徴とする請求項１に記載のプログラム生成装置。
【請求項３】
アプリケーションの実行のために用いられるプログラムを生成するプログラム生成装置における処理方法であって、
前記プログラム生成装置が、
前記アプリケーションにより表示される画面を定義した画面定義情報を管理する画面定義情報管理ステップと、
前記画面定義情報管理ステップに管理されている画面定義情報のうち、複数の画面定義情報の指定を受け付ける画面定義情報受付ステップと、
前記画面定義情報受付ステップにより指定を受け付けた複数の画面定義情報を用いて、アプリケーションのクライアントに表示するための画面情報を生成するための、第１のプログラムを生成する画面情報生成プログラム生成ステップと、
前記画面情報を用いてクライアントに表示された画面を介してユーザの操作を受け付けたときに当該画面に含まれる画面部品を制御するための、第２のプログラムを生成する画面部品制御プログラム生成ステップと、
前記画面定義情報受付ステップにより指定を受け付けた画面定義情報の識別情報を表示し選択を受け付ける選択受付ステップと
を実行し、
前記第２のプログラムは、
前記選択受付ステップにより選択を受け付けた画面定義情報に含まれる画面部品を制御すること
を特徴とする処理方法。
【請求項４】
アプリケーションの実行のために用いられるプログラムを生成するプログラム生成装置で実行可能なプログラムであって、
前記プログラム生成装置を、
前記アプリケーションにより表示される画面を定義した画面定義情報を管理する画面定義情報管理手段と、
前記画面定義情報管理手段に管理されている画面定義情報のうち、複数の画面定義情報の指定を受け付ける画面定義情報受付手段と、
前記画面定義情報受付手段により指定を受け付けた複数の画面定義情報を用いて、アプリケーションのクライアントに表示するための画面情報を生成するための、第１のプログラムを生成する画面情報生成プログラム生成手段と、
前記画面情報を用いてクライアントに表示された画面を介してユーザの操作を受け付けたときに当該画面に含まれる画面部品を制御するための、第２のプログラムを生成する画面部品制御プログラム生成手段と、
前記画面定義情報受付手段により指定を受け付けた画面定義情報の識別情報を表示し選択を受け付ける選択受付手段
として機能させ、
前記第２のプログラムは、
前記選択受付手段により選択を受け付けた画面定義情報に含まれる画面部品を制御すること
を特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラムを生成するための情報処理装置、情報処理装置の処理方法、およびプログラムに関する。
【背景技術】
【０００２】
アプリケーションの画面には、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）のフレーム技術のように複数の画面情報（例：ＨＴＭＬファイル）を用いて表示される画面がある。
【０００３】
例えば、図１２の社員管理アプリケーション画面は、「社員検索」の機能を持つ社員検索フレーム１２０１、「社員詳細表示」「社員情報登録」「社員情報更新」等の機能を持つ社員詳細フレーム１２０２の２つのフレームで構成され、各フレームはそれぞれの画面情報を用いて表示されている。
【０００４】
この社員管理アプリケーションでは、図１３のように、社員詳細フレーム１３１２にて新規に登録する社員の情報の入力を受け付け、登録ボタン１３１３の押下を受け付けることで、社員詳細フレーム１３１２に入力された社員情報をサーバに送信し社員情報の登録処理を行った後、社員検索フレーム１３１１の再読込みを自動的に行うことで、最新の社員情報を検索し、社員検索フレーム１３２１のような画面を表示する。
【０００５】
このように、複数の画面情報を用いて表示されたアプリケーション画面は、画面に含まれる各フレームの画面部品の制御を正しい順序で行う必要があるため、この制御を行うプログラム（例：ＪａｖａＳｃｒｉｐｔ（登録商標））を生成することは非常に困難であった。
特許文献１には、単一のウィンドウに複数のウィンドウ構造を切り替えて表示させることが可能なウィンドウ表示システムの仕組みが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】ＷＯ２００５／１０９１７６
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献１の仕組みは、異なるウィンドウ構造を切り替えて表示するのみであり、この仕組みを用いたとしても、上記のような、複数の画面情報を用いて表示されたアプリケーション画面において、画面に含まれる各フレームの画面部品の制御を行うことはできないという問題がある。
一方、従来より、アプリケーション画面のレイアウト（画面部品の配置や機能）を設計し、アプリケーション画面を表示するためのプログラム（例：Ｊａｖａ（登録商標）、ＪＳＰ等）を生成する開発ツールがあるが、このような開発ツールを用いたとしても、フレームのように複数の画面情報を用いて表示されたアプリケーション画面に含まれる画面部品を制御するプログラム（例：ＪａｖａＳｃｒｉｐｔ（登録商標））を生成することは困難であった。
【０００８】
そこで、本発明の目的は、複数の画面定義情報を用いて表示された画面を容易に制御するプログラムを生成する仕組みを提供することである。
【課題を解決するための手段】
【０００９】
アプリケーションの実行のために用いられるプログラムを生成するプログラム生成装置であって、前記アプリケーションにより表示される画面を定義した画面定義情報を管理する画面定義情報管理手段と、前記画面定義情報管理手段に管理されている画面定義情報のうち、複数の画面定義情報の指定を受け付ける画面定義情報受付手段と、前記画面定義情報受付手段により指定を受け付けた複数の画面定義情報を用いて、アプリケーションのクライアントに表示するための画面情報を生成するための、第１のプログラムを生成する画面情報生成プログラム生成手段と、前記画面情報を用いてクライアントに表示された画面を介してユーザの操作を受け付けたときに当該画面に含まれる画面部品を制御するための、第２のプログラムを生成する画面部品制御プログラム生成手段と、前記画面定義情報受付手段により指定を受け付けた画面定義情報の識別情報を表示し選択を受け付ける選択受付手段とを備え、前記第２のプログラムは、前記選択受付手段により選択を受け付けた画面定義情報に含まれる画面部品を制御すること
を特徴とするプログラム生成装置。
【発明の効果】
【００１０】
本発明によれば、複数の画面定義情報を用いて表示された画面を容易に制御するプログラムを生成する仕組みを提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明に係るプログラム生成装置、プログラム生成サーバ、データベースサーバ、アプリケーションクライアント、アプリケーションサーバの構成の一例を示すシステム構成図である。
【図２】本発明に係るプログラム生成装置、プログラム生成サーバ、データベースサーバ、アプリケーションクライアント、アプリケーションサーバとして適用可能な各ハードウェア構成の一例を示すブロック図である。
【図３】本発明の実施の形態のソフトウェア構成を示すブロック図の一例である。
【図４】プログラム生成のフローチャートの一例を示す図である。
【図５】フレーム画面設計受付のフローチャートの一例を示す図である。
【図６】子フレームに表示する画面部品の設定を受け付けるアプリケーション設計画面の一例を示す図である。
【図７】子フレームに表示する画面部品の設定を受け付けるアプリケーション設計画面の一例を示す図である。
【図８】複数の画面定義情報の選択を受け付けるアプリケーション設計画面の一例を示す図である。
【図９】親フレームに表示する子フレームの配置設定を受け付けるアプリケーション設計画面の一例を示す図である。
【図１０】画面部品の制御の設定を受け付ける画面の一例を示す図である。
【図１１】アプリケーション実行のフローチャートの一例を示す図である。
【図１２】アプリケーションクライアント１０４により表示されるアプリケーションの検索・詳細画面の初期画面の一例を示す図である。
【図１３】アプリケーション実行時の登録ボタン押下前後の画面の一例を示す図である。
【図１４】プログラム生成装置により生成されたプログラムの一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態を、図面を参照して詳細に説明する。
【００１３】
図１は、本発明に係わるプログラム生成装置（アプリケーションのプログラムを生成するために開発者が使用する情報処理装置）、プログラム生成サーバ、データベースサーバ、アプリケーションクライアント（クライアント装置）、アプリケーションサーバの構成の一例を示すシステム構成図である。
【００１４】
プログラム生成装置１０１は、開発者の操作に従って画面レイアウトおよびデータベース検索指示などを定義する。プログラム生成装置１０１単体では、開発者の入力受付を行い、後述するプログラム生成サーバ１０２に実際のプログラム生成処理、アプリケーション生成処理をさせてもよいし、プログラム生成装置１０１単体でプログラム生成、アプリケーション生成まで処理してもよい。
【００１５】
なお、この実施形態においては、プログラム生成装置１０１で生成するアプリケーションはＷｅｂアプリケーションとしたが、これに限定するものではなく、携帯電話・スマートフォン・タブレットなどの情報処理装置で動作するアプリケーションや組込みソフトウェアなど、Ｗｅｂ技術を利用しないアプリケーションであってもよい。
【００１６】
プログラム生成サーバ１０２ａ〜１０２ｂ（情報処理装置）は、プログラム生成装置１０１により入力された開発者の指示に従って、プログラムを開発する。プログラム生成サーバ１０２ａはＬＡＮなどのネットワーク１０６内に配置されてもよいし、プログラム生成サーバ１０２ｂはインターネット上やクラウド上に配置されてもよい。
【００１７】
データベースサーバ１０３ａ〜１０３ｂ（情報処理装置）は、開発されたアプリケーションが使用するデータベースであり、また本発明では開発時にも動作確認などのために利用してもよい。例えば、開発者が利用するためにデータベースサーバ１０３は、プログラム生成装置１０１と同一の装置で構成されていてもよいし、ＬＡＮなどのネットワーク１０６内に配置されてもよい（データベースサーバ１０３ａ）。またインターネット上やクラウド上に配置されてもよい（データベースサーバ１０３ｂ）。また、プログラム生成装置１０１が、プログラム生成サーバ１０２と協調する場合には、プログラム生成サーバ１０２とデータベースサーバ１０３が同一の装置内に構成されていてもよい。
【００１８】
アプリケーションサーバ１０５ａ〜１０５ｂ（情報処理装置）は、プログラム生成装置１０１で開発されたアプリケーションを実行する。ＬＡＮなどのネットワーク１０６内に配置されてもよい（アプリケーションサーバ１０５ａ）し、またインターネット上やクラウド上に配置されてもよい（アプリケーションサーバ１０５ｂ）。また、ネットワーク１０６、インターネット、クラウド上のデータベースサーバ１０３と接続して動作する可能である。
【００１９】
アプリケーションクライアント１０４ａ〜１０４ｂ（情報処理装置）は、アプリケーションサーバ１０５と協調してプログラム生成装置１０１で開発したアプリケーションプログラムを動作させる、ユーザの入力端末である。ＬＡＮなどのネットワーク１０６内に配置されてもよい（アプリケーションクライアント１０４ａ）し、またインターネット上やクラウド上に配置されてもよい（アプリケーションクライアント１０４ｂ）。携帯端末などの情報処理装置であってもよい。
【００２０】
図２は、本発明に係わるプログラム生成装置１０１、プログラム生成サーバ１０２、データベースサーバ１０３、アプリケーションクライアント１０４、アプリケーションサーバ１０５として適用可能な各ハードウェア構成の一例を示すブロック図である。
図２において、ＣＰＵ２０１は、システムバス２０４に接続される各デバイスを統括的に制御する。
【００２１】
また、ＲＯＭ２０３あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるオペレーティングシステム（ＯＳ）や、各サーバ、クライアント、装置など情報処理装置の後述する各種機能を実現するためのプログラムが記憶されている。
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア、一時待避領域等として機能する。
【００２２】
入力コントローラ２０５は、入力部２０９からの入力を制御する。この入力部２０９としては、情報処理装置では、キーボード、マウス等のポインティングデバイスが挙げられる。
出力コントローラ２０６は、出力部２１０の表示を制御する。この出力部２１０としては、例えば、ＣＲＴや液晶ディスプレイ等が挙げられる。
【００２３】
外部メモリコントローラ２０７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザーファイル、編集ファイル、プリンタドライバ等を記憶する外部メモリ２１１へのアクセスを制御する。加えて、各サーバ、クライアント、装置等の各種機能を実現するための各種テーブル、パラメータが記憶されている。この外部メモリ２１１としては、ハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）、ＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）、スマートメディア等が挙げられる。
通信Ｉ／Ｆコントローラ２０８は、ネットワークを介して外部機器との通信制御処理を実行する。
本発明を実現するためのプログラム２１２は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。
【００２４】
図３は、本発明の実施の形態のソフトウェア構成を示すブロック図の一例である。
プログラム生成装置１０１は、以下の機能部を備える。
画面定義情報管理部３０１は、アプリケーションにより表示される画面を定義した画面定義情報を管理する機能部である。
画面定義情報受付部３０２は、画面定義情報管理部３０１に管理されている画面定義情報のうち、複数の画面定義情報の指定を受け付ける機能部である。
【００２５】
画面情報生成プログラム生成部３０３は、画面定義情報受付部３０２により指定を受け付けた複数の画面定義情報を用いて、アプリケーションのクライアントに表示するための画面情報を生成するための、第１のプログラムを生成する機能部である。
【００２６】
画面部品制御プログラム生成部３０４は、画面情報を用いてクライアントに表示された画面を介してユーザの操作を受け付けたときに当該画面に含まれる画面部品を制御するための、第２のプログラムを生成する機能部である。
選択受付部３０５は、画面定義情報受付部３０２により指定を受け付けた画面定義情報の識別情報を表示し選択を受け付ける機能部である。
制御順序受付部３０６は、選択受付部３０５により選択を受け付けた画面定義情報の制御順序を受け付ける機能部である。
【００２７】
図４は、プログラム生成のフローチャートの一例を示す図である。なお、図４・図５のフローチャートの各ステップは、プログラム生成装置１０１のＣＰＵ２０１が実行する。
ステップＳ４０１において、構築するアプリケーションの画面を設計するためのアプリケーション設計画面６００（図６）を表示する。
【００２８】
ステップＳ４０２において、画面部品の設定を受け付ける。具体的には、アプリケーションを実行しアプリケーションクライアント１０４の画面に表示される画面部品の配置操作を受け付けることにより、アプリケーション画面を構築する。
【００２９】
ここでは、アプリケーション設計画面６００（図６）に表示されている画面定義情報６０１から、「子フレーム＿社員検索６０２」の選択を受け付け、６０３のように画面部品の配置を受け付けたとする。また、同様に、アプリケーション設計画面７００（図７）に表示されている画面定義情報から、「子フレーム＿社員詳細７０１」の選択を受け付け、７０２のように画面部品の配置を受け付けたとする。
【００３０】
ステップＳ４０３において、ステップＳ４０２にて受け付けた画面部品の設定を画面定義情報として外部メモリ２１１に記憶する。すなわち、ステップＳ４０３は、アプリケーションにより表示される画面を定義した画面定義情報を管理する処理の一例を示すステップである。ここでは、「子フレーム＿社員検索」「子フレーム＿社員詳細」の画面定義情報を外部メモリ２１１に記憶したとする。
ステップＳ４０４において、フレーム分割を用いた画面の設計を受け付ける。この処理の詳細は、図５のフローチャートを用いて説明する。
【００３１】
ここで、図５のフレーム画面設計受付のフローチャートについて説明しておく。
ステップＳ５０１において、プログラム生成装置１０１は、複数の画面定義情報の選択を受け付ける。すなわち、ステップＳ５０１は、管理されている画面定義情報のうち、複数の画面定義情報の指定を受け付ける処理の一例を示すステップである。ここでは、アプリケーション設計画面８００（図８）に表示されている画面定義情報から、「親フレーム＿社員管理８０１」の選択を受け付け、「親フレーム＿社員管理８０１」の画面部品の設定受付画面を表示し（８０２）、親フレーム内に表示する「子フレーム＿社員検索」「子フレーム＿社員詳細」の選択を受け付け（８０３）、「親フレーム＿社員管理８０１」の画面部品の設定受付画面にドラッグ＆ドロップする（８０４）ことにより、複数の画面定義情報の選択を受け付けたとする。
【００３２】
ステップＳ５０２において、プログラム生成装置１０１は、選択された複数の画面定義情報（図８の８０２）の識別情報（＝画面定義ＩＤ）を対応付けて外部メモリ２１１に記憶する。ここでは、「親フレーム＿社員管理８０１」のフレーム内に表示する画面定義情報の識別情報（＝画面定義ＩＤ）として、「子フレーム＿社員検索」と「子フレーム＿社員詳細」を対応付けて外部メモリ２１１に記憶する。
【００３３】
ステップＳ５０３において、プログラム生成装置１０１は、フレームレイアウト設計（図９の９０１）を受け付ける。具体的には、親フレーム内に子フレームをどのように配置するかの設計を受け付ける。
【００３４】
例えば、親フレーム内に２つの子フレームを横に並べて配置する場合は、設定受付画面８０２の左右方向から、ステップＳ５０１のドラッグ＆ドロップを行う。また、親フレーム内に２つの子フレームを縦に並べて配置する場合は、設定受付画面８０２の上下方向から、ステップＳ５０１のドラッグ＆ドロップを行う。なお、本実施形態においては、複数の画面定義情報のドラッグ＆ドロップした方向で子フレームの配置を決定したが、これに限定するものではなく、複数の画面定義情報を順にドロップした位置等に従って、子フレームの配置を決定するとしてもよい。ここでは、「親フレーム＿社員管理８０１」内の左側に「子フレーム＿社員検索」、右側に「子フレーム＿社員詳細」のように横に並べて配置する操作を受け付けたとする。
【００３５】
プログラム生成装置１０１は、ステップＳ５０１にて選択された複数の画面定義情報およびステップＳ５０３にて受け付けた配置設計に従って、フレームレイアウトのプレビュー画面９００（図９）を表示する。
【００３６】
ステップＳ５０４において、プログラム生成装置１０１は、画面部品のプロパティを設定する画面（図１０）を表示する。具体的には、プレビュー画面９００に表示された画面部品（例えば、登録ボタン９０２（図９））の選択操作を受け付け、画面部品プロパティ設定画面１０００（図１０）を表示する。ここで、画面部品プロパティ設定画面１０００について説明しておく。
「画面部品名１００１」は、ステップＳ５０４にて選択された画面部品の部品名であり、画面部品を識別する画面部品識別情報（＝画面部品ＩＤ）でもある。
【００３７】
「次画面１００２」は、アプリケーション実行時にアプリケーションクライアント１０４が「画面部品名１００１」の画面部品の操作を受け付けたとき、画面遷移処理を行う画面の画面定義識別情報（＝画面定義ＩＤ）である。すなわち、「次画面１００２」は、「画面部品名１００１」の画面部品の操作を受け付けたとき、更新対象となるフレームの識別情報の一例である。
【００３８】
「次画面パラメータ１００３」は、画面遷移処理の際に「次画面１００２」の画面を表示するプログラム（例：Ｊａｖａ（登録商標）、ＪＳＰ等）に渡すパラメータである。図１０のように、パラメータをカンマで区切ることにより、複数のパラメータを「次画面１００２」の画面を表示するプログラムに渡し、「次画面１００２」の画面を再表示ことができる。また、「次画面パラメータ１００３」を＜空白＞にすることで、パラメータを「次画面１００２」の画面を表示するプログラムに渡さず、「次画面１００２」の画面を更新することができる。
【００３９】
「追加ボタン１００４」を押下することによって、「次画面１００２」「次画面パラメータ１００３」に設定した値を「遷移順１００５」に追加する。また、「遷移順１００５」には追加した順に、［遷移順１］［遷移順２］…［遷移順ｎ］のように番号が振られる。「画面部品名１００１」の画面部品の操作を受け付けたときに行う画面遷移処理は、この［遷移順１］［遷移順２］…［遷移順ｎ］の順で、「次画面１００２」の画面を表示するプログラムに対して「次画面パラメータ１００３」を渡し、「次画面１００２」の画面を更新する。
以上で、図１０の画面部品プロパティ設定画面１０００の説明を終了する。
【００４０】
ステップＳ５０５において、プログラム生成装置１０１は、ステップＳ５０２にて対応付けられた画面定義情報の識別情報を取得し、更新対象となるフレームの識別情報として表示する。具体的には、外部メモリ２１１から、「親フレーム＿社員管理８０１」のフレーム内に表示する画面定義情報の識別情報として、「子フレーム＿社員検索」と「子フレーム＿社員詳細」を取得し、図１０の「次画面１００２」の選択肢として表示する。これにより、ステップＳ５０１にてドラッグ＆ドロップされた複数の画面定義情報（図８の８０２）の識別情報のみが図１０の「次画面１００２」の選択肢として表示されるため、フレーム内に表示する画面定義情報の識別情報を容易に選択することができる。
【００４１】
なお、本実施形態においては、「次画面パラメータ１００３」は、アプリケーション開発者がパラメータを入力するとしたが、これに限定するものではなく、「親フレーム＿社員管理８０１」のフレーム内に表示する画面定義情報に含まれる画面部品の識別情報（＝画面部品ＩＤ）を選択肢として表示し、容易に選択できるようにした方がフレーム内に表示する画面部品の識別情報を容易に選択することができるため望ましい。
【００４２】
ステップＳ５０６において、プログラム生成装置１０１は、ステップＳ５０５にて表示した画面定義情報の識別情報から更新対象となるフレームの選択を受け付ける。すなわち、ステップＳ５０５〜ステップＳ５０６は、指定を受け付けた画面定義情報の識別情報を表示し選択を受け付ける処理の一例を示すステップである。
【００４３】
具体的には、アプリケーション実行時にアプリケーションクライアント１０４が「画面部品名１００１」の画面部品の操作を受け付けたときに画面遷移処理を行う画面の画面定義識別情報を、図１０の「次画面１００２」の選択肢に表示された「子フレーム＿社員検索」と「子フレーム＿社員詳細」から選択する。
【００４４】
ステップＳ５０７において、プログラム生成装置１０１は、画面部品のプロパティ設定（図１０の１００１〜１００７）の入力を受け付ける。すなわち、ステップＳ５０７は、選択を受け付けた画面定義情報の制御順序を受け付ける処理の一例を示すステップである。
【００４５】
ここでは、「次画面１００２」＝“子フレーム＿社員詳細”、「次画面パラメータ１００３」＝“社員番号，社員名”の入力および「追加ボタン１００４」の押下を受け付け、「遷移順１００５」に“[遷移順１]  子フレーム＿社員詳細  |  パラメータ：社員番号，社員名”が追加され、更に「次画面１００２」＝“子フレーム＿社員検索”、「次画面パラメータ１００３」＝＜空白＞の入力および「追加ボタン１００４」の押下を受け付け、「遷移順１００５」に“[遷移順２]  子フレーム＿社員検索  |  パラメータ：なし”が追加されたとする。
【００４６】
ステップＳ５０８において、プログラム生成装置１０１は、画面部品プロパティ設定を外部メモリ２１１に記憶する。具体的には、保存ボタン１００８（図１０）の押下を受け付けると、ステップＳ５０７にて入力を受け付けた画面部品のプロパティ設定（図１０の１００１〜１００７）の値を外部メモリ２１１に記憶する。
ステップＳ５０９において、プログラム生成装置１０１は、ステップＳ５０３にて受け付けたフレームレイアウト設計情報を外部メモリ２１１に記憶する。
【００４７】
なお、本実施形態においては、複数の画面情報を用いて表示されたアプリケーション画面として、フレーム分割を用いたアプリケーション画面を例に挙げたが、フレーム分割に限定するものではなく、例えば、複数ウィンドウで構成されるアプリケーション画面など、アプリケーション画面に含まれる画面部品を制御するプログラム（例：ＪａｖａＳｃｒｉｐｔ（登録商標））が制御可能な複数の画面情報を用いて表示されたアプリケーション画面であればよい。
以上で、図５の説明を終了する。
【００４８】
ステップＳ４０５において、ビジネスロジックの設定を受け付ける（不図示）。ビジネスロジックとは、設計した画面を表示するために行う処理や、表示した画面を介して受け付けた操作に従って行う処理である。
ステップＳ４０６において、ステップＳ４０５にて受け付けたビジネスロジックを外部メモリ２１１に記憶する。
【００４９】
ステップＳ４０７において、開発者からアプリケーション構築の指示を受け付ける。なお、アプリケーション構築とは、ステップＳ４０１〜ステップＳ４０６で受け付けたアプリケーションの設定情報を用いて、アプリケーションを動作させるためのプログラムを生成し、アプリケーションサーバ１０５に配置する処理である。
【００５０】
ステップＳ４０８において、ステップＳ４０３にて外部メモリ２１１に記憶した画面定義情報を用いて、画面情報を出力するプログラム（例えば、図１４の画面情報生成プログラム１４０１、１４０２等）を生成する。すなわち、ステップＳ４０８は、指定を受け付けた複数の画面定義情報を用いて、アプリケーションのクライアントに表示するための画面情報を生成するための、第１のプログラムを生成する処理の一例を示すステップである。
【００５１】
画面情報生成プログラム１４０１は、「親フレーム＿社員管理」の画面情報を出力するプログラムであり、ステップＳ５０３にて受け付けたフレームレイアウト設計に従って、フレーム分割する画面情報を出力するプログラムである。画面情報生成プログラム１４０１の実行により出力された画面情報には、画面情報生成プログラム１４０２が指定されているため、この画面情報を用いて画面を表示したアプリケーションクライアント１０４からアプリケーションサーバ１０５に対して、画面情報生成プログラム１４０２の実行要求が送信される。
【００５２】
画面情報生成プログラム１４０２は、「子フレーム＿社員詳細」の画面情報を出力するプログラムである。画面情報生成プログラム１４０２の実行により出力された画面情報には、ステップＳ４０２にて配置された画面部品情報が含まれている。なお、「子フレーム＿社員検索」の画面情報を出力するプログラムについては省略する。
【００５３】
ステップＳ４０９において、ステップＳ５０７にて外部メモリ２１１に記憶したフレームレイアウト設計情報を用いて、フレーム分割された画面を制御するプログラム（例えば、制御プログラム１４０３〜１４０５）を生成する。
【００５４】
すなわち、ステップＳ４０９は、画面情報を用いてクライアントに表示された画面を介してユーザの操作を受け付けたときに当該画面に含まれる画面部品を制御するための、第２のプログラムを生成する処理の一例を示すステップである。また、第２のプログラムは、選択を受け付けた画面定義情報に含まれる画面部品を制御するプログラムである。また、第２のプログラムは、受け付けた制御順序に従って、選択を受け付けた画面定義情報に含まれる画面部品を制御するプログラムである。
【００５５】
制御プログラム１４０３は、親フレームから子フレームを制御するプログラムである。ここでは、制御プログラム１４０３には、ステップＳ５０７にて入力を受け付けた「遷移順１００５」に従って、「親フレーム＿社員管理」から「子フレーム＿社員検索」と「子フレーム＿社員詳細」を制御するためのプログラムを出力する。ここでは、「遷移順１００５」＝“[遷移順１]  子フレーム＿社員詳細  |  パラメータ：社員番号，社員名”、“[遷移順２]  子フレーム＿社員検索  |  パラメータ：なし”の２レコードが登録されていたため、最初に「子フレーム＿社員詳細」（＝ｆｒａｍｅ２）をサブミットして社員情報の登録処理を要求し、次に「子フレーム＿社員検索」（＝ｆｒａｍｅ１）のリロードを要求することにより社員情報の検索処理を要求するプログラムを出力する。
【００５６】
これにより、複数の画面情報を用いて表示されたアプリケーション画面であっても、画面に含まれる各フレームの画面部品の制御を設定した順序で行うことができるため、複数の画面情報を用いて表示されたアプリケーション画面の制御を行うプログラムを容易に生成することができるようになる。
【００５７】
また、制御プログラム１４０４は、「子フレーム＿社員詳細」（＝ｆｒａｍｅ２）用のプログラムである。ここでは、「遷移順１００５」＝“[遷移順１]  子フレーム＿社員詳細  |  パラメータ：社員番号，社員名”のレコードが登録されていたため、アプリケーションサーバ１０５に対して「社員番号」「社員名」を送信するフォーム（ｆｏｒｍＲｅｇｉｓｔｅｒ）をサブミットさせ、社員情報の登録処理を要求するためのプログラムを実行するプログラムを出力する。
【００５８】
また、制御プログラム１４０５は、「子フレーム＿社員検索」（＝ｆｒａｍｅ１）用のプログラムである。ここでは、「遷移順１００５」＝“[遷移順２]  子フレーム＿社員検索  |  パラメータ：なし”のレコードが登録されていたため、アプリケーションサーバ１０５に対して「子フレーム＿社員検索」のリロードを要求し、社員情報の検索処理を要求するプログラムを出力する。
なお、この制御プログラム１４０３〜１４０５の動作については、図１１のフローチャートの説明にて後述する。
【００５９】
ステップＳ４１０において、ステップＳ４０６にて外部メモリ２１１に記憶したビジネスロジックを用いて、ビジネスロジックプログラム（例えば、Ｊａｖａ（登録商標）ファイル）を生成する。
【００６０】
ステップＳ４１１において、ステップＳ４０８〜ステップＳ４１０にて生成したプログラムまたはそれらをコンパイルした実行ファイル（例えば、Ｃｌａｓｓファイル）をアプリケーションサーバ１０５に配置（デプロイ）する。これにより、アプリケーションサーバ１０５上でアプリケーションが動作可能になる。
以上で、図４の説明を終了する。
【００６１】
図１１は、アプリケーション実行のフローチャートの一例を示す図である。
ステップＳ１１０１において、アプリケーションクライアント１０４は、ステップＳ４１１にて生成・配置されたアプリケーションにログインし、アプリケーションサーバ１０５に対して検索・詳細画面の表示要求を送信する。
ステップＳ１１０２において、アプリケーションサーバ１０５は、検索・詳細画面の表示要求を受信する。
【００６２】
ステップＳ１１０３において、アプリケーションサーバ１０５は、検索・詳細画面の画面情報を生成する。具体的には、アプリケーションサーバ１０５は、ステップＳ４０８にて生成された画面情報出力プログラム（ＪＳＰファイル１４０１、１４０２等）を実行することにより、フレーム分割された検索・詳細画面の画面情報を生成する。
【００６３】
ステップＳ１１０４において、アプリケーションサーバ１０５は、フレーム分割された画面を制御するためのプログラム（制御プログラム１４０３〜１４０５）を取得する。
【００６４】
なお、本実施形態においては、フレーム分割された画面を制御するためのプログラムは、プログラム生成装置１０１がステップＳ４０９にて生成するとしたが、これに限定するものではなく、アプリケーションサーバ１０５がステップＳ１１０４にて生成してもよい。ただし、フレーム分割された画面を制御するためのプログラムが制御プログラム１４０３〜１４０５のように、アプリケーションクライアント１０４の画面で入力された情報によって動的に変化しない場合、プログラム生成装置１０１がステップＳ４０９にて生成した方が、アプリケーション実行時の処理時間が短縮されるため、望ましい。
【００６５】
ステップＳ１１０５において、アプリケーションサーバ１０５は、ステップＳ１１０３にて生成した画面情報およびとステップＳ１１０４にて取得したプログラムを、アプリケーションクライアント１０４に送信する。
ステップＳ１１０６において、アプリケーションクライアント１０４は、検索・詳細画面の画面情報およびプログラムを受信する。
【００６６】
ステップＳ１１０７において、アプリケーションクライアント１０４は、受信した画面情報を用いて、検索・詳細画面１２００（図１２）を表示する。検索・詳細画面１２００は、アプリケーションクライアント１０４により表示されるアプリケーションの検索・詳細画面の初期画面の一例を示す図である。検索・詳細画面１２００のフレーム１２０１には「子フレーム＿社員検索」の画面情報を用いて社員検索を行う画面を表示し、フレーム１２０２には「子フレーム＿社員詳細」の画面情報を用いて社員詳細情報を表示し、社員情報の登録・更新を行う画面を表示する。
【００６７】
ステップＳ１１０８において、アプリケーションクライアント１０４は、フレーム１３１２にて新規登録する社員情報の入力を受け付けた後、レコード登録指示となる「登録ボタン１３１３」の押下を受け付ける。
【００６８】
ステップＳ１１０９において、アプリケーションクライアント１０４は、フレーム画面の制御を行うプログラムを実行する。ここでは、制御プログラム１４０３を実行し、親フレームから子フレームを制御する。具体的には、制御プログラム１４０３に記載されているように、最初に「子フレーム＿社員詳細」（＝ｆｒａｍｅ２）をサブミットして社員情報の登録処理を要求し（ステップＳ１１１０）、次に「子フレーム＿社員検索」（＝ｆｒａｍｅ１）のリロードを要求することにより社員情報の検索処理を要求する（ステップＳ１１１７）。
ステップＳ１１１０において、アプリケーションクライアント１０４は、レコード登録要求を送信する。
ステップＳ１１１１において、アプリケーションサーバ１０５は、レコード登録要求を受信する。
ステップＳ１１１２において、アプリケーションサーバ１０５は、受信した情報をデータベースサーバ１０３にレコード登録する。
ステップＳ１１１３において、アプリケーションサーバ１０５は、詳細画面の画面情報を生成する。
【００６９】
ステップＳ１１１４において、アプリケーションサーバ１０５は、ステップＳ１１１３で生成した画面情報を、アプリケーションクライアント１０４に送信する。
ステップＳ１１１５において、アプリケーションクライアント１０４は、詳細画面の画面情報を受信する。
ステップＳ１１１６において、アプリケーションクライアント１０４は、受信した詳細画面の画面情報を用いて、フレーム１３２２に詳細画面を表示する。
ステップＳ１１１７において、アプリケーションクライアント１０４は、検索処理要求を送信する。
ステップＳ１１１８において、アプリケーションサーバ１０５は、検索処理要求を受信する。
ステップＳ１１１９において、アプリケーションサーバ１０５は、データベースサーバ１０３のレコードを検索する。
ステップＳ１１２０において、アプリケーションサーバ１０５は、検索画面の画面情報を生成する。
【００７０】
ステップＳ１１２１において、アプリケーションサーバ１０５は、ステップＳ１１２０にて生成した画面情報を、アプリケーションクライアント１０４に送信する。
ステップＳ１１２２において、アプリケーションクライアント１０４は、検索画面の画面情報を受信する。
ステップＳ１１２３において、アプリケーションクライアント１０４は、検索画面の画面情報を用いて、フレーム１３２１に検索画面を表示する。
以上で、図１１の説明を終了する。
以上により、複数の画面定義情報を用いて表示された画面を容易に制御するプログラムを生成することができるようになる。
【００７１】
以上のように、前述した実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムを読み出し、実行することによっても本発明の目的が達成されることは言うまでもない。
【００７２】
この場合、記録媒体から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した記録媒体は本発明を構成することになる。
【００７３】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ、シリコンディスク等を用いることが出来る。
【００７４】
また、コンピュータが読み出したプログラムを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７５】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７６】
また、本発明は、複数の機器から構成されるシステムに適用しても、ひとつの機器から成る装置に適用しても良い。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【００７７】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、ＯＳ（オペレーティングシステム）に供給されるスクリプトデータ等の形態から成ってもよい。
【００７８】
さらに、本発明を達成するためのプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００７９】
１０１  プログラム生成装置
１０２  プログラム生成サーバ
１０３  データベースサーバ
１０４  アプリケーションクライアント
１０５  アプリケーションサーバ
１０６  ネットワーク
【図１】
2018101237.tif 000003
【図２】
2018101237.tif 000004
【図３】
2018101237.tif 000005
【図４】
2018101237.tif 000006
【図５】
2018101237.tif 000007
【図６】
2018101237.tif 000008
【図７】
2018101237.tif 000009
【図８】
2018101237.tif 000010
【図９】
2018101237.tif 000011
【図１０】
2018101237.tif 000012
【図１１】
2018101237.tif 000013
【図１２】
2018101237.tif 000014
【図１３】
2018101237.tif 000015
【図１４】
2018101237.tif 000016