(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-06-05
(45)【発行日】2023-06-13
(54)【発明の名称】表示制御プログラム、表示制御方法および表示制御装置
(51)【国際特許分類】
G06F 9/455 20180101AFI20230606BHJP
G06F 9/451 20180101ALI20230606BHJP
G06F 3/14 20060101ALI20230606BHJP
【FI】
G06F9/455 100
G06F9/451
G06F3/14 310B
(21)【出願番号】P 2019179103
(22)【出願日】2019-09-30
【審査請求日】2022-06-09
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100104190
【氏名又は名称】酒井 昭徳
(72)【発明者】
【氏名】森 洋二朗
(72)【発明者】
【氏名】工藤 駿
(72)【発明者】
【氏名】浦本 貴正
(72)【発明者】
【氏名】山本 剛司
(72)【発明者】
【氏名】大畑 貴史
【審査官】加藤 優一
(56)【参考文献】
【文献】特開2001-43077(JP,A)
【文献】特開2011-191938(JP,A)
【文献】特許第6532629(JP,B1)
【文献】米国特許出願公開第2011/0193806(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 8/00 - 8/38
G06F 8/60 - 8/77
G06F 9/44 - 9/455
G06F 3/14 - 3/153
(57)【特許請求の範囲】
【請求項1】
複数の処理を予め決められた処理順序に従って実行するシーケンシャル処理により画面の入出力制御をするアプリケーションから受け付けた、端末装置の表示部に第1の画面を描画させる描画要求に応じて、前記第1の画面についての設定を示す第1の設定情報を作成して記憶部に記憶し、
前記第1の設定情報に基づいて、前記第1の画面を描画させる描画データを前記端末装置に送信し、
前記第1の画面が前記表示部に表示された状態で、前記表示部に第2の画面を描画させる描画要求を前記アプリケーションから受け付けた場合、前記第2の画面についての設定を示す第2の設定情報を作成して記憶部に記憶し、
前記第1の設定情報と前記第2の設定情報とに基づいて、前記第1の画面と前記第2の画面のうち前記第2の画面のみを入力対象画面とし、前記第1の画面と前記第2の画面の双方をまとめて描画させる描画データを前記端末装置に送信する、
処理をコンピュータに実行させることを特徴とする表示制御プログラム。
【請求項2】
複数の処理を予め決められた処理順序に従って実行するシーケンシャル処理により画面の入出力制御をするアプリケーションから、端末装置に新たな画面を描画させる描画要求を受け付けたことに応じて、前記新たな画面についての設定を示す設定情報を作成して記憶部に記憶し、
前記記憶部に前記新たな画面についての設定情報のみが記憶されている場合、前記新たな画面についての設定情報に基づいて、前記新たな画面を入力対象画面として、前記新たな画面を描画させる描画データを前記端末装置に送信し、
前記記憶部に複数の画面それぞれについての設定情報が記憶されている場合、前記複数の画面それぞれについての設定情報に基づいて、前記複数の画面のうち前記新たな画面のみを入力対象画面として、前記複数の画面をまとめて描画させる描画データを前記端末装置に送信する、
処理をコンピュータに実行させることを特徴とする表示制御プログラム。
【請求項3】
前記端末装置に描画された前記入力対象画面に入力されたデータを取得し、
取得した前記データに基づいて、前記記憶部に記憶された設定情報を更新する、
処理を前記コンピュータに実行させることを特徴とする請求項2に記載の表示制御プログラム。
【請求項4】
前記取得する処理は、
前記端末装置に描画された画面の状態を特定する情報をさらに取得し、
前記更新する処理は、
取得した前記データと前記画面の状態を特定する情報に基づいて、前記記憶部に記憶された設定情報を更新する、ことを特徴とする請求項3に記載の表示制御プログラム。
【請求項5】
前記端末装置に描画されたいずれかの画面の描画を終了させる描画終了要求を前記アプリケーションから受け付けた場合、前記記憶部に記憶された前記いずれかの画面についての設定情報を削除する、
処理を前記コンピュータに実行させることを特徴とする請求項2~4のいずれか一つに記載の表示制御プログラム。
【請求項6】
複数の処理を予め決められた処理順序に従って実行するシーケンシャル処理により画面の入出力制御をするアプリケーションから受け付けた、端末装置の表示部に第1の画面を描画させる描画要求に応じて、前記第1の画面についての設定を示す第1の設定情報を作成して記憶部に記憶し、
前記第1の設定情報に基づいて、前記第1の画面を描画させる描画データを前記端末装置に送信し、
前記第1の画面が前記表示部に表示された状態で、前記表示部に第2の画面を描画させる描画要求を前記アプリケーションから受け付けた場合、前記第2の画面についての設定を示す第2の設定情報を作成して記憶部に記憶し、
前記第1の設定情報と前記第2の設定情報とに基づいて、前記第1の画面と前記第2の画面のうち前記第2の画面のみを入力対象画面とし、前記第1の画面と前記第2の画面の双方をまとめて描画させる描画データを前記端末装置に送信する、
処理をコンピュータが実行することを特徴とする表示制御方法。
【請求項7】
複数の処理を予め決められた処理順序に従って実行するシーケンシャル処理により画面の入出力制御をするアプリケーションから、端末装置に新たな画面を描画させる描画要求を受け付けたことに応じて、前記新たな画面についての設定を示す設定情報を作成して記憶部に記憶し、
前記記憶部に前記新たな画面についての設定情報のみが記憶されている場合、前記新たな画面についての設定情報に基づいて、前記新たな画面を入力対象画面として、前記新たな画面を描画させる描画データを前記端末装置に送信し、
前記記憶部に複数の画面それぞれについての設定情報が記憶されている場合、前記複数の画面それぞれについての設定情報に基づいて、前記複数の画面のうち前記新たな画面のみを入力対象画面として、前記複数の画面をまとめて描画させる描画データを前記端末装置に送信する、
処理をコンピュータが実行することを特徴とする表示制御方法。
【請求項8】
複数の処理を予め決められた処理順序に従って実行するシーケンシャル処理により画面の入出力制御をするアプリケーションから受け付けた、端末装置の表示部に第1の画面を描画させる描画要求に応じて、前記第1の画面についての設定を示す第1の設定情報を作成して記憶部に記憶し、
前記第1の設定情報に基づいて、前記第1の画面を描画させる描画データを前記端末装置に送信し、
前記第1の画面が前記表示部に表示された状態で、前記表示部に第2の画面を描画させる描画要求を前記アプリケーションから受け付けた場合、前記第2の画面についての設定を示す第2の設定情報を作成して記憶部に記憶し、
前記第1の設定情報と前記第2の設定情報とに基づいて、前記第1の画面と前記第2の画面のうち前記第2の画面のみを入力対象画面とし、前記第1の画面と前記第2の画面の双方をまとめて描画させる描画データを前記端末装置に送信する、
制御部を有することを特徴とする表示制御装置。
【請求項9】
複数の処理を予め決められた処理順序に従って実行するシーケンシャル処理により画面の入出力制御をするアプリケーションから、端末装置に新たな画面を描画させる描画要求を受け付けたことに応じて、前記新たな画面についての設定を示す設定情報を作成して記憶部に記憶し、
前記記憶部に前記新たな画面についての設定情報のみが記憶されている場合、前記新たな画面についての設定情報に基づいて、前記新たな画面を入力対象画面として、前記新たな画面を描画させる描画データを前記端末装置に送信し、
前記記憶部に複数の画面それぞれについての設定情報が記憶されている場合、前記複数の画面それぞれについての設定情報に基づいて、前記複数の画面のうち前記新たな画面のみを入力対象画面として、前記複数の画面をまとめて描画させる描画データを前記端末装置に送信する、
制御部を有することを特徴とする表示制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、表示制御プログラム、表示制御方法および表示制御装置に関する。
【背景技術】
【0002】
従来、COBOL(Common Business Oriented Language)に代表されるレガシー資産には、ファイルのOPEN、WRITE、READ、CLOSEの命令を用いた、シンプルな決められた順番で行う処理により画面出力をするアプリケーションが存在する。
【0003】
先行技術としては、例えば、サーバ上で実行しているCOBOLアプリケーションの出力帳票をサーバのプリンタで印刷したり、PCクライアントのWWWブラウザ上でプレビューさせたり、WWWブラウザを通してPCクライアント側のプリンタに印刷させたりするものがある。
【先行技術文献】
【非特許文献】
【0004】
【文献】FUJITSU Software NetCOBOL 機能説明、[online]、富士通株式会社、[令和1年9月20日検索]、インターネット<URL:https://www.fujitsu.com/jp/products/software/middleware/business-middleware/middleware/cobol/function/overview/meftweb.html#meftweb>
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来技術では、複数の処理を予め決められた処理順序に従って実行するシーケンシャル処理により画面の入出力制御をするアプリケーションの場合、同時に複数の画面を表示することができない。既存のアプリケーションに手を加えて、複数画面の表示を制御可能にすることも考えられるが、アプリケーションの改修にはコストがかかる。
【0006】
一つの側面では、本発明は、アプリケーションの改修を行うことなく、複数の画面を表示可能にすることを目的とする。
【課題を解決するための手段】
【0007】
一つの実施態様では、複数の処理を予め決められた処理順序に従って実行するシーケンシャル処理により画面の入出力制御をするアプリケーションから受け付けた、端末装置の表示部に第1の画面を描画させる描画要求に応じて、前記第1の画面についての設定を示す第1の設定情報を作成して記憶部に記憶し、前記第1の設定情報に基づいて、前記第1の画面を描画させる描画データを前記端末装置に送信し、前記第1の画面が前記表示部に表示された状態で、前記表示部に第2の画面を描画させる描画要求を前記アプリケーションから受け付けた場合、前記第2の画面についての設定を示す第2の設定情報を作成して記憶部に記憶し、前記第1の設定情報と前記第2の設定情報とに基づいて、前記第1の画面と前記第2の画面のうち前記第2の画面のみを入力対象画面とし、前記第1の画面と前記第2の画面の双方をまとめて描画させる描画データを前記端末装置に送信する、表示制御プログラムが提供される。
【0008】
また、一つの実施態様では、複数の処理を予め決められた処理順序に従って実行するシーケンシャル処理により画面の入出力制御をするアプリケーションから、端末装置に新たな画面を描画させる描画要求を受け付けたことに応じて、前記新たな画面についての設定を示す設定情報を作成して記憶部に記憶し、前記記憶部に前記新たな画面についての設定情報のみが記憶されている場合、前記新たな画面についての設定情報に基づいて、前記新たな画面を入力対象画面として、前記新たな画面を描画させる描画データを前記端末装置に送信し、前記記憶部に複数の画面それぞれについての設定情報が記憶されている場合、前記複数の画面それぞれについての設定情報に基づいて、前記複数の画面のうち前記新たな画面のみを入力対象画面として、前記複数の画面をまとめて描画させる描画データを前記端末装置に送信する、表示制御プログラムが提供される。
【発明の効果】
【0009】
本発明の一側面によれば、アプリケーションの改修を行うことなく、複数の画面を表示可能にすることができるという効果を奏する。
【図面の簡単な説明】
【0010】
【
図1】
図1は、実施の形態にかかる表示制御方法の一実施例を示す説明図である。
【
図2】
図2は、表示制御システム200のシステム構成例を示す説明図である。
【
図3】
図3は、サーバ201のハードウェア構成例を示すブロック図である。
【
図4】
図4は、端末装置202のハードウェア構成例を示すブロック図である。
【
図5】
図5は、画面管理テーブルTBのデータ構造例を示す説明図である。
【
図6】
図6は、サーバ201の機能的構成例を示すブロック図である。
【
図7】
図7は、アプリからの各命令に対する動作例を示す説明図である。
【
図8】
図8は、アプリからの各命令に応じて複数画面を表示する際の動作例を示す説明図である。
【
図9A】
図9Aは、画面管理テーブルの記憶内容の一例を示す説明図(その1)である。
【
図9B】
図9Bは、画面管理テーブルの記憶内容の一例を示す説明図(その2)である。
【
図9C】
図9Cは、画面管理テーブルの記憶内容の一例を示す説明図(その3)である。
【
図9D】
図9Dは、画面管理テーブルの記憶内容の一例を示す説明図(その4)である。
【
図9E】
図9Eは、画面管理テーブルの記憶内容の一例を示す説明図(その5)である。
【
図9F】
図9Fは、画面管理テーブルの記憶内容の一例を示す説明図(その6)である。
【
図11】
図11は、サーバ201の表示制御処理手順の一例を示すフローチャートである。
【
図12】
図12は、OPEN処理の具体的処理手順の一例を示すフローチャートである。
【
図13】
図13は、WRITE処理の具体的処理手順の一例を示すフローチャートである。
【
図14】
図14は、READ処理の具体的処理手順の一例を示すフローチャートである。
【
図15】
図15は、CLOSE処理の具体的処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下に図面を参照して、本発明にかかる表示制御プログラム、表示制御方法および表示制御装置の実施の形態を詳細に説明する。
【0012】
(実施の形態)
図1は、実施の形態にかかる表示制御方法の一実施例を示す説明図である。
図1において、表示制御装置101は、アプリケーションAPLからの描画要求に応じて、端末装置102に画面を描画させるコンピュータである。アプリケーションAPLは、複数の処理を予め決められた処理順序に従って実行するシーケンシャル処理により画面の入出力制御をするアプリケーションである。端末装置102は、ユーザが使用するコンピュータである。
【0013】
ここで、COBOLに代表されるレガシー資産には、ファイルのOPEN、WRITE、READ、CLOSEの命令を用いた、複数の処理を予め決められた処理順序に従って実行するシーケンシャル処理により画面の入出力制御をするアプリケーションが多く存在する。以下の説明では、アプリケーションを、単に「アプリ」と称する場合がある。
【0014】
このようなアプリを動作させる既存のランタイムシステムは、アプリから受け取る命令に対し、例えば、以下のような処理を行う。ランタイムシステムとは、アプリを動作させるためのソフトウェア基盤であり、CPU(Central Processing Unit)やメモリの管理を行う。
【0015】
まず、既存のランタイムシステムは、アプリからのOPEN命令(画面の開設)に応じて、画面を開設する。画面の開設とは、出力する画面の作成、初期化を行うことである。つぎに、既存のランタイムシステムは、アプリからのWRITE命令(画面の描画)に応じて、アプリからの情報をもとに、画面を描画する。
【0016】
つぎに、既存のランタイムシステムは、アプリからのREAD命令(再リクエストの読込)に応じて、画面に入力されたデータを読み込む。そして、既存のランタイムシステムは、アプリからのCLOSE命令(画面の閉鎖)に応じて、画面を閉鎖する。画面の閉鎖とは、画面の表示を終了して、画面を描画するための情報を削除することである。なお、画面が開設(OPEN)されてから、画面が閉鎖(CLOSE)されるまでに、例えば、WRITE命令やREAD命令は複数回行われてもよい。
【0017】
以下の説明では、ファイルのOPEN、WRITE、READ、CLOSEを用いた、複数の処理を予め決められた処理順序に従って実行するシーケンシャル処理により画面の入出力制御をするアプリを「RW形式のアプリ」と表記する場合がある。
【0018】
RW形式のシーケンシャルなアプリの構造は、クライアントサーバシステムにも適用されている。例えば、クライアントサーバシステムにおいて、クライアントのWebブラウザは、アプリからのOPEN命令に応じて画面が開設されると、WRITE内容を描画し、入力待ち状態となる。
【0019】
その後、クライアントのWebブラウザは、画面にデータが入力されると、入力されたデータを処理して、反映したWRITE内容を描画し、再び入力待ち状態となる。そして、クライアントのWebブラウザは、アプリからのCLOSE命令に応じて画面が閉鎖されると、画面の表示を終了する。
【0020】
RW形式において、アプリと画面の通信は、アプリと入力対象となる画面の間で行われる。RW形式で複数の画面を処理するときは(既に開設済みの画面1があるときに別画面2をOPENしたとき)、アプリは入力対象となる画面(画面2)のみと通信する。このため、表示される画面は、入力対象の画面(画面1から画面2)に切り替わる(切り替え方式)。
【0021】
一方、一般的なWebアプリは、シーケンシャルではなく、状態遷移的な構造をもつ。アプリは、クライアントからのRequestに応じて処理を切り分け、Responseを返す。Requestは順不同であり、アプリはRequestが同時に複数きても対応可能である。
【0022】
RW形式のアプリをWebアプリ化するにあたり、例えば、入力補助のために、前の画面を参照しながら入力を行いたい(複数画面の表示)という要望や、様々なデバイスで画面処理を行いたい(マルチデバイス対応)という要望がある。しかし、レガシー資産を持つユーザは、アプリの改修は極力行いたくないことが多い。このため、シンプルなRW形式は維持したまま既存資産を流用して、これらの要望を解決することが求められている。
【0023】
ここで、一般的なWebアプリは、状態遷移的な構造を持つため、複数の画面を同時に表示したとき、複数の画面が入力対象になりえる。このとき、それぞれの画面はアプリと独自に通信する。そのため、アプリから見ると通信経路が複数あるように見えるものとなっている。
【0024】
一方、RW方式のアプリはシーケンシャルな処理であるため、入力対象となる画面は、READ命令の対象であるただひとつの画面である。すなわち、複数の画面を表示する場合でも、シーケンシャルな処理を行うためには、アプリとの通信経路は1本でなければならない。このため、従来手法では別画面が出るときは、前画面は隠され、同時表示はできない。
【0025】
このようなアプリの処理手法の違いから、一般的なWebアプリに用いられる複数画面の表示の手法を、RW方式のアプリに適応することはできない。
【0026】
なお、RW形式のアプリで複数画面表示する手法として、クライアントマシンで画面制御を行うことが考えられる。例えば、ActiveX(登録商標)コントロールに代表される画面制御機構をクライアントマシンにインストールすることで、画面制御をクライアント側で行い、RW形式のアプリはそのままで複数画面表示を行うことが考えられる。
【0027】
より詳細に説明すると、例えば、サーバにおいて、クライアントのWebブラウザからアプリが起動されると、アプリからクライアントに画面情報を送信する。その後、アプリは、Webブラウザの画面制御機構と通信する。画面制御機構は、画面のOPEN,CLOSEを管理するものである。
【0028】
すなわち、アプリ起動時はアプリとブラウザが通信し、アプリ起動後はアプリと画面制御機構が通信するため、2種類の通信経路が存在する。しかしながら、この手法では、クライアント環境ごと画面制御機構が必要である。また、通信経路が2種類存在する。そのため、RW形式アプリの複数画面表示はクライアント環境に依存することになり、マルチデバイス対応を実現することができない。
【0029】
そこで、本実施の形態では、既存のアプリAPL(例えば、RW形式のレガシー資産)の改修を行うことなく、複数の画面を表示可能にする表示制御方法について説明する。以下、表示制御装置101の処理例について説明する。
【0030】
(1)表示制御装置101は、アプリAPLから、端末装置102に新たな画面を描画させる描画要求を受け付けたことに応じて、新たな画面についての設定情報120を作成して記憶部110に記憶する。アプリAPLは、端末装置102からの要求に応じて、表示制御装置101上に起動される。
【0031】
例えば、アプリAPLは、ファイルのOPEN、WRITE、READ、CLOSEの命令を用いたシーケンシャル処理により画面の入出力制御をするアプリである。設定情報120は、画面についての設定を示す情報であり、例えば、画面の表示内容に関する情報や、画面の配置に関する情報を含む。
【0032】
具体的には、例えば、表示制御装置101は、アプリAPLから、端末装置102の表示部130に第1の画面を描画させる描画要求を受け付けたことに応じて、第1の画面についての第1の設定情報を作成して記憶部110に記憶する。表示部130は、画面を表示するための機能部であり、例えば、Webブラウザである。
【0033】
また、表示制御装置101は、第1の画面が表示部130に表示された状態で、表示部130に第2の画面を描画させる描画要求をアプリAPLから受け付けた場合には、第2の画面についての第2の設定情報を作成して記憶部110に記憶する。
【0034】
(2)表示制御装置101は、記憶部110に新たな画面についての設定情報120のみが記憶されている場合、新たな画面についての設定情報120に基づいて、新たな画面を入力対象画面として、新たな画面を描画させる描画データを生成する。ここで、入力対象画面とは、データの入力を受け付ける画面であり、READ命令の対象となる画面である。
【0035】
また、表示制御装置101は、記憶部110に新たな画面を含む複数の画面それぞれについての設定情報が記憶されている場合、複数の画面それぞれについての設定情報に基づいて、複数の画面のうち新たな画面のみを入力対象画面として、複数の画面をまとめて描画させる描画データを生成する。
【0036】
具体的には、例えば、表示制御装置101は、記憶部110に第1の設定情報のみが記憶されている場合、第1の設定情報に基づいて、第1の画面を描画させる描画データを生成する。この際、表示制御装置101は、第1の画面を入力対象画面とする描画データを生成する。
【0037】
また、表示制御装置101は、記憶部110に第1の設定情報および第2の設定情報が記憶されている場合、第1の設定情報と第2の設定情報とに基づいて、第1の画面と第2の画面の双方をまとめて描画させる描画データを生成する。この際、表示制御装置101は、第1の画面と第2の画面のうち直前に描画要求を受け付けた第2の画面を入力対象画面として特定する。そして、表示制御装置101は、第1の画面と第2の画面のうち第2の画面のみを入力対象画面とする描画データを生成する。すなわち、表示制御装置101は、一つの画面内に第1の画面と第2の画面の双方を表示し、第2の画面のみを入力対象画面とする描画データを生成する。
【0038】
(3)表示制御装置101は、生成した描画データを端末装置102に送信する。具体的には、例えば、表示制御装置101は、第1の画面を描画させる描画要求を受信した場合、第1の画面を入力対象画面として、第1の画面を描画させる描画データを端末装置102に送信する。
【0039】
また、表示制御装置101は、第1の画面が表示された状態で、第2の画面を描画させる描画要求を受信した場合、第1の画面と第2の画面のうち第2の画面のみを入力対象画面とし、第1の画面と第2の画面の双方をまとめて描画させる描画データを端末装置102に送信する。
【0040】
このように、表示制御装置101によれば、複数の画面(例えば、第1の画面、第2の画面)が開設された場合であっても、開設された各画面についての設定を示す設定情報を用いて、アプリAPLからの要求に応じて複数画面を端末装置102に描画することができる。また、入力対象となる画面(例えば、第2の画面)の設定を制御できるため、アプリAPLと端末装置102(表示部130)との1つの通信経路での複数画面の出力を実現することができる。
【0041】
これにより、既存のアプリAPL(例えば、RW形式のレガシー資産)の改修を行うことなく、複数の画面を表示可能にすることができる。また、クライアント環境に依存しないため、マルチデバイス環境でRW形式のレガシー資産の複数画面の制御を実現することができる。
【0042】
(表示制御システム200のシステム構成例)
つぎに、実施の形態にかかる表示制御システム200のシステム構成例について説明する。ここでは、
図1に示した表示制御装置101をサーバ201に適用した場合を例に挙げて説明する。表示制御システム200は、例えば、COBOLに代表されるレガシー資産を動作させるコンピュータシステムに適用される。
【0043】
図2は、表示制御システム200のシステム構成例を示す説明図である。
図2において、表示制御システム200は、サーバ201と、端末装置202と、を含む。表示制御システム200において、サーバ201および端末装置202は、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
【0044】
ここで、サーバ201は、画面管理DB(Database)220を有し、アプリAPLからの描画要求に応じて、端末装置202に画面を描画させるコンピュータである。画面管理DB220は、画面管理テーブルTBを格納する。画面管理テーブルTBのデータ構造例については、
図5を用いて後述する。
図1に示した記憶部110は、例えば、画面管理DB220に相当する。
【0045】
端末装置202は、ブラウザbr(後述の
図7参照)を有し、ユーザが使用するコンピュータである。端末装置202は、例えば、PC(Personal Computer)、タブレットPC、スマートフォンなどである。
図1に示した端末装置102は、例えば、端末装置202に相当する。
【0046】
なお、
図2の例では、端末装置202を1台のみ表記したが、これに限らない。例えば、表示制御システム200には、ユーザごとの端末装置202が含まれる。
【0047】
(サーバ201のハードウェア構成例)
つぎに、
図3を用いて、サーバ201(表示制御装置101)のハードウェア構成例について説明する。
【0048】
図3は、サーバ201のハードウェア構成例を示すブロック図である。
図3において、サーバ201は、CPU301と、メモリ302と、ディスクドライブ303と、ディスク304と、通信I/F(Interface)305と、可搬型記録媒体I/F306と、可搬型記録媒体307と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
【0049】
ここで、CPU301は、サーバ201の全体の制御を司る。CPU301は、複数のコアを有していてもよい。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMがOS(Operating System)のプログラムを記憶し、ROMがアプリケーションプログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
【0050】
ディスクドライブ303は、CPU301の制御に従ってディスク304に対するデータのリード/ライトを制御する。ディスク304は、ディスクドライブ303の制御で書き込まれたデータを記憶する。ディスク304としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
【0051】
通信I/F305は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して外部のコンピュータ(例えば、
図2に示した端末装置202)に接続される。そして、通信I/F305は、ネットワーク210と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。通信I/F305には、例えば、モデムやLANアダプタなどを採用することができる。
【0052】
可搬型記録媒体I/F306は、CPU301の制御に従って可搬型記録媒体307に対するデータのリード/ライトを制御する。可搬型記録媒体307は、可搬型記録媒体I/F306の制御で書き込まれたデータを記憶する。可搬型記録媒体307としては、例えば、CD(Compact Disc)-ROM、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリなどが挙げられる。
【0053】
なお、サーバ201は、上述した構成部のほかに、例えば、SSD(Solid State Drive)、入力装置、ディスプレイ等を有することにしてもよい。また、サーバ201は、上述した構成部のうち、例えば、ディスクドライブ303、ディスク304、可搬型記録媒体I/F306、可搬型記録媒体307を有していなくてもよい。
【0054】
(端末装置202のハードウェア構成例)
つぎに、
図4を用いて、端末装置202のハードウェア構成例について説明する。
【0055】
図4は、端末装置202のハードウェア構成例を示すブロック図である。
図4において、端末装置202は、CPU401と、メモリ402と通信I/F403と、ディスプレイ404と、入力装置405と、可搬型記録媒体I/F406と、可搬型記録媒体407と、を有する。また、各構成部はバス400によってそれぞれ接続される。
【0056】
ここで、CPU401は、端末装置202の全体の制御を司る。CPU401は、複数のコアを有していてもよい。メモリ402は、例えば、ROM、RAMおよびフラッシュROMなどを有する記憶部である。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU401のワークエリアとして使用される。メモリ402に記憶されるプログラムは、CPU401にロードされることで、コーディングされている処理をCPU401に実行させる。
【0057】
通信I/F403は、通信回線を通じてネットワーク210(
図2参照)に接続され、ネットワーク210を介して外部のコンピュータ(例えば、サーバ201)に接続される。そして、通信I/F403は、ネットワーク210と自装置内部とのインターフェースを司り、外部装置からのデータの入出力を制御する。
【0058】
ディスプレイ404は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する表示装置である。ディスプレイ404としては、例えば、液晶ディスプレイや有機EL(Electroluminescence)ディスプレイなどを採用することができる。
【0059】
入力装置405は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。入力装置405は、キーボードやマウスなどであってもよく、また、タッチパネル式の入力パッドやテンキーなどであってもよい。
【0060】
可搬型記録媒体I/F406は、CPU401の制御に従って可搬型記録媒体407に対するデータのリード/ライトを制御する。可搬型記録媒体407は、可搬型記録媒体I/F406の制御で書き込まれたデータを記憶する。
【0061】
なお、端末装置202は、上述した構成部のほかに、例えば、HDD(Hard Disk Drive)、SSD、スキャナ、プリンタなどを有することにしてもよい。
【0062】
(画面管理テーブルTBのデータ構造例)
つぎに、
図5を用いて、サーバ201が有する画面管理DB220に格納される画面管理テーブルTBのデータ構造例について説明する。
【0063】
図5は、画面管理テーブルTBのデータ構造例を示す説明図である。
図5において、画面管理テーブルTBは、画面ごとに作成される、画面についての設定を示す設定情報の一例である。画面管理テーブルTBは、画面データテーブル510と、画面制御テーブル520とを含む。
【0064】
画面データテーブル510は、画面の表示内容を構成する情報を記憶する。具体的には、例えば、画面データテーブル510は、RW形式のアプリと既存のランタイムシステムがやり取りするデータに相当し、入出力レコード511と画面装飾データ512を含む。入出力レコード511は、入出力項目に関するデータである。画面装飾データ512は、画面サイズや配色などの画面装飾に関するデータである。
【0065】
画面制御テーブル520は、画面の配置を制御する情報を記憶する。具体的には、例えば、画面制御テーブル520は、画面位置情報データ521と最大化有無データ522を含む。画面位置情報データ521は、画面の位置、重なりに関するデータである。最大化有無データ522は、画面の最大化状態を記録するデータである。画面制御テーブル520は、READ命令時にOPENしている画面同士の位置や状態を取得して制御するために用いられる。
【0066】
なお、画面管理テーブルTBは、どの画面についての設定情報なのかを識別可能に画面管理DB220に格納される。また、画面管理DB220には、例えば、画面が開設(OPEN)された順に画面管理テーブルTBが格納されることにしてもよい。画面管理テーブルTBの具体的な記憶内容については、
図9A~
図9Fを用いて後述する。
【0067】
(サーバ201の機能的構成例)
図6は、サーバ201の機能的構成例を示すブロック図である。
図6において、サーバ201は、受付部601と、作成部602と、生成部603と、出力部604と、更新部605と、記憶部610と、を含む。受付部601~更新部605は制御部となる機能であり、具体的には、例えば、
図3に示したメモリ302、ディスク304、可搬型記録媒体307などの記憶装置に記憶された表示制御プログラムをCPU301に実行させることにより、または、通信I/F305により、その機能を実現する。より具体的には、例えば、各機能部は、後述の
図7に示すサーバ201のランタイムシステムRSにより実現される。各機能部の処理結果は、例えば、メモリ302、ディスク304などの記憶装置に記憶される。記憶部610は、例えば、メモリ302、ディスク304などの記憶装置により実現される。具体的には、例えば、記憶部610は、画面管理DB220に相当する。
【0068】
受付部601は、複数の処理を予め決められた処理順序に従って実行するシーケンシャル処理により画面の入出力制御をするアプリAPLから、端末装置202に新たな画面を描画させる描画要求を受け付ける。新たな画面の描画要求は、例えば、アプリAPLからのOPEN命令およびWRITE命令により実現される。OPENされた画面(開設済みの画面)の描画要求は、例えば、アプリAPLからのWRITE命令により実現される。具体的には、例えば、受付部601は、アプリAPLから、新たな画面を開設するOPEN命令や、新たな画面を描画するWRITE命令を受け付ける。
【0069】
作成部602は、新たな画面を描画させる描画要求を受け付けたことに応じて、新たな画面についての設定を示す設定情報を作成して記憶部610に記憶する。具体的には、例えば、作成部602は、アプリAPLから新たな画面についてのOPEN命令を受け付けたことに応じて、新たな画面に対応する画面管理テーブルTBを作成して画面管理DB220に記憶する。
【0070】
生成部603は、新たな画面を描画させる描画データを生成する。具体的には、例えば、生成部603は、記憶部610に新たな画面についての設定情報のみが記憶されている場合、新たな画面についての設定情報に基づいて、新たな画面を描画させる描画データを生成する。この際、生成部603は、新たな画面を入力対象画面とする描画データを生成する。
【0071】
また、生成部603は、記憶部610に新たな画面を含む複数の画面それぞれについての設定情報が記憶されている場合、複数の画面それぞれについての設定情報に基づいて、複数の画面をまとめて描画させる描画データを生成する。この際、生成部603は、複数の画面のうち新たな画面のみを入力対象画面とする描画データを生成する。
【0072】
より詳細に説明すると、例えば、生成部603は、アプリAPLからWRITE命令を受け付けたことに応じて、画面管理DB220から画面管理テーブルTBを読み込む。つぎに、生成部603は、読み込んだ画面管理テーブルTBを参照して、入力対象画面を特定する。
【0073】
例えば、複数の画面それぞれについての画面管理テーブルTBが存在する場合を想定する。この場合、生成部603は、直前にOPEN命令を受け付けた画面を、入力対象画面として特定する。また、入力対象画面を特定する情報は、アプリAPLからのWRITE命令に含まれていてもよい。この場合、生成部603は、WRITE命令に含まれる情報から、入力対象となる画面を特定することにしてもよい。
【0074】
そして、生成部603は、複数の画面それぞれについての画面管理テーブルTBに基づいて、特定した画面を入力対象画面とし、複数の画面をまとめて描画させる描画データを生成する。例えば、生成部603は、複数の画面それぞれについて、画面管理テーブルTBの画面制御テーブル520を参照して、画面制御情報を生成する。画面制御情報は、画面制御に関わる情報であり、例えば、画面の表示位置、画面間の重なり、画面の最大化状態などを示す。
【0075】
また、生成部603は、複数の画面それぞれについて、画面管理テーブルTBの画面データテーブル510を参照して、画面表示情報を生成する。画面表示情報は、表示する画面の内容に関わる情報である。ただし、入力対象画面以外の画面については、例えば、入力項目を出力項目に変換して(非活性化)、データの入力を受け付けないようにする。
【0076】
画面制御情報および画面表示情報は、例えば、HTML(HyperText Markup Language)などのマークアップ言語や、JavaScript(登録商標)などのスクリプト言語を用いて生成される。そして、生成部603は、複数の画面それぞれについての画面制御情報および画面表示情報を含む画面情報を生成する。より詳細に説明すると、例えば、生成部603は、HTMLおよびJavaScriptを用いて、各画面を一画面内の部品として操作可能な画面情報を生成する。
【0077】
出力部604は、生成された描画データを出力する。具体的には、例えば、出力部604は、新たな画面を描画させる描画データを端末装置202に送信する。この結果、端末装置202のブラウザbrにより、新たな画面がディスプレイ404(
図4参照)表示される。また、出力部604は、新たな画面を含む複数の画面をまとめて描画させる描画データを端末装置202に送信する。この結果、端末装置202のブラウザbrにより、例えば、複数の画面が一画面にまとめてディスプレイ404に表示される。
【0078】
更新部605は、端末装置202に表示された入力対象画面に入力されたデータを取得し、取得したデータに基づいて、記憶部610に記憶された設定情報を更新する。具体的には、例えば、更新部605は、アプリAPLからREAD命令を受け付けたことに応じて、入力対象画面へのデータの入力待ち状態となる。
【0079】
入力対象画面にデータが入力されると、更新部605は、入力されたデータを読み込む。この際、更新部605は、画面の状態(画面の位置、重なり、最大化状態など)を特定する情報を読み込むことにしてもよい。そして、更新部605は、入力されたデータに基づいて、画面管理DB220に記憶された画面管理テーブルTBを更新する。
【0080】
より詳細に説明すると、例えば、更新部605は、入力されたデータに基づいて、画面管理テーブルTBに含まれる画面データテーブル510を更新する。また、更新部605は、画面の状態を特定する情報に基づいて、画面管理テーブルTBに含まれる画面制御テーブル520を更新する。
【0081】
また、生成部603は、記憶部610に記憶された更新後の設定情報に基づいて、画面を描画させる描画データを生成する。例えば、記憶部610に記憶された複数の画面それぞれについての設定情報が更新されたとする。この場合、生成部603は、アプリAPLから端末装置202に画面を描画させる描画要求(WRITE命令)を受け付けたことに応じて、更新後の複数の画面それぞれについての設定情報に基づいて、複数の画面から入力対象となる画面を特定する。そして、生成部603は、特定した画面のみを入力対象画面として、複数の画面をまとめて描画させる描画データを生成する。生成された描画データは、端末装置202に送信される。この結果、端末装置202のブラウザbrにより、入力対象画面に入力されたデータや、OPENしている画面の状態変化に基づく各画面の更新内容を反映した複数画面が表示される。
【0082】
また、受付部601は、端末装置202に描画されたいずれかの画面の描画を終了させる描画終了要求をアプリAPLから受け付ける。具体的には、例えば、受付部601は、アプリAPLから、画面を閉鎖するCLOSE命令を受け付ける。CLOSE命令には、例えば、CLOSE対象の画面を特定する情報が含まれる。
【0083】
また、更新部605は、端末装置202に描画されたいずれかの画面の描画を終了させる描画終了要求をアプリAPLから受け付けた場合、記憶部610に記憶された当該いずれかの画面についての設定情報を削除する。具体的には、例えば、更新部605は、アプリAPLからのCLOSE命令に応じて、画面管理DB220に記憶された当該CLOSE命令に対応する画面管理テーブルTBを削除する。
【0084】
また、生成部603は、記憶部610に記憶されたいずれかの画面についての設定情報が削除された場合、記憶部610に記憶された残りの画面についての設定情報に基づいて、残りの画面を描画させる描画データを生成する。この場合、出力部604は、生成された残りの画面を描画させる描画データを端末装置202に送信する。
【0085】
例えば、記憶部610に記憶された複数の画面それぞれについての設定情報のうちいずれかの画面についての設定情報が削除されたとする。この場合、生成部603は、アプリAPLから端末装置202に画面を描画させる描画要求(WRITE命令)を受け付けたことに応じて、複数の画面のうち当該いずれかの画面以外の画面それぞれについての設定情報に基づいて、当該いずれかの画面以外の画面から入力対象となる画面を特定する。そして、生成部603は、特定した画面のみを入力対象画面として、当該いずれかの画面以外の画面をまとめて描画させる描画データを生成する。生成された描画データは、端末装置202に送信される。この結果、端末装置202のブラウザbrにより、CLOSE対象の画面以外の残りの画面が表示される。
【0086】
なお、記憶部610から全ての設定情報が削除された場合には、生成部603は、例えば、初期化画面(ブランク画面)を描画させる描画データを生成する。この場合、出力部604は、生成された初期化画面(ブランク画面)を描画させる描画データを端末装置202に送信する。
【0087】
(アプリAPLからの各命令に対する動作例)
つぎに、アプリAPLからの各命令に対するサーバ201のランタイムシステムRSの動作例について説明する。
【0088】
図7は、アプリからの各命令に対する動作例を示す説明図である。
図7に示すように、ランタイムシステムRSは、アプリAPLからの各命令に応じて、OPEN処理を行った後、WRITE処理およびREAD処理を行って、CLOSE処理を行う。以下、各命令に対する動作例について説明する。
【0089】
・OPEN命令
ランタイムシステムRSは、アプリAPLからのOPEN命令に応じて、OPEN対象の画面(新たな画面)に対応する画面管理テーブルTBを作成して画面管理DB220に記憶する。この結果、OPEN対象の画面がブラウザbrに開設される。ただし、この時点では、画面はブランク画面である。
【0090】
・WRITE命令
ランタイムシステムRSは、アプリAPLからのWRITE命令に応じて、画面管理DB220から画面管理テーブルTBを読み込む。つぎに、ランタイムシステムRSは、読み込んだ画面管理テーブルTBを参照して、入力対象画面となる画面を特定する。入力対象画面を特定する情報は、例えば、アプリAPLからのWRITE命令に含まれる。そして、ランタイムシステムRSは、特定した画面を入力対象画面とし、OPENされた全ての画面をまとめて描画させる描画データを生成してブラウザbrに送信する。この結果、ブラウザbrにOPENされた全ての画面が一画面にまとめて描画される。
【0091】
・READ命令
ランタイムシステムRSは、アプリAPLからのREAD命令に応じて、入力対象画面へのデータの入力待ち状態となる。ここで、入力対象画面にデータが入力されると、ランタイムシステムRSは、入力されたデータと、画面の状態を特定する情報を読み込み、画面管理DB220に記憶された画面管理テーブルTBを更新する。
【0092】
・CLOSE命令
ランタイムシステムRSは、アプリAPLからのCLOSE命令に応じて、画面管理DB220からCLOSE対象の画面に対応する画面管理テーブルTBを削除する。CLOSE対象の画面を特定する情報は、例えば、アプリAPLからのCLOSE命令に含まれる。この結果、ブラウザbrに開設されたCLOSE対象の画面が閉鎖される。
【0093】
(アプリAPLからの各命令に対する動作例)
つぎに、アプリAPLからの各命令に応じて複数画面を表示する際のサーバ201のランタイムシステムRSの動作例について説明する。
【0094】
図8は、アプリからの各命令に応じて複数画面を表示する際の動作例を示す説明図である。また、
図9A~
図9Fは、画面管理テーブルの記憶内容の一例を示す説明図である。また、
図10A~
図10Iは、画面の表示例を示す説明図である。
【0095】
図8の(1)において、ランタイムシステムRSは、アプリAPLから画面1のOPEN命令を受け付けたことに応じて、画面1に対応する画面管理テーブルTBを作成して画面管理DB220に記憶する。画面1は、背景色がピンクで、入力項目を一つ、出力項目を一つ持つ画面とする。
【0096】
図9Aにおいて、画面管理DB220に記憶された画面管理テーブルTB1が示されている。画面管理テーブルTB1は、画面1に対応する画面管理テーブルである。画面管理テーブルTB1は、画面データテーブル910と、画面制御テーブル920とを含む。画面データテーブル910は、入出力レコード911と画面装飾データ912を含む。入出力レコード911は、例えば、入力項目Aの初期値(0)と、出力項目Bの初期値(空欄)を示す。画面装飾データ912は、例えば、画面1の背景色「ピンク」を示す。画面制御テーブル920は、画面位置情報データ921と最大化有無データ922を含む。画面位置情報データ921は、例えば、画面1の位置(X,Y,Z)を示す。最大化有無データ922は、画面1の最大化状態「False(初期値)」を示す。
【0097】
図10Aにおいて、画面1は、ブラウザbrに開設されたOPEN対象の画面である。ただし、この時点では、画面1はブランク画面である。
【0098】
図8の(2)において、ランタイムシステムRSは、アプリAPLからWRITE命令を受け付けたことに応じて、画面管理DB220から画面管理テーブルTBを読み込む。ここでは、
図9Aに示した画面管理テーブルTB1が読み込まれる。つぎに、ランタイムシステムRSは、読み込んだ画面管理テーブルTB1を参照して、入力対象画面を特定する。
【0099】
ここでは、画面管理テーブルTB1のみのため、ランタイムシステムRSは、画面1を入力対象画面として特定する。なお、入力対象画面を特定する情報(画面1)は、アプリAPLからのWRITE命令に含まれていてもよい。そして、ランタイムシステムRSは、画面管理テーブルTB1に基づいて、画面1を入力対象画面として、画面1を描画させる描画データを生成してブラウザbrに送信する。
【0100】
図10Bにおいて、画面1は、ブラウザbrに描画された画面である。ブラウザbrは、ランタイムシステムRSから描画データを受信すると、当該描画データを読み込んで画面1を描画する。画面1は、背景色がピンクで、入力項目Aと出力項目Bを含む画面とする。入力項目Aには0(初期値)が表示されている。出力項目Bは空欄となっている。
【0101】
図8の(3)において、ランタイムシステムRSは、アプリAPLからREAD命令を受け付けたことに応じて、入力対象画面へのデータの入力待ち状態となる。入力対象画面にデータが入力されると、ランタイムシステムRSは、入力されたデータと画面の状態を特定する情報を読み込む。そして、ランタイムシステムRSは、入力されたデータと画面の状態を特定する情報に基づいて、画面管理DB220に記憶された画面管理テーブルTBを更新する。
【0102】
図10Cにおいて、入力対象画面である画面1の入力項目Aに「12345」が入力されている。この場合、ランタイムシステムRSは、入力項目A「12345」と画面1の状態(画面の位置、最大化状態)を特定する情報を読み込む。そして、ランタイムシステムRSは、入力項目A「12345」と画面1の状態を特定する情報とに基づいて、画面1に対応する画面管理テーブルTB1を更新する。
【0103】
図9Bにおいて、更新後の画面管理テーブルTB1が示されている。ここでは、画面管理テーブルTB1において、画面データテーブル910内の入出力レコード911の入力項目Aに「12345」が設定されている。また、画面制御テーブル920内の画面位置情報データ921の画面1の位置(X,Y,Z)に(10,20,1)が設定されている。
【0104】
図8の(4)において、ランタイムシステムRSは、アプリAPLから画面2のOPEN命令を受け付けたことに応じて、画面2に対応する画面管理テーブルTBを作成して画面管理DB220に記憶する。画面2は、背景色が水色で、入力項目を一つ、出力項目を一つ持つ画面とする。また、画面1の入力項目Aの値は、画面2の出力項目Aに出力され、画面2の入力項目Bの値は、画面1の出力項目Bに出力されるものとする。
【0105】
図9Cにおいて、画面管理DB220に記憶された画面管理テーブルTB1と画面管理テーブルTB2が示されている。画面管理テーブルTB2は、画面2に対応する画面管理テーブルである。画面管理テーブルTB2は、画面データテーブル930と、画面制御テーブル940とを含む。画面データテーブル930は、入出力レコード931と画面装飾データ932を含む。入出力レコード931は、例えば、入力項目Bの初期値(空欄)と、出力項目Aの値「12345」を示す。画面装飾データ932は、例えば、画面2の背景色「水色」を示す。画面制御テーブル940は、画面位置情報データ941と最大化有無データ942を含む。画面位置情報データ941は、例えば、画面2の位置(X,Y,Z)を示す。最大化有無データ942は、画面2の最大化状態「False(初期値)」を示す。
【0106】
図10Dにおいて、画面1と画面2とが示されている。画面2は、ブラウザbrに新たに開設されたOPEN対象の画面である。ただし、この時点では、画面2はブランク画面である。
【0107】
図8の(5)において、ランタイムシステムRSは、アプリAPLからWRITE命令を受け付けたことに応じて、画面管理DB220から画面管理テーブルTBを読み込む。ここでは、
図9Cに示した画面管理テーブルTB1と画面管理テーブルTB2とが読み込まれる。つぎに、ランタイムシステムRSは、読み込んだ画面管理テーブルTB1,TB2を参照して、入力対象画面を特定する。
【0108】
ここでは、ランタイムシステムRSは、画面1と画面2のうち、直前にOPEN命令を受け付けた画面2を入力対象画面として特定する。なお、入力対象画面を特定する情報(画面2)は、アプリAPLからのWRITE命令に含まれていてもよい。そして、ランタイムシステムRSは、画面管理テーブルTB1,TB2に基づいて、画面1と画面2のうち画面2のみを入力対象画面として、画面1と画面2の双方をまとめて描画させる描画データを生成してブラウザbrに送信する。
【0109】
図10Eにおいて、画面1と画面2は、ブラウザbrに描画された画面である。ブラウザbrは、ランタイムシステムRSから描画データを受信すると、当該描画データを読み込んで、画面1と画面2の双方をまとめて描画する。画面2の出力項目Aには、画面1の入力項目Aに入力された値「12345」が出力されている。ただし、画面1と画面2のうち、画面2(入力項目B)のみが入力対象画面のため、画面1(入力項目A)への入力は受け付けない状態となっている。
【0110】
ランタイムシステムRSは、OPENされた全ての画面の画面管理テーブルTBを保持しているため、アプリAPLからの1回のWRITE命令で複数画面をブラウザbrに描画することができる。この際、ランタイムシステムRSは、画面2のみを入力対象画面とし、画面1へのデータ入力は受け付けないよう制御することができる。
【0111】
図8の(6)において、ランタイムシステムRSは、アプリAPLからREAD命令を受け付けたことに応じて、入力対象画面へのデータの入力待ち状態となる。
【0112】
図10Fにおいて、入力対象画面である画面2の入力項目Bに「abcde」が入力されている。この場合、ランタイムシステムRSは、入力項目B「abcde」と画面1,2の状態(画面の位置、最大化状態)を特定する情報を読み込む。そして、ランタイムシステムRSは、入力項目B「abcde」と画面1,2の状態を特定する情報とに基づいて、画面1,2に対応する画面管理テーブルTB1,TB2を更新する。
【0113】
図9Dにおいて、更新後の画面管理テーブルTB1,TB2が示されている。ここでは、画面管理テーブルTB1において、画面データテーブル910内の入出力レコード911の出力項目Bに「abcde」が設定されている。また、画面制御テーブル920内の画面位置情報データ921の画面1の位置(X,Y,Z)に(100,200,1)が設定されている。また、画面制御テーブル920内の最大化有無データ922に、画面1の最大化状態「False」が設定されている。
【0114】
また、画面管理テーブルTB2において、画面データテーブル930内の入出力レコード931の入力項目Bに「abcde」が設定されている。また、画面制御テーブル940内の画面位置情報データ941の画面2の位置(X,Y,Z)に(20,30,2)が設定されている。また、画面制御テーブル940内の最大化有無データ942に、画面2の最大化状態「False」が設定されている。
【0115】
図8の(7)において、ランタイムシステムRSは、アプリAPLから画面2のCLOSE命令を受け付けたことに応じて、
図9Eに示すように、画面2に対応する画面管理テーブルTB2を画面管理DB220から削除する。そして、ランタイムシステムRSは、ブラウザbrに表示された画面2を閉鎖する。この結果、
図10Gに示すように、ブラウザbrに表示された画面1と画面2のうち、画面2が閉鎖される。
【0116】
図8の(8)において、ランタイムシステムRSは、アプリAPLからWRITE命令を受け付けたことに応じて、画面管理DB220から画面管理テーブルTBを読み込む。ここでは、
図9Eに示した画面管理テーブルTB1が読み込まれる。つぎに、ランタイムシステムRSは、読み込んだ画面管理テーブルTB1を参照して、入力対象画面を特定する。
【0117】
ここでは、画面管理テーブルTB1のみのため、ランタイムシステムRSは、画面1を入力対象画面として特定する。なお、入力対象画面を特定する情報(画面1)は、アプリAPLからのWRITE命令に含まれていてもよい。そして、ランタイムシステムRSは、画面管理テーブルTB1に基づいて、画面1を入力対象画面として、画面1を描画させる描画データを生成してブラウザbrに送信する。この結果、
図10Hに示すように、ブラウザbrに画面1のみが描画される。
【0118】
図8の(9)において、ランタイムシステムRSは、アプリAPLから画面1のCLOSE命令を受け付けたことに応じて、
図9Fに示すように、画面1に対応する画面管理テーブルTB1を画面管理DB220から削除する。そして、ランタイムシステムRSは、ブラウザbrに表示された画面1を閉鎖する。この結果、
図10Iに示すように、ブラウザbrに表示された画面1が閉鎖される。
【0119】
このように、ランタイムシステムRSによれば、OPENされた各画面の画面管理テーブルTBを用いることで、シーケンシャルな処理のアプリAPLであっても、1回の通信で複数の画面の出力処理を行うことが可能となる。これにより、RW形式のレガシー資産を修正せずに、複数画面の制御を実現することができる。また、クライアント環境に依存しないため、マルチデバイス環境でRW形式のレガシー資産の複数画面の制御を実現することができる。
【0120】
(サーバ201の表示制御処理手順)
つぎに、
図11を用いて、サーバ201の表示制御処理手順について説明する。
【0121】
図11は、サーバ201の表示制御処理手順の一例を示すフローチャートである。
図11のフローチャートにおいて、まず、サーバ201は、アプリAPLからOPEN命令を受け付けたか否かを判断する(ステップS1101)。ここで、サーバ201は、OPEN命令を受け付けるのを待つ(ステップS1101:No)。
【0122】
そして、サーバ201は、OPEN命令を受け付けた場合(ステップS1101:Yes)、OPEN処理を実行する(ステップS1102)。OPEN処理の具体的な処理手順については、
図12を用いて後述する。
【0123】
つぎに、サーバ201は、アプリAPLからWRITE命令を受け付けたか否かを判断する(ステップS1103)。ここで、WRITE命令を受け付けた場合(ステップS1103:Yes)、サーバ201は、WRITE処理を実行して(ステップS1104)、ステップS1103に戻る。WRITE処理の具体的な処理手順については、
図13を用いて後述する。
【0124】
一方、WRITE命令を受け付けていない場合(ステップS1103:No)、サーバ201は、アプリAPLからREAD命令を受け付けたか否かを判断する(ステップS1105)。ここで、READ命令を受け付けた場合(ステップS1105:Yes)、サーバ201は、READ処理を実行して(ステップS1106)、ステップS1103に戻る。READ処理の具体的な処理手順については、
図14を用いて後述する。
【0125】
一方、READ命令を受け付けていない場合(ステップS1105:No)、サーバ201は、アプリAPLからOPEN命令を受け付けたか否かを判断する(ステップS1107)。ここで、OPEN命令を受け付けた場合(ステップS1107:Yes)、サーバ201は、OPEN処理を実行して(ステップS1108)、ステップS1103に戻る。
【0126】
一方、OPEN命令を受け付けていない場合(ステップS1107:No)、サーバ201は、アプリAPLからCLOSE命令を受け付けたか否かを判断する(ステップS1109)。ここで、CLOSE命令を受け付けていない場合(ステップS1109:No)、サーバ201は、ステップS1103に戻る。
【0127】
一方、CLOSE命令を受け付けた場合(ステップS1109:Yes)、サーバ201は、CLOSE処理を実行する(ステップS1110)。CLOSE処理の具体的な処理手順については、
図15を用いて後述する。そして、サーバ201は、OPENしている画面があるか否かを判断する(ステップS1111)。
【0128】
ここで、OPENしている画面がある場合(ステップS1111:Yes)、サーバ201は、ステップS1103に戻る。一方、OPENしている画面がない場合(ステップS1111:No)、サーバ201は、本フローチャートによる一連の処理を終了する。
【0129】
これにより、アプリAPLからの命令(OPEN、WRITE、READ、CLOSE)に応じて、各種処理を実行することができる。
【0130】
つぎに、
図12を用いて、
図11に示したステップS1102,S1108のOPEN処理の具体的な処理手順について説明する。
【0131】
図12は、OPEN処理の具体的処理手順の一例を示すフローチャートである。
図12のフローチャートにおいて、まず、サーバ201は、画面管理DB220に画面管理テーブルTBが存在するか否かを判断する(ステップS1201)。
【0132】
ここで、画面管理テーブルTBが存在しない場合(ステップS1201:No)、サーバ201は、1画面分の画面管理テーブルTBに必要なメモリ領域を確保する(ステップS1202)。このメモリ領域は、画面管理DB220に相当する。
【0133】
つぎに、サーバ201は、OPEN対象の画面に対応する画面管理テーブルTBを作成する(ステップS1203)。そして、サーバ201は、作成した画面管理テーブルTBを、確保したメモリ領域に記憶して(ステップS1204)、OPEN処理を呼び出したステップに戻る。
【0134】
また、ステップS1201において、画面管理テーブルTBが存在する場合(ステップS1201:Yes)、サーバ201は、現在確保しているメモリ領域よりも1画面分大きいメモリ領域を確保する(ステップS1205)。そして、サーバ201は、既にある画面管理テーブルTBを、新たに確保したメモリ領域にコピーする(ステップS1206)。
【0135】
つぎに、サーバ201は、OPEN対象の画面に対応する画面管理テーブルTBを作成する(ステップS1207)。そして、サーバ201は、作成した画面管理テーブルTBを、確保したメモリ領域に記憶し(ステップS1208)、コピー元のメモリ領域を解放して(ステップS1209)、OPEN処理を呼び出したステップに戻る。
【0136】
これにより、OPENされた全ての画面について、画面管理テーブルTBを作成して画面管理DB220(メモリ領域)に保持することができる。
【0137】
つぎに、
図13を用いて、
図11に示したステップS1104のWRITE処理の具体的な処理手順について説明する。
【0138】
図13は、WRITE処理の具体的処理手順の一例を示すフローチャートである。
図13のフローチャートにおいて、まず、サーバ201は、画面管理DB220から未処理の画面管理テーブルTBを読み込む(ステップS1301)。
【0139】
つぎに、サーバ201は、読み込んだ画面管理テーブルTBの画面制御テーブル520を参照して、HTMLおよびJavaScriptを用いて、画面制御情報を生成する(ステップS1302)。画面制御情報は、画面制御に関わる情報であり、例えば、画面の表示位置、画面間の重なり、画面の最大化状態などを示す。
【0140】
つぎに、サーバ201は、読み込んだ画面管理テーブルTBが次のREAD対象の画面(入力対象画面)であるか否かを判断する(ステップS1303)。なお、入力対象画面を特定する情報は、例えば、アプリAPLからのWRITE命令に含まれる。ここで、次のREAD対象の画面である場合(ステップS1303:Yes)、サーバ201は、画面管理テーブルTBの画面データテーブル510を参照して、HTMLおよびJavaScriptを用いて、画面表示情報を生成して(ステップS1304)、ステップS1306に移行する。画面表示情報は、表示する画面の内容に関わる情報である。
【0141】
一方、次のREAD対象の画面ではない場合(ステップS1303:No)、サーバ201は、画面管理テーブルTBの画面データテーブル510を参照して、HTMLおよびJavaScriptを用いて、入力項目を出力項目に変換した画面表示情報を生成する(ステップS1305)。
【0142】
そして、サーバ201は、生成した画面制御情報および画面表示情報を、画面情報(ブラウザbrに描画させる描画データ)に追加する(ステップS1306)。つぎに、サーバ201は、画面管理DB220に未処理の画面管理テーブルTBがあるか否かを判断する(ステップS1307)。
【0143】
ここで、未処理の画面管理テーブルTBがある場合(ステップS1307:Yes)、サーバ201は、ステップS1301に戻る。一方、未処理の画面管理テーブルTBがない場合(ステップS1307:No)、サーバ201は、端末装置202のブラウザbrに画面情報を送信して(ステップS1308)、WRITE処理を呼び出したステップに戻る。
【0144】
これにより、OPENされた各画面の画面管理テーブルTBを用いて、アプリAPLからの1回のWRITE命令で複数画面をブラウザbrに描画することができる。
【0145】
つぎに、
図14を用いて、
図11に示したステップS1106のREAD処理の具体的な処理手順について説明する。
【0146】
図14は、READ処理の具体的処理手順の一例を示すフローチャートである。
図14のフローチャートにおいて、まず、サーバ201は、READ対象の画面にデータが入力されたか否かを判断する(ステップS1401)。ここで、サーバ201は、READ対象の画面にデータが入力されるのを待つ(ステップS1401:No)。
【0147】
そして、サーバ201は、READ対象の画面にデータが入力された場合(ステップS1401:Yes)、READ対象の画面に入力されたデータと、OPENされた画面の状態を特定する情報とを取得する(ステップS1402)。
【0148】
つぎに、サーバ201は、画面管理DB220から未処理の画面管理テーブルTBを読み込む(ステップS1403)。そして、サーバ201は、入力されたデータを参照して、読み込んだ画面管理テーブルTBの画面データテーブル510を更新する(ステップS1404)。
【0149】
つぎに、サーバ201は、画面の状態を特定する情報を参照して、読み込んだ画面管理テーブルTBの画面制御テーブル520を更新する(ステップS1405)。そして、サーバ201は、画面管理DB220に未処理の画面管理テーブルTBがあるか否かを判断する(ステップS1406)。
【0150】
ここで、未処理の画面管理テーブルTBがある場合(ステップS1406:Yes)、サーバ201は、ステップS1403に戻る。一方、未処理の画面管理テーブルTBがない場合(ステップS1406:No)、サーバ201は、READ処理を呼び出したステップに戻る。
【0151】
これにより、READ対象の画面(入力対象画面)へデータが入力されたことに応じて、各画面の画面管理テーブルTBを更新することができる。
【0152】
つぎに、
図15を用いて、
図11に示したステップS1110のCLOSE処理の具体的な処理手順について説明する。
【0153】
図15は、CLOSE処理の具体的処理手順の一例を示すフローチャートである。
図15のフローチャートにおいて、まず、サーバ201は、画面管理DB220に画面管理テーブルTBが2画面分以上存在するか否かを判断する(ステップS1501)。
【0154】
ここで、画面管理テーブルTBが1画面分存在する場合(ステップS1501:No)、サーバ201は、現在確保しているメモリ領域を解放して(ステップS1502)、CLOSE処理を呼び出したステップに戻る。
【0155】
一方、画面管理テーブルTBが2画面分以上存在する場合(ステップS1501:Yes)、サーバ201は、現在確保しているメモリ領域より1画面分小さいメモリ領域を確保する(ステップS1503)。
【0156】
つぎに、サーバ201は、CLOSE対象の画面以外の画面管理テーブルTBを、新たに確保したメモリ領域にコピーする(ステップS1504)。そして、サーバ201は、コピー元のメモリ領域を解放して(ステップS1505)、CLOSE処理を呼び出したステップに戻る。
【0157】
これにより、アプリAPLからのCLOSE命令に応じて、CLOSE対象の画面の画面管理テーブルTBを画面管理DB220から削除することができる。
【0158】
以上説明したように、実施の形態にかかるサーバ201(表示制御装置101)によれば、複数の処理を予め決められた処理順序に従って実行するシーケンシャル処理により画面の入出力制御をするアプリAPLから、端末装置202に新たな画面を描画させる描画要求を受け付けたことに応じて、新たな画面についての設定を示す設定情報を作成して記憶部610に記憶することができる。そして、サーバ201(表示制御装置101)によれば、記憶部610に新たな画面についての設定情報のみが記憶されている場合、新たな画面についての設定情報に基づいて、新たな画面を入力対象画面として、新たな画面を描画させる描画データを端末装置202に送信することができる。また、サーバ201(表示制御装置101)によれば、記憶部610に複数の画面それぞれについての設定情報が記憶されている場合、複数の画面それぞれについての設定情報に基づいて、複数の画面のうち新たな画面のみを入力対象画面として、複数の画面をまとめて描画させる描画データを端末装置202に送信することができる。
【0159】
これにより、複数の画面がOPEN(開設)された場合であっても、OPENされた各画面の設定情報(画面管理テーブルTB)を用いて、アプリAPLからの1回のWRITE命令で複数画面をブラウザbrに描画することができる。また、入力対象となる画面の設定を制御できるため、アプリAPLとブラウザbrとの1つの通信経路での複数画面の出力を実現することができる。
【0160】
また、サーバ201(表示制御装置101)によれば、端末装置202に描画された入力対象画面に入力されたデータを取得し、取得したデータに基づいて、記憶部610に記憶された設定情報を更新することができる。
【0161】
これにより、READ対象の画面(入力対象画面)へデータが入力されたことに応じて、各画面の表示内容を構成する情報(入出力項目)を更新することができる。
【0162】
また、サーバ201(表示制御装置101)によれば、端末装置202に描画された画面の状態を特定する情報をさらに取得し、取得したデータと画面の状態を特定する情報に基づいて、記憶部610に記憶された設定情報を更新することができる。
【0163】
これにより、READ対象の画面(入力対象画面)へデータが入力されたことに応じて、各画面の配置を制御する情報(画面位置、最大化状態)を更新することができる。
【0164】
また、サーバ201(表示制御装置101)によれば、記憶部610に記憶された複数の画面それぞれについての設定情報が更新された場合、アプリAPLから端末装置202に画面を描画させる描画要求を受け付けたことに応じて、更新後の複数の画面それぞれについての設定情報に基づいて、複数の画面から入力対象となる画面を特定し、特定した画面のみを入力対象画面として、複数の画面をまとめて描画させる描画データを端末装置202に送信することができる。
【0165】
これにより、READ対象の画面(入力対象画面)に入力されたデータや、OPENしている画面の状態変化に基づく各画面の更新内容を反映した複数画面をブラウザbrに描画することができる。
【0166】
また、サーバ201(表示制御装置101)によれば、端末装置202に描画されたいずれかの画面の描画を終了させる描画終了要求をアプリAPLから受け付けた場合、記憶部610に記憶された当該いずれかの画面についての設定情報を削除することができる。
【0167】
これにより、アプリAPLからのCLOSE命令に応じて、CLOSE対象の画面の設定情報(画面管理テーブルTB)を削除することができる。
【0168】
また、サーバ201(表示制御装置101)によれば、記憶部610に記憶された複数の画面それぞれについての設定情報のうちいずれかの画面についての設定情報が削除された場合、アプリAPLから端末装置202に画面を描画させる描画要求を受け付けたことに応じて、複数の画面のうち当該いずれかの画面以外の画面それぞれについての設定情報に基づいて、当該いずれかの画面以外の画面から入力対象となる画面を特定し、特定した画面のみを入力対象画面として、当該いずれかの画面以外の画面をまとめて描画させる描画データを端末装置202に送信することができる。
【0169】
これにより、CLOSE対象の画面以外の残りの画面をブラウザbrに描画することができる。
【0170】
これらのことから、サーバ201(表示制御装置101)によれば、既存のアプリAPL(例えば、RW形式のレガシー資産)の改修を行うことなく、ランタイムシステムRSにより複数画面の入出力を制御することができる。また、クライアント環境に依存しないため、マルチデバイス環境でRW形式のレガシー資産の複数画面の制御を実現することができる。また、何らかの異常が発生した場合に、全ての画面を一括して閉じることが可能なため、画面の閉じ忘れを防止することができる。
【0171】
なお、本実施の形態で説明した表示制御方法は、予め用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本表示制御プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、DVD、USBメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本表示制御プログラムは、インターネット等のネットワークを介して配布してもよい。
【0172】
また、本実施の形態で説明した表示制御装置101は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けICやFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。
【0173】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0174】
(付記1)複数の処理を予め決められた処理順序に従って実行するシーケンシャル処理により画面の入出力制御をするアプリケーションから受け付けた、端末装置の表示部に第1の画面を描画させる描画要求に応じて、前記第1の画面についての設定を示す第1の設定情報を作成して記憶部に記憶し、
前記第1の設定情報に基づいて、前記第1の画面を描画させる描画データを前記端末装置に送信し、
前記第1の画面が前記表示部に表示された状態で、前記表示部に第2の画面を描画させる描画要求を前記アプリケーションから受け付けた場合、前記第2の画面についての設定を示す第2の設定情報を作成して記憶部に記憶し、
前記第1の設定情報と前記第2の設定情報とに基づいて、前記第1の画面と前記第2の画面のうち前記第2の画面のみを入力対象画面とし、前記第1の画面と前記第2の画面の双方をまとめて描画させる描画データを前記端末装置に送信する、
処理をコンピュータに実行させることを特徴とする表示制御プログラム。
【0175】
(付記2)複数の処理を予め決められた処理順序に従って実行するシーケンシャル処理により画面の入出力制御をするアプリケーションから、端末装置に新たな画面を描画させる描画要求を受け付けたことに応じて、前記新たな画面についての設定を示す設定情報を作成して記憶部に記憶し、
前記記憶部に前記新たな画面についての設定情報のみが記憶されている場合、前記新たな画面についての設定情報に基づいて、前記新たな画面を入力対象画面として、前記新たな画面を描画させる描画データを前記端末装置に送信し、
前記記憶部に複数の画面それぞれについての設定情報が記憶されている場合、前記複数の画面それぞれについての設定情報に基づいて、前記複数の画面のうち前記新たな画面のみを入力対象画面として、前記複数の画面をまとめて描画させる描画データを前記端末装置に送信する、
処理をコンピュータに実行させることを特徴とする表示制御プログラム。
【0176】
(付記3)前記端末装置に描画された前記入力対象画面に入力されたデータを取得し、
取得した前記データに基づいて、前記記憶部に記憶された設定情報を更新する、
処理を前記コンピュータに実行させることを特徴とする付記2に記載の表示制御プログラム。
【0177】
(付記4)前記取得する処理は、
前記端末装置に描画された画面の状態を特定する情報をさらに取得し、
前記更新する処理は、
取得した前記データと前記画面の状態を特定する情報に基づいて、前記記憶部に記憶された設定情報を更新する、ことを特徴とする付記3に記載の表示制御プログラム。
【0178】
(付記5)前記記憶部に記憶された前記複数の画面それぞれについての設定情報が更新された場合、前記アプリケーションから前記端末装置に画面を描画させる描画要求を受け付けたことに応じて、更新後の前記複数の画面それぞれについての設定情報に基づいて、前記複数の画面から入力対象となる画面を特定し、特定した前記画面のみを入力対象画面として、前記複数の画面をまとめて描画させる描画データを前記端末装置に送信する、
処理を前記コンピュータに実行させることを特徴とする付記3または4に記載の表示制御プログラム。
【0179】
(付記6)前記端末装置に描画されたいずれかの画面の描画を終了させる描画終了要求を前記アプリケーションから受け付けた場合、前記記憶部に記憶された前記いずれかの画面についての設定情報を削除する、
処理を前記コンピュータに実行させることを特徴とする付記2~4のいずれか一つに記載の表示制御プログラム。
【0180】
(付記7)前記記憶部に記憶された前記複数の画面それぞれについての設定情報のうち前記いずれかの画面についての設定情報が削除された場合、前記アプリケーションから前記端末装置に画面を描画させる描画要求を受け付けたことに応じて、前記複数の画面のうち前記いずれかの画面以外の画面それぞれについての設定情報に基づいて、前記いずれかの画面以外の画面から入力対象となる画面を特定し、特定した前記画面のみを入力対象画面として、前記いずれかの画面以外の画面をまとめて描画させる描画データを前記端末装置に送信する、
処理を前記コンピュータに実行させることを特徴とする付記6に記載の表示制御プログラム。
【0181】
(付記8)前記設定情報は、前記端末装置に描画させる画面の表示内容に関する情報と、前記画面の配置に関する情報とを含む、ことを特徴とする付記2~7のいずれか一つに記載の表示制御プログラム。
【0182】
(付記9)前記描画データは、HTML(HyperText Markup Language)およびJavascriptを用いて生成される、ことを特徴とする付記2~8のいずれか一つに記載の表示制御プログラム。
【0183】
(付記10)複数の処理を予め決められた処理順序に従って実行するシーケンシャル処理により画面の入出力制御をするアプリケーションから受け付けた、端末装置の表示部に第1の画面を描画させる描画要求に応じて、前記第1の画面についての設定を示す第1の設定情報を作成して記憶部に記憶し、
前記第1の設定情報に基づいて、前記第1の画面を描画させる描画データを前記端末装置に送信し、
前記第1の画面が前記表示部に表示された状態で、前記表示部に第2の画面を描画させる描画要求を前記アプリケーションから受け付けた場合、前記第2の画面についての設定を示す第2の設定情報を作成して記憶部に記憶し、
前記第1の設定情報と前記第2の設定情報とに基づいて、前記第1の画面と前記第2の画面のうち前記第2の画面のみを入力対象画面とし、前記第1の画面と前記第2の画面の双方をまとめて描画させる描画データを前記端末装置に送信する、
処理をコンピュータが実行することを特徴とする表示制御方法。
【0184】
(付記11)複数の処理を予め決められた処理順序に従って実行するシーケンシャル処理により画面の入出力制御をするアプリケーションから、端末装置に新たな画面を描画させる描画要求を受け付けたことに応じて、前記新たな画面についての設定を示す設定情報を作成して記憶部に記憶し、
前記記憶部に前記新たな画面についての設定情報のみが記憶されている場合、前記新たな画面についての設定情報に基づいて、前記新たな画面を入力対象画面として、前記新たな画面を描画させる描画データを前記端末装置に送信し、
前記記憶部に複数の画面それぞれについての設定情報が記憶されている場合、前記複数の画面それぞれについての設定情報に基づいて、前記複数の画面のうち前記新たな画面のみを入力対象画面として、前記複数の画面をまとめて描画させる描画データを前記端末装置に送信する、
処理をコンピュータが実行することを特徴とする表示制御方法。
【0185】
(付記12)複数の処理を予め決められた処理順序に従って実行するシーケンシャル処理により画面の入出力制御をするアプリケーションから受け付けた、端末装置の表示部に第1の画面を描画させる描画要求に応じて、前記第1の画面についての設定を示す第1の設定情報を作成して記憶部に記憶し、
前記第1の設定情報に基づいて、前記第1の画面を描画させる描画データを前記端末装置に送信し、
前記第1の画面が前記表示部に表示された状態で、前記表示部に第2の画面を描画させる描画要求を前記アプリケーションから受け付けた場合、前記第2の画面についての設定を示す第2の設定情報を作成して記憶部に記憶し、
前記第1の設定情報と前記第2の設定情報とに基づいて、前記第1の画面と前記第2の画面のうち前記第2の画面のみを入力対象画面とし、前記第1の画面と前記第2の画面の双方をまとめて描画させる描画データを前記端末装置に送信する、
制御部を有することを特徴とする表示制御装置。
【0186】
(付記13)複数の処理を予め決められた処理順序に従って実行するシーケンシャル処理により画面の入出力制御をするアプリケーションから、端末装置に新たな画面を描画させる描画要求を受け付けたことに応じて、前記新たな画面についての設定を示す設定情報を作成して記憶部に記憶し、
前記記憶部に前記新たな画面についての設定情報のみが記憶されている場合、前記新たな画面についての設定情報に基づいて、前記新たな画面を入力対象画面として、前記新たな画面を描画させる描画データを前記端末装置に送信し、
前記記憶部に複数の画面それぞれについての設定情報が記憶されている場合、前記複数の画面それぞれについての設定情報に基づいて、前記複数の画面のうち前記新たな画面のみを入力対象画面として、前記複数の画面をまとめて描画させる描画データを前記端末装置に送信する、
制御部を有することを特徴とする表示制御装置。
【符号の説明】
【0187】
101 表示制御装置
102,202 端末装置
110,610 記憶部
120 設定情報
130 表示部
200 表示制御システム
201 サーバ
210 ネットワーク
220 画面管理DB
300,400 バス
301,401 CPU
302,402 メモリ
303 ディスクドライブ
304 ディスク
305,403 通信I/F
306,406 可搬型記録媒体I/F
307,407 可搬型記録媒体
404 ディスプレイ
405 入力装置
510,910,930 画面データテーブル
511,911,931 入出力レコード
512,912,932 画面装飾データ
520,920,940 画面制御テーブル
521,921,941 画面位置情報データ
522,922,942 最大化有無データ
601 受付部
602 作成部
603 生成部
604 出力部
605 更新部