| 【発明の名称】 |
画面情報保存制御用プログラムの記録媒体 |
| 【発明者】 |
【氏名】野口 裕史
|
| 【要約】 |
【課題】本発明は、メモリ容量と処理速度とのバランスを図りつつ画面情報を保存できるようにする画面情報保存制御技術の提供を目的とする。
【解決手段】画面情報の表示元が表示する画面遷移ボタンの操作に応答して、ツリー構造の下位層に向かう形で画面遷移が指示される場合に、遷移先の画面情報を保存し、ツリー構造の上位層に向かう形で画面遷移が指示される場合に、保存される画面情報の中から、遷移元の画面情報を削除するとともに、その遷移元画面情報と遷移先の画面情報との間に位置する画面情報を削除するように処理する。表示する画面情報をツリー構造の上位層側に戻すときには、その戻った画面情報よりも下位層側に位置する画面情報が再度利用される可能性が低いことを考慮して削除することで、処理速度に大きな影響を与えることなく、画面情報の保存に用いられるメモリの容量を大幅に削減できるようになる。 |
【特許請求の範囲】
【請求項1】 ツリー構造で遷移する画面情報の保存を制御するためのプログラムを記録した記録媒体であって、画面情報の表示元が表示する画面遷移ボタンの操作に応答して、上記ツリー構造の下位層に向かう形で画面遷移が指示される場合に、遷移先の画面情報を保存する処理と、画面情報の表示元が表示する画面遷移ボタンの操作に応答して、上記ツリー構造の上位層に向かう形で画面遷移が指示される場合に、上記保存される画面情報の中から、遷移元の画面情報を削除するとともに、該遷移元画面情報と遷移先の画面情報との間に位置する画面情報を削除する処理とをコンピュータに実行させるプログラムを記録したことを、特徴とする画面情報保存制御用プログラムの記録媒体。 【請求項2】 請求項1に記載される画面情報保存制御用プログラムの記録媒体において、上記画面情報を保存する処理では、画面情報で表示されるデータベース検索データと、該データベース検索データの検索条件データとを保存するように処理することを、特徴とする画面情報保存制御用プログラムの記録媒体。 【請求項3】 請求項2に記載される画面情報保存制御用プログラムの記録媒体において、上記画面情報を保存する処理では、画面情報に対応付けて定義されるデータベース検索データを保存するのか否かを示す情報に従って、データベース検索データを保存するのか否かを決定するように処理することを、特徴とする画面情報保存制御用プログラムの記録媒体。 【請求項4】 請求項3に記載される画面情報保存制御用プログラムの記録媒体において、データベース検索データが保存されない画面情報に遷移する場合に、上記保存される検索条件データを使ってデータベースを検索する処理をコンピュータに実行させるプログラムを記録したことを、特徴とする画面情報保存制御用プログラムの記録媒体。 【請求項5】 請求項2ないし4のいずれか1項に記載される画面情報保存制御用プログラムの記録媒体において、遷移先の画面情報に対応付けて定義されるデータベースを再検索するのか否かを示す情報に従って、データベースを再検索するのか否かを決定する処理をコンピュータに実行させるプログラムを記録したことを、特徴とする画面情報保存制御用プログラムの記録媒体。
|
【発明の詳細な説明】【0001】 【発明の属する技術分野】本発明は、ツリー構造で遷移する画面情報の保存を制御するためのプログラムを記録した画面情報保存制御用プログラムの記録媒体に関し、特に、メモリ容量と処理速度とのバランスを図りつつ画面情報を保存できるようにするプログラムを記録した画面情報保存制御用プログラムの記録媒体に関する。 【0002】 【従来の技術】クライアントがブラウザを介して検索条件を設定することで、サーバに対してデータベースの検索を指示して、その検索結果を閲覧することが広く行われている。 【0003】このような場合、サーバは、データベースの検索結果をツリー構造の画面構成で表示することが多い。このツリー構造の画面構成では、各画面に、別画面(次画面や前画面など)への遷移を指示するボタンを用意する構成を採って、このボタン操作に応答して、ディスプレイに表示する画面を遷移させていくという構成を採っている。 【0004】サーバは、ツリー構造の画面構成を用いる場合、処理速度を高めるために、通常、画面で表示するデータベース検索データなどの情報をキャッシュするという構成を採って、ユーザのボタン操作に応答して前に表示した画面に戻るときには、そのキャッシュしてある情報に従って、直ちに、その前に表示した画面を表示するという構成を採っている。 【0005】 【発明が解決しようとする課題】しかしながら、従来技術のように、各画面で表示する情報をキャッシュするという構成を採っていると、膨大なメモリ容量が必要になるという問題点があった。 【0006】キャッシュした画面情報の内、不要となったものを廃棄していけば、画面情報のキャッシュに必要となるメモリ容量を削減できるようになるものの、不要となった画面情報であるのか否かを判断することが難しく、現在までの所、一度キャッシュした画面情報については削除するという方法は用いられていない。 【0007】更に、Web画面では、業務画面の持つ画面遷移用ボタンの他に、Web画面の持つ画面遷移用ボタンがあり、このWeb画面の持つ画面遷移用ボタンによる画面遷移の情報については業務プログラムに通知されないことから、このキャッシュ情報の削除処理の実現を一層難しいものにしている。 【0008】本発明はかかる事情に鑑みてなされたものであって、ツリー構造で遷移する画面情報の保存を制御する構成を採るときにあって、メモリ容量と処理速度とのバランスを図りつつ画面情報を保存できるようにする新たな画面情報保存制御技術の提供を目的とする。 【0009】 【課題を解決するための手段】この目的を達成するために、本発明のプログラム記録媒体に記録されたプログラムにより実現される画面情報保存制御方法は、ツリー構造で遷移する画面情報の保存を制御するために、画面情報の表示元が表示する画面遷移ボタンの操作に応答して、ツリー構造の下位層に向かう形で画面遷移が指示される場合に、遷移先の画面情報を保存する過程と、画面情報の表示元が表示する画面遷移ボタンの操作に応答して、ツリー構造の上位層に向かう形で画面遷移が指示される場合に、保存される画面情報の中から、遷移元の画面情報を削除するとともに、その遷移元画面情報と遷移先の画面情報との間に位置する画面情報を削除する過程とを備えるように構成する。 【0010】このとき、画面情報を保存する過程では、画面情報で表示されるデータベース検索データと、そのデータベース検索データの検索条件データとを保存することになるが、データベース検索データについては常に保存するのではなくて、画面情報に対応付けて定義されるデータベース検索データを保存するのか否かを示す情報に従って、データベース検索データを保存するのか否かを決定するように処理することがある。この処理構成を採る場合には、データベース検索データが保存されない画面情報に遷移する場合に、保存される検索条件データを使ってデータベースを検索する過程が備えられることになる。 【0011】そして、データベース検索データを保存する構成を採るときには、遷移先の画面情報に対応付けて定義されるデータベースを再検索するのか否かを示す情報に従って、データベースを再検索するのか否かを決定する過程を備えることがある。 【0012】このように構成される本発明のプログラム記録媒体に記録されたプログラムにより実現される画面情報保存制御方法では、画面情報を表示するWeb画面に設けられる画面遷移ボタンの操作には応答せずに、画面情報の表示元が表示する画面遷移ボタンの操作に応答して、ツリー構造の下位層に向かう形で画面遷移が指示される場合に、遷移先の画面情報を保存する。 【0013】そして、画面情報を表示するWeb画面に設けられる画面遷移ボタンの操作には応答せずに、画面情報の表示元が表示する画面遷移ボタンの操作に応答して、ツリー構造の上位層に向かう形で画面遷移が指示される場合に、保存される画面情報の中から、遷移元の画面情報を削除するとともに、その遷移元画面情報と遷移先の画面情報との間に位置する画面情報を削除する。 【0014】このようにして、本発明では、ツリー構造の画面遷移構成を用いる場合に、画面情報の表示元が表示する画面遷移ボタンの操作に応答して、表示する画面情報をツリー構造の上位層側に戻すときには、その戻った画面情報よりも下位層側に位置する画面情報が再度利用される可能性が低いことを考慮して、その画面情報を削除することで、処理速度に大きな影響を与えることなく、画面情報の保存に用いられるメモリの容量が大きくならないように制御するのである。 【0015】この画面情報の保存構成を採るときに、処理速度を犠牲にしてでもメモリ容量の更なる削減が要求される場合には、画面情報で表示されるデータベース検索データについては保存せずに、検索条件データのみを保存する構成を採って、そのデータベース検索データを保存しない画面情報に戻ってくるときには、その保存する検索条件データを使ってデータベースを検索することで、その画面情報の表示を実現する。 【0016】そして、この画面情報の保存構成を採るときに、データベースに新規データが登録されることで、保存するデータベース検索データと整合性がとれなくなることがあることを考慮して、遷移先の画面情報に対応付けて定義されるデータベースの再検索指示に応答して、保存する検索条件データを使ってデータベースを再検索することで、その遷移先の画面情報で表示するデータベース検索データに誤りがないことを実現する。 【0017】このようにして、本発明によれば、メモリ容量と処理速度とのバランスを図りつつ画面情報を保存できるようになる。 【0018】この本発明による画面情報の保存制御を実現するにあたって、画面情報の表示元となる業務プログラムは、基本的には、自プログラムの表示する画面遷移ボタンに対してどの画面情報に遷移するのかということを設定するだけでよい。 【0019】これから、本発明によれば、業務プログラムの開発者に対してに何ら負荷を強いることなく、本発明による画面情報の保存制御を実現できるようになる。 【0020】 【発明の実施の形態】以下、実施の形態に従って本発明を詳細に説明する。 【0021】図1に、本発明の適用されるシステムの一例を図示する。 【0022】この図に示すように、本発明は、例えば、ブラウザ30を展開するクライアント3と、ネットワーク4を介してクライアント3に接続されて、クライアント3からの要求に応答してデータベース2を検索して、その検索結果をクライアント3に提供するサーバ1とで構成されるシステムに適用される。 【0023】サーバ1は、図中に示すサーバ機構10を使って、このサービスを提供する処理を行うものであって、ツリー構造の画面遷移を使ってクライアント3にサービスを提供する。 【0024】すなわち、例えば、図2に示すように、■先ず最初に、検索条件入力画面を表示し、■続いて、ユーザが検索条件入力画面に検索条件を入力して検索ボタンを押下するとデータベース2を検索して、その検索結果を表示(この例では、全部で300件がヒットして、その内の最初の100件を表示することを想定している)し、■続いて、ユーザがページセレクタを押下すると検索結果の次の100件を表示し、■続いて、ユーザが検索結果の1つを選択してその明細の表示を要求すると、その明細を表示し、■続いて、ユーザが前画面への戻りボタンを押下すると、その前に表示していた検索結果の表示画面を表示し、■続いて、ユーザが前画面への戻りボタンを押下すると、その前に表示していた検索条件入力画面を表示するというような、ツリー構造の画面遷移を使ってクライアント3にサービスを提供するのである。 【0025】図3に、サーバ機構10の一実施形態例を図示する。 【0026】図中、100は画面情報オブジェクト、101はスタックメモリ、102はメモリ管理部、103は画面処理振分部、104はデータベース2をアクセスするデータベースアクセス部である。 【0027】ここで、サーバ機構10の持つ機能は具体的にはプログラムで実現されるものであり、このプログラムは、計算機が読み取り可能な半導体メモリなどの適当な記録媒体に格納することができる。 【0028】画面情報オブジェクト100は、クライアント3に表示する画面に対応付けて用意されて、その画面における業務処理を実行する業務処理モジュールと、その業務処理モジュールの処理結果をクライアント3に表示する描画モジュールと、パラメータの受け渡し処理を実行するパラメータ受け渡し部とを備える。 【0029】この業務処理モジュールは、例えば、データベース2の検索条件を設定して、データベースアクセス部104を起動することでデータベース2を検索し、その検索結果のセットを描画モジュールに提供するとともに、その検索結果のセットを開放(削除)する処理などを行う。一方、描画モジュールは、業務処理モジュールの処理結果をクライアント3に表示する処理を行う。 【0030】スタックメモリ101は、ユーザ毎に、起動された画面情報オブジェクト100をその起動の順番に従いスタック形式で格納する。この図では、最初に、画面ID“1”(SID=1) の画面情報オブジェクト100が起動され、それに続いて、画面ID“2”(SID=2) の画面情報オブジェクト100が起動され、それに続いて、画面ID“3”(SID=3) の画面情報オブジェクト100が起動され、それに続いて、画面ID“4”(SID=4) の画面情報オブジェクト100が起動されたことを想定している。 【0031】メモリ管理部102は、画面処理振分部103からの指示に応答して、画面情報オブジェクト100をスタックメモリ101から取得したり、画面情報オブジェクト100をスタックメモリ101に保存したり、画面情報オブジェクト100をスタックメモリ101から削除する処理を実行する。 【0032】画面処理振分部103は、クライアント3に表示される画面の持つボタンの操作に応答して通知されてくるパラメータを受け取り、それに応じて以下に説明する本発明に特徴的な処理を行う。 【0033】ここで、画面処理振分部103は、図中に示すように、大きく説明すると、“共通パラメータ処理”と、“プログラム振分処理”と、“業務パラメータ設定呼出処理”と、“業務処理呼出処理”と、“描画処理呼出処理”という処理を実行する。 【0034】画面処理振分部103に通知されるパラメータとしては、通常のWebパラメータの他に、図4に示すように、遷移先の画面ID(リクエスト画面ID)と、そのリクエスト画面IDの指す画面情報オブジェクト100を新規に作成する必要があるのか、あるいは、スタックメモリ101から読み出せばよいのかについて記述する「継続区分」と、そのリクエスト画面IDの指す画面情報オブジェクト100の業務処理モジュールに対して、データベース2の再検索を指示する「再検索指示」とがある。 【0035】クライアント3に表示される画面の持つボタンとしては、次画面への遷移を指示する「次ボタン」や、その1つ前に表示していた画面への遷移を指示する「戻りボタン」や、複数ページで構成される検索結果の別ページへの遷移を指示する「ページセレクトボタン」や、データベース2への新規データの登録を指示する「登録ボタン」などがある。 【0036】この「次ボタン」が押下されると、それまで表示していない画面を表示するように処理することから、この「次ボタン」には、「継続区分」として、画面情報オブジェクト100を新規に作成する必要があることを示す“No”が設定され、「再検索指示」として、データベース2の再検索を行う必要がないことを示す“No”が設定されることになる。 【0037】また、この「戻りボタン」が押下されると、その1つ前に表示していた画面を表示するように処理することから、この「戻りボタン」には、「継続区分」として、画面情報オブジェクト100をスタックメモリ101から読み出せばよいことを示す“Yes”が設定され、「再検索指示」として、データベース2の再検索を行う必要がないことを示す“No”が設定されることになる。 【0038】また、この「ページセレクトボタン」が押下されると、複数ページで構成される検索結果の別ページを表示するように処理することから、この「ページセレクトボタン」には、「継続区分」として、画面情報オブジェクト100をスタックメモリ101から読み出せばよいことを示す“Yes”が設定され、「再検索指示」として、データベース2の再検索を行う必要がないことを示す“No”が設定されることになる。 【0039】また、この「登録ボタン」が押下されると、前に表示したことのある画面を表示するように処理することから、この「登録ボタン」には、「継続区分」として、画面情報オブジェクト100をスタックメモリ101から読み出せばよいことを示す“Yes”が設定されるとともに、データベース2の内容が異なることになったことに対応させて、「再検索指示」として、データベース2の再検索を行う必要があることを示す“Yes”が設定されることになる。 【0040】なお、この「継続区分」と「再検索指示」については、ボタンの持つ意味に応じて、画像情報オブジェクト100の開発者が設定することになる。 【0041】図5ないし図7に、画面処理振分部103の実行する処理フローの一実施形態例、図8ないし図10に、画面処理振分部103から呼び出されるメモリ管理部102の実行する処理フローの一実施形態例を図示する。 【0042】次に、これらの処理フローに従って、このように構成される実施形態例の動作処理について詳細に説明する。先ず最初に、図5及び図6の処理フローについて説明する。 【0043】画面処理振分部103は、画面遷移ボタンの操作に応答してブラウザ30からパラメータが通知されると、図5及び図6の処理フローに示すように、先ず最初に、ステップ1で、その通知されるパラメータの中から上述した「リクエスト画面ID」/「継続区分」/「再検索指示」を抽出して、それらをそれぞれ変数“P-sid”/“P-cont"/“P-reexec"にセットする。このステップ1の処理が図3に示した“共通パラメータ処理”に相当する。 【0044】続いて、ステップ2で、“P-cont"にセットされた値が“Yes”であるのか否かを判断して、“Yes”でないことを判断するとき、すなわち、リクエスト画面IDの指す画面情報オブジェクト100を新規に作成する必要があることを判断するときは、ステップ3に進んで、リクエスト画面IDの指す画面情報オブジェクト100を新規に作成して、それを変数“scrInfo"に格納する。 【0045】一方、“P-cont"にセットされた値が“Yes”であることを判断するとき、すなわち、リクエスト画面IDの指す画面情報オブジェクト100がスタックメモリ101に格納されていることを判断するときには、ステップ4に進んで、メモリ管理部102に指示することでリクエスト画面IDの指す画面情報オブジェクト100をスタックメモリ101から取得して、それを変数“scrInfo"に格納する。このステップ3,4の処理が図3に示した“プログラム振分処理”に相当する。 【0046】続いて、ステップ5で、ステップ3,4で処理した画面情報オブジェクト100の持つ業務処理モジュールを変数“obj"に格納する。 【0047】続いて、ステップ6で、その変数“obj"に格納した業務処理モジュールに対してパラメータの設定を指示することで、その業務処理モジュールの必要とするパラメータの設定処理を実行する。この実施形態例では、業務処理モジュールはデータベース2を検索するという処理を実行することを想定しているので、具体的には、ここで検索条件データを設定するのである。このステップ5の処理が図3に示した“業務パラメータ設定呼出処理”に相当する。 【0048】続いて、ステップ7で、“P-reexec"にセットされた値が“Yes”であるのか否かということと、変数“obj"に格納した業務処理モジュールの内部変数として用意される、変数“obj.execFlg"にセットされている値が“true”であるのか否かということを判断する。 【0049】ここで、内部変数“obj.execFlg"には、変数“obj"に格納した業務処理モジュールが処理を実行してよいのか否かということを示す値("true"/"false") がセットされている。この実施形態例では、業務処理モジュールはデータベース2を検索するという処理を実行することを想定しているので、変数“obj"に格納した業務処理モジュールが既にデータベース2を検索していて、かつ、その検索結果を開放(削除)していない場合には、内部変数“obj.execFlg"には、その業務処理モジュールが処理を実行する必要がないということを示す値(“false")がセットされることになる。 【0050】このステップ7の判断処理により、“P-reexec"にセットされた値が“Yes”を示しているか、内部変数“obj.execFlg"にセットされている値が“true”を示していることを判断するときには、ステップ8に進んで、変数“obj"に格納した業務処理モジュールに対して、設定した検索条件データの指すデータをデータベース2から検索することを指示することで、業務処理モジュールの処理を実行し、続くステップ9で、データベース2を検索したことに対応して、内部変数“obj.execFlg"に“false"をセットする。このステップ8,9の処理が図3に示した“業務処理呼出処理”に相当する。 【0051】すなわち、ブラウザ30から変数“obj"に格納した業務処理モジュールに対して再検索指示が発行された場合と、その業務処理モジュールで未だデータベース2を検索したことがない場合と、その業務処理モジュールで既にデータベース2を検索したものの、その検索結果を開放してしまった場合には、データベース2を検索する必要があるので、その業務処理モジュールに対して、データベース2を検索することを指示するのである。 【0052】一方、ステップ7で、“P-reexec"にセットされた値が“no”であることを判断する場合と、内部変数“obj.execFlg"にセットされている値が“false"であることを判断する場合には、このステップ8,9の処理を省略する。 【0053】すなわち、ブラウザ30から変数“obj"に格納した業務処理モジュールに対して再検索指示が発行されない場合と、その業務処理モジュールで既にデータベース2を検索して、かつ、その検索結果を開放していない場合には、データベース2を検索する必要がないので、その業務処理モジュールに対して、データベース2を検索することを指示しないのである。 【0054】続いて、ステップ10で、描画モジュールに対して描画を指示することで、リクエスト画面IDの指す画面をクライアント3に表示する。このステップ10の処理が図3に示した“描画処理呼出処理”に相当する。 【0055】続いて、ステップ11で、メモリ管理部102に指示することで、処理を行ったリクエスト画面IDの指す画面情報オブジェクト100をスタックメモリ101に書き込む。このとき、処理を行った画面情報オブジェクト100がスタックメモリ101から取得したものである場合には、重複した形で格納されるのを防止するために、後述するように上書きする形でスタックメモリ101に書き込むように処理している。 【0056】続いて、ステップ12で、変数“obj"に格納した業務処理モジュールの内部変数として用意される、変数“obj.freeFlg"にセットされている値が“true”であるのか否かということを判断する。 【0057】ここで、内部変数“obj.freeFlg"には、データベース2から検索したデータをスタックメモリ101に残しておくのか否かということを示す値("true"/"false") がセットされている。但し、検索条件のデータについては保存しておく構成を採っているので、その検索データが再び必要になるときにはデータベース2を再び検索すればよい。なお、この内部変数“obj.freeFlg"の値は、画面情報オブジェクト100の開発者が画面情報オブジェクト100毎に設定することになる。 【0058】これから、ステップ12で、内部変数“obj.freeFlg"にセットされている値が“true”を示していることを判断するとき、すなわち、検索結果を残さないことの指示があるときは、ステップ13に進んで、スタックメモリ101に格納した画像情報オブジェクト100の持つ検索結果のデータを開放(削除)し、続くステップ14で、データベース2を検索しなかったことに相当することを考慮して、内部変数“obj.execFlg"に“true”をセットして、処理を終了する。 【0059】一方、ステップ12で、内部変数“obj.freeFlg"にセットされている値が“false"を示していることを判断するとき、すなわち、検索結果を残すことの指示があるときには、ステップ13,14の処理を行わずに、そのまま処理を終了する。 【0060】次に、図7の処理フローについて説明する。この図7の処理フローは、図5のステップ3で行う画面情報オブジェクト100の新規作成処理の詳細な処理フローである。 【0061】画面処理振分部103は、画面情報オブジェクト100の新規作成処理に入ると、図7の処理フローに示すように、先ず最初に、ステップ1で、メモリ管理部102に指示することで、スタックメモリ101に格納されている不要な画面情報オブジェクト100の削除処理を実行するとともに、スタックメモリ101の何段目まで画像情報オブジェクト100が格納されているのかの検索処理を行う。 【0062】このステップ1で行う処理については、図8の処理フローで後述するが、簡単に説明するならば、図11に示すように、スタックメモリ101に格納されているリクエスト画面IDの指す画面情報オブジェクト100の格納位置を検索して、それよりも上にスタックされている画面情報オブジェクト100を削除する処理を行うものである。 【0063】続いて、ステップ2以下の処理に示すように、オブジェクト指向のクラス・インスタンスの関係を使って、変数“P-sid”の指す画面情報オブジェクト100を生成する。 【0064】ここで、リクエスト画面IDの指す画面情報オブジェクト100よりも上にスタックされている画像情報オブジェクト100を削除するという構成を採るのは、図12及び図13に示すように、リクエスト画面IDの指す画面情報オブジェクト100に戻るときには、そこを起点にして遷移した画面情報オブジェクト100については、この後に利用される可能性が低いことを考慮して、スタックメモリ101から削除するようにしたことに、その理由がある。 【0065】次に、図8の処理フローについて説明する。この図8の処理フローは、図7のステップ1で行われる「不要な画面情報削除と検索処理」の詳細な処理フローである。 【0066】メモリ管理部102は、「不要な画面情報削除と検索処理」の実行指示が発行されると、図8の処理フローに示すように、ステップ1ないしステップ3に示すループ処理で、スタックメモリ101に格納されているリクエスト画面IDの指す画面情報オブジェクト100の格納位置を検索して、格納位置が存在しない場合には、変数“ret"にその旨を示す“−1 ”をセットして、呼び出し元にその旨を通知する。 【0067】一方、スタックメモリ101に格納されているリクエスト画面IDの指す画面情報オブジェクト100の格納位置iを検索する場合には、変数“ret"にその格納位置をセットするともに、ステップ6ないしステップ8に示すループ処理で、リクエスト画面IDの指す画面情報オブジェクト100の格納位置よりも上にスタックされる画面情報オブジェクト100を開放(削除)してから、呼び出し元に格納位置i(変数“idx"に格納される)を通知する。 【0068】このようにして、画面処理振分部103は、メモリ管理部102に指示することで、図11で説明したように、スタックメモリ101に格納されているリクエスト画面IDの指す画面情報オブジェクト100の格納位置を検索して、それよりも上にスタックされている画面情報オブジェクト100を削除する処理を行うことになる。 【0069】次に、図9の処理フローについて説明する。この図9の処理フローは、図5のステップ4で行われる「スタックメモリ101からの画像情報オブジェクト100の取得処理」の詳細な処理フローである。 【0070】メモリ管理部102は、「スタックメモリ101からの画像情報オブジェクト100の取得処理」の実行指示が発行されると、図9の処理フローに示すように、図8の処理フローで説明した「不要な画面情報削除と検索処理」を実行して、リクエスト画面IDの指す画面情報オブジェクト100の格納位置(“idx")を得て、それを呼び出し元である画面処理振分部103に通知する。 【0071】この通知を受けて、画面処理振分部103は、通知された格納位置の指す画面情報オブジェクト100を取得することで、リクエスト画面IDの指す画面情報オブジェクト100を取得する。 【0072】次に、図10の処理フローについて説明する。この図10の処理フローは、図5のステップ11で行われる「画像情報オブジェクト100のスタックメモリ101への格納処理」の詳細な処理フローである。 【0073】メモリ管理部102は、「画像情報オブジェクト100のスタックメモリ101への格納処理」の実行指示が発行されると、図10の処理フローに示すように、先ず最初に、ステップ1で、図8の処理フローで説明した「不要な画面情報削除と検索処理」を実行する。 【0074】続いて、ステップ2で、その処理により得られたリクエスト画面IDの指す画面情報オブジェクト100の格納位置“idx"の値が“−1”を示しているのか否かを判断する。上述したように、“idx"の値が“−1”を示しているときには、リクエスト画面IDの指す画面情報オブジェクト100がスタックメモリ101に格納されていないことを示している。 【0075】このステップ2の判断処理により、“idx"の値が“−1”を示していることを判断するときには、リクエスト画面IDの指す画面情報オブジェクト100が新規に作成されたものであることを判断して、ステップ3に進んで、スタックメモリ101の一番上の格納位置をリクエスト画面IDの指す画面情報オブジェクト100の格納位置“idx"として設定し、続くステップ4で、その設定したスタックメモリ101の格納位置“idx"に、リクエスト画面IDの指す画面情報オブジェクト100(新規に作成したもの)を格納する。 【0076】一方、ステップ2の判断処理により、“idx"の値が“−1”でないものを示しているときには、リクエスト画面IDの指す画面情報オブジェクト100をステップ1で得た格納位置“idx"に格納すればよいことを判断して、直ちにステップ4に進んで、ステップ1で得た格納位置“idx"に、リクエスト画面IDの指す画面情報オブジェクト100(スタックメモリ101から取得したもの)を上書きする形で格納する。 【0077】図14に、以上に説明した処理を一覧表にして示す。この一覧表では、データベース2の検索結果を開放しない場合と開放する場合とに分け、更に、その2つのそれぞれを、画像情報オブジェクト100を新規に作成する場合の「初回」と、画像情報オブジェクト100をスタックメモリ100から取得する場合の「継続」と、画像情報オブジェクト100をスタックメモリ100から取得するとともに、再検索を実行する場合の「再検索」という3つに分けて、それらがどのような処理を行う(丸印を付けたものを行う)のかを図示している。 【0078】このようにして、本発明では、例えば、図15に示すように、メニュー画面からA検索画面に遷移し、A検索画面からA2一覧画面に遷移し、A2一覧画面からA明細画面に遷移し、A明細画面からA登録画面に遷移し、A登録画面からA2一覧画面に戻る場合には、■A検索画面に遷移するときに、A検索画面の情報をスタックメモリ101に保存し、■A2一覧画面に遷移するときに、A2一覧画面の情報をスタックメモリ101に保存し、■A明細画面に遷移するときに、A明細画面の情報をスタックメモリ101に保存し、■A登録画面に遷移するときに、A登録画面の情報をスタックメモリ101に保存し、■A2一覧画面に戻るときに、A登録画面及びA明細画面をスタックメモリ101から削除していくように処理するのである。 【0079】なお、この図には示していないが、A登録画面ではデータベース2に新規にデータを登録する処理を行うので、A登録画面からA2一覧画面に戻るときには、画面処理振分部103に対して、データベース2を再検索することを指示する上述の「再検索指示」が通知されることになる。 【0080】図16及び図17に、各画像情報オブジェクト100の持つ上述した内部変数“obj.freeFlg"に“false"が設定されることで、データベース2の検索結果を開放しないように設定される場合の処理の一例を図示する。 【0081】この場合、先ず最初に、検索条件の入力に用いる検索画面(画面ID=S1)を新規に作成したことで、図16(a)に示すように、その画面情報オブジェクト100がスタックメモリ101に格納される。続いて、検索条件を入力してデータベース2を検索しその検索結果を表示する検索一覧画面(画面ID=S2)を新規に作成したことで、図16(b)に示すように、その画面情報オブジェクト100がスタックメモリ101に格納される。このときには、検索結果の第1ページを表示していることを想定している。 【0082】続いて、検索結果の第2ページの表示要求に応答してその第2ページを検索一覧画面(画面ID=S2)に表示したことで、図16(c)に示すように、その画面情報オブジェクト100がスタックメモリ101に格納される。続いて、検索結果の一覧から選択される項目の明細を表示する明細画面(画面ID=S3)を新規に作成したことで、図17(a)に示すように、その画面情報オブジェクト100がスタックメモリ101に格納される。 【0083】続いて、検索結果の第2ページを表示する検索一覧画面(画面ID=S2)に戻ったことで、図17(b)に示すように、明細画面(画面ID=S3)をスタックメモリ101から削除する。続いて、検索画面(画面ID=S1)に戻ったことで、図17(c)に示すように、検索一覧画面(画面ID=S2)をスタックメモリ101から削除する。 【0084】図18及び図19に、各画像情報オブジェクト100の持つ上述した内部変数“obj.freeFlg"に“true" が設定されることで、データベース2の検索結果を開放するように設定される場合の処理の一例を図示する。但し、この例では、明細画面(画面ID=S3)については、データベース2の検索結果を開放しないように設定されていることを想定している。 【0085】この場合、先ず最初に、上述の検索画面(画面ID=S1)を新規に作成したことで、図18(a)に示すように、その画面情報オブジェクト100がスタックメモリ101に格納される。続いて、上述の検索一覧画面(画面ID=S2)を新規に作成したことで、図18(b)に示すように、その画面情報オブジェクト100がスタックメモリ101に格納(但し、検索結果については保持しない)される。このときには、検索結果の第1ページを表示していることを想定している。 【0086】続いて、検索結果の第2ページの表示要求に応答してその第2ページを検索一覧画面(画面ID=S2)に表示したことで、図18(c)に示すように、その画面情報オブジェクト100がスタックメモリ101に格納(但し、検索結果については保持しない)される。続いて、上述の明細画面(画面ID=S3)を新規に作成したことで、図19(a)に示すように、その画面情報オブジェクト100がスタックメモリ101に格納(この画面では検索結果についても保持する)される。 【0087】続いて、検索結果の第2ページを表示する検索一覧画面(画面ID=S2)に戻ったことで、図19(b)に示すように、明細画面(画面ID=S3)をスタックメモリ101から削除する。続いて、検索画面(画面ID=S1)に戻ったことで、図19(c)に示すように、検索一覧画面(画面ID=S2)をスタックメモリ101から削除する。 【0088】図18及び図19に示す処理例のように、データベース2の検索結果を開放するようにすると、スタックメモリ101の容量を大幅に削減できるようになる。この場合にも、データベース2の検索に用いる検索条件データについては削除しないようにしていることから、検索結果を開放した画面に戻るようなことがあっても、その画面でデータベース2を再び検索できることになるので、何ら不都合は起こらない。 【0089】(付記1)ツリー構造で遷移する画面情報の保存を制御するためのプログラムを記録した記録媒体であって、画面情報の表示元が表示する画面遷移ボタンの操作に応答して、上記ツリー構造の下位層に向かう形で画面遷移が指示される場合に、遷移先の画面情報を保存する処理と、画面情報の表示元が表示する画面遷移ボタンの操作に応答して、上記ツリー構造の上位層に向かう形で画面遷移が指示される場合に、上記保存される画面情報の中から、遷移元の画面情報を削除するとともに、該遷移元画面情報と遷移先の画面情報との間に位置する画面情報を削除する処理とをコンピュータに実行させるプログラムを記録したことを、特徴とする画面情報保存制御用プログラムの記録媒体。 【0090】(付記2)付記1に記載される画面情報保存制御用プログラムの記録媒体において、上記画面情報を保存する処理では、複数ページで構成される画面情報については、最終表示されるページの画面情報を保存するように処理することを、特徴とする画面情報保存制御用プログラムの記録媒体。 【0091】(付記3)付記1又は2に記載される画面情報保存制御用プログラムの記録媒体において、上記画面情報を保存する処理では、画面情報で表示されるデータベース検索データと、該データベース検索データの検索条件データとを保存するように処理することを、特徴とする画面情報保存制御用プログラムの記録媒体。 【0092】(付記4)付記3に記載される画面情報保存制御用プログラムの記録媒体において、上記画面情報を保存する処理では、画面情報に対応付けて定義されるデータベース検索データを保存するのか否かを示す情報に従って、データベース検索データを保存するのか否かを決定するように処理することを、特徴とする画面情報保存制御用プログラムの記録媒体。 【0093】(付記5)付記4に記載される画面情報保存制御用プログラムの記録媒体において、データベース検索データが保存されない画面情報に遷移する場合に、上記保存される検索条件データを使ってデータベースを検索する処理をコンピュータに実行させるプログラムを記録したことを、特徴とする画面情報保存制御用プログラムの記録媒体。 【0094】(付記6)付記3ないし5のいずれか1項に記載される画面情報保存制御用プログラムの記録媒体において、遷移先の画面情報に対応付けて定義されるデータベースを再検索するのか否かを示す情報に従って、データベースを再検索するのか否かを決定する処理をコンピュータに実行させるプログラムを記録したことを、特徴とする画面情報保存制御用プログラムの記録媒体。 【0095】(付記7)ツリー構造で遷移する画面情報の保存を制御する画面情報保存制御方法であって、画面情報の表示元が表示する画面遷移ボタンの操作に応答して、上記ツリー構造の下位層に向かう形で画面遷移が指示される場合に、遷移先の画面情報を保存する過程と、画面情報の表示元が表示する画面遷移ボタンの操作に応答して、上記ツリー構造の上位層に向かう形で画面遷移が指示される場合に、上記保存される画面情報の中から、遷移元の画面情報を削除するとともに、該遷移元画面情報と遷移先の画面情報との間に位置する画面情報を削除する過程とを備えることを、特徴とする画面情報保存制御方法。 【0096】 【発明の効果】以上説明したように、本発明では、ツリー構造の画面遷移構成を用いる場合に、画面情報の表示元が表示する画面遷移ボタンの操作に応答して、表示する画面情報をツリー構造の上位層側に戻すときには、その戻った画面情報よりも下位層側に位置する画面情報が再度利用される可能性が低いことを考慮して、その画面情報を削除することで、処理速度に大きな影響を与えることなく、画面情報の保存に用いられるメモリの容量が大きくならないように制御するのである。 【0097】この画面情報の保存構成を採るときに、処理速度を犠牲にしてでもメモリ容量の更なる削減が要求される場合には、画面情報で表示されるデータベース検索データについては保存せずに、検索条件データのみを保存する構成を採って、そのデータベース検索データを保存しない画面情報に戻ってくるときには、その保存する検索条件データを使ってデータベースを検索することで、その画面情報の表示を実現する。 【0098】そして、この画面情報の保存構成を採るときに、データベースに新規データが登録されることで、保存するデータベース検索データと整合性がとれなくなることがあることを考慮して、遷移先の画面情報に対応付けて定義されるデータベースの再検索指示に応答して、保存する検索条件データを使ってデータベースを再検索することで、その遷移先の画面情報で表示するデータベース検索データに誤りがないことを実現する。 【0099】このようにして、本発明によれば、メモリ容量と処理速度とのバランスを図りつつ画面情報を保存できるようになる。 【0100】この本発明による画面情報の保存制御を実現するにあたって、画面情報の表示元となる業務プログラムは、基本的には、自プログラムの表示する画面遷移ボタンに対してどの画面情報に遷移するのかということを設定するだけでよい。 【0101】これから、本発明によれば、業務プログラムの開発者に対して何ら負荷を強いることなく、本発明による画面情報の保存制御を実現できるようになる。
|
| 【出願人】 |
【識別番号】000005223 【氏名又は名称】富士通株式会社
|
| 【出願日】 |
平成12年9月29日(2000.9.29) |
| 【代理人】 |
【識別番号】100095072 【弁理士】 【氏名又は名称】岡田 光由 (外1名)
|
| 【公開番号】 |
特開2002−108932(P2002−108932A) |
| 【公開日】 |
平成14年4月12日(2002.4.12) |
| 【出願番号】 |
特願2000−297930(P2000−297930) |
|