JP4381324B2 - サーバ装置及びサーバプログラム - Google Patents

サーバ装置及びサーバプログラム Download PDF

Info

Publication number
JP4381324B2
JP4381324B2 JP2005033961A JP2005033961A JP4381324B2 JP 4381324 B2 JP4381324 B2 JP 4381324B2 JP 2005033961 A JP2005033961 A JP 2005033961A JP 2005033961 A JP2005033961 A JP 2005033961A JP 4381324 B2 JP4381324 B2 JP 4381324B2
Authority
JP
Japan
Prior art keywords
screen
client device
request
screens
response
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005033961A
Other languages
English (en)
Other versions
JP2006221393A (ja
Inventor
浩 中津川
伊知郎 中村
茂美 桜井
信孝 久吉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Information Systems Corp
Original Assignee
Mitsubishi Electric Information Systems Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Information Systems Corp filed Critical Mitsubishi Electric Information Systems Corp
Priority to JP2005033961A priority Critical patent/JP4381324B2/ja
Publication of JP2006221393A publication Critical patent/JP2006221393A/ja
Application granted granted Critical
Publication of JP4381324B2 publication Critical patent/JP4381324B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、サーバ装置及びサーバプログラムに関するものである。特に、Webサーバ又はWebサーバを実行する装置であって、Webブラウザなどのクライアント又はクライアントを実行する装置からリクエストを受信し、受信したリクエストに基づいて所定の処理を実行し、その実行結果に基づいてレスポンスを作成し、作成したレスポンスを返信する装置及びプログラムに関するものである。
Webシステムでは、クライアント装置が実行するWebブラウザなどのクライアントが、リクエストを送信し、サーバ装置が実行するWebサーバが、リクエストを受信し、リクエストの内容に基づいて所定の処理(以下、ビジネスロジックという)を実行し、処理の結果をレスポンスとしてクライアント装置に送信する。
このようなシステムの一種として一般化してきているものに、J2EE(Java(登録商標) 2 Platform, Enterprise Edition)システムがある。J2EEシステムでは、サーブレット、JSP(登録商標)(Java(登録商標) Server Pages)、EJB(登録商標)(Enterprise Java(登録商標) Beans)によりWebサーバの一種であるJ2EEサーバを構築する。J2EEサーバにおいて、サーブレット及びJSP(登録商標)はクライアントからリクエストを受け取り、必要に応じてEJB(登録商標)を使用してビジネスロジックを実行し、その実行結果に基づくレスポンスをクライアントに返す。
例えば、上記のようなシステムにおいて、Webサーバのサービス(以下、機能という)を利用するユーザが、Webブラウザのウィンドウ、フレーム、ダイアログといった画面に対してデータを入力し、入力したデータ(以下、入力データという)の送信を指示すると、Webブラウザは入力データをHTTP(HyperText Transfer Protocol)リクエストに含めてWebサーバに送信する。Webサーバは、HTTPリクエストに含まれるURL(Uniform Resource Locator)などから、要求された機能を特定し、その機能の処理を実行する。Webサーバは、図14に示すように、機能ごとに規定された方法でHTTPリクエストを解析して入力データを取得し、異なる機能から参照可能なセッション情報を取得し、入力データを用いて各機能に対応するビジネスロジックを実行し、前述のセッション情報を更新し、機能ごとに規定された方法で実行結果の表示内容をHTML(HyperText Markup Language)で構築し(以下、この内容を出力データという)、出力データをHTTPレスポンスに含めてWebブラウザに送信する。Webブラウザは、HTTPレスポンスを受信し、受信したHTTPレスポンスから出力データを取得し、その内容を画面に表示する。
このような機能が他の機能と関連して処理される場合、Webサーバは、さらに、各ビジネスロジックの実行結果などをメモリ上にセッション情報として管理し、セッション情報を利用することによって複数のリクエストに対する処理を一連の処理として実行する。この場合、HTTPリクエストにはセッションID(IDentification)が含まれ、Webサーバは、セッションIDから特定したセッション情報を取得し、セッション情報に含まれるデータを用いてビジネスロジックを実行し、実行結果を基に必要に応じてセッション情報を更新する。
上記のようにクライアント装置とサーバ装置とが通信を行い、通信したデータを画面上に表示するシステムでは、複数のクライアント装置が表示する画面を同期して共有するもの(例えば、特許文献1)や、複数の画面に表示されるデータをクライアント装置に一括して送信するもの(例えば、特許文献2)がある。また、サーバ装置が共通化された方法で画面の表示データを編集して送信し、クライアント装置が送信されたデータをそれぞれの画面に合わせて最終的に編集するもの(例えば、特許文献3)や、サーバ装置が最終的に画面の表示データを編集して送信し、クライアント装置が送信されたデータをそのまま画面に表示するもの(例えば、特許文献4)がある。
特開平9−259083号公報 特開2001−243189号公報 特開平6−175803号公報 特開2000−122942号公報
従来のWebシステムでは、Webサーバがリクエストの解析から表示内容の構築までを機能ごとに異なる処理として行っていた。そのため、システムの開発において、多くの手間、時間、コストがかかっていた。
また、従来のWebシステムでは、ユーザがWebブラウザの画面においてデータの送信を指示した場合、その画面中に入力されたデータしか送信できなかった。例えば、Webブラウザの1つのウィンドウ内に2つのフレームが表示されている場合、両方のフレームに入力したデータを1つのリクエストに含めてWebサーバに送信することができなかった。
本発明は、例えば、サーバ装置がクライアント装置から受信したリクエストを解析する処理を機能ごとに開発することを不要にすることを目的とする。また、例えば、クライアント装置が複数の画面に入力されたデータを1つのリクエストでサーバ装置に送信することを目的とする。
本発明のサーバ装置は、
出力データを画面上に出力するクライアント装置と通信を行うサーバ装置において、
前記クライアント装置から入力データを含むリクエストを受信するリクエスト受信部と、
前記リクエスト受信部が受信したリクエストを解析して前記クライアント装置が入力した入力データを取得するリクエスト解析部と、
前記クライアント装置が画面上に出力すべき出力データを画面ごとに同期画面として管理する同期画面管理部と、
前記リクエスト解析部が取得した入力データを前記同期画面管理部が管理する同期画面に反映させるリクエスト画面反映部と、
前記リクエスト画面反映部が前記入力データを反映させた同期画面に基づいて所定の処理を行い、当該処理の結果を当該同期画面に反映させる機能部と、
前記機能部が前記処理の結果を反映させた同期画面を前記出力データとして含むレスポンスを生成し、生成したレスポンスを前記クライアント装置に送信するレスポンス送信部とを備えることを特徴とする。
前記レスポンス送信部は、
前記クライアント装置が前記出力データを出力する画面が同時に複数存在する場合、当該画面のうち2つ以上の画面に入力した入力データを1つのリクエストに含めて送信するために前記クライアント装置が実行するプログラムを含むレスポンスを生成することを特徴とする。
前記クライアント装置は、前記出力データをWebブラウザのウィンドウとフレームとダイアログとのうち少なくともいずれかの画面上に出力し、
前記同期画面管理部は、
前記Webブラウザの画面が同時に複数存在する場合、当該画面のいずれかを親子関係の親にあたる同期画面とし、他のいずれかを親子関係の子にあたる同期画面として管理することを特徴とする。
本発明のサーバプログラムは、
出力データを画面上に出力するクライアント装置と通信を行うサーバ装置が実行するサーバプログラムにおいて、
前記クライアント装置から入力データを含むリクエストを受信するリクエスト受信処理と、
前記リクエスト受信処理が受信したリクエストを解析して前記クライアント装置が入力した入力データを取得するリクエスト解析処理と、
前記クライアント装置が画面上に出力すべき出力データを画面ごとに同期画面として管理する同期画面管理処理と、
前記リクエスト解析処理が取得した入力データを前記同期画面管理処理が管理する同期画面に反映させるリクエスト画面反映処理と、
前記リクエスト画面反映処理が前記入力データを反映させた同期画面に基づいて所定の処理を行い、当該処理の結果を当該同期画面に反映させる機能処理と、
前記機能処理が前記処理の結果を反映させた同期画面を前記出力データとして含むレスポンスを生成し、生成したレスポンスを前記クライアント装置に送信するレスポンス送信処理とをコンピュータに実行させることを特徴とする。
本発明では、サーバ装置において、リクエスト解析部が、クライアント装置が送信したリクエストを解析してクライアント装置が入力した入力データを取得し、同期画面管理部が、クライアント装置が画面上に出力すべき出力データを画面ごとに同期画面として管理し、リクエスト画面反映部が、入力データを同期画面に反映させ、機能部が、同期画面に基づいて機能ごとの処理を行い、処理の結果を同期画面に反映させ、レスポンス送信部が、同期画面を出力データとして含むレスポンスをクライアント装置に送信することにより、サーバ装置がクライアント装置から受信したリクエストを解析する処理を機能ごとに開発することが不要となる。
以下、本発明の実施の形態について、図を用いて説明する。
図1は、下記実施の形態におけるサーバ装置の外観の一例を示す図である。
図1において、サーバ装置100は、システムユニット910、CRT(Cathode Ray Tube)表示装置901、キーボード(K/B)902、マウス903、コンパクトディスク装置(CDD)905、プリンタ装置906、スキャナ装置907を備え、これらはケーブルで接続されている。さらに、サーバ装置100は、ローカルエリアネットワーク(LAN)942、ゲートウェイ941を介してインターネット940に接続されている。
図2は、下記実施の形態におけるサーバ装置のハードウェア構成の一例を示す図である。
図2において、サーバ装置100は、プログラムを実行するCPU(Central Processing Unit)911を備えている。CPU911は、バス912を介してROM913、RAM914、通信ボード915、CRT表示装置901、K/B902、マウス903、FDD(Flexible Disk Drive)904、磁気ディスク装置920、CDD905、プリンタ装置906、スキャナ装置907と接続されている。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード915は、LAN942などに接続されている。
例えば、通信ボード915、K/B902、スキャナ装置907、FDD904などは、入力部の一例である。また、例えば、通信ボード915、CRT表示装置901などは、出力部の一例である。
ここで、通信ボード915は、LAN942に限らず、直接、インターネット940、あるいはISDN(Integrated Services Digital Network)などのWAN(ワイドエリアネットワーク)に接続されていても構わない。直接、インターネット940、あるいはISDNなどのWANに接続されている場合、サーバ装置100は、インターネット940、あるいはISDNなどのWANに接続され、ゲートウェイ941は不用となる。
磁気ディスク装置920には、オペレーティングシステム(OS)921、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923は、CPU911、OS921、ウィンドウシステム922により実行される。
上記プログラム群923には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」、「〜の実行結果」として説明するものが、「〜ファイル」として記憶されている。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータの入出力を示し、そのデータの入出力のためにデータは、磁気ディスク装置920、FD(Flexible Disk)、光ディスク、CD(コンパクトディスク)、MD(ミニディスク)、DVD(Digital Versatile Disk)などのその他の記録媒体に記録される。あるいは、信号線やその他の伝送媒体により伝送される。
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。あるいは、ソフトウェアのみ、あるいは、ハードウェアのみ、あるいは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
また、以下に述べる実施の形態を実施するプログラムは、磁気ディスク装置920、FD(Flexible Disk)、光ディスク、CD(コンパクトディスク)、MD(ミニディスク)、DVD(Digital Versatile Disk)などのその他の記録媒体による記録装置を用いて記憶されても構わない。
実施の形態1.
図3は、本実施の形態に係るサーバ装置の構成を示すブロック図である。
サーバ装置100は、LAN、WAN、インターネットなどのネットワークを介して、クライアント装置50と接続される。サーバ装置100は、リクエスト受信部101、リクエスト解析部102、リクエスト画面反映部103、同期画面管理部104、機能部106、記憶部108、レスポンス送信部107を有する。サーバ装置100は、例えば、J2EEサーバとして実装され、サーブレット又はJSP(登録商標)により各部が制御される。
クライアント装置50は、Webブラウザ51を実行する。クライアント装置50は、Webブラウザ51のウィンドウ、フレーム、ダイアログといった画面を1つ又は2つ以上表示し、各画面においてユーザからの入力データを受け付ける。クライアント装置50は、画面中に用意されたボタンがクリックされたときなど、入力データの送信が指示されると、入力データをXMLデータにエンコードし、エンコードしたXMLデータをリクエストに含めてサーバ装置100に送信する。また、クライアント装置50は、リクエストに対するレスポンスをサーバ装置100から受信し、レスポンスに含まれるHTMLページを取得して画面上に出力する。
ここで、Webブラウザ51のウィンドウ、フレーム、ダイアログは、画面の種類である。フレームは、ウィンドウ又はフレームの中に表示される画面で、1つのウィンドウ又はフレームには、フレームが1つも含まれないか、1つ又は2つ以上のフレームが含まれる。ダイアログは、エラーメッセージの表示や操作の確認要求などに用いられる画面で、他の画面とは独立して表示される。ウィンドウ、フレーム、又はダイアログに対する入力を基に、他のウィンドウが生成されることがある。
本実施の形態では、クライアント装置50において、データの入力や画面の出力などにWebブラウザ51を用いているが、他のプログラム(例えば、.NETベースのプログラム、アプレット)を用いてもよい。また、サーバ装置100がクライアント装置50に送信するレスポンスにHTMLページ以外のテキスト、画像、その他のデータが含まれ、Webブラウザ51でそのデータを表示又は再生してもよい。前述のようにWebブラウザ51ではなく、.NETベースのプログラム又はアプレットを用いていれば、例えば、サーバ装置100がクライアント装置50に、同期画面管理部104が管理する同期画面105の情報を反映したXMLデータを送信し、クライアント装置50の.NETベースのプログラム又はアプレットがそのXMLデータを所定の方法で表示してもよい。
サーバ装置100において、リクエスト受信部101は、クライアント装置50からリクエストを受信する。リクエスト解析部102は、リクエスト受信部101が受信したリクエストに含まれるXMLデータをデコードすることにより、リクエストを解析して、クライアント装置50の入力データを取得する。
本実施の形態では、クライアント装置50において、入力データをXMLデータにエンコードしているが、エンコードを行わないか、又は他の方式によりエンコードを行ってもよい。同様に、サーバ装置100において、XMLデータを入力データにデコードしていいるが、デコードを行わないか、又は他の方式によりデコードを行ってもよい。
サーバ装置100のリクエスト画面反映部103は、リクエスト解析部102が取得した入力データを同期画面管理部104が管理する同期画面105に反映させる。同期画面管理部104は、クライアント装置50が画面上に出力すべきHTMLページに含まれる出力データを画面ごとに同期画面105として管理する。「出力すべき」HTMLページとは、例えば、Webブラウザ51において一般的なブラウザが備える「戻る」ボタンが使用されたときなどに、キャッシュ内のHTMLページが表示され、その表示内容が最新のものと異なる場合でも、「出力している」HTMLページではなく最新のHTMLページの出力データが同期画面105で管理されることを示す。この出力データは、HTMLページそのものであってもよいが、ここでは、画面の外観などの情報を抜いたデータであるとする。同期画面管理部104は、例えば、Java(登録商標)のオブジェクトとして、同期画面105を管理する。
機能部106は、リクエスト画面反映部103が入力データを反映させた同期画面105に基づいてビジネスロジックを実行し、その実行結果を同期画面105に反映させる。例えば、サーバ装置100をJ2EEサーバとして実装する場合、機能部106をEJB(登録商標)として実装することができる。
記憶部108は、スクリプトファイル110、イメージファイル111、設定ファイル112などを記憶する。スクリプトファイル110は、例えばJavascript(登録商標)であり、クライアント装置50がWebブラウザ51の画面を同時に複数表示している場合、2つ以上の画面に入力された入力データを1つのリクエストに含めて送信するためのスクリプト(プログラム)が記述されたファイルである。イメージファイル111は、例えばJPEG(Joint Photographic Experts Group)形式のファイルである。設定ファイル112は、例えばCSS(Cascadling Style Sheet)ファイルである。
レスポンス送信部107は、機能部106がビジネスロジックの実行結果を反映させた同期画面105を用いてHTMLページを作成し、作成したHTMLページを含むレスポンスを生成し、生成したレスポンスをクライアント装置50に送信する。また、レスポンス送信部は、必要に応じて、記憶部108に記憶されたスクリプトファイル110、イメージファイル111、設定ファイル112などを含むレスポンスを生成し、クライアント装置50に送信する。
図示していないが、サーバ装置100は、入力部や出力部を備えていてもよい。例えば、入力部はファイルを入力し、記憶部108に記憶させる。また、例えば、出力部は記憶部108に記憶されたファイルを出力する。
ここで、同期画面管理部104の同期画面105の管理方法についてその詳細を説明する。
図4は、クライアント装置50の画面構成の一例を示す図である。
図4の例では、Webブラウザ51のウィンドウ52である画面(1)の中に、フレーム53である画面(11)と画面(12)が表示されている。画面(11)のフレーム53の中には、さらに、その子フレーム54である画面(111)と画面(112)が表示されている。
各画面には、例えばHTMLのHidden機能を用いて、画面IDや画面の生成・更新時間が埋め込まれている。また、各画面には、テキスト入力エリア、複数テキスト入力エリア、ボタン、ラジオボタン、セレクトボックスなどの表示要素が配置される。
図5は、図4の画面構成に対応するサーバ装置100の同期画面105の構成を示す図である。
同期画面管理部104は、同期画面105に親子関係を設定し、各同期画面105をツリー構造によって管理する。クライアント装置50が、図4の例に示した各画面を表示している場合、サーバ装置100の同期画面管理部104は、図5のような構成により同期画面105を管理する。図中の矢印は親子関係を示す。
それぞれの同期画面105には、クライアント装置50が画面上に出力すべきHTMLページに含まれる出力データのほか、サーバ装置100が用いる制御情報も保持される。制御情報には、例えば、その同期画面105が生成された時間又は更新された時間を示す生成・更新時間(図中、生成・更新時間を示すtは同期画面105ごとに独立した値である)、その同期画面105の子にあたる同期画面の子画面ID、その同期画面105に配置される表示要素を識別する表示要素ID(図中、表示要素IDを示すn1、n2などは同期画面105ごとに独立した値であり、表示要素IDの個数も同期画面105ごとに決まる)、各表示要素に係るパラメータの表示要素値(図中、表示要素値を示すm1、m2などは同期画面105ごとに独立した値であり、表示要素値の個数も同期画面105ごとに決まる)が含まれる。同期画面管理部104は、同期画面105の制御情報を含む各データをセッション情報に保存する。
図6は、クライアント装置50が送信するリクエストのフォーマットの一例を示す図である。
図6は、例えば、図4の画面(1)に配置されたボタンをユーザがクリックした場合のクライアント装置50のリクエストに含まれるXMLデータの一例を示している。このXMLデータでは、ルートタグとしてReqタグが設定され、その属性として、WindowIdにリクエストを送信する指示を受けた画面、即ち画面(1)の画面IDが、ElementIdにクリックされたボタンの表示要素IDが設定されている。画面(1)の子画面である画面(11)、画面(12)については、Windowタグが使用され、その属性として、WindowIdに画面IDが、Timestampに生成・更新時間が設定されている。それぞれの画面内の各表示要素は、Windowタグの子タグとしてElementタグで設定され、ElementIdに表示要素IDが、ElementValにユーザが入力した値などの表示要素値が設定されている。
図7は、クライアント装置50の画面遷移の一例を示す図である。
図7の例では、Webブラウザ51の親画面59である画面(2)において、ユーザが実行ボタンをクリックすると、画面(3)の掲示板が表示され、画面(3)の中には子画面60である画面(31)が表示される。画面(31)は、表示要素としてテキスト入力エリアを有している。この場合、サーバ装置100の同期画面管理部104が管理する同期画面105の構成は図8のようなものになる。
図8の例では、図7のWebブラウザ51の親画面59である画面(2)が、画面ID(2)の同期画面105として管理されている。画面(2)の子画面は存在しないため、この同期画面105には子画面IDが設定されていない。画面(2)において、ユーザが実行ボタンをクリックすると、所定のビジネスロジックが実行され、画面が遷移する。このとき、同期画面管理部104は、画面ID(2)の同期画面105を削除し、図7の画面(3)に対応する画面ID(3)の同期画面105を生成する。さらに、同期画面管理部104は、図7の画面(3)の子画面60である画面(31)に対応する画面ID(31)の同期画面105を生成する。画面ID(3)の同期画面105は、子画面ID(31)を保持する。
次に、サーバ装置100の動作について説明する。
図9は、サーバ装置100の動作を示すフローチャートである。
まず、クライアント装置50がリクエストを送信すると、サーバ装置100において、リクエスト受信部101がリクエストを受信する(ステップS1)。次に、リクエスト解析部102がリクエストを解析して、クライアント装置50の入力データを取得する(ステップS2)。図6の例に示したように、リクエストには画面ID、生成・更新時間などの制御情報が含まれており、リクエスト解析部102は同時にこれらを取得する。そして、各画面の画面IDや生成・更新時間を、同期画面管理部104が管理する同期画面105のものと比較して、リクエストの妥当性をチェックする(ステップS3)。取得した画面IDに該当する同期画面105がない場合や、取得した生成・更新時間が該当する同期画面105のものと一致しない場合は、エラーと判断し、同期画面105を更新せず、後述するステップS6の処理を行う。ただし、同期画面管理部104がクライアント装置50のWebブラウザ51について管理している同期画面105が1つもない場合は、図10のような初期画面をクライアント装置50に送信する。
ステップS3でリクエストが妥当なものだと判断された場合、リクエスト画面反映部103が入力データを同期画面管理部104が管理する同期画面105に反映させる(ステップS4)。続いて、機能部106が同期画面105から入力データ及びその他必要なデータを取得し、ビジネスロジックを実行し、その実行結果を同期画面105に反映させる(ステップS5)。このとき、機能部106として、例えば図6のルートタグにあるElementId(ボタンの表示要素ID)に対応するものが選択される。また、ステップS5で同期画面105が生成又は更新された場合、同期画面管理部104がその生成・更新時間を設定する。最後に、レスポンス送信部107が、同期画面105の内容を含むHTMLページを作成し、作成したHTMLページを含むレスポンスを生成し、生成したレスポンスをクライアント装置50に送信する(ステップS6)。
以上のように、本実施の形態では、サーバ装置100において、クライアント装置50から受信するリクエストを解析する処理、解析したリクエストを同期画面105に反映する処理、同期画面105をセッション情報にて管理する処理を各機能(ビジネスロジック)で共通化することにより、これらの処理を機能ごとに開発することが不要となる。
また、レスポンス送信部107が、クライアント装置50がWebブラウザ51の画面を同時に複数表示している場合、2つ以上の画面に入力された入力データを1つのリクエストに含めて送信するためのスクリプトを送信することにより、サーバ装置100は、例えばWebブラウザ51に複数のフレームを表示させ、それらのフレームから同時に入力データを取得したり、それらのフレームに表示されるデータを同時に更新したりすることが可能となる。
実施の形態2.
本実施の形態では、図3に示した実施の形態1と同様のサーバ装置において、同期画面管理部104が同期画面105を削除する動作について説明する。
図11は、本実施の形態におけるクライアント装置50の画面遷移の一例を示す図である。
図11の例では、まず、Webブラウザ51のウィンドウ52である画面(4)の中に、フレーム53である画面(41)が表示されている。画面(41)のフレーム53の中には、さらに、その子フレーム54である画面(411)と画面(412)が表示されている。クライアント装置50が、画面(41)において、ユーザからデータの送信指示を受けてリクエストをサーバ装置100に送信し、ビジネスロジックが実行された結果としてレスポンスを受信した後、Webブラウザ51のウィンドウ52である画面(4)はそのまま表示され、レスポンスに含まれるデータから、新しいフレーム53である画面(42)が表示される。この場合、サーバ装置100の同期画面管理部104が管理する同期画面105の構成は図12のようなものになる。
図11及び図12の例では、画面(41)から画面(42)に遷移するため、同期画面管理部104は、セッション情報から、画面(41)、画面(411)、画面(412)の同期画面105を削除し、画面(42)の同期画面105を生成する必要がある。同期画面管理部104は、実施の形態1と同様に、各同期画面105をツリー構造によって管理するため、画面(41)、画面(411)、画面(412)の同期画面105を1つ1つ指定して削除するのではなく、画面(41)の同期画面105を指定するだけで、その子画面の同期画面もすべて削除することができる。
以上のように、本実施の形態では、同期画面管理部104が、同期画面105に親子関係を設定し、各同期画面105をツリー構造によって管理することにより、例えば親子関係の親にあたる同期画面105を削除する場合、その同期画面105を指定するだけで子にあたる同期画面105をすべて削除することができ、効率のよいセッション情報の管理を行うことが可能となる。
実施の形態3.
実施の形態2では、クライアント装置50の画面遷移の一例として、Webブラウザ51がウィンドウ52の中に複数のフレームを表示するものを挙げた。本実施の形態では、Webブラウザ51がウィンドウ52のほかに複数のダイアログを表示する例を説明する。
図13は、本実施の形態におけるクライアント装置50の画面遷移の一例を示す図である。
図13の例では、まず、Webブラウザ51のウィンドウ52である画面(4)のほかに、画面(4)の子画面にあたりダイアログ61である画面(41)が表示されている。画面(41)のダイアログ61のほかには、さらに、その子画面にあたりフレーム53である画面(411)と画面(412)が表示されている。クライアント装置50が、画面(41)において、ユーザからデータの送信指示を受けてリクエストをサーバ装置100に送信し、ビジネスロジックが実行された結果としてレスポンスを受信した後、Webブラウザ51のウィンドウ52である画面(4)はそのまま表示され、レスポンスに含まれるデータから、新しいダイアログ61である画面(42)が表示される。この場合、サーバ装置100の同期画面管理部104が管理する同期画面105の構成は、実施の形態2と同様に、図12のようなものになる。
実施の形態1におけるサーバ装置の外観の一例を示す図。 実施の形態1におけるサーバ装置のハードウェア構成の一例を示す図。 実施の形態1に係るサーバ装置の構成を示すブロック図。 実施の形態1におけるクライアント装置の画面構成の一例を示す図。 図4の画面構成に対応するサーバ装置の同期画面の構成を示す図。 実施の形態1におけるクライアント装置が送信するリクエストのフォーマットの一例を示す図。 実施の形態1におけるクライアント装置の画面遷移の一例を示す図。 図7の画面構成に対応するサーバ装置の同期画面の構成を示す図。 実施の形態1に係るサーバ装置の動作を示すフローチャート。 実施の形態1におけるクライアント装置が表示する初期画面の一例を示す図。 実施の形態2におけるクライアント装置の画面遷移の一例を示す図。 図11の画面構成に対応するサーバ装置の同期画面の構成を示す図。 実施の形態3におけるクライアント装置の画面遷移の一例を示す図。 従来のWebシステムの構成を示す図。
符号の説明
50 クライアント装置、51 Webブラウザ、52 ウィンドウ、53 フレーム、54 子フレーム、55 ログイン画面、56 ログイン名入力欄、57 パスワード入力欄、58 ログイン実行ボタン、59 親画面、60 子画面、61 ダイアログ、100 サーバ装置、101 リクエスト受信部、102 リクエスト解析部、103 リクエスト画面反映部、104 同期画面管理部、105 同期画面、106 機能部、107 レスポンス送信部、108 記憶部、110 スクリプトファイル、111 イメージファイル、112 設定ファイル、901 CRT表示装置、902 K/B、903 マウス、904 FDD、905 CDD、906 プリンタ装置、907 スキャナ装置、910 システムユニット、911 CPU、912 バス、913 ROM、914 RAM、915 通信ボード、920 磁気ディスク装置、921 OS、922 ウィンドウシステム、923 プログラム群、924 ファイル群、940 インターネット、941 ゲートウェイ、942 LAN。

Claims (4)

  1. Webブラウザを実行するクライアント装置に対し、前記Webブラウザのウィンドウである画面と、当該ウィンドウの中に表示されるフレームと当該ウィンドウから独立して表示されるダイアログと他のウィンドウとの3種類の画面のうち1種類以上の画面とを含む複数の画面を同時に表示させ、前記クライアント装置が前記複数の画面の各画面に入力した入力データを1つのリクエストに含めて前記クライアント装置から送信させるサーバ装置であって、
    前記クライアント装置に表示させた複数の画面の画面構成を管理する同期画面管理部と、
    前記クライアント装置から前記リクエストを受信するリクエスト受信部と、
    前記リクエスト受信部により受信されたリクエストを解析して前記クライアント装置が前記複数の画面の各画面に入力した入力データを取得するリクエスト解析部と
    前記リクエスト解析部により取得された入力データに基づいて所定の処理を行い、前記所定の処理の結果に基づいて、前記同期画面管理部により管理されている画面構成を更新する機能部と、
    前記機能部により更新された画面構成を示す情報を含むレスポンスを生成し、生成したレスポンスを前記クライアント装置に送信し、前記クライアント装置に対し、送信したレスポンスに含まれる情報に従って画面を表示させるレスポンス送信部とを備えることを特徴とするサーバ装置。
  2. 前記レスポンス送信部は、
    前記クライアント装置が前記複数の画面の各画面に入力した入力データを1つのリクエストに含めて送信するために前記クライアント装置が実行するプログラムを含むレスポンスを生成し、生成したレスポンスを前記クライアント装置に送信し、前記クライアント装置に対し、送信したレスポンスに含まれるプログラムを実行させることを特徴とする請求項1に記載のサーバ装置。
  3. 記同期画面管理部は、
    前記複数の画面の画面構成として、前記複数の画面間の親子関係と前記クライアント装置が前記複数の画面の各画面に出力すべき出力データとを管理し、
    前記機能部は、
    前記所定の処理の結果に基づいて、前記同期画面管理部により管理されている親子関係と出力データとを更新し、
    前記レスポンス送信部は、
    前記機能部により更新された親子関係を示す情報と前記機能部により更新された出力データとを含むレスポンスを生成し、生成したレスポンスを前記クライアント装置に送信し、前記クライアント装置に対し、送信したレスポンスに含まれる情報に従って画面を表示させ、表示させた画面ごとに当該レスポンスに含まれる出力データを出力させることを特徴とする請求項1又は2に記載のサーバ装置。
  4. Webブラウザを実行するクライアント装置に対し、前記Webブラウザのウィンドウである画面と、当該ウィンドウの中に表示されるフレームと当該ウィンドウから独立して表示されるダイアログと他のウィンドウとの3種類の画面のうち1種類以上の画面とを含む複数の画面を同時に表示させ、前記クライアント装置が前記複数の画面の各画面に入力した入力データを1つのリクエストに含めて前記クライアント装置から送信させるサーバ装置が実行するサーバプログラムであって、
    前記クライアント装置に表示させた複数の画面の画面構成を管理する同期画面管理処理と、
    前記クライアント装置から前記リクエストを受信するリクエスト受信処理と、
    前記リクエスト受信処理により受信されたリクエストを解析して前記クライアント装置が前記複数の画面の各画面に入力した入力データを取得するリクエスト解析処理と
    前記リクエスト解析処理により取得された入力データに基づいて所定の処理を行い、前記所定の処理の結果に基づいて、前記同期画面管理処理により管理されている画面構成を更新する機能処理と、
    前記機能処理により更新された画面構成を示す情報を含むレスポンスを生成し、生成したレスポンスを前記クライアント装置に送信し、前記クライアント装置に対し、送信したレスポンスに含まれる情報に従って画面を表示させるレスポンス送信処理とをコンピュータに実行させることを特徴とするサーバプログラム。
JP2005033961A 2005-02-10 2005-02-10 サーバ装置及びサーバプログラム Expired - Fee Related JP4381324B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005033961A JP4381324B2 (ja) 2005-02-10 2005-02-10 サーバ装置及びサーバプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005033961A JP4381324B2 (ja) 2005-02-10 2005-02-10 サーバ装置及びサーバプログラム

Publications (2)

Publication Number Publication Date
JP2006221393A JP2006221393A (ja) 2006-08-24
JP4381324B2 true JP4381324B2 (ja) 2009-12-09

Family

ID=36983693

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005033961A Expired - Fee Related JP4381324B2 (ja) 2005-02-10 2005-02-10 サーバ装置及びサーバプログラム

Country Status (1)

Country Link
JP (1) JP4381324B2 (ja)

Also Published As

Publication number Publication date
JP2006221393A (ja) 2006-08-24

Similar Documents

Publication Publication Date Title
US20100082747A1 (en) Real-time collaborative browsing
US9130975B2 (en) Generation of macros
TW413764B (en) Method for generating display control information and computer
US7512569B2 (en) User defined components for content syndication
US7293034B2 (en) Dynamically customizing a user interface for the aggregation of content
US20140289702A1 (en) Methods and Systems for Managing Data Service Specifications
US8150847B2 (en) System and method to transform results of client requests using client uploaded presentation formats
US7451393B1 (en) System and method for a page rendering framework
GB2555157A (en) Selective sharing for collaborative application usage
US7984170B1 (en) Cross-domain communication in domain-restricted communication environments
JP2008117093A (ja) ユーザ操作記録・再現方法及び装置
US20100229081A1 (en) Method for Providing a Navigation Element in an Application
US7912917B2 (en) Persisting forms data in a composite web application environment
US20050257167A1 (en) Embedded Web dialog
US20110035433A1 (en) Webpage display method, computer system, and program
US20120120436A1 (en) Remote printing
CN1953403A (zh) 用于呈现监控报告的方法和系统
JP5151696B2 (ja) ユニフォームリソースロケータ情報を書き換えるプログラム
US8230002B2 (en) Method and system for automatic setup in web-based applications
US20140245257A1 (en) Context-switching mechanism for facilitating content creation and software development
JP4381324B2 (ja) サーバ装置及びサーバプログラム
JP2007079988A (ja) Wwwブラウザ、htmlページ共有システムおよびhtmlページ共有方法
JP4849706B2 (ja) 情報提供処理装置、情報提供処理方法、および情報提供処理プログラム格納媒体
US20230114651A1 (en) Dynamic recorder for demonstrations of web-based software applications
JP2007304778A (ja) プログラムのテスト方法、プログラム、テスト装置、及びアプリケーション開発システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060720

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090915

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090915

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121002

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4381324

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121002

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131002

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees