(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-27
(45)【発行日】2024-07-05
(54)【発明の名称】情報処理システム、情報処理システムの制御方法、及びプログラム
(51)【国際特許分類】
G06F 3/0481 20220101AFI20240628BHJP
【FI】
G06F3/0481
(21)【出願番号】P 2019226357
(22)【出願日】2019-12-16
【審査請求日】2022-07-11
(73)【特許権者】
【識別番号】000233491
【氏名又は名称】株式会社日立システムズ
(74)【代理人】
【識別番号】110000176
【氏名又は名称】弁理士法人一色国際特許事務所
(72)【発明者】
【氏名】是木 玄太
(72)【発明者】
【氏名】前岡 淳
(72)【発明者】
【氏名】河合 克己
(72)【発明者】
【氏名】芳ケ迫 仁
【審査官】木内 康裕
(56)【参考文献】
【文献】特表2017-517059(JP,A)
【文献】特開2012-160034(JP,A)
【文献】米国特許出願公開第2012/0159311(US,A1)
【文献】特開2010-092128(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/01
G06F 3/048 - 3/04895
(57)【特許請求の範囲】
【請求項1】
第1情報処理装置と、前記第1情報処理装置と通信可能に接続する第2情報処理装置とを含み、
前記第1情報処理装置が、画面を構成する部品の記述を含むソースコードを前記第2情報処理装置から受信し、前記ソースコードに基づき生成される画面の一部の領域を表示装置に表示する、情報処理システムであって、
前記第1情報処理装置は、
前記ソースコードを解析することにより、前記画面に表示するデータである表示データを表示する前記部品である表示部品を特定し、
前記ソースコードに記述されている前記表示部品の夫々に用いられている識別子である表示部品IDを前記第2情報処理装置に送信し、
前記第2情報処理装置は、前記表示部品IDを受信し、前記表示データを前記表示部品IDに対応づけて前記第1情報処理装置に送信し、
前記第1情報処理装置は、
前記表示データを受信し、
前記ソースコードに基づき生成される画面のうち、前記表示装置に現在表示している領域である現在表示領域を特定し、
前記表示部品が前記現在表示領域に含まれるか否かを、前記表示部品の座標位置及びサイズを前記現在表示領域の座標位置及びサイズと照合することにより判定し、
前記現在表示領域に含まれると判定した前記表示部品である表示中部品について、前記表示中部品でない前記表示部品よりも優先して前記表示データが表示されるようにするための優先度を設定し、
前記優先度の高いものから順に前記表示部品を選択し、
選択した前記表示部品が前記表示中部品である場合、前記表示中部品の前記表示部品IDが対応付けられている前記表示データを前記表示中部品に入力
し、
前記ソースコードに基づき、前記表示部品の夫々の前記優先度の設定を行う処理と、前記優先度の高い前記表示部品に前記表示データを優先して入力する処理と、を実現するソースコードを含む修正ソースコードを生成し、生成した前記修正ソースコードに基づき生成される画面を前記表示装置に表示する、
情報処理システム。
【請求項2】
請求項1に記載の情報処理システムであって、
前記第1情報処理装置は、受信した前記ソースコードに記述されている前記表示部品の夫々に表示する前記表示データの仕様を示す情報であるデータ仕様情報を当該ソースコードから取得し、取得した前記データ仕様情報を前記第2情報処理装置に送信し、
前記第2情報処理装置は、前記データ仕様情報に準じた仕様の前記表示データを前記第1情報処理装置に送信する、
情報処理システム。
【請求項3】
請求項1に記載の情報処理システムであって、
前記第2情報処理装置は、前記画面としてWebページを前記第1情報処理装置に提供するWebサーバとして機能し、
前記第1情報処理装置は、前記WebページをWebブラウザにより前記表示装置に表示し、
前記現在表示領域は、前記WebページのうちWebブラウザが現在表示中の領域である、
情報処理システム。
【請求項4】
請求項3に記載の情報処理システムであって、
前記Webブラウザに対して前記画面のスクロール操作が行われたこと、又は前記Webブラウザに新たな前記ソースコードがロードされたことを契機として、前記表示部品についての前記優先度の設定を行う、
情報処理システム。
【請求項5】
請求項1に記載の情報処理システムであって、
前記ソースコードは、マークアップ言語を用いて記述されたコードと、スタイルシートにより記述されたコードと、を含む、
情報処理システム。
【請求項6】
第1情報処理装置と、前記第1情報処理装置と通信可能に接続する第2情報処理装置とを含み、
前記第1情報処理装置が、画面を構成する部品の記述を含むソースコードを前記第2情報処理装置から受信し、前記ソースコードに基づき生成される画面の一部の領域を表示装置に表示する、
情報処理システムの制御方法であって、
前記第1情報処理装置が、
前記ソースコードを解析することにより、前記画面に表示するデータである表示データを表示する前記部品である表示部品を特定するステップ、及び、
前記ソースコードに記述されている前記表示部品の夫々に用いられている識別子である表示部品IDを前記第2情報処理装置に送信するステップを実行し、
前記第2情報処理装置が、前記表示部品IDを受信し、前記表示データを前記表示部品IDに対応づけて前記第1情報処理装置に送信するステップを実行し、
前記第1情報処理装置が、
前記表示データを受信するステップ、
前記ソースコードに基づき生成される画面のうち、前記表示装置に現在表示している領域である現在表示領域を特定するステップ、
前記表示部品が前記現在表示領域に含まれるか否かを、前記表示部品の座標位置及びサイズを前記現在表示領域の座標位置及びサイズと照合することにより判定するステップ、
前記現在表示領域に含まれると判定した前記表示部品である表示中部品について、前記表示中部品でない前記表示部品よりも優先して前記表示データが表示されるようにするための優先度を設定するステップ、
前記優先度の高いものから順に前記表示部品を選択するステップ
、
選択した前記表示部品が前記表示中部品である場合、前記表示中部品の前記表示部品IDが対応付けられている前記表示データを前記表示中部品に入力するステップ、
及び、
前記ソースコードに基づき、前記表示部品の夫々の前記優先度の設定を行う処理と、前記優先度の高い前記表示部品に前記表示データを優先して入力する処理と、を実現するソースコードを含む修正ソースコードを生成し、生成した前記修正ソースコードに基づき生成される画面を前記表示装置に表示するステップ、
を実行する、
情報処理システムの制御方法。
【請求項7】
請求項
6に記載の情報処理システムの制御方法であって、
前記第1情報処理装置が、受信した前記ソースコードに記述されている前記表示部品の夫々に表示する前記表示データの仕様を示す情報であるデータ仕様情報を当該ソースコードから取得し、取得した前記データ仕様情報を前記第2情報処理装置に送信するステップ、
前記第2情報処理装置が、前記データ仕様情報に準じた仕様の前記表示データを前記第1情報処理装置に送信するステップ、
をさらに実行する、情報処理システムの制御方法。
【請求項8】
請求項1に記載の情報処理システムにおける前記第1情報処理装置に、
前記ソースコードを解析することにより、前記画面に表示するデータである表示データを表示する前記部品である表示部品を特定する機能、
前記ソースコードに記述されている前記表示部品の夫々に用いられている識別子である表示部品IDを前記第2情報処理装置に送信する機能、
前記表示データを受信する機能、
前記ソースコードに基づき生成される画面のうち、前記表示装置に現在表示している領域である現在表示領域を特定する機能、
前記現在表示領域に表示する前記表示部品である表示中部品を特定する機能、
前記表示部品が前記現在表示領域に含まれるか否かを、前記表示部品の座標位置及びサイズを前記現在表示領域の座標位置及びサイズと照合することにより判定する機能、
前記現在表示領域に含まれると判定した前記表示部品である表示中部品について、前記表示中部品でない前記表示部品よりも優先して前記表示データが表示されるようにするための優先度を設定する機能、
前記優先度の高いものから順に前記表示部品を選択する機能
、
選択した前記表示部品が前記表示中部品である場合、前記表示中部品の前記表示部品IDが対応付けられている前記表示データを前記表示中部品に入力する機能、及び、
前記ソースコードに基づき、前記表示部品の夫々の前記優先度の設定を行う処理と、前記優先度の高い前記表示部品に前記表示データを優先して入力する処理と、を実現するソースコードを含む修正ソースコードを生成し、生成した前記修正ソースコードに基づき生成される画面を前記表示装置に表示する機能、
を実現するためのプログラム。
【請求項9】
請求項
8に記載のプログラムであって、
前記第1情報処理装置に、受信した前記ソースコードに記述されている前記表示部品の夫々に表示する前記表示データの仕様を示す情報であるデータ仕様情報を当該ソースコードから取得し、取得した前記データ仕様情報を前記第2情報処理装置に送信する機能、
を実現するためのプログラムを更に含むプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理システムの制御方法、及びプログラムに関する。
【背景技術】
【0002】
特許文献1には、検索サービスに対するクエリの検索結果を画面に表示するためのロジックを容易に定義できるようにすることを目的として構成されたアプリケーション実行環境に関して記載されている。アプリケーションサーバは、検索サービスに対する検索条件を指定するためのクエリをアクション定義として記憶し、クライアント装置の要求によりアクション定義を取得し、アクション定義におけるクエリに基づき検索サービスから検索結果を取得し、処理結果としてクライアント装置へ送信する。クライアント装置は、アプリケーションサーバより送信された処理結果に従い、処理結果表示オブジェクトが配置された画面を表示する。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
一般にWebシステムにおいては、多数のデータを表示するWebページがサーバ装置からクライアント装置に送られた際、クライアント装置側は送られてきたデータを一様に表示している。そのため、例えば、ユーザが参照しようとしているデータと異なるデータの表示処理が先行して行われた場合はUX(User eXperience)が低下するという課題が
ある。
【0005】
特許文献1では、アクション定義として、REST方式のレスポンスデータのうちいずれの部分データ構成を利用するかを指定し、指定された部分データから取得されたデータ項目のうちいずれのデータ項目の値をいずれの処理結果オブジェクトに対応付けるかを指定する抽出式を設定することができる。しかし抽出式は予めユーザが設定しておく必要があり、実施化した場合はユーザの負担が大きい。
【0006】
本発明はこのような背景に鑑みてなされたものであり、ユーザに多数のデータを表示する画面を提供する際のUX(User eXperience)を高めることが可能な、情報処理システ
ム、情報処理システムの制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するための本発明の一つは、第1情報処理装置と、前記第1情報処理装置と通信可能に接続する第2情報処理装置とを含み、前記第1情報処理装置が、画面を構成する部品の記述を含むソースコードを前記第2情報処理装置から受信し、前記ソースコードに基づき生成される画面の一部の領域を表示装置に表示する、情報処理システムであって、前記第1情報処理装置は、前記ソースコードを解析することにより、前記画面に表示するデータである表示データを表示する前記部品である表示部品を特定し、前記ソースコードに記述されている前記表示部品の夫々に用いられている識別子である表示部品IDを前記第2情報処理装置に送信し、前記第2情報処理装置は、前記表示部品IDを受信し、前記表示データを前記表示部品IDに対応づけて前記第1情報処理装置に送信し、前記第1情報処理装置は、前記表示データを受信し、前記ソースコードに基づき生成される画面のうち、前記表示装置に現在表示している領域である現在表示領域を特定し、前記表示部品が前記現在表示領域に含まれるか否かを、前記表示部品の座標位置及びサイズを前記現在表示領域の座標位置及びサイズと照合することにより判定し、前記現在表示領域に含まれると判定した前記表示部品である表示中部品について、前記表示中部品でない前記表示部品よりも優先して前記表示データが表示されるようにするための優先度を設定し、前記優先度の高いものから順に前記表示部品を選択し、選択した前記表示部品が前記表示中部品である場合、前記表示中部品の前記表示部品IDが対応付けられている前記表示データを前記表示中部品に入力し、前記ソースコードに基づき、前記表示部品の夫々の前記優先度の設定を行う処理と、前記優先度の高い前記表示部品に前記表示データを優先して入力する処理と、を実現するソースコードを含む修正ソースコードを生成し、生成した前記修正ソースコードに基づき生成される画面を前記表示装置に表示する。
【0008】
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄、及び図面により明らかにされる。
【発明の効果】
【0009】
本発明によれば、ユーザに多数のデータを表示する画面を提供する際のUX(User eXperience)を高めることができる。
【図面の簡単な説明】
【0010】
【
図1】情報処理システムの概略的な構成を示す図である。
【
図2】情報処理システムを構成する情報処理装置のハードウェア構成の一例である。
【
図3】第1情報処理装置が備える主な機能を示す図である。
【
図4】第2情報処理装置が備える主な機能を示す図である。
【
図9】画面表示処理を説明するフローチャートである。
【
図10】(a)はHTMLで記述されたソースコードの一例であり、(b)はスタイルシート(CSS)の一例である。
【
図11】第1情報処理装置がWebブラウザに表示するWebページの例である。
【
図12】優先度更新処理を説明するフローチャートである。
【
図14】データ表示処理を説明するフローチャートである。
【
図15】表示データの値を表示部品に代入する仕組みを説明する図である。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態について図面を参照しつつ説明する。以下の説明において、同一の又は類似する構成について共通の符号を付して重複した説明を省略することがある。
【0012】
図1に一実施形態として説明する情報処理システム1の概略的な構成を示している。情報処理システム1は、一つ以上の第1情報処理装置100と第2情報処理装置200とを含む。第1情報処理装置100及び第2情報処理装置200は、通信ネットワーク5を介して通信可能に接続されている。通信ネットワーク5は、有線方式又は無線方式の通信基盤であり、例えば、WAN(Wide Area Network)、LAN(Local Area Network)、イ
ンターネット、専用線、公衆通信網等である。
【0013】
情報処理システム1は、例えば、Webシステムとして構成され、その場合、第2情報処理装置200は、例えば、BtoCシステムやBtoBシステム、ソフトウェア開発業務等の各種業務に関する機能を提供するWebアプリケーションが実行されるWebサーバとして機能し、また第1情報処理装置100は、第2情報処理装置200(Webサーバ)にアクセスするWebクライアントとして機能する。尚、以下の説明では、情報処理システム1がこのような構成を有している場合を例として説明する。
【0014】
第2情報処理装置200は、第1情報処理装置100に画面(以下、「Webページ」と称する。)を表示させるマークアップ言語やプログラム言語等の所定の言語(HTML(HyperText Markup Language)、XML(eXtensible Markup Language)、CSS(Cascading Style Sheets)、JavaScript(登録商標)、TypeScript等
)で記述されたソースコードを第1情報処理装置100に送信する。第2情報処理装置200は、データベースを備えており、Webページの表示に用いるデータ(以下、「表示データ」と称する。)を生成するためのデータを上記データベースから適宜取得し、取得したデータもしくは当該データに基づき生成したデータを表示データとして第1情報処理装置100に送信する。第1情報処理装置100は、第2情報処理装置200からソースコードや表示データを受信し、受信したソースコードや表示データに基づくWebページをWebブラウザを介して表示する。第2情報処理装置200及び第1情報処理装置100は、上記表示データを含む各種のデータを、例えば、CSV(comma-separated values)やJSON (JavaScript(登録商標) Object Notation)等の所定の記述形式で管理す
る。
【0015】
図2は、第1情報処理装置100や第2情報処理装置200の実現に用いる情報処理装置のハードウェア構成の一例である。同図に示すように、例示する情報処理装置10は、プロセッサ11、主記憶装置12、補助記憶装置13、入力装置14、出力装置15、及び通信装置16を備える。これらは図示しないバス(bus)等の通信手段を介して通信可
能に接続されている。情報処理装置10には、例えば、オペレーティングシステム、デバイスドライバ、ファイルシステム、DBMS(DataBase Management System)(リレーショナルデータベース、NoSQL等)等が導入されていてもよい。情報処理装置10は、例えば、デスクトップ型のパーソナルコンピュータ、オフィスコンピュータ、メインフレーム、移動通信端末(スマートフォン、タブレット、ウェアラブル端末、ノートブック型のパーソナルコンピュータ等である。情報処理装置10は、例えば、クラウドシステムにより提供されるクラウドサーバのように仮想的な情報処理資源を用いて実現されるものであってもよい。
【0016】
プロセッサ11は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)、AI(Artificial Intelligence)チップ、FPGA(Field Programmable Gate Array)、ASIC(Application Specific Integrated Circuit)等を用いて構成されている。
【0017】
主記憶装置12は、プログラムやデータを記憶する装置であり、例えば、ROM(Read
Only Memory)、RAM(Random Access Memory)、不揮発性メモリ(NVRAM(Non Volatile RAM))等である。補助記憶装置13は、例えば、SSD(Solid State Drive
)、ハードディスクドライブ、光学式記憶装置(CD(Compact Disc)、DVD(Digital Versatile Disc)等)、ストレージシステム、ICカード、SDカードや光学式記録媒体等の記録媒体の読取/書込装置、クラウドサーバの記憶領域等である。補助記憶装置13には、記録媒体の読取装置や通信装置16を介してプログラムやデータを読み込むことができる。補助記憶装置13に格納(記憶)されているプログラムやデータは主記憶装置12に随時読み込まれる。
【0018】
入力装置14は、外部からの入力を受け付けるインタフェースであり、例えば、キーボード、マウス、タッチパネル、カードリーダ、音声入力装置等である。出力装置15は、処理経過や処理結果等の各種情報を出力するインタフェースである。出力装置15は、例えば、上記の各種情報を可視化する表示装置(液晶モニタ、LCD(Liquid Crystal Display)、グラフィックカード等)、上記の各種情報を音声化する装置(音声出力装置(スピーカ等))、上記の各種情報を文字化する装置(印字装置等)である。尚、例えば、情報処理装置10が通信装置16を介して他の装置(スマートフォン、タブレット、ノートブック型コンピュータ、各種携帯情報端末等)と情報の入力や出力を行う構成としてもよい。
【0019】
通信装置16は、他の装置との間の通信を実現する。通信装置16は、通信ネットワー
ク5を介した他の装置との間の通信を実現する無線方式又は有線方式の通信インタフェースであり、例えば、NIC(Network Interface Card)、無線通信モジュール、USB(Universal Serial Bus)モジュール、シリアル通信モジュール等である。
【0020】
続いて、情報処理システム1において実現される主な機能について説明する。尚、以下に示す各機能を実現する主体は必ずしも限定されず、情報処理システム1のハードウェア構成、情報処理システム1の実現に用いられるマークアップ言語やプログラム言語の仕様等に応じて適宜変更され得る。
【0021】
図3に第1情報処理装置100が備える主な機能を示す。同図に示すように、第1情報処理装置100は、記憶部110、自動生成実行部120、ソースコード解析部130、優先度設定部140、データ選択表示部150、表示部品リスト生成部160、データ解析部170、及びプログラム実行部180の各機能を備える。これらの機能は、第1情報処理装置100のプロセッサ11が、主記憶装置12に格納されているプログラムを実行することにより、もしくは、第1情報処理装置100が備えるハードウェア(FPGA、ASIC等)により実現される。
【0022】
記憶部110は、優先度管理表111、及びデータ仕様表112(データ仕様情報)を記憶する。記憶部110は、例えば、DBMSが提供するデータベースのテーブルや、ファイルシステムが提供するファイルとして、これらのデータを記憶する。
【0023】
自動生成実行部120は、後述する画面表示処理S900を実行する。自動生成実行部120は、第2情報処理装置200からソースコード211を取得し、取得したソースコード211を修正したソースコード(以下、「修正ソースコード212」と称する。)を生成し、生成した修正ソースコード212を第2情報処理装置200に送信する。尚、自動生成実行部120による修正ソースコード212の生成は、例えば、第1情報処理装置100が、第2情報処理装置200が提供するWebサーバにアクセスした際に実行される。
【0024】
修正ソースコード212は、ソースコード211に基づくWebページに含まれている、表示データ215の表示機能を有する部品(以下、「表示部品」と称する。)に、各表示部品に設定された優先度に従って表示データ215を表示するための記述(後述する優先度更新処理S1200及びデータ表示処理S1400を実現するための記述)を含む。修正ソースコード212は、ソースコード211とは別のデータとして(例えば別のファイルとして)管理してもよいし、ソースコード211内に記述してもよい。
【0025】
ソースコード解析部130は、第2情報処理装置200からソースコード211を取得し、取得したソースコード211を解析する。ソースコード解析部130は、例えば、修正ソースコード212の生成や、後述するデータ仕様表213及び表示部品リスト214の生成に際してソースコード211の解析を行う。
【0026】
優先度設定部140は、ソースコード211により表示される表示部品に優先度を設定する。優先度設定部140は、現在表示領域に表示される表示部品(以下、「表示中部品」と称する。)が優先されるように各表示部品に優先度を設定する。優先度設定部140は、設定した優先度を優先度管理表111に管理する。
【0027】
データ選択表示部150は、優先度管理表111に含まれる表示部品のうち、優先度の高いものから順に1つずつ表示部品を選択する。またデータ選択表示部150は、選択した表示部品が表示領域に含まれるか否かを判定する。またデータ選択表示部150は、選択した表示部品に表示する表示データ215を、当該表示部品(例えば、当該表示部品のDOM(Document Object Model)要素)に入力し、当該表示部品に表示データ215を
表示する。
【0028】
表示部品リスト生成部160は、ソースコード解析部130によるソースコード211の解析結果に基づき、表示部品リスト214を生成する。表示部品リスト生成部160は、ソースコード211に含まれている表示部品の識別子(以下、「表示部品ID」と称する。)の一覧を表示部品リスト214として生成する。
【0029】
データ解析部170は、第2情報処理装置200から送られてくる表示データ215を受信して解析する。表示データ215は、第2情報処理装置200が予め記憶してなくてもよく、例えば、第1情報処理装置100から受信したクエリに応じて第2情報処理装置200が生成するものでもよい。
【0030】
プログラム実行部180は、後述する優先度更新処理S1200やデータ表示処理S1400を実行する。
【0031】
図4に第2情報処理装置200が備える主な機能を示す。同図に示すように、第2情報処理装置200は、記憶部210、ソースコード管理部220、データ仕様表管理部230、表示部品リスト管理部240、データ設定送信部250、入力データ管理部260、及びデータ管理部270の各機能を備える。これらの機能は、第2情報処理装置200のプロセッサ11が、主記憶装置12に格納されているプログラムを実行することにより、もしくは、第2情報処理装置200が備えるハードウェア(FPGA、ASIC等)により実現される。
【0032】
記憶部210は、ソースコード211、修正ソースコード212、データ仕様表213、表示部品リスト214、表示データ215、及び入力データ216を記憶する。記憶部110は、例えば、DBMSが提供するデータベースのテーブルや、ファイルシステムが提供するファイルとして、これらのデータを記憶する。
【0033】
ソースコード管理部220は、ソースコード211や修正ソースコード212を管理(記憶)し、これらを第1情報処理装置100に随時送信する。
【0034】
データ仕様表管理部230は、第1情報処理装置100から送られてくるデータ仕様表213を管理する。データ仕様表213は、第2情報処理装置200が、ソースコード211や修正ソースコード212により表示する画面に表示する表示データ215について要求される当該表示データ215についての仕様を規定する情報を含む。
【0035】
図5にデータ仕様表213の一例を示す。例示するデータ仕様表213には、表示部品ID2131に対応づけて、当該表示部品ID2131で特定される表示部品が表示するデータについて要求される仕様2132が管理される。例示するデータ仕様表213では、表示部品IDが「i1」の表示部品に表示するデータについては最大長が「10」である(入力可能な最大文字数が10である)こと、表示部品IDが「i2」の表示部品に表示するデータについては半角英数(入力できる文字は半角英数であること)であることが管理されている。
【0036】
図4に戻り、表示部品リスト管理部240は、第1情報処理装置100から送られてくる表示部品リスト214を受信して管理(記憶)する。
【0037】
図6に表示部品リスト214の一例を示す。例示する表示部品リスト214は、ソースコード211から取得された表示部品の表示部品IDの一覧が記載されている。本例では、表示部品IDとして「i1」、「i2」、「i3」が記載されている。
【0038】
図4に戻り、データ設定送信部250は、表示部品リスト214に記述されている表示部品の夫々に表示するデータをデータ管理部270から取得し、取得したデータ又は当該データに基づき生成したデータをデータ仕様表213に従った形式に加工することにより表示データ215を生成し、生成した表示データ215を第1情報処理装置100に送信
する。
【0039】
図7に表示データ215の一例を示す。本例では、表示部品に表示するデータの内容2152を表示部品ID2151に対応づけた情報を含む。
【0040】
図4に戻り、入力データ管理部260は、第1情報処理装置100を介してユーザが入力したデータである入力データ216を管理する。ユーザは、例えば、システム開発時にテストデータとして入力データ216を入力する。
【0041】
図8に入力データ216の一例を示す。入力データ216は、ヘッダの表示部品ID2161の夫々に対応づけられた、ユーザが入力した一つ以上のデータ2162を含む。例示する入力データ216には、表示部品ID2161「i1」、「i2」、「i3」の夫々に対応づけてデータ2162「鈴木」、「東京都」、「男」と、データ2162「山田」、「神奈川県」、「女」が記載されている。
【0042】
図4に戻り、データ管理部270は、データ設定送信部250が表示データ215の生成に際して用いるデータをデータベースに管理する。
【0043】
<処理説明>
続いて、情報処理システム1において行われる各種の処理について説明する。
【0044】
図9は、第1情報処理装置100が第2情報処理装置200から送られてくるソースコード211に基づきWebページを表示する際に行う処理(以下、「画面表示処理S900」と称する。)を説明するフローチャートである。以下、同図とともに画面表示処理S900について説明する。尚、以下の説明において、ソースコード211は予め作成されているものとする。
【0045】
まず第1情報処理装置100の自動生成実行部120が、第2情報処理装置200にWebページのリクエストを送信し(S911)、第2情報処理装置200からWebページのソースコード211を取得(受信)する(S912)。
【0046】
図10にソースコード211の一例を示す。
図10(a)はHTMLで記述されたソースコード211の一例であり、
図10(b)はスタイルシート(CSS)の一例である。また
図11に、
図10に示したソースコード211に基づき第1情報処理装置100がWebブラウザ711に表示するWebページを示す。
【0047】
図9に戻り、続いて、第1情報処理装置100のソースコード解析部130が、S912で取得したソースコード211を解析する(S913)。
【0048】
続いて、自動生成実行部120が、S913の解析結果に基づき、修正ソースコード212を生成する(S914)。
【0049】
続いて、自動生成実行部120が、S913の解析結果に基づき、ソースコード211に記述されている表示部品のデータ仕様表213を生成し、生成したデータ仕様表213を第2情報処理装置200に送信する(S915)。自動生成実行部120は、例えば、ソースコード211に記述されている表示部品の定義文等から各表示部品に表示される表示データ215の仕様に関する情報を取得する。
【0050】
続いて、自動生成実行部120が、S913の解析結果に基づき表示部品リスト214を生成し、生成した表示部品リスト214を第2情報処理装置200に送信する(S91
6)。
【0051】
続いて、自動生成実行部120が、表示部品に表示する表示データ215(例えば、
図8に示す入力データ216)を受け付け、受け付けた入力データ216を第2情報処理装置200に送信する(S917)。第2情報処理装置200は、入力データ216を受信すると、受信した入力データ216に基づく表示データ215を生成してソースコード211とともに第1情報処理装置100に送信する。尚、当該処理は、ユーザがテストデータを入力する場合を想定した処理であるので省略してもよい。
【0052】
続いて、プログラム実行部180が修正ソースコード212を実行する(S918)。
【0053】
続いて、自動生成実行部120が、ユーザから終了操作(例えば、Webブラウザを閉じる操作、現在表示中のWebページとは別のWebページを表示するための操作等)が行われたか否かを判定する(S919)。終了操作が行われている場合(S919:YES)、画面表示処理S900は終了する。終了操作が行われていない場合(S919:NO)、処理はS918に戻る。
【0054】
図12は、修正ソースコード212を実行することにより実現される処理(以下、「優先度更新処理S1200」と称する。)を説明するフローチャートである。優先度更新処理S1200は、例えば、ユーザがマウスでWebブラウザに対してスクロール操作を行ったことや、Webブラウザに画面がロードされたことを契機として実行される。以下、同図とともに優先度更新処理S1200について説明する。
【0055】
まず第1情報処理装置100のソースコード解析部130が修正ソースコード212を解析する(S1211)。
【0056】
続いて、優先度設定部140が現在表示領域に関する情報(現在表示領域の座標位置やサイズ等)を取得する(S1212)。
【0057】
続いて、優先度設定部140が修正ソースコード212に記述されている表示部品の一つを選択する(S1213)。例えば、
図10の例では、3つの表示部品「input」につ
いての記述があるが、優先度設定部140はこれらのうちの一つを選択する。
【0058】
続いて、優先度設定部140が、S1213で選択した表示部品が現在表示領域に含まれるか否かを判定する(S1214)。選択した表示部品が現在表示領域に含まれる場合(S1214:YES)、処理はS1215に進む。選択した表示部品が現在表示領域に含まれない場合(S1214:NO)、処理はS1216に進む。
【0059】
尚、例えば、ソースコード211がJavaScript(登録商標)で記述されている場合、優先度設定部140は、例えば、現在表示領域の幅を「document.documentElement.clientWidth」関数により、現在表示領域の高さを「document.documentElement.clientHeight」関数により、現在表示領域の左上のx座標を「window.pageXOffset」関数により、現在表示領域の左上のy座標を「window.pageYOffset」関数により、夫々取得し、取得
した情報を用いて各表示部品が現在表示領域に含まれているか否かを判定する。
【0060】
S1215では、優先度設定部140が、S1213で選択した表示部品に対応する優先度管理表111の優先度を高める設定(例えば、優先度に+1を加算する)を行う。
【0061】
図13に優先度管理表111の一例を示す。同図に示すように、優先度管理表111には、表示部品ID1111に対応づけて優先度1112が管理される。例示する優先度管
理表111では、表示部品ID1111が「i1」の表示部品について優先度1112「1
」が、表示部品ID1111が「i2」の表示部品について優先度1112「5」が、表示
部品ID1111「i3」の表示部品について優先度1112「3」が、夫々設定されてい
る。
【0062】
ここで
図11の例では、Webページが表示部品IDが「i1」、「i2」、「i3」の表示部品を含むが、現在表示領域712には、表示部品IDが「i2」、「i3」の表示部品のみが表示されている。一方、
図10(a)に示すように、ソースコード211には「input
タグ」が3つ記述されていることから当該Webページには3つの表示部品が記述されていることがわかるが、いずれの表示部品が現在表示領域に含まれるかについてはソースコード211を解析するだけでは判定することができず、当該判定を行うには
図10(b)に示すソースコード211(スタイルシート)を参照する必要もある。ここで
図10(b)のソースコード211は、表示部品IDが「i2」の表示部品のスタイルを定義しており、当該ソースコード211のサイズ情報や位置情報からWebページに記述されている各表示部品が現在表示領域に含まれるか否かを判定することができる。本例では、表示部品IDが「i2」の表示部品はのx座標は「100px」、y座標は「100px」、幅は「300px」、高
さは「100px」であり、これらをS1212で取得した現在表示領域の情報と照合するこ
とにより、Webページに記述されている各表示部品が現在表示領域に含まれるか否かを判定することができる。
【0063】
図12に戻り、S1216では、Webページ(ソースコード211)に記述されている表示部品のうちS1213で未選択ものがあるか否かを判定する。未選択の表示部品があれば(S1216:YES)、S1213に戻る。未選択の表示部品がなければ(S1216:NO)、優先度更新処理S1200は終了する。尚、例えば、ユーザがWebブラウザのスクロールバーを移動させるか、もしくは、マウススクロール操作を行う等して現在表示領域に表示される表示部品が変更されると、優先度更新処理S1200が再度起動して優先度管理表111の内容が更新される。
【0064】
図14は、修正ソースコード212を実行することにより実現される処理の一つ(以下、「データ表示処理S1400」と称する。)を説明するフローチャートである。データ表示処理S1400は、第2情報処理装置200から表示データ215を受信したこと(例えば、ユーザがWebページに対して行った操作に応じて第2情報処理装置200にクエリが送信され、これに応じて第2情報処理装置200が返答してきた表示データ215を第1情報処理装置100が受信したこと)を契機として開始される。以下、同図とともにデータ表示処理S1400について説明する。
【0065】
第1情報処理装置100のデータ解析部170は、第2情報処理装置200から表示データ215を受信すると(S1411)、受信した表示データ215を解析する(S1412)。
【0066】
続くS1413~S1416のループ処理では、第1情報処理装置100のデータ選択表示部150が、各回のループ処理で、優先度管理表111に含まれている表示部品を優先度の高いものから順に1つずつ選択する。
【0067】
S1414では、データ選択表示部150が、選択中の表示部品が現在表示領域に含まれるか否かを判定する。選択中の表示部品が現在表示領域に含まれる場合(S1414:YES)、処理はS1415に進む。選択中の表示部品が現在表示領域に含まれない場合(S1414:NO)、処理はS1416に進む。
【0068】
S1415では、データ選択表示部150が、S1411で受信した表示データ215
のうち選択中の表示部品に対応する表示データ215を表示部品に入力(例えば、DOMに代入)する。これにより当該表示部品に表示データ215が表示される。例えば、
図13に例示した優先度管理表111に格納されている表示部品のうち、優先度の最も高いものは表示部品IDが「i2」の表示部品であり、例えば、この表示部品が表示領域に含まれている場合、受信した表示データ215の対応するキー(key)を左辺として、また当該
表示データ215の値(Value)を右辺として、選択中の表示部品(DOM)に代入する
。例えば、S1411で
図7の表示データ215を受信した場合、例えば、
図15に示すように表示データ215の値をDOMに代入する。尚、同図に示す変数「i2」はJavaScript(登録商標)内で既に定義されている変数であり、
図10に示すソースコード211に記述されている「i2」と対応づけられている。つまり変数「i2」に表示データ215の値を代入することは、Webブラウザに表示されている表示部品「インプット(i2)」に表示データ215の値を表示することを意味する。
【0069】
以上に説明したように、本実施形態の情報処理システム1においては、ソースコード211により表示される画面(Webページ)のうち、現在表示領域に表示されている表示部品である表示中部品に、表示中部品以外の表示部品よりも優先して表示データ215が表示される。そのため、ユーザが参照しようとしている表示データ215が優先して表示され、UX(User eXperience)を高めることができる。
【0070】
また本実施形態の情報処理システム1においては、優先度管理表111が自動的に更新されるので、抽出式等を事前に設定しておく必要がなく、ユーザの負担が少ない。
【0071】
また第1情報処理装置100及び第2情報処理装置200は、表示データを表示部品IDと対応づけて管理するので、本実施形態の仕組みはソースコード211に記述されている表示部品IDを用いて簡素な方法で実現することができる。
【0072】
尚、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【0073】
また上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体を情報処理装置(コンピュータ)に提供し、その情報処理装置が備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0074】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【0075】
1 情報処理システム、5 通信ネットワーク、100 第1情報処理装置、110 記憶部、111 優先度管理表、120 自動生成実行部、130 ソースコード解析部、
140 優先度設定部、150 データ選択表示部、160 表示部品リスト生成部、170 データ解析部、180 プログラム実行部、200 第2情報処理装置、210 記憶部、211 ソースコード、212 修正ソースコード、213 データ仕様表、214 表示部品リスト、215 表示データ、216 入力データ、220 ソースコード管理部、230 データ仕様表管理部、240 表示部品リスト管理部、250 データ設定送信部、260 入力データ管理部、270 データ管理部、S900 画面表示処理、S1200 優先度更新処理、S1400 データ表示処理