JP2011002909A - Server device, information processing system, method of controlling the server device, and program - Google Patents
Server device, information processing system, method of controlling the server device, and program Download PDFInfo
- Publication number
- JP2011002909A JP2011002909A JP2009143650A JP2009143650A JP2011002909A JP 2011002909 A JP2011002909 A JP 2011002909A JP 2009143650 A JP2009143650 A JP 2009143650A JP 2009143650 A JP2009143650 A JP 2009143650A JP 2011002909 A JP2011002909 A JP 2011002909A
- Authority
- JP
- Japan
- Prior art keywords
- request
- server
- server device
- processing
- client terminal
- 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.)
- Pending
Links
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
Description
本発明は、Webサービスを提供するサーバ装置に適用可能な技術に関するものである。 The present invention relates to a technology applicable to a server device that provides a Web service.
Webサービスでは、クライアント/サーバ間ではSOAP(Simple Object Access Protocol)が使われ、XML(Xtensible Markup Language)による汎用性の高い通信が可能となっている。なお、ここでいうWebサービスとは、http上でSOAPを使ってXMLをやりとりすることにより、分散したアプリケーション同士が緩やかに連携して協働する仕組みである。また、SOAPとは、他のコンピュータにあるデータやサービスを呼び出すためのプロトコルで、XMLでメッセージの交換がなされる。SOAPを用いると、異なる環境のコンピュータ間でも通信が可能となる。 In the Web service, SOAP (Simple Object Access Protocol) is used between the client and the server, and highly versatile communication using XML (Xtensible Markup Language) is possible. Note that the Web service here is a mechanism in which distributed applications cooperate with each other gently by exchanging XML using SOAP on http. In addition, SOAP is a protocol for calling data and services in other computers, and messages are exchanged by XML. Using SOAP enables communication between computers in different environments.
先ず、Webサービスを提供するサーバでは、クライアントからXMLデータで処理のリクエストを受信すると、テキストデータであるXMLデータのリクエストをバイナリデータのリクエストに変換するデシリアライズという処理が実行される。そして、Webサービスを提供するサーバは、バイナリデータに変換されたリクエストに基づいて、当該リクエストに応じた処理のメソッドを例えばDBサーバに呼び出させる処理を行う。 First, when a server that provides a Web service receives a request for processing with XML data from a client, a process called deserialization that converts a request for XML data that is text data into a request for binary data is executed. Then, the server that provides the Web service performs a process of causing the DB server to call a method of a process corresponding to the request based on the request converted into binary data.
しかしながら、このようなWebサービスにおいては、大規模処理を実行させるとWebサービスを提供するサーバ側の束縛時間が長くなり、そのサーバが次のリクエストを受け付け可能な状態となるまでに多大な時間を要するという課題がある。 However, in such a Web service, if a large-scale process is executed, the binding time on the server side that provides the Web service becomes long, and it takes a long time until the server becomes ready to accept the next request. There is a problem that it takes.
また、クライアント側から投げられたリクエストに対してサーバ側で大規模処理が発生すると、クライアント側では処理が終わるまで何も操作できなくなってしまう。この場合、クライアント側では、サーバが処理待ち状態なのか、サーバの処理がフリーズしているのか把握することができない。 Also, if a large-scale process occurs on the server side in response to a request thrown from the client side, nothing can be operated on the client side until the process is completed. In this case, the client side cannot grasp whether the server is waiting for processing or whether the server processing is frozen.
例えば非特許文献1には、サーバが作業を完了するまでの間、クライアントの画面上に動画を見せるような技術が開示されている。
For example, Non-Patent
しかしながら、非特許文献1に開示される技術においても、サーバ側で大規模処理が発生すると、クライアント側が操作可能な状態に移行するまで相当の時間を要してしまうことに変わりない。
However, even in the technology disclosed in Non-Patent
そこで、本発明の目的は、Webサービスを提供するサーバ装置の束縛時間を短くし、より早く次のリクエストを受け付け可能な状態に移行させることにある。 Accordingly, an object of the present invention is to shorten the binding time of a server device that provides a Web service and to shift to a state in which a next request can be accepted earlier.
また、本発明の他の目的は、クライアント端末をより早く操作可能な状態に移行させることにある。 Another object of the present invention is to shift the client terminal to a state where it can be operated more quickly.
本発明のサーバ装置は、Webサービスを提供するサーバ装置であって、クライアント端末からのリクエストを受け付けるリクエスト受付手段と、前記リクエストに応じた処理の手順を外部装置にて呼び出させるための処理を他のサーバ装置に対して要求する要求手段とを有することを特徴とする。
本発明の情報処理システムは、Webサーバを提供する第1のサーバ装置と第2のサーバ装置とが通信可能に接続され、前記第2のサーバ装置と第3のサーバ装置とが通信可能に接続された情報処理システムであって、前記第1のサーバ装置は、クライアント端末からのリクエストを受け付けるリクエスト受付手段と、前記リクエストに応じた処理の手順を前記第3のサーバ装置にて呼び出させるための処理を前記第2のサーバ装置に対して要求する要求手段とを有し、前記第2のサーバ装置は、前記要求手段からの要求を受け付ける要求受付手段と、前記要求受付手段により受け付けた要求に応じて、前記リクエストに応じた処理の手順を前記第3のサーバ装置にて呼び出させる手順呼出し手段とを有し、前記第3のサーバ装置は、前記手順呼出し手段によって呼び出された手順で前記リクエストに応じた処理を実行する処理実行手段を有することを特徴とする。
本発明のサーバ装置の制御方法は、Webサービスを提供するサーバ装置の制御方法であって、クライアント端末からのリクエストを受け付けるリクエスト受付ステップと、前記リクエストに応じた処理の手順を外部装置にて呼び出させるための処理を他のサーバ装置に対して要求する要求ステップとを含むことを特徴とする。
本発明のプログラムは、Webサービスを提供するサーバ装置の制御方法をコンピュータに実行させるためのプログラムであって、クライアント端末からのリクエストを受け付けるリクエスト受付ステップと、前記リクエストに応じた処理の手順を外部装置にて呼び出させるための処理を他のサーバ装置に対して要求する要求ステップとをコンピュータに実行させることを特徴とする。
The server device according to the present invention is a server device that provides a Web service, and includes a request receiving unit that receives a request from a client terminal, and a process for causing an external device to call a processing procedure according to the request. Requesting means for requesting the server apparatus.
In the information processing system of the present invention, a first server device that provides a Web server and a second server device are communicably connected, and the second server device and a third server device are communicably connected. In the information processing system, the first server device is configured to cause the third server device to call a request receiving unit that receives a request from a client terminal and a processing procedure corresponding to the request. Requesting means for requesting processing to the second server device, wherein the second server device accepts a request from the requesting means and requests received by the request accepting means. In response, the third server device has a procedure calling means for calling a processing procedure corresponding to the request in the third server device. It characterized by having a process execution means for executing a process corresponding to the request by the procedure called by the calling means.
The server device control method according to the present invention is a method for controlling a server device that provides a Web service, in which a request receiving step for receiving a request from a client terminal and a processing procedure corresponding to the request are called by an external device. And a requesting step for requesting another server device to perform processing.
A program of the present invention is a program for causing a computer to execute a control method for a server device that provides a Web service, and includes a request receiving step for receiving a request from a client terminal, and a processing procedure corresponding to the request. It is characterized by causing a computer to execute a requesting step for requesting another server device to execute a process for calling by the device.
本発明において、Webサービスを提供するサーバ装置は、受け付けたリクエストに応じた処理の手順を外部装置にて呼び出させるための処理を他のサーバ装置に対して要求するように構成している。従って、本発明によれば、Webサービスを提供するサーバ装置の束縛時間を短くし、より早く次のリクエストを受け付け可能な状態に移行させることが可能となる。 In the present invention, a server device that provides a Web service is configured to request another server device to perform processing for calling a processing procedure corresponding to the received request on an external device. Therefore, according to the present invention, it is possible to shorten the binding time of the server device that provides the Web service, and to shift to a state where the next request can be accepted earlier.
また本発明の他の特徴によれば、リクエストの受け付けに応じて、クライアント端末に対してリクエストを受け付けた旨を返信するように構成している。このように迅速にクライアント端末に対して通知を行うことで、本発明によれば、クライアント端末をより早く操作可能な状態に移行させることが可能となる。 According to another feature of the present invention, a response indicating that the request has been accepted is sent back to the client terminal in response to acceptance of the request. Thus, by promptly notifying the client terminal, according to the present invention, the client terminal can be shifted to a state where it can be operated more quickly.
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。 DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, preferred embodiments to which the invention is applied will be described in detail with reference to the accompanying drawings.
図1は、本発明の実施形態に係る情報処理システムの構成を示す図である。図1において、クライアント端末100とWebサービス担当APサーバ200とはインターネットなどのネットワークを介して接続される。Webサービス担当APサーバ200とRMIサービス担当APサーバ300とはLANによって接続され、更にRMIサービス担当APサーバ300とDBサーバ400とがLANによって接続される。
FIG. 1 is a diagram showing a configuration of an information processing system according to an embodiment of the present invention. In FIG. 1, a
クライアント端末100は、ユーザが操作するPCである。クライアント端末100は、ユーザの操作に応じて、Webサービス担当APサーバ200、RMIサービス担当APサーバ300及びDBサーバ400から構成されるコンピュータシステムに対して、データ検索要求やデータ登録要求等のリクエストを発行する。なお、Webサービス担当APサーバ200は、Webサービスを提供するためのサーバである。RMIサービス担当APサーバ300は、RMIサービスを提供するためのサーバである。DBサーバ400は、データベース(DB)に対するデータ登録やデータ検索等の処理を行う。ここでいうRMIとは、Remote Method Invocationの略称であり、ネットワークで繋がった先のコンピュータのメソッドを呼び出すことができる技術である。
The
クライアント端末100とWebサービス担当APサーバ200間では、SOAP(Simple Object Access Protocol)によるXMLデータでの通信が行われる。従って、クライアント端末100では、例えばDB登録対象のオブジェクト(バイナリデータ)をXMLデータ(テキストデータ)に変換するシリアライズを実行してリクエストを生成し、Webサービス担当APサーバ200に対して送信する。
Between the
Webサービス担当APサーバ200は、クライアント端末100からリクエストであるXMLデータを受信すると、リクエストを受信した旨の通知をクライアント端末100に対して返信する。また、Webサービス担当APサーバ200は、受信したXMLデータをバイナリデータに変換するデシリアライズを実行した後、後段のRMIサービス担当APサーバ300に対して、リクエストに応じたメソッド(手順)をDBサーバ400にて呼び出させるための処理を要求する。この要求を行った時点でWebサービス担当APサーバ200は、今回のリクエストに対する処理から解放され、次のリクエストを受け付けることが可能となる。
Upon receiving the XML data that is a request from the
RMIサービス担当APサーバ200は、Webサービス担当APサーバ200からの要求を受け付けると、リクエストに応じた処理のメソッドを後段のDBサーバ400に呼び出させる。DBサーバ400は、呼び出したメソッドで処理(データ登録処理やデータ検索処理等)を実行する。
When the RMI service responsible AP
Webサービス担当APサーバ200からRMIサービス担当APサーバ300に対して処理の要求を行う際には、バイナリデータで通信が行われる。XMLデータで通信を行うよりもバイナリデータで通信を行った方が通信データ量が少なくて済むため、Webサービス担当APサーバ200、RMIサービス担当APサーバ300間における通信コストを抑えることができる。
When a request for processing is made from the Web service
図2は、Webサービス担当APサーバ200及びRMIサービス担当APサーバ300の主要な機能構成を示すブロック図である。
FIG. 2 is a block diagram showing main functional configurations of the Web
図2に示すように、Webサービス担当APサーバ200は、その機能的な構成として、リクエスト受付部201、返信部202、デシリアライズ部203及び処理要求受付部204を備える。また、RMIサービス担当APサーバ300は、その機能的な構成として、処理実行部301を備える。
As shown in FIG. 2, the Web
リクエスト受付部201は、XMLで記述されたデータ検索要求やデータ登録要求等のリクエストをクライアント端末100から受け付ける。
The request reception unit 201 receives a request such as a data search request or a data registration request written in XML from the
返信部202は、リクエスト受付部201がクライアント端末100からリクエストを受け付けると、リクエストを受け付けた旨の通知をクライアント端末100に対して返信する。
When the request receiving unit 201 receives a request from the
デシリアライズ部203は、リクエスト受付部201によって受け付けたリクエストであるXMLデータをバイナリデータに変換する。 The deserialization unit 203 converts the XML data that is the request received by the request reception unit 201 into binary data.
処理要求部204は、リクエストに応じた処理のメソッドをDBサーバ400にて呼び出させるための処理をRMIサービス担当サーバ300に対して要求する。ここでの要求は、デシリアライズ部203によってバイナリデータに変換されたリクエストによって行われる。例えば、リクエスト受付部201によって受け付けたリクエストがDBサーバ400へのデータ登録であれば、処理要求部204は、バイナリデータの当該リクエストをRMIサービス担当APサーバ300に送信することにより、対象データの登録処理を実行させるためのメソッドをDBサーバ400に呼び出させることを要求する。また、リクエスト受付部201によって受け付けたリクエストがDBサーバ400のデータ検索であれば、処理要求部204は、バイナリデータの当該リクエストをRMIサービス担当APサーバ300に送信することにより、検索条件に合致するデータを検索させるためのメソッドをDBサーバ400に呼び出させることを要求する。
The
処理実行部301は、処理要求部204からの要求に応じたメソッドをDBサーバ400において呼び出させる処理を実行する。
The process execution unit 301 executes a process for causing the
図3は、クライアント端末100、Webサービス担当APサーバ200、RMIサービス担当APサーバ300及びDBサーバ400のハードウェア構成を示すブロック図である。
FIG. 3 is a block diagram showing the hardware configuration of the
CPU1001は、システムバスに接続される各デバイスやコントローラを統括的に制御する。ROM1003又はHD(ハードディスク)1009には、CPU1001の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム、クライアント端末100、Webサービス担当APサーバ200、RMIサービス担当APサーバ300及びDBサーバ400が実行する例えば図4に示す処理のプログラム等が記憶されている。
The
なお、図3の例では、HD1009は、クライアント端末100、Webサービス担当APサーバ200、RMIサービス担当APサーバ300及びDBサーバ400の内部に配置された構成としているが、他の実施形態としてHD1009に相当する構成が、クライアント端末100、Webサービス担当APサーバ200、RMIサービス担当APサーバ300及びDBサーバ400の外部に配置された構成としてもよい。また、本実施形態に係る例えば図4に示す処理を行うためのプログラムは、フレキシブルディスク(FD)やCD−ROM等、コンピュータ読み取り可能な記録媒体に記録され、それらの記録媒体から供給される構成としてもよいし、インターネット等の通信媒体を介して供給される構成としてもよい。
In the example of FIG. 3, the
RAM1002は、CPU1001の主メモリ、ワークエリア等として機能する。CPU1001は、処理の実行に際して必要なプログラム等をRAM1002にロードして、プログラムを実行することで各種動作を実現するものである。
A
HD1009やFD1008は、外部メモリとして機能する。CPU1001は、処理の実行に際して必要なプログラム等をRAM1002にロードして、プログラムを実行することで各種動作を実現するものである。
The
ディスクコントローラ1007は、HD1009やFD1008等の外部メモリへのアクセスを制御する。通信I/Fコントローラ1006は、インターネットやLANと接続し、例えばTCP/IPによって外部との通信を制御するものである。
A
ディスプレイコントローラ1010は、ディスプレイ1011における画像表示を制御する。
A display controller 1010 controls image display on the
KBコントローラ1004は、KB(キーボード)1005からの操作入力を受け付け、CPU1001に対して送信する。なお、図示していないが、KB1005の他に、マウス等のポインティングデバイスもユーザの操作手段として本実施形態に係るクライアント端末100、Webサービス担当APサーバ200、RMIサービス担当APサーバ300及びDBサーバ400に適用可能である。
The
なお、図2に示すWebサービス担当APサーバ200のリクエスト受付部201、返信部202、デシリアライズ部203及び処理要求部204、並びに、RMIサービス担当APサーバ300の処理実行部301は、例えばHD1009内に記憶され、必要に応じてRAM1002にロードされるプログラム及びそれを実行するCPU1001によって実現される構成である。
Note that the request reception unit 201, the
図4は、本実施形態に係る情報処理システムの動作の流れを示すシーケンスチャートである。以下、図4を参照しながら、本実施形態に係る情報処理システムの動作について説明する。 FIG. 4 is a sequence chart showing a flow of operations of the information processing system according to the present embodiment. Hereinafter, the operation of the information processing system according to the present embodiment will be described with reference to FIG.
先ず、クライアント端末100は、データ登録要求やデータ検索要求等のリクエストをWebサービス担当APサーバ200に対して発行(送信)する(ステップS401)。
First, the
Webサービス担当APサーバ200のリクエスト受付部201は、クライアント端末100から発行されたリクエストを受け付ける(ステップS402)。
The request reception unit 201 of the Web service
続いて、Webサービス担当APサーバ200の返信部202は、リクエストを受け付けた旨の通知をクライアント端末100に返信する(ステップS403)。
Next, the
クライアント端末100は、返信部202からの通知を受信する(ステップS404)。これにより、クライアント端末100は操作可能な状態に移行する。
The
Webサービス担当APサーバ200のデシリアライズ部203は、リクエスト受付部201が受け付けたXMLデータのリクエストをバイナリデータに変換する(ステップS405)。
The deserialization unit 203 of the Web service
続いて、Webサービス担当APサーバ200の処理要求部204は、リクエストに応じた処理のメソッドをDBサーバ300にて呼び出させるための処理をRMIサービス担当APサーバ300に対して要求する(ステップS406)。
Subsequently, the
RMIサービス担当APサーバ300の処理実行部301は、処理要求部204からの要求を受け付け(ステップS407)、当該要求に応じたメソッドをDBサーバ400に呼び出させる(ステップS408)。例えば、データ検索が要求された場合には、データ検索のためのメソッドをDBサーバ400に呼び出させ、データ登録が要求された場合には、データ登録のためのメソッドをDBサーバ400に呼び出させる。
The process execution unit 301 of the RMI service
DBサーバ400は、呼び出したメソッドによる処理を実行する(ステップS409)。例えば、データ検索のためのメソッドを呼び出した場合には、呼び出したメソッドによってデータ検索を行い、データ登録のためのメソッドを呼び出した場合には、呼び出したメソッドによってデータ登録を行う。
The
図5は、DBサーバ400内で管理されるセッションID管理テーブルの構成を模式的に示す図である。このセッションID管理テーブルは、DBサーバ400のRAM1002又はHD1009内に格納されるものである。
FIG. 5 is a diagram schematically showing a configuration of a session ID management table managed in the
セッションIDは、クライアント端末100がWebサービスにログインする毎に付与されるIDである。図5の例では、4つのセッションIDが登録され、セッションID毎に処理メッセージ項目、処理カウント項目、処理MAXカウント項目及びステータス項目が管理される。
The session ID is an ID given each time the
処理メッセージ項目には、現在の処理状況を示すメッセージが登録され、例えばデータ検索中やデータ登録中等が登録される。 In the process message item, a message indicating the current process status is registered. For example, data search or data registration is registered.
処理カウント項目には、現時点での処理数が登録される。例えば発行したリクエストがデータ登録であり、登録される全てのデータ件数が1000件あり、現時点でそのうちの500件が登録されているのであれば"500"という情報がここに登録される。 The current processing number is registered in the processing count item. For example, if the issued request is data registration, and the total number of data items to be registered is 1000, and 500 of them are currently registered, information “500” is registered here.
処理MAXカウント項目には、全ての処理数が登録される。例えば上述した例であると、登録される全てのデータ件数1000件を示す"1000"という情報がここに登録される。
All processing numbers are registered in the processing MAX count item. For example, in the above-described example, information “1000” indicating the total number of registered
ステータス項目には、現在の処理状況を示すフラグが登録される。例えば、処理前であれば"0"、処理中であれば"1"、処理後であれば"2"、処理中止であれば"9"がここに登録される。 A flag indicating the current processing status is registered in the status item. For example, “0” is registered before processing, “1” is registered, “2” is registered after processing, and “9” is registered when processing is stopped.
なお、一度のログインで複数のリクエストが発行されることもある。この場合、一つのセッションIDに対応付けて、処理カウント項目には複数のリクエスト分の現時点の処理数が登録され、処理MAXカウント項目には複数のリクエスト分の全ての処理数が登録されることになる。また、複数のリクエストのうち、データ検索のリクエストに応じた処理が現在実行されていれば、処理メッセージ項目にはデータ検索中が登録される。さらに、複数のリクエストに応じた処理が処理前であれば"0"、処理中であれば"1"、処理後であれば"2"、処理中止であれば"9"がステータス項目に登録される。 Note that multiple requests may be issued with a single login. In this case, in association with one session ID, the current processing number for a plurality of requests is registered in the processing count item, and all the processing numbers for the plurality of requests are registered in the processing MAX count item. become. If a process corresponding to a data search request is currently being executed among a plurality of requests, “data search in progress” is registered in the process message item. Furthermore, “0” is registered in the status item if processing corresponding to a plurality of requests is before processing, “1” if processing is in progress, “2” if processing is after processing, and “9” if processing is cancelled. Is done.
上述したセッションID管理テーブルにおける処理メッセージ項目、処理カウント項目及びステータス項目の登録情報は、処理の進捗に応じて逐次更新される。即ち、セッションID管理テーブルにおいては、各セッションIDに対応付けて処理の進捗状況が管理される。 The registration information of the process message item, the process count item, and the status item in the session ID management table described above is sequentially updated according to the progress of the process. That is, in the session ID management table, the progress of processing is managed in association with each session ID.
クライアント端末100は、Webサービス担当APサーバ200及びRIMサービス担当APサーバ300、又は、Webサービス担当APサーバ200のみを介してDBサーバ400に非同期でアクセスし、対象とするセッションID、所望の項目を指定することにより、該当するセッションIDにおける処理の進捗状況を取得することができる。
The
図6は、クライアント端末100がDBサーバ400から処理カウント項目及び処理MAXカウント項目に登録される情報を取得し、ディスプレイ1011上に表示させた例を示す図である。ここでは、クライアント端末100がDBサーバ400から例えば図5のセッションID管理テーブルの最上段のレコードに登録されるセッションIDの処理カウント項目及び処理MAXカウント項目に登録される情報を取得した場合について説明する。
FIG. 6 is a diagram illustrating an example in which the
取得される情報は、処理カウント項目に登録される"50"、処理MAXカウント項目に登録される"100"であるため、現在の進捗状況は全体の処理数のうちの50%が処理済みである。従って、図6に示すように、50%の文字情報の表示とともに、プログレスバーを全体の半分だけ伸ばして表示させ、現在の進捗状況が50%であることを視覚的に認識しやすいインタフェースが表示される。 Since the acquired information is “50” registered in the processing count item and “100” registered in the processing MAX count item, 50% of the total processing number has been processed in the current progress status. is there. Therefore, as shown in FIG. 6, along with the display of 50% of character information, the progress bar is extended by half of the entire display, and an interface that makes it easy to visually recognize that the current progress status is 50% is displayed. Is done.
以上のように、本実施形態においては、クライアント端末100から非同期で進捗状況を取得、表示することが可能となる。これにより、ユーザは進捗状況を適宜確認することができ、また、途中で処理をキャンセルすることも可能となる。
As described above, in the present embodiment, the progress status can be acquired and displayed asynchronously from the
このように本実施形態においては、セッションID管理テーブルをDBサーバ400内で保持するように構成している。ところで、負荷分散等の理由によりAPサーバが情報処理システムに増設され、クライアント端末100のDBサーバ400へのアクセス経路が増設されたAPサーバを経由するように変更される場合がある。このような場合、元のアクセス経路上のAPサーバ内にセッションID管理テーブルを備えていた場合、クライアント端末100は、既に付与されたセッションIDに対応する進捗状況を、上記経路変更を契機に取得することができなくなってしまう。これに対し、本実施形態においては、最終的なアクセスポイントであるDBサーバ400にセッションID管理テーブルを配置した構成としているため、APサーバの増設等に伴うアクセス経路の変更があった場合でも、既に付与されたセッションIDに対応する進捗状況を確実にクライアント端末100が取得することができる。
Thus, in this embodiment, the session ID management table is configured to be held in the
なお、図5では、セッションID毎に進捗情報を管理した状態を示しているが、処理毎に付与されるトランザクションID毎に進捗情報を管理してもよい。 In addition, although the state which managed progress information for every session ID is shown in FIG. 5, you may manage progress information for every transaction ID provided for every process.
以上のように、本実施形態において、Webサービス担当APサーバ200は、受け付けたリクエストに応じた処理のメソッドをDBサーバ400にて呼び出させるための処理をRMIサービス担当サーバ300に対して要求するように構成している。従って、Webサービス担当APサーバ200の束縛時間を短くし、より早く次のリクエストを受け付け可能な状態に移行させることが可能となる。
As described above, in this embodiment, the Web
また本実施形態において、Webサービス担当APサーバ200は、リクエストの受け付けに応じてクライアント端末100に対してリクエストを受け付けた旨を返信するように構成している。このように迅速にクライアント端末100に対して通知を行うことで、クライアント端末100をより早く操作可能な状態に移行させることが可能となる。
In the present embodiment, the Web
本発明の他の実施形態として、ステップS403とステップS405の処理順序を入れ替えてもよい。即ち、Webサービス担当APサーバ200は、XMLデータのリクエストをバイナリデータのリクエストに変換した後、リクエストを受け付けた旨の通知をクライアント端末100に対して行ってもよい。このようにすることで、クライアント端末100がリクエストに係る通知を受け取った時点には、Webサービス担当APサーバ200は確実に解放された状態となり、その後のクライアント端末100からのリクエストは全て受け付けることが可能となる。
As another embodiment of the present invention, the processing order of step S403 and step S405 may be interchanged. That is, the Web
更に、本発明の他の実施形態として、上記実施形態ではクライアント端末100から送信されるXMLデータをWebサービス担当APサーバ200がバイナリデータに変換してRMIサービス担当APサーバ300に渡すという処理を行ったが、本実施形態では、バイナリデータに変換せずにRMIサービス担当APサーバ300に渡すという処理を行う。
Furthermore, as another embodiment of the present invention, in the above embodiment, the XML service transmitted from the
デシリアライズ処理は、処理コストがかかるため、大規模なデシリアライズ処理が発生すると、サーバの負荷が高まってしまう。特に、Webサービス担当APサーバ200は、クライアントからのリクエストを受け付ける役目を果たすため、できるだけ負荷を高めたくないという要求もある。
Since the deserialization process is expensive, if a large-scale deserialization process occurs, the load on the server increases. In particular, the Web
そこで、クライアント端末100から送信されるXMLデータのリクエストのデータ量が多い場合、Webサービス担当APサーバ200ではバイナリデータに変換せずにRMIサービス担当APサーバ300にXMLデータを渡し、RMIサービス担当APサーバ300側でバイナリデータに変換するようにする。ここで、データ量の多いリクエストとは、ひとつのリクエストで、多くのレコード登録の処理を行う場合などが挙げられる。
Therefore, when the data amount of the XML data request transmitted from the
このような処理をするために、Webサービス担当APサーバ200には処理判断基準情報がROM1003又はHD1009に記憶されている。また、RMIサービス担当APサーバ300は、Webサービス担当APサーバ200が備えるのと同様のデシリアライズ部203を備えている。
In order to perform such processing, the processing service standard information is stored in the
リクエスト受付部201は、クライアント端末100からXMLデータを受信すると、処理判断基準情報を読み出して、受信したXMLデータがこの基準に特定されたサイズを超えていれば、XMLデータをバイナリデータに変換せずにRMIサービス担当APサーバ300に送信する。XMLデータを受信したRMIサービス担当APサーバ300は、まずデシリアライズ部でXMLデータをバイナリデータのリクエストに変換し、続いて、リクエストに応じた処理のメソッドを処理実行部301がDBサーバ400に呼び出させる。
When receiving the XML data from the
100:クライアント端末
200:Webサービス担当APサーバ
201:リクエスト受付部
202:返信部
203:デシリアライズ部
204:処理要求部
300:RMIサービス担当APサーバ
301:処理実行部
400:DBサーバ
DESCRIPTION OF SYMBOLS 100: Client terminal 200: Web service charge AP server 201: Request reception part 202: Reply part 203: Deserialization part 204: Process request part 300: RMI service charge AP server 301: Process execution part 400: DB server
Claims (8)
クライアント端末からのリクエストを受け付けるリクエスト受付手段と、
前記リクエストに応じた処理の手順を外部装置にて呼び出させるための処理を他のサーバ装置に対して要求する要求手段とを有することを特徴とするサーバ装置。 A server device that provides a Web service,
A request receiving means for receiving a request from a client terminal;
A server device comprising: request means for requesting another server device to execute a process for causing an external device to call a processing procedure corresponding to the request.
前記要求手段は、バイナリデータの前記リクエストを前記他のサーバ装置に対して送信することにより、前記リクエストに応じた処理の手順を前記外部装置にて呼び出させるための処理を前記他のサーバ装置に対して要求することを特徴とする請求項1乃至3の何れか1項に記載のサーバ装置。 Conversion means for converting the request for text data into the request for binary data;
The request means transmits the request for binary data to the other server device, thereby causing the other server device to execute a process for causing the external device to call a processing procedure corresponding to the request. 4. The server apparatus according to claim 1, wherein the server apparatus requests the server apparatus.
前記第1のサーバ装置は、
クライアント端末からのリクエストを受け付けるリクエスト受付手段と、
前記リクエストに応じた処理の手順を前記第3のサーバ装置にて呼び出させるための処理を前記第2のサーバ装置に対して要求する要求手段とを有し、
前記第2のサーバ装置は、
前記要求手段からの要求を受け付ける要求受付手段と、
前記要求受付手段により受け付けた要求に応じて、前記リクエストに応じた処理の手順を前記第3のサーバ装置にて呼び出させる手順呼出し手段とを有し、
前記第3のサーバ装置は、
前記手順呼出し手段によって呼び出された手順で前記リクエストに応じた処理を実行する処理実行手段を有することを特徴とする情報処理システム。 An information processing system in which a first server device that provides a Web server and a second server device are communicably connected, and the second server device and a third server device are communicably connected. ,
The first server device is
A request receiving means for receiving a request from a client terminal;
Requesting means for requesting the second server device to execute a process for causing the third server device to call a processing procedure corresponding to the request;
The second server device is
Request accepting means for accepting a request from the request means;
In response to the request received by the request receiving means, a procedure calling means for calling a procedure of processing according to the request in the third server device,
The third server device is
An information processing system comprising processing execution means for executing processing according to the request in a procedure called by the procedure calling means.
前記リクエストに応じた処理の進捗状況を管理する管理手段を更に有することを特徴とする請求項5に記載の情報処理システム。 The third server device is
The information processing system according to claim 5, further comprising management means for managing a progress status of the processing according to the request.
クライアント端末からのリクエストを受け付けるリクエスト受付ステップと、
前記リクエストに応じた処理の手順を外部装置にて呼び出させるための処理を他のサーバ装置に対して要求する要求ステップとを含むことを特徴とするサーバ装置の制御方法。 A control method of a server device that provides a Web service,
A request reception step for receiving a request from a client terminal;
And a requesting step of requesting another server device to execute a process for causing the external device to call a processing procedure corresponding to the request.
クライアント端末からのリクエストを受け付けるリクエスト受付ステップと、
前記リクエストに応じた処理の手順を外部装置にて呼び出させるための処理を他のサーバ装置に対して要求する要求ステップとをコンピュータに実行させるためのプログラム。 A program for causing a computer to execute a control method of a server device that provides a Web service,
A request reception step for receiving a request from a client terminal;
A program for causing a computer to execute a requesting step for requesting another server device to execute a process for causing an external device to call a processing procedure corresponding to the request.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009143650A JP2011002909A (en) | 2009-06-16 | 2009-06-16 | Server device, information processing system, method of controlling the server device, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009143650A JP2011002909A (en) | 2009-06-16 | 2009-06-16 | Server device, information processing system, method of controlling the server device, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011002909A true JP2011002909A (en) | 2011-01-06 |
Family
ID=43560835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009143650A Pending JP2011002909A (en) | 2009-06-16 | 2009-06-16 | Server device, information processing system, method of controlling the server device, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011002909A (en) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003288221A (en) * | 2002-03-28 | 2003-10-10 | Japan Research Institute Ltd | Data processing system |
JP2006085365A (en) * | 2004-09-15 | 2006-03-30 | Ricoh Co Ltd | Proxy device, service use device, proxy program, service use program, recording medium and asynchronous operation provision method |
JP2006252151A (en) * | 2005-03-10 | 2006-09-21 | Nomura Research Institute Ltd | Normality confirmation system, device, method and program for telegram processing system |
-
2009
- 2009-06-16 JP JP2009143650A patent/JP2011002909A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003288221A (en) * | 2002-03-28 | 2003-10-10 | Japan Research Institute Ltd | Data processing system |
JP2006085365A (en) * | 2004-09-15 | 2006-03-30 | Ricoh Co Ltd | Proxy device, service use device, proxy program, service use program, recording medium and asynchronous operation provision method |
JP2006252151A (en) * | 2005-03-10 | 2006-09-21 | Nomura Research Institute Ltd | Normality confirmation system, device, method and program for telegram processing system |
Non-Patent Citations (2)
Title |
---|
CSND200301385002; Griffin Eric: 'Microsoft.NETプログラミング入門 Part V .NET Programming Part V' msdn magazine 2001 July No.16 第16号, 20010718, p.25-34, 株式会社アスキー * |
JPN6013031045; Griffin Eric: 'Microsoft.NETプログラミング入門 Part V .NET Programming Part V' msdn magazine 2001 July No.16 第16号, 20010718, p.25-34, 株式会社アスキー * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8452833B2 (en) | Cached message distribution via HTTP redirects | |
JP5236581B2 (en) | Transmitting apparatus, control method therefor, program, and information processing system | |
US9088622B2 (en) | Dynamic client registration for server push events in long polling scenarios | |
US10673969B2 (en) | Scalable data feed system | |
JP5724687B2 (en) | Information processing apparatus, server selection method, and program | |
JP2011076371A (en) | Job processing system, and method and program for the same | |
JP2007026006A (en) | Information exchange system, management server, network load reduction method for use therewith, and its program | |
CN106557288B (en) | Method and device for acquiring printing data | |
JP2007028117A (en) | Information exchange system, management server, terminal equipment, and network load reducing method used therefor | |
CN111200606A (en) | Deep learning model task processing method, system, server and storage medium | |
JP2016212482A (en) | Information processing system, information acquisition method, information processing device, and program | |
JPWO2009013789A1 (en) | Community generation support system, community generation support method, and program thereof. | |
US8140692B2 (en) | Flexibly configured presence server | |
JPWO2008105099A1 (en) | Application cooperation control program, application cooperation control method, and application cooperation control apparatus | |
US9606758B1 (en) | System and method of connecting a computer to a printer | |
CN112202605A (en) | Service configuration method, device, equipment and storage medium | |
CA2635172A1 (en) | Device for communicating in multiple modes using multi-mode applications | |
US20080071916A1 (en) | System and method for requesting a web service from a network server | |
US11567742B2 (en) | Method, apparatus, and computer program product for generating updated network application interfaces | |
CN108228359B (en) | Method and system for integrating web program and R program to process data | |
JP2011002909A (en) | Server device, information processing system, method of controlling the server device, and program | |
US20150120805A1 (en) | Bi-directional Channel-based Progress Indicator | |
US20100250684A1 (en) | High availability method and apparatus for shared resources | |
JP5326045B2 (en) | Bidirectional communication system and server device used therefor | |
US20230171830A1 (en) | Apparatus and method for configuring data communication between robot components in different networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110902 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130617 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130702 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20131029 |