説明

画面プログラムレイアウト変更方法および情報処理装置およびプログラムおよび記録媒体

【課題】ケースツール等で自動生成された画面プログラムを変更して、ユーザが望む見栄えの良い画面と自動生成された動作ロジックの両方を容易に享受可能な仕組を提供すること。
【解決手段】画面雛形生成部108は、画面プログラム112内から画面レイアウト情報を抽出してレイアウト雛形ファイル113を生成する。また、ユーザは、HTMLエディタ等でレイアウト雛形ファイル113内の画面表示項目をレイアウト変更してレイアウトHTMLファイル114を作成しておく。画面マージ処理部109は、レイアウトHTMLファイル114と画面プログラム112内のプログラム情報とからなるレイアウト済画面プログラム115を生成する構成を特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アプリケーションシステムを構成する画面プログラムを自動生成するケースツール環境における画面プログラムのレイアウト変更方法に関する。
【背景技術】
【0002】
ユーザに定義情報を入力させ、その情報を元にプログラムの自動生成を行うツールがある。これは利用者がプログラミングの知識がなくても、比較的容易な形で業務の情報を入力するだけで、アプリケーションプログラムを作成することができるようになっている。
【0003】
しかし、一般に自動生成されたアプリケーションの画面は、自動で画面項目のレイアウト位置が決まったり、用意した画面パターンを使用しなければならなかったりと、ユーザの多様な画面レイアウト要求を十分に満たしているとはいえないものである。
【0004】
その対応として、例えば、自動生成された最終成果物の画面関連プログラム(JSPなど)を編集することも考えられるが、自動生成されたプログラムは一般に冗長で読みにくく、さらに画面表示に関連のないデータが大量に切り離せない形で埋め込まれており、直接手動でレイアウト変更するのは現実的でない。このプログラムをHTMLエディタで表示しても、画面表示に関連のないデータがあるゆえ、正しく認識・表示することは出来ない。
【0005】
この問題を解決するため、アプリケーションの生成時に画面をユーザが自由にカスタマイズする技術が提案されている。特許文献1では、アプリケーションの生成時に初期生成画面イメージを専用プログラム上に出力し、その初期生成画面イメージをユーザが専用プログラム上でカスタマイズすることで要求どおりの画面を作成する方法が提案されている。
【特許文献1】特開2004−157927号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1では、上記初期生成画面イメージの変更は、必ず専用のプログラムを介して行う必要があり、その専用プログラムの習熟に時間がかかるという問題点を有している。
【0007】
また、特に(分業化された)Web系のシステムの場合、画面作成専任のHTMLデザイナが画面の変更にあたることが多く、デザイナにはそれぞれ「使い慣れた」「HTMLに特化した高機能な」エディタがある。上記初期生成画面イメージの変更に、このような「エディタ」を使用できないことは、作業効率だけでなく、作成画面の品質や機能(の高さ、量)に影響を及ぼしてしまう。
【0008】
さらに、上記特許文献1では、アプリケーションを作成した後に、生成された画面を変更するという手順がない。なお、近年、(使用感や見栄えを確かめるため)画面だけを先に(上述エディタで一から)作成したり、(工数削減や統一感の為)既にある画面を再利用したりする開発手順も求められている。しかしながら、上記特許文献1の方法では、自動生成の過程にユーザが作成した画面を組み込むことができない。
【0009】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、一度自動生成された画面プログラム内の「画面レイアウト部分」を分離し、該分離した「画面レイアウト部分」を、ユーザが日頃使い慣れたエディタ等を用いてカスタマイズし、該カスタマイズした「画面レイアウト部分」に、再度、分離前の画面プログラム内の画面以外の「プログラム部分」を合体させることにより、自動生成された画面プログラムを変更して、ユーザが望む見栄えの良い画面と自動生成された動作ロジックの両方を容易に享受可能な仕組を提供することである。
【課題を解決するための手段】
【0010】
本発明は、プログラム実行時に表示される複数の画面表示項目のレイアウトを定義する画面レイアウト情報と前記画面レイアウト情報以外の実行時の動作を定義したプログラム情報から構成される画面プログラムを取得する第1の取得ステップと、前記画面プログラムから前記画面レイアウト情報を抽出してレイアウト雛形ファイルを生成する画面雛形生成ステップと、前記レイアウト雛形ファイルの画面表示項目がレイアウト変更された状態のレイアウト変更ファイルを取得する第2の取得ステップと、前記レイアウト変更ファイルと、前記画面プログラムの前記プログラム情報とを合体させたレイアウト済画面プログラムを生成する画面マージ処理ステップと、を有することを特徴とする。
【発明の効果】
【0011】
本発明によれば、ケースツール等で自動生成されたWebアプリケーションプログラム等の画面プログラムの画面レイアウトだけを抽出したものを画面表示して確認しながら所望の画面レイアウトに変更可能とし、変更後は、再度、元のプログラム動作が可能な画面プログラムに再生成することができる。
【0012】
従って、ケースツール等で自動生成されるプログラムの実行時の画面レイアウト変更を、効率の良く、且つ、プログラムの動作に支障をきたすことなく行うことができる等の効果を奏する。
【発明を実施するための最良の形態】
【0013】
〔第1実施形態〕
本発明は、アプリケーションシステムを構成するプログラムや画面等のソフトウェアを自動生成するケースツール環境において、プログラムを自動生成する技術分野に関するものである。このため、ケースツール環境の説明は、本発明と直接関係のある部分についてのみ言及する。
【0014】
以下、図面を用いて詳細に説明する。
【0015】
図1は、本発明の一実施形態を示す情報処理装置(プログラム生成装置)の構成を示すブロック図である。
【0016】
図1において、103はプログラム生成装置としてのコンピュータである。101はキーボード,ポインティングデバイス(マウス等)の入力装置である。102はCRTディスプレイや液晶ディスプレイ等の表示装置である。104はハードディスクドライブ(HDD)等の外部記憶装置である。
【0017】
図1に示すように、ユーザは入力装置101より、表示装置102に表示された画面を通じてコンピュータ103に対してプログラム自動生成命令を発行すると、コンピュータ103は、全体制御部105で自動生成処理を行う。以下、詳細に説明する。
【0018】
まず、プログラム自動生成命令を受けた画面制御部106は、プログラム生成部107に処理を委譲する。プログラム生成部107は、予め作成されて外部記憶装置(HDD)104に格納される画面プログラムテンプレート111(後述する図5)を元に、予め入力されて外部記憶装置104に格納されるユーザ定義情報110(後述する図4)を適用し、画面プログラム112(後述する図6)を生成し、外部記憶装置104に格納する。
【0019】
この後、ユーザが入力装置101より表示装置102に表示された画面を通じてコンピュータ103に対して画面雛形生成命令を発行すると、コンピュータ103は、全体制御部105で画面雛形生成処理を行う。以下、詳細に説明する。
【0020】
まず、画面雛形生成命令を受けた画面制御部106は、画面雛形生成部108に処理を委譲する。画面雛形生成部108は、画面プログラム112を元に、そこから「画面レイアウト情報のみ」を抽出したレイアウト雛形ファイル113(後述する図8)を出力し、外部記憶装置104に格納する。
【0021】
この後、ユーザは、レイアウト雛形ファイル113を適宜カスタマイズし、レイアウトHTMLファイル114(後述する図10)を作成し、外部記憶装置104に格納する。もしくは、予め用意したHTMLファイルを一定の書式にしたがい編集することで、それをレイアウトHTMLファイル114として外部記憶装置104に格納することもできる(後述する図15)。
【0022】
次に、ユーザが入力装置101より表示装置102に表示された画面を通じてコンピュータ103に対して画面マージ処理命令を発行すると、コンピュータ103は、全体制御部105で画面マージ処理を行う。以下、詳細に説明する。
【0023】
まず、画面マージ処理命令を受けた画面制御部106は、画面マージ処理部109に処理を委譲する。画面マージ処理部109は、画面プログラム112にあるレイアウト以外の情報と、レイアウトHTMLファイル114にある画面レイアウト情報をマージして、レイアウト済画面プログラム115(後述する図13)を出力し、外部記憶装置104に格納する。
【0024】
次に、図2を参照して、図1に示したコンピュータ103のハードウェア構成について説明する。
【0025】
図2は、図1のコンピュータ103のハードウェア構成を示すブロック図であり、図1と同一のものには同一の符号を付してある。
【0026】
図2において、201はCPU(中央演算処理装置)201であり、ROM203或いは外部記憶装置104に記憶されている制御プログラムに基づいて、システムバスに接続されている各種デバイスとのアクセスを総括的に制御する構成となっている。
【0027】
システムバスには、CPU201の主メモリ、ワークエリア等として機能するRAM(ランダム・アクセス・メモリ)202が接続されている。ROM203或いは外部記憶装置104には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステム(以下、「OS」という。)プログラム、コンピュータ103が実行する処理を実現するために必要な各種プログラム等が記憶されている。
【0028】
CPU201は、処理の実行に際して必要な各種プログラム等をRAM202にロードして、当該プログラム等を実行することで図1に示した全体制御部105の機能及び各種動作を実現するものである。
【0029】
外部記憶装置104は、上述した各種プログラムとして、図示しないブートプログラム、各種アプリケーションプログラム、フォントデータ、ユーザーファイル等を記憶する。
【0030】
CPU201は、例えば、RAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、表示装置102上でWYSIWYGを可能としている。また、CPU201は、表示装置102上のマウスカーソル(不図示)等で指示されたコマンドに基づいて、登録された種々なウィンドウを開き、種々のデータ処理を実行する。
【0031】
以下、図3〜図6を参照して、図1で示したコンピュータ103のプログラム生成部107で行われるプログラム生成処理について説明する。
【0032】
図3は、本発明における第1の制御処理手順の一例を示すフローチャートであり、図1で示したコンピュータ103のプログラム生成部107で行われるプログラム生成処理に対応する。なお、このフローチャートの処理は、図2に示したCPU201が外部記憶装置104に格納されたプログラムをRAM202に読み出して実行するプログラム生成部107により実現される。なお、図中、S301〜S303は各ステップを示す。
【0033】
まず、入力装置101から入力されるプログラム自動生成命令の指示を受けると、全体制御部105内の画面制御部106は、プログラム生成部107に処理を委譲し、ステップS301に処理を進める。
【0034】
ステップS301では、プログラム生成部107は、まず外部記憶装置104からユーザ定義情報110(図4)を読み込み、これをRAM202に保管する。
【0035】
次に、ステップS302において、プログラム生成部107は、生成するプログラムの元となる画面プログラムテンプレート111を外部記憶装置104から読み込み、これをRAM202に保管する。
【0036】
画面プログラムテンプレートは、画面プログラムの原型であり、これのみでは動作しない。画面項目の仕様を定義したユーザ定義情報を画面プログラムテンプレートに当てはめ、画面プログラムテンプレートを構成する画面レイアウト情報及び画面レイアウト情報以外のプログラム動作に関するプログラム情報を実体のある仕様に変換して動作可能な画面プログラムを生成する。詳しくは後述する。
【0037】
次に、ステップS303において、プログラム生成部107は、ステップS301で取得したユーザ定義情報110を、ステップS302で取得した画面プログラムテンプレート111の所定の変数部分に、組み込むことによって、画面プログラム(112)を生成し、外部記憶装置104に格納する。以下、図4〜図6を用いて具体的に説明する。
【0038】
図4は、図1に示したユーザ定義情報110の一例を示す図である。なお、ここでは一例としてログイン画面を定義したユーザ定義情報を示してある。
【0039】
図4に示すように、ユーザ定義情報110は、「IO_CODE」401、「IOITEM_CODE」402、「IOITEM_NAME」403、「ITEM_TYPE」404で構成される。
【0040】
「IO_CODE」401は、画面コードを示す。また、「IOITEM_CODE」402は、画面項目コードを示す。さらに、「IOITEM_NAME」403は、画面項目表示名を示す。また、「ITEM_TYPE」404は、画面項目の部品タイプを示す。具体的には、「ITEM_TYPE」404が「I」の場合は、インプット部品を示し、「A」の場合は、アクション(ボタン)部品を示す。
【0041】
図5は、図1に示した画面プログラムテンプレート111の一例を示す図である。
【0042】
画面プログラムテンプレート111は、レイアウト関連の情報とアプリケーションロジックの情報が、明確に区別できる構成となっている。具体的に、アプリケーションロジック情報は、レイアウト情報が始まる<html>タグ前の「ロジック情報(前)504」と、レイアウト情報が終わる</html>タグ以降の「ロジック情報(後)505」と、「部品コメント(開始)502」「部品コメント(終了)503」に囲まれている「画面部品情報501」の部分である。
【0043】
「部品コメント(開始)502」、「部品コメント(終了)503」は、画面表示の項目情報を区分し、識別するための識別子としての機能を果たす。
【0044】
アプリケーションロジック情報には、実際に動作するプログラムが記述してあるが、この記述があるとHTMLエディタでファイルを正しく表示・編集することが出来ない。
【0045】
なお、本実施形態では、HTMLを使用した事例で示すが、他のマークアップ言語や、スクリプト言語であってもかまわない。
【0046】
図6は、図1に示した画面プログラム112の一例を示す図であり、図2のステップS303においてユーザ定義情報110(図4)及び画面プログラムテンプレート111(図5)に基づいて生成されたものに対応する。
【0047】
図5の画面プログラムテンプレート111は、プログラムの下敷き(テンプレート)としての役割を持ち、具体的なデータは変数化されている。この変数化されている場所に、図4のユーザ定義情報110がはめ込まれ、図6の画面プログラム112が生成される。以下、具体的に説明する。
【0048】
図5の510に示す「${ioitem.name}」の部分に、図4の「IOITEM_CODE」402列のデータ「USER_ID」が組み込まれ、図6の610に示すようにソースが生成される。例えば、図5の画面部品情報501中の「name="${ioitem.code}"」の部分は、図4の「IOITEM_CODE」402列のデータ「USER_ID」が組み込まれ、図6の画面部品情報601「name="USER_ID"」のようにソースが生成される。
【0049】
また「部品コメント(開始)502」,「部品コメント(終了)503」の「<!--${ioitem.code}.LABEL{-->」,「<!--${ioitem.code}.LABEL」-->」にも同様に「USER_ID」が埋め込まれ「部品コメント(開始)602」「部品コメント(終了)603」のように「<!--USER_ID.LABEL{-->」,「<!--USER_ID.LABEL」-->」になる。これが後述する「識別情報」となる。
【0050】
また、図5の511に示す「${ioitem.name}」の部分に、図4の「IOITEM_NAME」403列のデータ「ユーザID」が組み込まれ、図6の611に示すようにソースが生成される。
【0051】
さらに、図5の512に示す「${ioitem.code}」の部分に、図4の「IOITEM_CODE」402列のデータ「PASSWORD」が組み込まれ、図6の612に示すようにソースが生成される。
【0052】
また、図5の513に示す「${ioitem.name}」の部分に、図4の「IOITEM_NAME」403列のデータ「パスワード」が組み込まれ、図6の613に示すようにソースが生成される。
【0053】
さらに、図5の514に示す「${ioitem.code}」の部分に、図4の「IOITEM_CODE」402列のデータ「LOGIN」が組み込まれ、図6の614に示すようにソースが生成される。
【0054】
また、図5の515に示す「${ioitem.name}」の部分に、図4の「IOITEM_NAME」403列のデータ「ログイン」が組み込まれ、図6の615に示すようにソースが生成される。
【0055】
以下、図7〜図9を参照して、図1で示したコンピュータ103の画面雛形生成部108で行われるレイアウト雛形生成処理について説明する。
【0056】
図7は、本発明における第2の制御処理手順の一例を示すフローチャートであり、図1で示したコンピュータ103の画面雛形生成部108で行われるレイアウト雛形生成処理に対応する。なお、このフローチャートの処理は、図2に示したCPU201が外部記憶装置104に格納されたプログラムをRAM202に読み出して実行する画面雛形生成部108により実現される。なお、図中、S701〜S703は各ステップを示す。
【0057】
まず、入力装置101から入力される画面雛形生成命令の指示を受けると、全体制御部105内の画面制御部106は、画面雛形生成部108に処理を委譲し、ステップS701に処理を進める。
【0058】
ステップS701では、画面雛形生成部108は、まず外部記憶装置104から画面プログラム112(図6)を読み込み、これをRAM202に保管する。
【0059】
次に、ステップS702において、画面雛形生成部108は、ステップS701で取得した画面プログラム112から画面レイアウト情報のみ抽出する。詳細には、画面雛形生成部108は、画面プログラム112から「ロジック情報(前)605」,「ロジック情報(後)606」以外をそのまま抽出する(即ち、「部品コメント(開始)602」,「部品コメント(終了)603」は含む)。そして、抽出した情報内の「画面部品情報601」,「画面部品情報604」の部分を、表示便宜情報(図8の801,802)に差し替えて、これをRAM202に保管する。
【0060】
なお、上述の「表示便宜情報」とは、レイアウト雛形ファイル113をエディタやWebブラウザで表示した際、画面イメージがマージ処理後の完成品(レイアウト済画面プログラム115)実行時と同等となるような(見た目同じで実際に動作しない)ダミーの部品情報(ダミー項目情報)のことである。これは、図6の601に示すような「画面部品情報」の読み込み時、部品種別を識別できるキーワードを見つけて、ダミー部品に差し替えるという方法を取っている。
【0061】
例えば、図6の画面部品情報601中のように「input type="text"」とあれば、図8の801に示すようにダミーのテキストボックスと、図6の画面部品情報604中のように「input type="button"」とあれば、図8の802に示すようにダミーのボタンと差し替えるようにしている。ただし、画面部品情報内に表示に関係のある情報が「画面部品情報」内にあった場合は、これを取得し、その情報を上述の「ダミー部品」に埋め込んで、「表示便宜情報」とするように構成する。例えば、図6の画面部品情報604中の「value="ログイン"」という情報は、画面表示時のボタン名となり、上述の画面部品情報内に表示に関係のある情報に相当する。
【0062】
次に、ステップS703において、画面雛形生成部108は、ステップS702で抽出したレイアウト情報をレイアウト雛形ファイル113(図8)として出力し、外部記憶装置104に記憶する。そして、処理を終了する。
【0063】
図8は、図1に示したレイアウト雛形ファイル113の一例を示す図であり、図7のステップS703で出力される。なお、図6と同一のものには同一の符号を付してある。
【0064】
このレイアウト雛形ファイル113は、入力である図6に示された画面プログラム112からレイアウト部分のみ抽出されている。なお、後の画面マージ処理部109でマージ場所情報として使用するため「部品コメント(開始)602」,「部品コメント(終了)603」も含めて抽出されている。
【0065】
また、部品コメント(開始)と部品コメント(終了)の間には、表示用ダミー部品である表示便宜情報801,802が出力されている。
【0066】
また、例えば、図6の画面部品情報604中のように、画面表示時ボタン名となる「value="ログイン"」という情報があった場合、表示に関係のある情報として、図8に示すように表示便宜情報802に反映される。
【0067】
図9は、図8に示したレイアウト雛形ファイル113をHTMLエディタ等でプレビューした画面の一例を示す図である。
【0068】
図8に示したレイアウト雛形ファイル113には、表示便宜情報801,802が埋め込まれているため、完成画面と同等の画面表示が得られている。
【0069】
ここで、ユーザは生成されたレイアウト雛形ファイル113を、HTMLエディタ等で、自由にカスタマイズし、画面表示して変更されたレイアウトを確認できる。このようなカスタマイズ作業により、レイアウト雛形ファイル113から変更されたレイアウトHTMLファイル114を作成する。
【0070】
ユーザがレイアウト雛型ファイルを画面上でレイアウト変更したものが、「レイアウト変更ファイル」となる。この場合、HTMLとは限らない他のマークアップ言語やスクリプト言語、構造化言語も適用可能である。本実施例では、HTMLを使用しているので、「レイアウト変更ファイル」を「レイアウトHTMLファイル」としているが、これは「レイアウト変更ファイル」の一例である。
【0071】
なお、レイアウト雛形ファイル113は、通常のHTMLファイルなので、任意のHTMLエディタを使用することが可能である。
【0072】
図10は、図1に示したレイアウトHTMLファイル114の一例を示す図であり、図8に示したレイアウト雛形ファイル113をカスタマイズして作成されたものに対応する。
【0073】
図10に示す例では、1001に示すように、図8に示したレイアウト雛形ファイル113で最下部にあった「ログインボタン」が先頭に移動されている。また、表を指定するタグ「<table>」「</table>」内の、行を指定するタグ「<tr>」「</tr>」が1002に示すように変更され、その結果、図9に示したように縦に並んでいた入力項目(ユーザID,パスワード)が図11に示すように横1列に表示されるように変更されている。なお、このように、変更作成したレイアウトHTMLファイル114は、外部記憶装置104に格納しておくものとする。
【0074】
図11は、図10に示したレイアウトHTMLファイル114をHTMLエディタ等でプレビューした画面の一例を示す図である。
【0075】
以下、図12〜図14を参照して、図1で示したコンピュータ103の画面マージ処理部109で行われる画像マージン処理について説明する。
【0076】
図12は、本発明における第3の制御処理手順の一例を示すフローチャートであり、図1で示したコンピュータ103の画面マージ処理部109で行われる画像マージン処理に対応する。なお、このフローチャートの処理は、図2に示したCPU201が外部記憶装置104に格納されたプログラムをRAM202に読み出して実行する画面マージ処理部109により実現される。なお、図中、S1201〜S1204は各ステップを示す。
【0077】
まず、入力装置101から入力される画像マージン処理命令の指示を受けると、全体制御部105内の画面制御部106は、画面マージ処理部109に処理を委譲し、ステップS1201に処理を進める。
【0078】
ステップS1201では、画面マージ処理部109は、まず外部記憶装置104から画面プログラム112(図6)を読み込み、該読み込んだ画面プログラム112内の「ロジック情報(前)605」,「ロジック情報(後)606」,「画面部品情報(601,604等)」部分を抽出し、これをRAM202に保管する。
【0079】
次に、ステップS1202において、画面マージ処理部109は、外部記憶装置104からレイアウトHTMLファイル114(図10)を読み込み、これをRAM202に保管する。
【0080】
次に、ステップS1203において、画面マージ処理部109は、ステップS1201で抽出した「ロジック情報(前)605」,「ロジック情報(後)606」,「画面部品情報(601,604等)」部分の情報と、ステップS1202で読み込んだレイアウトHTMLファイル114をマージ処理する。具体的には、ステップS1202で読み込んだレイアウトHTMLファイル114の部品コメント(例えば「<--USER_ID.ITEM{-->」「<--USER_ID.ITEM」-->」)で囲まれた部分を、図13に示すように、ステップS1201で抽出した「画面部品情報(601等)」に置き換える。その際、部品コメントにある識別子(画面項目コード402(例えば、「USER_ID.ITEM」))をキーにして置き換える。その後、図13に示すように、画面部品情報を置き換えたレイアウトHTMLファイル114全体の先頭,末尾に「ロジック情報(前)605」,「ロジック情報(後)606」を挿入する。
【0081】
最後にステップS1204において、ステップS1203でマージ処理した情報を、レイアウト済画面プログラム115(図13)として出力し、外部記憶装置104に格納する。そして処理を終了する。
【0082】
図13は、図1に示したレイアウト済画面プログラム115の一例を示す図であり、図12のステップS1204で出力されたものに対応する。なお、図6と同一のものには同一の符号を付してある。
【0083】
レイアウトHTMLファイル114に、「ロジック情報(前)605」「ロジック情報(後)606」が挿入され、部品コメント間の情報が「画面部品情報(604等)」に置き換わっている。
【0084】
この処理により、ユーザ定義の画面レイアウト情報(レイアウトHTMLファイル114)に、アプリケーションの動作ロジック(「ロジック情報(前)605」,「ロジック情報(後)606」,「画面部品情報(601,604等)」部分)が注入され、実際に動作する画面プログラムに復元される。
【0085】
図14は、図13に示したレイアウト済画面プログラム115を実行した際の表示の一例を示す図である。
【0086】
画面の見た目は、図11に示したレイアウトHTMLファイル114の表示例と変らないが、実際に実行できるWEBアプリケーションとなっている。
【0087】
以上説明したように、本実施形態によれば、ケースツール等で作成されたWEBアプリケーションプログラムの画面レイアウトだけを抽出したものを画面表示して、望みの画面レイアウトに変更でき、変更後は、再度、元のプログラム動作をするWEBアプリケーションプログラムに再生成することができる。この結果、効率の良い画面レイアウト変更が可能となる。
【0088】
〔第2実施形態〕
上記第1実施形態では、レイアウトHTMLファイル114は、画面雛形生成部108により生成されたレイアウト雛形ファイル113をユーザが編集して生成する場合について説明した。本実施形態では、ユーザが用意したHTMLファイルに「部品コメント」を挿入したものを、レイアウトHTMLファイル114として扱うようにする。以下、図15〜図17を参照して、具体的説明する。
【0089】
図15は、ユーザが用意したHTMLファイルの一例を示す図である。
【0090】
このユーザが容易したHTMLファイルは、例えば、旧プログラムで使用されていた画面のHTMLファイルであっても、HTMLデザイナ等が一般のHTMLエディタ等で作成したHTMLファイル等であってもよい。
【0091】
図16は、図15に示したHTMLファイルをプレビューした画面の一例を示す図である。
【0092】
図17は、図15に示したユーザが用意したHTMLファイルに「部品コメント」を挿入してレイアウトHTMLファイル化したファイルの一例を示す図である。
【0093】
図17のファイルには、1701〜1706に示すように、「部品コメント」が挿入されている。
【0094】
なお、このファイルを外部記憶装置104に格納し、図1に示したレイアウトHTMLファイル114の代わりとして、画面マージ処理部109のインプットに使用することができる。即ち、図12に示したマージ処理を、図17のHTMLファイルと図1に示した画面プログラムに基づいて実行可能である。
【0095】
以上示したように、本実施形態によれば、旧プログラムで使用されていたなじみのある画面レイアウトや、HTMLデザイナ等が作成したデザイン性の高い画面レイアウトを、自動生成された画面プログラムにマージして、使用することができる。
【0096】
従って、ユーザは所望の見栄えの良い画面と自動生成された業務ロジックの両方を享受できる等の効果を奏する。
【0097】
なお、上記各実施形態では、画面のレイアウト情報としてHTMLで記述された情報を用いる例について説明したが、画面レイアウト情報を、HTMLでなく他の構造化言語等で記述するように構成してもよい。
【0098】
以上説明したように、本発明では、プログラム生成部107により、ユーザ定義情報110,画面プログラムテンプレート111に基づいて「画面部品情報」を埋め込んだ画面プログラム112を生成する。なお、この画面プログラム112は、ロジック等のプログラム動作に関係する定義領域と画面レイアウトを構成する定義領域とを識別可能な構成となっている。本実施形態では、「<html>タグ」「</html>タグ」により識別しているが、プログラム動作に関係する定義領域と画面レイアウトを構成する定義領域とを識別するためのコメントを挿入するように構成してもよい。また、画面プログラム112には、画面レイアウトを構成する項目について、当該項目の画面レイアウトに関連する定義領域(画面部品情報)を識別するコメント情報が埋め込まれている。
【0099】
次に、画面雛形生成部108は、画面プログラム112から画面のレイアウト部分のみ(ロジック情報504,505以外の部分)を抽出した画面表示可能な形式のファイルを生成する。さらに、画面雛形生成部108は、このファイルから、画面部分以外のプログラム部分を、実際には動作しないダミープログラム部品に置き換え、レイアウト雛形ファイル113を生成する。このレイアウト雛形ファイル113は、画面表示して確認できるようにプログラム動作部分を抜き取り、ダミーのプログラム部品に置き換えられている。
【0100】
なお、上記画面プログラム112は、上述のようにプログラム生成部107により自動生成されてものを前提とするが、図5にしめしたように、ロジック等のプログラム動作に関係する定義領域と画面レイアウトを構成する定義領域とを識別可能な構成であり、且つ、「画面部品情報」を特定する「部品コメント」が挿入された画面プログラムであれば、他の方法で作成されたものであってもよい。
【0101】
上述のレイアウト雛形ファイル113を使用等して、ユーザの求める画面レイアウトにユーザがカスタマイズしたユーザ作成の画面部分であるレイアウトHTMLファイル114を用意する。
【0102】
次に、画面マージ処理部109は、用意されたレイアウトHTMLファイル114と、上述の画面プログラム112内の画面レイアウト以外のプログラム部分及び画面部品項目とを関連づけてマージし、レイアウト済画面プログラム115を生成する。このレイアウト済画面プログラム115は、ユーザの求める画面レイアウトであって実際に動作する画面プログラムとなる。
【0103】
このように、一度作成された画面プログラム112の画面レイアウトのみをユーザがレイアウト変更する場合であっても、画面プログラム112の画面レイアウトに関係する部分のみが抽出されるため、ユーザは、一般の画面編集プログラム(HTMLエディタ等)を用いて容易に変更作業を行うことができる。
【0104】
そして、画面レイアウトの変更が為された後に、その変更された画面に対して、画面プログラム112のプログラム部分を関連する個所にマージして(ユーザによる手作業無しでマージして)、実際の画面プログラムを再生成することができる。
【0105】
以上示したように、本発明によれば、一度自動生成された画面プログラムの画面部分を分離し、自動生成された画面レイアウト側を、ユーザが日頃使い慣れたエディタ等を用いてカスタマイズし、再度、分離前の画面プログラムの画面以外のプログラム部分と合体させることにより、自動生成された画面プログラムの画面部分をユーザの所望のレイアウトに、ロジックの矛盾なく変更することができる。従って、ユーザは所望の見栄えの良い画面と自動生成されたロジックの両方を享受できる等の効果を奏する。
【0106】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【0107】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0108】
以下、図18に示すメモリマップを参照して本発明に係る情報処理装置(図1に示したコンピュータ103)で読み取り可能なデータ処理プログラムの構成について説明する。
【0109】
図18は、本発明に係る情報処理装置(図1に示したコンピュータ103)で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
【0110】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0111】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0112】
本実施形態における図3,図7,図12に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0113】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0114】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【0115】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,DVD−ROM,磁気テープ,不揮発性のメモリカード,ROM,EEPROM,シリコンディスク等を用いることができる。
【0116】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0117】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0118】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0119】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ,データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0120】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【図面の簡単な説明】
【0121】
【図1】本発明の一実施形態を示す情報処理装置(プログラム生成装置)の構成を示すブロック図である。
【図2】図1のコンピュータのハードウェア構成を示すブロック図である。
【図3】本発明における第1の制御処理手順の一例を示すフローチャートである。
【図4】図1に示したユーザ定義情報110の一例を示す図である。
【図5A】図1に示した画面プログラムテンプレートの一例を示す図である。
【図5B】図1に示した画面プログラムテンプレートの一例を示す図である。
【図6A】図1に示した画面プログラムの一例を示す図である。
【図6B】図1に示した画面プログラムの一例を示す図である。
【図7】本発明における第2の制御処理手順の一例を示すフローチャートである。
【図8】図1に示したレイアウト雛形ファイルの一例を示す図である。
【図9】図8に示したレイアウト雛形ファイルをHTMLエディタ等でプレビューした画面の一例を示す図である。
【図10】図1に示したレイアウトHTMLファイルの一例を示す図である。
【図11】図10に示したレイアウトHTMLファイルをHTMLエディタ等でプレビューした画面の一例を示す図である。
【図12】本発明における第3の制御処理手順の一例を示すフローチャートである。
【図13A】図1に示したレイアウト済画面プログラムの一例を示す図である。
【図13B】図1に示したレイアウト済画面プログラムの一例を示す図である。
【図14】図13に示したレイアウト済画面プログラムを実行した際の表示の一例を示す図である。
【図15】ユーザが用意したHTMLファイルの一例を示す図である。
【図16】図15に示したHTMLファイルをプレビューした画面の一例を示す図である。
【図17】図15に示したユーザが用意したHTMLファイルに「部品コメント」を挿入してレイアウトHTML化したファイルの一例を示す図である。
【図18】本発明に係る情報処理装置(図1に示したコンピュータ)で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
【符号の説明】
【0122】
101 入力装置
102 表示装置
103 コンピュータ
104 外部記憶装置
105 全体制御部
106 画面制御部
107 プログラム生成部
108 画面雛形生成部
109 画面マージ処理部
110 ユーザ定義情報
111 画面プログラムテンプレート
112 画面プログラム
113 レイアウト雛形ファイル
114 レイアウトHTMLファイル
115 レイアウト済画面プログラム

【特許請求の範囲】
【請求項1】
プログラム実行時に表示される複数の画面表示項目のレイアウトを定義する画面レイアウト情報と前記画面レイアウト情報以外の実行時の動作ロジックを定義したプログラム情報から構成される画面プログラムを取得する第1の取得ステップと、
前記画面プログラム内から前記画面レイアウト情報を抽出してレイアウト雛形ファイルを生成する画面雛形生成ステップと、
前記レイアウト雛形ファイル内の画面表示項目がレイアウト変更された状態のレイアウト変更ファイルを取得する第2の取得ステップと、
前記レイアウト変更ファイルと、前記画面プログラム内の前記プログラム情報とからなるレイアウト済画面プログラムを生成する画面マージ処理ステップと、
を有することを特徴とする画面プログラムレイアウト変更方法。
【請求項2】
前記画面プログラムを生成するプログラム生成ステップを有することを特徴とする請求項1記載の画面プログラムレイアウト変更方法。
【請求項3】
前記画面レイアウト情報は、前記複数の画面表示項目をそれぞれ定義する複数の項目情報と前記複数の項目情報をそれぞれ特定する複数の識別子を含むものであり、
前記画面雛形生成ステップは、前記レイアウト雛形ファイルを生成する際に、前記画面プログラム内から抽出した前記画面レイアウト情報内の前記各識別子で特定される各項目情報を、ダミー項目情報に置き換える、
ことを特徴とする請求項1又は2に記載の画面プログラムレイアウト変更方法。
【請求項4】
前記画面レイアウト情報は、前記複数の画面表示項目をそれぞれ定義する複数の項目情報と前記複数の項目情報をそれぞれ特定する複数の識別子を含むものであり、
前記画面マージ処理ステップは、前記レイアウト変更ファイル内の前記各識別子で特定される各項目情報を、前記画面プログラム内の前記各識別子で特定される各項目情報にそれぞれ置き換える、ことを特徴とする請求項1又は2に記載の画面プログラムレイアウト変更方法。
【請求項5】
前記レイアウト変更ファイルは、前記レイアウト雛形ファイルを変更することにより作成されたものであることを特徴とする請求項1乃至4のいずれか1項に記載の画面プログラムレイアウト変更方法。
【請求項6】
前記レイアウト雛形ファイル及び前記レイアウト変更ファイルは、画面レイアウトを表示可能なデータ形式であることを特徴とする請求項1乃至5のいずれか1項に記載の画面プログラムレイアウト変更方法。
【請求項7】
プログラム実行時に表示される複数の画面表示項目のレイアウトを定義する画面レイアウト情報と前記画面レイアウト情報以外の実行時の動作ロジックを定義したプログラム情報から構成される画面プログラムを取得する第1の取得手段と、
前記画面プログラム内から前記画面レイアウト情報を抽出してレイアウト雛形ファイルを生成する画面雛形生成手段と、
前記レイアウト雛形ファイル内の画面表示項目がレイアウト変更された状態のレイアウト変更ファイルを取得する第2の取得手段と、
前記レイアウト変更ファイルと、前記画面プログラム内の前記プログラム情報とからなるレイアウト済画面プログラムを生成する画面マージ処理手段と、
を有することを特徴とする情報処理装置。
【請求項8】
請求項1乃至6のいずれか1項に記載された画面プログラムレイアウト変更方法をコンピュータに実行させるためのプログラム。
【請求項9】
請求項1乃至6のいずれか1項に記載された画面プログラムレイアウト変更方法をコンピュータに実行させるためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5A】
image rotate

【図5B】
image rotate

【図6A】
image rotate

【図6B】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13A】
image rotate

【図13B】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate


【公開番号】特開2007−265011(P2007−265011A)
【公開日】平成19年10月11日(2007.10.11)
【国際特許分類】
【出願番号】特願2006−88997(P2006−88997)
【出願日】平成18年3月28日(2006.3.28)
【出願人】(301015956)キヤノンソフトウェア株式会社 (364)
【Fターム(参考)】