JP2006085365A - Proxy device, service use device, proxy program, service use program, recording medium and asynchronous operation provision method - Google Patents

Proxy device, service use device, proxy program, service use program, recording medium and asynchronous operation provision method Download PDF

Info

Publication number
JP2006085365A
JP2006085365A JP2004268557A JP2004268557A JP2006085365A JP 2006085365 A JP2006085365 A JP 2006085365A JP 2004268557 A JP2004268557 A JP 2004268557A JP 2004268557 A JP2004268557 A JP 2004268557A JP 2006085365 A JP2006085365 A JP 2006085365A
Authority
JP
Japan
Prior art keywords
service
proxy
asynchronous
request
asynchronous operation
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
Application number
JP2004268557A
Other languages
Japanese (ja)
Inventor
Yohei Yamamoto
陽平 山本
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2004268557A priority Critical patent/JP2006085365A/en
Publication of JP2006085365A publication Critical patent/JP2006085365A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide asynchronous operation to a client even if service supports synchronous operation and does not support the asynchronous operation. <P>SOLUTION: This proxy device has: a request reception means 41 receiving a request from a service use means; an asynchronous execution means 43 generated according to a use request of the asynchronous operation related to the service from the service use means 10, executing processing related to asynchronization; and a response holding/transmission means 42 transmitting a response to the service use means 10 according to the request from the service use means 10, temporarily holding a processing result of the synchronous operation executed by a service provision means 30 according to the use request of the asynchronous operation, and transmitting it to the service use means 10 as a processing result of the asynchronous operation. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は、プロキシ装置、サービス利用装置、プロキシプログラム、サービス利用プログラム、記録媒体及び非同期オペレーション提供方法に関する。   The present invention relates to a proxy device, a service using device, a proxy program, a service using program, a recording medium, and an asynchronous operation providing method.

従来、同期オペレーションしかサポートしていないサービスが存在した。以下、例えば同期オペレーションしかサポートしていない、サービスの一例を、図1に示す。図1は、同期オペレーションしかサポートしていないサービスの一例を示す図である。   Traditionally, there are services that only support synchronous operations. An example of a service that supports only synchronous operation, for example, is shown in FIG. FIG. 1 is a diagram illustrating an example of a service that supports only synchronous operation.

図1に示されるように、ユーザが、パーソナルコンピュータ(以下、単にPCという)等に実装されているクライアントサービス(以下、単にクライアントという)を使用して、スキャンしたスキャンデータの取得をスキャンサービスに要求しても、例えば画像形成装置等に実装されているスキャンサービスが、同期オペレーションしかサポートしていない場合、大量の文書をスキャンしていると、全てのスキャンが終了するまで、スキャンデータの取得要求に対する応答は、クライアントに返ってこない問題があった。   As shown in FIG. 1, a user uses a client service (hereinafter simply referred to as a client) installed in a personal computer (hereinafter simply referred to as a PC) or the like to obtain scanned scan data as a scan service. Even if requested, for example, if the scan service implemented in the image forming apparatus supports only synchronous operation, if a large amount of documents are scanned, scan data is acquired until all scans are completed. There was a problem that the response to the request was not returned to the client.

したがって、例えばクライアントが、スキャンデータをPCのディスプレイに表示しようとしていても、全てのスキャンが終了するまでスキャンデータの取得要求に対する応答がスキャンサービスから返ってこないため、それまでディスプレイへの表示ができない問題があった。また、全てのスキャンが終わるまで、クライアントと、スキャンサービスと、は接続されたままとなるので、スキャン中、ネットワークの大域を占有してしまう問題があった。   Therefore, for example, even if the client tries to display the scan data on the display of the PC, the response to the scan data acquisition request is not returned from the scan service until all the scans are completed. There was a problem. In addition, the client and the scan service remain connected until all the scans are completed, so that there is a problem that the entire network is occupied during the scan.

一方、非同期オペレーションもサポートしているサービスでは、上述したような問題は解消される。以下、非同期オペレーションもサポートしているサービスの一例を、図2に示す。図2は、非同期オペレーションもサポートしているサービスの一例を示す図です。   On the other hand, a service that also supports asynchronous operations solves the problems described above. An example of a service that also supports asynchronous operations is shown in FIG. Figure 2 shows an example of a service that also supports asynchronous operations.

図2に示されるように、ユーザが、PC等に実装されているクライアントを使用して、スキャンしたスキャンデータの取得をスキャンサービスに要求すると、例えば画像形成装置等に実装されているスキャンサービスが、非同期オペレーションもサポートしている場合、大量の文書をスキャンしていても、例えば先頭ページのスキャンデータだけ、とりあえず、スキャンデータの取得要求に対する応答として、クライアントに返すことができる。   As shown in FIG. 2, when a user requests a scan service to acquire scanned scan data using a client mounted on a PC or the like, for example, the scan service mounted on the image forming apparatus or the like If the asynchronous operation is also supported, even if a large amount of documents are scanned, for example, only the scan data of the first page can be returned to the client as a response to the scan data acquisition request for the time being.

したがって、例えばクライアントが、スキャンデータをPCのディスプレイに表示しようとした場合、とりあえず、先頭ページのスキャンデータだけでも、素早く表示することができる。また、クライアントは、残りのページのスキャンデータを、非同期でスキャンサービスより取得することができるので、スキャン中に、ネットワークの大域を占有してしまうこともない。   Therefore, for example, when the client tries to display the scan data on the display of the PC, for the time being, only the scan data of the first page can be quickly displayed. In addition, since the client can asynchronously acquire the scan data of the remaining pages from the scan service, the global area of the network is not occupied during the scan.

しかしながら、例えば上述したような同期オペレーションしかサポートしていないサービスが実装された装置等を既に出荷し、該装置を含むシステム等が構築されている場合は、図1に示したように、装置は、クライアントに対して、非同期のオペレーションを提供することができない問題があった。   However, for example, when a device or the like on which a service that supports only the synchronous operation as described above is already shipped and a system or the like including the device is constructed, as shown in FIG. There was a problem that asynchronous operations could not be provided to clients.

本発明は、上記の点に鑑みなされたもので、同期オペレーションをサポートし、非同期オペレーションをサポートしていないサービスでも、クライアントに対して、非同期オペレーションを提供可能にすることを目的とする。   The present invention has been made in view of the above points, and an object thereof is to enable an asynchronous operation to be provided to a client even in a service that supports a synchronous operation and does not support an asynchronous operation.

なお、以下、一般的な同期オペレーションと、非同期オペレーションの例を、図3から図5に示す。図3は、一般的な同期オペレーションの例を示す図である。   In the following, examples of general synchronous operation and asynchronous operation are shown in FIGS. FIG. 3 is a diagram illustrating an example of a general synchronization operation.

図3に示されるようにクライアントは、例えば、文書の一覧を取得する同期オペレーションであるGetDocListオペレーションを呼び出すGetDocListリクエストを、同期オペレーションのみをサポートするサービス、例えば文書サービス、に送信する(シーケンスSQ1)。なお、以下では、サービスのことを単にサーバともいう。   As shown in FIG. 3, for example, the client transmits a GetDocList request that calls a GetDocList operation that is a synchronous operation for acquiring a list of documents to a service that supports only the synchronous operation, for example, a document service (sequence SQ1). Hereinafter, the service is also simply referred to as a server.

サーバは、クライアントからGetDocListリクエストを受信すると、文書の一覧の取得処理(GetDocListオペレーション)を実行し、文書の一覧を取得すると、GetDocListオペレーションの戻り値であるGetDocListResponseを、要求元のクライアントに送信する(シーケンスSQ2)。   When the server receives a GetDocList request from the client, the server executes a document list acquisition process (GetDocList operation). When the server acquires a document list, the server sends a GetDocListResponse, which is a return value of the GetDocList operation, to the requesting client ( Sequence SQ2).

なお、クライアントでは、リクエストを送信してからレスポンスを受信するまでの間、他の処理を実行することはできない。   It should be noted that the client cannot execute other processes from when a request is transmitted until a response is received.

以下、一般的な非同期オペレーションを、ポーリングの場合を例にとって図4に示す。図4は、一般的な非同期オペレーション(ポーリング)の例を示す図である。   Hereinafter, a general asynchronous operation is shown in FIG. 4 by taking the case of polling as an example. FIG. 4 is a diagram illustrating an example of a general asynchronous operation (polling).

図4に示されるようにクライアントは、例えば、文書の一覧を取得する非同期オペレーションであるGetDocListオペレーションを呼び出すGetDocListリクエストを、非同期オペレーションをサポートするサーバに送信する(シーケンスSQ10)。   As shown in FIG. 4, for example, the client transmits a GetDocList request that calls a GetDocList operation that is an asynchronous operation for acquiring a list of documents to a server that supports the asynchronous operation (sequence SQ10).

サーバは、クライアントからGetDocListリクエストを受信すると、Acknowledgement(以下、単にAckという)をクライアントに返し(シーケンスSQ11)、文書の一覧の取得処理(GetDocListオペレーション)を実行する。   When the server receives the GetDocList request from the client, the server returns Acknowledgment (hereinafter simply referred to as Ack) to the client (sequence SQ11), and executes document list acquisition processing (GetDocList operation).

クライアントは、リクエストを送信すると、直ぐにサーバよりAckを受け取ることによって、他の処理を実行することができるようになる。   When the client sends a request, it immediately receives an Ack from the server and can execute another process.

また、クライアントは、暫くすると、GetDocListオペレーションが終了したか否かを確かめるIsCompletedオペレーションを呼び出すIsCompletedリクエストを、サーバに送信する(シーケンスSQ12)。   Further, after a while, the client transmits an IsCompleted request for calling an IsCompleted operation for confirming whether or not the GetDocList operation has ended (sequence SQ12).

サーバは、クライアントより、IsCompletedリクエストを受信した際、まだ、GetDocListオペレーションが終了していないと判断すると、オペレーションが終了していない旨を表すNoを含むレスポンスを、要求元のクライアントに送信する(シーケンスSQ13)。   When the server receives the IsCompleted request from the client and determines that the GetDocList operation has not ended yet, the server transmits a response including No indicating that the operation has not ended to the requesting client (sequence). SQ13).

また、クライアントは、暫くすると、GetDocListオペレーションが終了したか否かを確かめるIsCompletedオペレーションを呼び出すIsCompletedリクエストを、サーバに送信する(シーケンスSQ14)。   Further, after a while, the client transmits an IsCompleted request for calling an IsCompleted operation for confirming whether or not the GetDocList operation has ended (sequence SQ14).

サーバは、クライアントより、IsCompletedリクエストを受信した際、既に、GetDocListオペレーションが終了していると判断すると、オペレーションが終了した旨を表すYesを含むレスポンスを、要求元のクライアントに送信する(シーケンスSQ15)。   When the server determines that the GetDocList operation has already ended when it receives the IsCompleted request from the client, it sends a response including Yes indicating that the operation has ended to the requesting client (sequence SQ15). .

クライアントは、サーバより、オペレーションが終了した旨を表すYesを含むレスポンスを受信すると、GetDocListオペレーションの結果を取得するGetResultオペレーションを呼び出すGetResultリクエストを、サーバに送信する(シーケンスSQ16)。   When the client receives a response including Yes indicating that the operation is completed from the server, the client transmits a GetResult request for calling the GetResult operation for obtaining the result of the GetDocList operation to the server (sequence SQ16).

サーバは、クライアントより、GetResultリクエストを受信すると、結果取得処理(GetResultオペレーション)を実行し、GetDocListオペレーションの結果を取得すると、GetResultオペレーションの戻り値であるGetDocListResponseを、要求元のクライアントに送信する(シーケンスSQ17)。   When the server receives a GetResult request from the client, the server executes a result acquisition process (GetResult operation). When the server acquires the result of the GetDocList operation, the server sends a GetDocListResponse which is a return value of the GetResult operation to the requesting client (sequence). SQ17).

図4に示したように、サーバが、非同期オペレーションに対応していると、クライアントは、リクエストに対応するレスポンスを直ぐにサーバより取得し、文書取得処理の間に他の処理を実行することができる。   As shown in FIG. 4, when the server supports asynchronous operations, the client can immediately obtain a response corresponding to the request from the server and execute other processes during the document acquisition process. .

以下、一般的な非同期オペレーションを、コールドバックの場合を例にとって図5に示す。図5は、一般的な非同期オペレーション(コールドバック)の例を示す図である。   Hereinafter, a general asynchronous operation is shown in FIG. FIG. 5 is a diagram illustrating an example of a general asynchronous operation (coldback).

図5に示されるようにクライアントは、例えば、文書の一覧を取得する非同期オペレーションであるGetDocListオペレーションを呼び出すGetDocListリクエストを、非同期オペレーションもサポートするサーバに送信する(シーケンスSQ20)。   As shown in FIG. 5, for example, the client transmits a GetDocList request that calls a GetDocList operation that is an asynchronous operation for acquiring a list of documents to a server that also supports the asynchronous operation (sequence SQ20).

サーバは、クライアントからGetDocListリクエストを受信すると、Ackをクライアントに返し(シーケンスSQ21)、文書の一覧の取得処理(GetDocListオペレーション)を実行する。   When the server receives a GetDocList request from the client, the server returns Ack to the client (sequence SQ21), and executes document list acquisition processing (GetDocList operation).

クライアントは、リクエストを送信すると、直ぐにサーバよりAckを受け取ることによって、他の処理を実行することができるようになる。   When the client sends a request, it immediately receives an Ack from the server and can execute another process.

サーバは、文書の一覧の取得処理(GetDocListオペレーション)が終了すると、GetDocListオペレーションの戻り値であるGetDocListResponseを、要求元のクライアントに送信する(シーケンスSQ22)。   When the document list acquisition process (GetDocList operation) ends, the server transmits GetDocListResponse, which is the return value of the GetDocList operation, to the requesting client (sequence SQ22).

クライアントは、サーバからDocListResponseを受信すると、Ackをサーバに返す(シーケンスSQ23)。   When the client receives DocListResponse from the server, the client returns Ack to the server (sequence SQ23).

図5に示したように、サーバが、非同期オペレーションに対応していると、クライアントは、リクエストに対応するレスポンスを直ぐにサーバより取得し、文書取得処理の間に他の処理を実行することができる。   As shown in FIG. 5, when the server supports asynchronous operations, the client can immediately obtain a response corresponding to the request from the server and execute other processes during the document acquisition process. .

そこで、上記課題を解決するため、本発明は、サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段に対して、前記サービスに係る非同期オペレーションを提供可能とするプロキシ装置であって、前記サービス利用手段からのリクエストを受信するリクエスト受信手段と、前記サービス利用手段からの、前記サービスに係る非同期オペレーションの利用リクエストに応じて生成され、非同期に係る処理を実行する非同期実行手段と、前記サービス利用手段からのリクエストに応じて、前記サービス利用手段にレスポンスを送信する一方、前記非同期オペレーションの利用リクエストに応じて、前記サービス提供手段が実行した同期オペレーションの処理結果を一時的に保持し、非同期オペレーションの処理結果として、前記サービス利用手段に送信するレスポンス保持・送信手段と、を有することを特徴とする。   Therefore, in order to solve the above-described problem, the present invention provides a service utilization unit that supports a service provided by a service providing unit that supports a synchronous operation related to a service and does not support an asynchronous operation related to a service. A proxy device capable of providing an asynchronous operation related to a service, in response to a request receiving means for receiving a request from the service using means and a request for using the asynchronous operation related to the service from the service using means Asynchronous execution means for executing processing related to asynchronous generation, and sending a response to the service use means in response to a request from the service use means, while providing the service in response to a use request for the asynchronous operation Means Temporarily holds a processing result of the synchronization operations described row, as the result of processing asynchronous operations, and having a a response holding and transmitting means for transmitting to said service means.

本発明によれば、サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段に対して、前記サービスに係る非同期オペレーションを提供可能とするプロキシ装置であって、前記サービス利用手段からのリクエストを受信するリクエスト受信手段と、前記サービス利用手段からの、前記サービスに係る非同期オペレーションの利用リクエストに応じて生成され、非同期に係る処理を実行する非同期実行手段と、前記サービス利用手段からのリクエストに応じて、前記サービス利用手段にレスポンスを送信する一方、前記非同期オペレーションの利用リクエストに応じて、前記サービス提供手段が実行した同期オペレーションの処理結果を一時的に保持し、非同期オペレーションの処理結果として、前記サービス利用手段に送信するレスポンス保持・送信手段と、を有することにより、同期オペレーションをサポートし、非同期オペレーションをサポートしていないサービスでも、クライアントに対して、非同期オペレーションを提供可能にすることができる。   According to the present invention, the asynchronous operation related to the service is provided to the service using means that supports the service provided by the service providing means that supports the synchronous operation related to the service and does not support the asynchronous operation related to the service. A proxy device that enables processing, a request receiving unit that receives a request from the service using unit, and a process that is generated in response to a use request for an asynchronous operation related to the service from the service using unit and that is asynchronous An asynchronous execution means for executing the response and a synchronous operation executed by the service providing means in response to a request for use of the asynchronous operation while transmitting a response to the service use means in response to a request from the service use means Even if a service does not support asynchronous operations by temporarily holding processing results and having response holding / sending means to send to the service using means as processing results of asynchronous operations. Asynchronous operations can be provided to the client.

また、本発明は、サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段に対して、前記サービスに係る非同期オペレーションを提供可能とするプロキシ装置であって、前記サービス利用手段からのリクエストを受信するリクエスト受信手段と、前記サービス利用手段からの、前記サービスに係る非同期オペレーションの利用リクエストに応じて生成され、非同期に係る処理を実行する非同期実行手段と、前記サービス利用手段からのリクエストに応じて、前記サービス利用手段にレスポンスを送信する一方、前記非同期オペレーションの利用リクエストに応じて、前記サービス提供手段が実行した同期オペレーションの処理結果を、非同期オペレーションの処理結果として、前記サービス利用手段に送信するレスポンス送信手段と、を有することを特徴とする。   Further, the present invention provides an asynchronous operation related to the service to a service using means that uses a service provided by a service providing means that supports a synchronous operation related to the service and does not support an asynchronous operation related to the service. A proxy device that enables processing, a request receiving unit that receives a request from the service using unit, and a process that is generated in response to a use request for an asynchronous operation related to the service from the service using unit and that is asynchronous An asynchronous execution means for executing the response and a synchronous operation executed by the service providing means in response to a request for use of the asynchronous operation while transmitting a response to the service use means in response to a request from the service use means The processing result, as the result of processing asynchronous operations, and having a a response transmitting means for transmitting to said service means.

本発明によれば、サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段に対して、前記サービスに係る非同期オペレーションを提供可能とするプロキシ装置であって、前記サービス利用手段からのリクエストを受信するリクエスト受信手段と、前記サービス利用手段からの、前記サービスに係る非同期オペレーションの利用リクエストに応じて生成され、非同期に係る処理を実行する非同期実行手段と、前記サービス利用手段からのリクエストに応じて、前記サービス利用手段にレスポンスを送信する一方、前記非同期オペレーションの利用リクエストに応じて、前記サービス提供手段が実行した同期オペレーションの処理結果を、非同期オペレーションの処理結果として、前記サービス利用手段に送信するレスポンス送信手段と、を有することにより、同期オペレーションをサポートし、非同期オペレーションをサポートしていないサービスでも、クライアントに対して、非同期オペレーションを提供可能にすることができる。   According to the present invention, the asynchronous operation related to the service is provided to the service using means that supports the service provided by the service providing means that supports the synchronous operation related to the service and does not support the asynchronous operation related to the service. A proxy device that enables processing, a request receiving unit that receives a request from the service using unit, and a process that is generated in response to a use request for an asynchronous operation related to the service from the service using unit and that is asynchronous An asynchronous execution means for executing the response and a synchronous operation executed by the service providing means in response to a request for use of the asynchronous operation while transmitting a response to the service use means in response to a request from the service use means A response sending means for sending a processing result as a processing result of an asynchronous operation to the service using means, thereby supporting a synchronous operation; even a service that does not support an asynchronous operation is asynchronous with respect to a client. Operation can be provided.

また、上記課題を解決するための手段として、サービス利用装置、プロキシプログラム、サービス利用プログラム、記録媒体及び非同期オペレーション提供方法としてもよい。   Further, as means for solving the above problems, a service use device, a proxy program, a service use program, a recording medium, and an asynchronous operation providing method may be used.

なお、特許請求の範囲に記載のリクエスト受信手段は、例えば後述するリクエスト受信部41又はリクエスト受信部51に対応する。また、特許請求の範囲に記載の非同期実行手段は、例えば後述する非同期スレッド43又は非同期スレッド53に対応する。また、特許請求の範囲に記載のレスポンス保持・送信手段は、例えば後述するレスポンス保持・送信部42に対応する。また、特許請求の範囲に記載のレスポンス送信手段は、例えば後述するレスポンス送信部52に対応する。また、特許請求の範囲に記載のプロキシ管理部は、例えば後述するサービス・プロキシ対応表102又はオペレーション・プロキシ対応表104に対応する。   The request receiving means described in the claims corresponds to, for example, a request receiving unit 41 or a request receiving unit 51 described later. Further, the asynchronous execution means described in the claims corresponds to, for example, an asynchronous thread 43 or an asynchronous thread 53 described later. The response holding / transmitting means described in the claims corresponds to, for example, a response holding / transmitting unit 42 described later. Moreover, the response transmission means described in the claims corresponds to, for example, a response transmission unit 52 described later. The proxy management unit described in the claims corresponds to, for example, a service / proxy correspondence table 102 or an operation / proxy correspondence table 104 described later.

本発明によれば、同期オペレーションをサポートし、非同期オペレーションをサポートしていないサービスでも、クライアントに対して、非同期オペレーションを提供可能にすることができる。   According to the present invention, it is possible to provide an asynchronous operation to a client even for a service that supports a synchronous operation and does not support an asynchronous operation.

以下、本発明の実施の形態について図面に基づいて説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

初めに、クライアント10がインストールされたクライアント装置1の一例のハードウェア構成を、図6に示す。図6は、クライアント装置の一例のハードウェア構成図である。   First, FIG. 6 shows a hardware configuration of an example of the client device 1 in which the client 10 is installed. FIG. 6 is a hardware configuration diagram of an example of the client device.

図6に示されるように、クライアント装置1は、入力装置11と、表示装置12と、ドライブ装置13と、ROM(Read Only Memory)15と、RAM(Random Access Memory)16と、CPU(Central Processing Unit)17と、インターフェース装置18と、HDD(Hard Disk Drive)19と、を含む。   As illustrated in FIG. 6, the client device 1 includes an input device 11, a display device 12, a drive device 13, a ROM (Read Only Memory) 15, a RAM (Random Access Memory) 16, and a CPU (Central Processing). (Unit) 17, interface device 18, and HDD (Hard Disk Drive) 19.

入力装置11は、クライアント装置1の利用者が操作するキーボード及びマウス等で構成され、クライアント装置1に各種操作信号を入力するのに用いられる。表示装置12は、クライアント装置1の利用者が利用するディスプレイ等で構成され、各種情報を表示する。インターフェース装置18は、クライアント装置1をネットワーク等に接続するインターフェースである。   The input device 11 includes a keyboard and a mouse that are operated by a user of the client device 1, and is used to input various operation signals to the client device 1. The display device 12 includes a display used by the user of the client device 1 and displays various types of information. The interface device 18 is an interface that connects the client device 1 to a network or the like.

クライアント(クライアントサービス)10に対応するプログラム(以下、クライアントプログラムという)等は、例えばCD−ROM等の記録媒体14によってクライアント装置1に提供されるか、ネットワークを通じてダウンロードされる。記録媒体14は、ドライブ装置13にセットされ、クライアントプログラムが記録媒体14からドライブ装置13を介してHDD19にインストールされる。   A program (hereinafter referred to as a client program) or the like corresponding to the client (client service) 10 is provided to the client device 1 by a recording medium 14 such as a CD-ROM or downloaded through a network. The recording medium 14 is set in the drive device 13, and the client program is installed in the HDD 19 from the recording medium 14 via the drive device 13.

ROM15は、データ等を格納する。RAM16は、クライアント装置1の起動時にHDD19からクライアントプログラム等を読み出して格納する。CPU17は、RAM16に読み出され格納されたクライアントプログラム等に従って処理を実行する。   The ROM 15 stores data and the like. The RAM 16 reads and stores a client program and the like from the HDD 19 when the client device 1 is activated. The CPU 17 executes processing according to a client program and the like read and stored in the RAM 16.

HDD19は、クライアントプログラムや、データ等を格納する。   The HDD 19 stores a client program, data, and the like.

以下、プロキシサービス(以下、単にプロキシという)20がインストールされたプロキシ装置2の一例のハードウェア構成を、図7に示す。図7は、プロキシ装置の一例のハードウェア構成図である。   A hardware configuration of an example of the proxy apparatus 2 in which the proxy service (hereinafter simply referred to as a proxy) 20 is installed is shown in FIG. FIG. 7 is a hardware configuration diagram of an example of the proxy device.

図7に示されるように、プロキシ装置2は、ドライブ装置23と、ROM25と、RAM26と、CPU27と、インターフェース装置28と、HDD29と、を含む。   As shown in FIG. 7, the proxy device 2 includes a drive device 23, a ROM 25, a RAM 26, a CPU 27, an interface device 28, and an HDD 29.

インターフェース装置28は、プロキシ装置2をネットワーク等に接続するインターフェースである。   The interface device 28 is an interface that connects the proxy device 2 to a network or the like.

プロキシ(プロキシサービス)20に対応するプログラム(以下、プロキシプログラムという)等は、例えばCD−ROM等の記録媒体24によってプロキシ装置2に提供されるか、ネットワークを通じてダウンロードされる。記録媒体24は、ドライブ装置23にセットされ、プロキシプログラムが記録媒体24からドライブ装置23を介してHDD29にインストールされる。   A program corresponding to the proxy (proxy service) 20 (hereinafter referred to as a proxy program) or the like is provided to the proxy device 2 by a recording medium 24 such as a CD-ROM or downloaded through a network. The recording medium 24 is set in the drive device 23, and the proxy program is installed from the recording medium 24 to the HDD 29 via the drive device 23.

ROM25は、データ等を格納する。RAM26は、プロキシ装置2の起動時にHDD29からプロキシプログラム等を読み出して格納する。CPU27は、RAM26に読み出され格納されたプロキシプログラム等に従って処理を実行する。   The ROM 25 stores data and the like. The RAM 26 reads and stores a proxy program or the like from the HDD 29 when the proxy device 2 is activated. The CPU 27 executes processing in accordance with a proxy program or the like read and stored in the RAM 26.

HDD29は、プロキシプログラムや、データ等を格納する。   The HDD 29 stores a proxy program, data, and the like.

以下、サーバ(サービス)30がインストールされたサーバ装置3の一例のハードウェア構成を、図8に示す。図8は、サーバ装置の一例のハードウェア構成図である。なお、以下に示すサーバ30は、同期オペレーションをサポートし、非同期オペレーションをサポートしていないものとする。   Hereinafter, an exemplary hardware configuration of the server device 3 in which the server (service) 30 is installed is illustrated in FIG. FIG. 8 is a hardware configuration diagram of an example of the server apparatus. It is assumed that the server 30 shown below supports synchronous operation and does not support asynchronous operation.

図8に示されるように、サーバ装置3は、ドライブ装置33と、ROM35と、RAM36と、CPU37と、インターフェース装置38と、HDD39と、を含む。   As shown in FIG. 8, the server device 3 includes a drive device 33, a ROM 35, a RAM 36, a CPU 37, an interface device 38, and an HDD 39.

インターフェース装置38は、サーバ装置3をネットワーク等に接続するインターフェースである。   The interface device 38 is an interface that connects the server device 3 to a network or the like.

サーバ30に対応するプログラム(以下、サーバプログラムという)等は、例えばCD−ROM等の記録媒体34によってサーバ装置3に提供されるか、ネットワークを通じてダウンロードされる。記録媒体34は、ドライブ装置33にセットされ、サーバプログラムが記録媒体34からドライブ装置33を介してHDD39にインストールされる。   A program corresponding to the server 30 (hereinafter referred to as a server program) or the like is provided to the server device 3 by a recording medium 34 such as a CD-ROM or downloaded through a network. The recording medium 34 is set in the drive device 33, and the server program is installed from the recording medium 34 to the HDD 39 via the drive device 33.

ROM35は、データ等を格納する。RAM36は、サーバ装置3の起動時にHDD39からサーバプログラム等を読み出して格納する。CPU37は、RAM36に読み出され格納されたサーバプログラム等に従って処理を実行する。   The ROM 35 stores data and the like. The RAM 36 reads and stores a server program and the like from the HDD 39 when the server device 3 is activated. The CPU 37 executes processing according to a server program or the like read and stored in the RAM 36.

HDD39は、サーバプログラムや、データ等を格納する。なお、サーバ装置3を、画像形成装置等とした場合、図8に示されるハードウェア構成に加え、オペレーションパネル等の表示・入力装置や、スキャンを実行する読み取り装置、プリントを実行する印刷装置等が含まれる。
(ポーリング)
以下、ポーリングの場合のプロキシ20の機能構成の一例を、図9に示す。図9は、プロキシの機能構成図(その1)である。
The HDD 39 stores a server program, data, and the like. When the server device 3 is an image forming device or the like, in addition to the hardware configuration shown in FIG. 8, a display / input device such as an operation panel, a reading device that executes scanning, a printing device that executes printing, or the like Is included.
(Polling)
Hereinafter, an example of the functional configuration of the proxy 20 in the case of polling is shown in FIG. FIG. 9 is a functional configuration diagram (part 1) of the proxy.

図9に示されるように、プロキシ20は、リクエスト受信部41と、レスポンス保持・送信部42と、非同期スレッド43と、同期メッセージ送受信部44と、を含む。   As illustrated in FIG. 9, the proxy 20 includes a request reception unit 41, a response holding / transmission unit 42, an asynchronous thread 43, and a synchronous message transmission / reception unit 44.

リクエスト受信部41は、クライアント10より、同期オペレーション又は非同期オペレーションに係るリクエストを受信する受信部である。また、リクエスト受信部41は、クライアント10より、非同期オペレーションの開始に係るリクエストを受信すると、非同期スレッド43を生成する。   The request receiving unit 41 is a receiving unit that receives a request related to a synchronous operation or an asynchronous operation from the client 10. Further, when receiving a request for starting an asynchronous operation from the client 10, the request reception unit 41 generates an asynchronous thread 43.

レスポンス保持・送信部42は、クライアント10からのリクエストに応じて、Ack等を要求元のクライアントに送信する一方、サーバ30が実行した非同期オペレーションの実行結果を一時的に保持し、クライアント10からの要求に応じて、同期オペレーションの実行結果として要求元のクライアント10に送信する。   In response to a request from the client 10, the response holding / transmitting unit 42 transmits Ack or the like to the requesting client, while temporarily holding the execution result of the asynchronous operation executed by the server 30. In response to the request, it is transmitted to the requesting client 10 as the execution result of the synchronous operation.

非同期スレッド43は、非同期オペレーションに係る処理を実行するスレッドであって、同期メッセージ送受信部44を実行する。   The asynchronous thread 43 is a thread that executes a process related to an asynchronous operation, and executes the synchronous message transmission / reception unit 44.

同期メッセージ送受信部44は、サーバ30と、同期メッセージを送受信する送受信部44である。   The synchronization message transmission / reception unit 44 is a transmission / reception unit 44 that transmits / receives a synchronization message to / from the server 30.

以下、プロキシ20を介した非同期オペレーションの提供処理を、ポーリングの場合を例に図10に示す。図10は、プロキシを介した非同期オペレーション提供処理を、ポーリングの場合を例に示すシーケンス図である。   The asynchronous operation providing process via the proxy 20 is shown in FIG. 10 as an example of polling. FIG. 10 is a sequence diagram illustrating an asynchronous operation providing process via a proxy as an example of polling.

図10に示されるようにクライアント10は、例えば、文書の一覧を取得する非同期オペレーションであるGetDocListAsyncオペレーションを呼び出すGetDocListAsyncリクエストを、プロキシ20に送信する(シーケンスSQ30)。なお、以下、「Async」の文字列が含まれるリクエスト又はレスポンスは、特に言及しない限り、非同期メッセージを表す。   As illustrated in FIG. 10, the client 10 transmits, for example, a GetDocListAsync request that calls a GetDocListAsync operation, which is an asynchronous operation for acquiring a list of documents, to the proxy 20 (sequence SQ30). Hereinafter, a request or response including the character string “Async” represents an asynchronous message unless otherwise specified.

プロキシ20は、クライアント10からGetDocListAsyncリクエストを受信すると、Ackをクライアント10に返す(シーケンスSQ31)一方、同期オペレーションであるGetDocListオペレーションを呼び出すGetDocListリクエストを、サーバ30に送信する(シーケンスSQ32)。   When the proxy 20 receives the GetDocListAsync request from the client 10, the proxy 20 returns Ack to the client 10 (sequence SQ31), and transmits a GetDocList request for calling the GetDocList operation that is a synchronous operation to the server 30 (sequence SQ32).

プロキシ20は、クライアント10より非同期オペレーションの利用要求を受け取り、後述するように、サーバ30とは同期メッセージをやり取りしつつ、クライアント30とは非同期メッセージをやりとりする。   The proxy 20 receives a request for using an asynchronous operation from the client 10, and exchanges an asynchronous message with the client 30 while exchanging a synchronous message with the server 30, as will be described later.

クライアント10は、リクエストを送信すると、直ぐにプロキシ20よりAckを受け取ることによって、他の処理を実行することができるようになる。   When the client 10 transmits a request, it immediately receives Ack from the proxy 20 and can execute other processing.

サーバ30は、プロキシ20より、GetDocListリクエストを受信すると、文書の一覧の取得処理(GetDocListオペレーション)を実行する。   Upon receiving a GetDocList request from the proxy 20, the server 30 executes document list acquisition processing (GetDocList operation).

また、クライアント10は、暫くすると、GetDocListオペレーションが終了したか否かを確かめるIsCompletedオペレーションを呼び出すIsCompletedリクエストを、プロキシ20に送信する(シーケンスSQ33)。   Further, after a while, the client 10 transmits an IsCompleted request for calling an IsCompleted operation for confirming whether the GetDocList operation has ended to the proxy 20 (sequence SQ33).

プロキシ20は、クライアント10より、IsCompletedリクエストを受信した際、まだ、GetDocListオペレーションが終了していないと判断すると、GetDocListオペレーションが終了していない旨を表すNoを含むレスポンスを、要求元のクライアント10に送信する(シーケンスSQ34)。   When the proxy 20 receives an IsCompleted request from the client 10 and determines that the GetDocList operation has not ended yet, the proxy 20 sends a response including No indicating that the GetDocList operation has not ended to the requesting client 10. Transmit (sequence SQ34).

プロキシ20は、GetDocListオペレーションの戻り値である、文書の一覧を含むGetDocListResponseをサーバ30より受信したか否かに基づいて、GetDocListオペレーションが終了しているか否かを判定する。   The proxy 20 determines whether or not the GetDocList operation has ended based on whether or not the GetDocListResponse including the list of documents, which is a return value of the GetDocList operation, has been received from the server 30.

ここで、例えばプロキシ20は、サーバ30より、GetDocListResponseを受信する。   Here, for example, the proxy 20 receives GetDocListResponse from the server 30.

一方、クライアント10は、また、GetDocListオペレーションが終了したか否かを確かめるIsCompletedオペレーションを呼び出すIsCompletedリクエストを、プロキシ20に送信する(シーケンスSQ36)。   On the other hand, the client 10 also transmits an IsCompleted request for calling an IsCompleted operation for confirming whether or not the GetDocList operation has ended to the proxy 20 (sequence SQ36).

プロキシ20は、GetDocListResponseをサーバ30より受信していた場合、GetDocListオペレーションが終了したと判断し、GetDocListオペレーションが終了した旨を表すYesを含むレスポンスを、要求元のクライアント10に送信する(シーケンスSQ37)。   If the proxy 20 has received GetDocListResponse from the server 30, the proxy 20 determines that the GetDocList operation has ended, and transmits a response including Yes indicating that the GetDocList operation has ended to the requesting client 10 (sequence SQ37). .

クライアント10は、プロキシ20より、オペレーションが終了した旨を表すYesを含むレスポンスを受信すると、GetDocListオペレーションの結果を取得する、非同期オペレーションであるGetResultオペレーションを呼び出すGetResultリクエストを、プロキシ20に送信する(シーケンスSQ38)。   When the client 10 receives a response including Yes indicating that the operation is completed from the proxy 20, the client 10 transmits a GetResult request for calling the GetResult operation, which is an asynchronous operation, to acquire the result of the GetDocList operation (sequence). SQ38).

プロキシ20は、クライアント10より、GetResultリクエストを受信すると、シーケンスSQ35においてサーバ30より受信し、保持していた文書の一覧を含む非同期のGetDocListAsyncResponseを、要求元のクライアント10に送信する(シーケンスSQ39)。   When the proxy 20 receives the GetResult request from the client 10, the proxy 20 transmits the asynchronous GetDocListAsyncResponse including the list of documents received and received from the server 30 in the sequence SQ35 to the requesting client 10 (sequence SQ39).

サーバ30が、同期オペレーションをサポートし、非同期オペレーションをサポートしていなくても、プロキシ20が、図9に示したような構成をとり、図10に示したように、クライアント10とプロキシ20との間は非同期メッセージのやりとりを行い、プロキシ20とサーバ30とは同期メッセージのやり取りを行うことによって、プロキシ20及び/又はサーバ30は、クライアント10に対して非同期オペレーションを提供することができる。
(コールバック)
以下、コールバックの場合のプロキシ20の機能構成の一例を、図11に示す。図11は、プロキシの機能構成図(その2)である。
Even if the server 30 supports the synchronous operation and does not support the asynchronous operation, the proxy 20 has the configuration shown in FIG. 9 and, as shown in FIG. Asynchronous messages are exchanged between them, and the proxy 20 and the server 30 exchange synchronous messages, so that the proxy 20 and / or the server 30 can provide an asynchronous operation to the client 10.
(Callback)
Hereinafter, an example of the functional configuration of the proxy 20 in the case of callback is shown in FIG. FIG. 11 is a functional configuration diagram (part 2) of the proxy.

図11に示されるように、プロキシ20は、リクエスト受信部51と、レスポンス送信部52と、非同期スレッド53と、同期メッセージ送受信部54と、を含む。   As illustrated in FIG. 11, the proxy 20 includes a request reception unit 51, a response transmission unit 52, an asynchronous thread 53, and a synchronous message transmission / reception unit 54.

リクエスト受信部51は、クライアント10より、同期オペレーション又は非同期オペレーションに係るリクエストを受信する受信部である。また、リクエスト受信部51は、クライアント10より、非同期オペレーションの開始に係るリクエストを受信すると、非同期スレッド53を生成する。   The request receiving unit 51 is a receiving unit that receives a request related to a synchronous operation or an asynchronous operation from the client 10. Further, when receiving a request for starting an asynchronous operation from the client 10, the request reception unit 51 generates an asynchronous thread 53.

レスポンス送信部52は、クライアント10からのリクエストに応じて、Ack等を要求元のクライアントに送信する一方、サーバ30が実行した非同期オペレーションの実行結果を、同期オペレーションの実行結果としてクライアント10に送信する。   The response transmission unit 52 transmits Ack or the like to the requesting client in response to a request from the client 10, while transmitting the execution result of the asynchronous operation executed by the server 30 to the client 10 as the execution result of the synchronous operation. .

非同期スレッド53は、非同期オペレーションに係る処理を実行するスレッドであって、同期メッセージ送受信部44を実行する。   The asynchronous thread 53 is a thread that executes a process related to an asynchronous operation, and executes the synchronous message transmission / reception unit 44.

同期メッセージ送受信部44は、サーバ30と、同期メッセージを送受信する送受信部44である。   The synchronization message transmission / reception unit 44 is a transmission / reception unit 44 that transmits / receives a synchronization message to / from the server 30.

以下、プロキシ20を介した非同期オペレーションの提供処理を、コールバックの場合を例に図12に示す。図12は、プロキシを介した非同期オペレーション提供処理を、コールバックの場合を例に示すシーケンス図である。   The asynchronous operation providing process through the proxy 20 is shown in FIG. 12 as an example of callback. FIG. 12 is a sequence diagram illustrating an asynchronous operation providing process via a proxy as an example of a callback.

図12に示されるようにクライアント10は、例えば、文書の一覧を取得する非同期オペレーションであるGetDocListAsyncオペレーションを呼び出すGetDocListAsyncリクエストを、プロキシ20に送信する(シーケンスSQ40)。プロキシ20は、クライアント10より非同期オペレーションの利用要求を受け取り、後述するように、サーバ30とは同期メッセージをやり取りしつつ、クライアント30とは非同期メッセージをやりとりする。   As illustrated in FIG. 12, the client 10 transmits, for example, a GetDocListAsync request that calls a GetDocListAsync operation, which is an asynchronous operation for acquiring a list of documents, to the proxy 20 (sequence SQ40). The proxy 20 receives a request for using an asynchronous operation from the client 10, and exchanges an asynchronous message with the client 30 while exchanging a synchronous message with the server 30, as will be described later.

プロキシ20は、クライアント10からGetDocListAsyncリクエストを受信すると、Ackをクライアント10に返す(シーケンスSQ41)一方、同期オペレーションであるGetDocListオペレーションを呼び出すGetDocListリクエストを、サーバ30に送信する(シーケンスSQ42)。   When the proxy 20 receives the GetDocListAsync request from the client 10, the proxy 20 returns Ack to the client 10 (sequence SQ41), and transmits a GetDocList request for calling the GetDocList operation that is a synchronous operation to the server 30 (sequence SQ42).

クライアント10は、リクエストを送信すると、直ぐにサーバ30よりAckを受け取ることによって、他の処理を実行することができるようになる。   When the client 10 transmits the request, it immediately receives Ack from the server 30 and can execute other processing.

サーバ30は、プロキシ20より、GetDocListリクエストを受信すると、文書の一覧の取得処理(GetDocListオペレーション)を実行する。サーバ30は、GetDocListオペレーションが終了すると、GetDocListオペレーションの戻り値である、文書の一覧を含むGetDocListResponseを、要求元のプロキシ20に送信する(シーケンスSQ43)。   Upon receiving a GetDocList request from the proxy 20, the server 30 executes document list acquisition processing (GetDocList operation). When the GetDocList operation is completed, the server 30 transmits a GetDocListResponse including a list of documents, which is a return value of the GetDocList operation, to the requesting proxy 20 (sequence SQ43).

プロキシ20は、サーバ30より、GetDocListResponseを受信すると、文書の一覧を含むGetDocListAsyncResponseを、要求元のクライアント10に送信する(シーケンスSQ44)。   When proxy 20 receives GetDocListResponse from server 30, proxy 20 transmits GetDocListAsyncResponse including a list of documents to requesting client 10 (sequence SQ44).

クライアント10は、プロキシ20からGetDocListAsyncResponseを受信すると、Ackをサーバ30に返す(シーケンスSQ45)。   Upon receiving GetDocListAsyncResponse from proxy 20, client 10 returns Ack to server 30 (sequence SQ45).

サーバ30が、同期オペレーションをサポートし、非同期オペレーションをサポートしていなくても、プロキシ20が、図11に示したような構成をとり、図12に示したように、クライアント10とプロキシ20との間は非同期メッセージのやりとりを行い、プロキシ20とサーバ30とは同期メッセージのやり取りを行うことによって、プロキシ20及び/又はサーバ30は、クライアント10に対して非同期オペレーションを提供することができる。   Even if the server 30 supports the synchronous operation and does not support the asynchronous operation, the proxy 20 takes the configuration shown in FIG. 11 and, as shown in FIG. Asynchronous messages are exchanged between them, and the proxy 20 and the server 30 exchange synchronous messages, so that the proxy 20 and / or the server 30 can provide an asynchronous operation to the client 10.

以下、図13から図38を用いて、クライアント10による、プロキシ20の使い方及びプロキシ20の指定方法等について説明する。
(WSDL(プロキシのアドレスだけ)−全オペレーションをプロキシ経由)
以下、非同期オペレーション提供システムの機能構成の一例を、図13に示す。図13は、非同期オペレーション提供システムの機能構成図(その1)である。
Hereinafter, a method of using the proxy 20 and a method of specifying the proxy 20 by the client 10 will be described with reference to FIGS.
(WSDL (proxy address only)-all operations through proxy)
An example of the functional configuration of the asynchronous operation providing system is shown in FIG. FIG. 13 is a functional configuration diagram (part 1) of the asynchronous operation providing system.

図13に示されるように、サーバ30は、プロキシ20のアドレス(識別子)が記述されているサーバ(サービス)30のWSDL(Web Services Description Language)ファイル100を有する。   As illustrated in FIG. 13, the server 30 includes a Web Services Description Language (WSDL) file 100 of the server (service) 30 in which the address (identifier) of the proxy 20 is described.

なお、図13において、プロキシ20は、図11に示したような構成としているが、図9に示したような構成であってもよい。後述する図16、図19、図23、図30、図32、図37等においても同様である。   In FIG. 13, the proxy 20 is configured as shown in FIG. 11, but may be configured as shown in FIG. 9. The same applies to FIG. 16, FIG. 19, FIG. 23, FIG. 30, FIG.

クライアント10は、サーバ30が有するWSDLファイル100に記述されているプロキシ20のアドレスを取得し、該アドレスに基づいて、プロキシ20とメッセージのやり取りを行い、全オペレーションを、プロキシ20を経由して利用する。   The client 10 acquires the address of the proxy 20 described in the WSDL file 100 of the server 30, exchanges messages with the proxy 20 based on the address, and uses all operations via the proxy 20. To do.

以下、WSDLファイル100にプロキシ20のアドレスが記述されている一例を、図14に示す。図14は、WSDLファイルにプロキシのアドレスが記述されている例を示す図(その1)である。   An example in which the address of the proxy 20 is described in the WSDL file 100 is shown in FIG. FIG. 14 is a diagram (part 1) illustrating an example in which a proxy address is described in a WSDL file.

図14に示されるように、プロキシのアドレス140が、WSDLファイル100に記述されている。
(WSDL(サービスのアドレスも)−全オペレーションをプロキシ経由)
以下、クライアント10が、サーバ30に、プロキシ20のアドレス(識別子)等を教えてもらってから、プロキシ20を経由してオペレーションを利用する例の概念を、図15に示す。図15は、サーバに、プロキシのアドレスを教えてもらってから、プロキシを経由してオペレーションを利用する例の概念図である。
As shown in FIG. 14, the proxy address 140 is described in the WSDL file 100.
(WSDL (service address)-all operations via proxy)
The concept of an example in which the client 10 informs the server 30 of the address (identifier) of the proxy 20 and uses the operation via the proxy 20 is shown in FIG. FIG. 15 is a conceptual diagram of an example in which an operation is used via a proxy after the server is informed of the proxy address.

図15に示されるように、クライアント10は、例えば使いたいサーバ30を検索する(図15の(1))。   As shown in FIG. 15, the client 10 searches for a server 30 that the client 10 wants to use, for example ((1) in FIG. 15).

クライアント10は、使いたいサーバ30を発見する(図15の(2))と、該発見の際に、サーバ30から提供された情報の中に含まれるプロキシ20のアドレスに基づいて、プロキシ20を経由して、オペレーションを利用する(図15の(3))。   When the client 10 discovers the server 30 that it wants to use ((2) in FIG. 15), the client 10 determines the proxy 20 based on the address of the proxy 20 included in the information provided from the server 30 at the time of discovery. Then, the operation is used ((3) in FIG. 15).

以下、非同期オペレーション提供システムの機能構成の他の例を、図16に示す。図16は、非同期オペレーション提供システムの機能構成図(その2)である。   Hereinafter, another example of the functional configuration of the asynchronous operation providing system is shown in FIG. FIG. 16 is a functional configuration diagram (part 2) of the asynchronous operation providing system.

図16に示されるように、サーバ30は、後述する図17に示されるような、サーバ30のWSDLファイル100を有する。   As shown in FIG. 16, the server 30 has a WSDL file 100 of the server 30 as shown in FIG.

以下、WSDLファイル100にプロキシ20のアドレスが記述されている他の例を、図17に示す。図17は、WSDLファイルにプロキシのアドレスが記述されている例を示す図(その2)である。   Hereinafter, another example in which the address of the proxy 20 is described in the WSDL file 100 is shown in FIG. FIG. 17 is a second diagram illustrating an example in which the proxy address is described in the WSDL file.

図17に示されるように、WSDLファイル100に、同期オペレーションのみをサポートするポート170と、同期オペレーション及び非同期オペレーションの両方をサポートするポート171と、が記述されている。   As shown in FIG. 17, the WSDL file 100 describes a port 170 that supports only synchronous operations and a port 171 that supports both synchronous and asynchronous operations.

また、図17のWSDLファイル100には、172に示されるように、同期オペレーションには、input messageと、output messageと、が存在し、173に示されるように、非同期オペレーションには、input messageのみが、また、174に示されるように、非同期オペレーションの戻りには、output messageのみが記述されている。   Also, the WSDL file 100 of FIG. 17 includes an input message and an output message as shown in 172 in the synchronous operation, and only an input message is shown in the asynchronous operation as shown in 173. However, as shown at 174, only the output message is described in the return of the asynchronous operation.

また、図17のWSDLファイル100には、175に示されるように、1つのサービス(サーバ)に対して、二つのポートが用意され、非同期オペレーションもサポートするポートには、プロキシ20のアドレスが記述されている。   In the WSDL file 100 of FIG. 17, as shown in 175, two ports are prepared for one service (server), and the address of the proxy 20 is described in a port that supports asynchronous operation. Has been.

クライアント10は、サーバ30が有するWSDLファイル100を取得し、同期オペレーション及び非同期オペレーションを利用する場合は、同期オペレーション及び非同期オペレーションをサポートするポートに記述されているプロキシ20のアドレスを取得し、該アドレスに基づいて、プロキシ20とメッセージのやり取りを行い、全オペレーションを、プロキシ20を経由して利用する。   When the client 10 acquires the WSDL file 100 included in the server 30 and uses the synchronous operation and the asynchronous operation, the client 10 acquires the address of the proxy 20 described in the port that supports the synchronous operation and the asynchronous operation. Based on the above, messages are exchanged with the proxy 20, and all operations are used via the proxy 20.

以下、オペレーションを利用する処理を図18に示す。図18は、オペレーションを利用する処理を示すシーケンス図(その1)である。   Hereinafter, the processing using the operation is shown in FIG. FIG. 18 is a sequence diagram (part 1) illustrating processing using an operation.

図18に示されるように、クライアント10は、サーバ30に対して、WSDLファイル100の取得要求を、送信する(シーケンスSQ50)。   As shown in FIG. 18, client 10 transmits a request to acquire WSDL file 100 to server 30 (sequence SQ50).

サーバ30は、クライアント10より、WSDLファイル100の取得要求を受信すると、図17に示したようなWSDLファイル100を、クライアント10に送信する(シーケンスSQ51)。   When server 30 receives the WSDL file 100 acquisition request from client 10, server 30 transmits WSDL file 100 as shown in FIG. 17 to client 10 (sequence SQ51).

クライアント10は、サーバ30より、図17に示したようなWSDLファイル100を取得すると、同期オペレーション及び非同期オペレーションを利用する場合、同期オペレーション及び非同期オペレーションをサポートするポートに記述されているプロキシ20のアドレスを取得し、該アドレスに基づいて、プロキシ20とメッセージのやり取りを行い、全オペレーションを、プロキシ20を経由して利用する(シーケンスSQ52)。
(WS−Policy−全オペレーションをプロキシ経由)
以下、非同期オペレーション提供システムの機能構成の他の例を、図19に示す。図19は、非同期オペレーション提供システムの機能構成図(その3)である。
When the client 10 acquires the WSDL file 100 as shown in FIG. 17 from the server 30, when using the synchronous operation and the asynchronous operation, the address of the proxy 20 described in the port that supports the synchronous operation and the asynchronous operation. Is exchanged with the proxy 20 based on the address, and all operations are used via the proxy 20 (sequence SQ52).
(WS-Policy-all operations via proxy)
FIG. 19 shows another example of the functional configuration of the asynchronous operation providing system. FIG. 19 is a functional configuration diagram (part 3) of the asynchronous operation providing system.

図19に示されるように、サーバ30は、後述する図20に示されるような、サーバ30のWS−Policyファイル101を有する。   As shown in FIG. 19, the server 30 has a WS-Policy file 101 of the server 30 as shown in FIG. 20 described later.

以下、WS−Policyファイル101にプロキシ20のアドレスが記述されている一例を、図20に示す。図20は、WS−Policyファイルにプロキシのアドレスが記述されている例を示す図(その1)である。   An example in which the address of the proxy 20 is described in the WS-Policy file 101 is shown in FIG. FIG. 20 is a diagram (part 1) illustrating an example in which the proxy address is described in the WS-Policy file.

図20に示されるように、200には、同期オペレーションのみをサポートするサービスのアドレスが記述され、201には、同期オペレーション及び非同期オペレーションをサポートするサービス(プロキシ20)のアドレスが記述されている。   As illustrated in FIG. 20, an address of a service that supports only a synchronous operation is described in 200, and an address of a service (proxy 20) that supports a synchronous operation and an asynchronous operation is described in 201.

クライアント10は、200に記述されているアドレスか、201に記述されているアドレス、どちらか一方を使わなければならない。クライアント10は、サーバ30が有するWS−Policyファイル101を取得し、同期オペレーション及び非同期オペレーションを利用する場合は、201に記述されているアドレスを取得し、該アドレスに基づいて、プロキシ20とメッセージのやり取りを行い、全オペレーションを、プロキシ20を経由して利用する。   The client 10 must use either the address described in 200 or the address described in 201. When the client 10 acquires the WS-Policy file 101 included in the server 30 and uses the synchronous operation and the asynchronous operation, the client 10 acquires the address described in 201, and based on the address, the proxy 20 and the message Exchanges and uses all operations via the proxy 20.

以下、オペレーションを利用する処理を図21に示す。図21は、オペレーションを利用する処理を示すシーケンス図(その2)である。   FIG. 21 shows processing using the operation. FIG. 21 is a sequence diagram (part 2) illustrating processing using an operation.

図21に示されるように、クライアント10は、サーバ30に対して、WS−Policyファイル101の取得要求を、送信する(シーケンスSQ60)。   As shown in FIG. 21, client 10 transmits an acquisition request for WS-Policy file 101 to server 30 (sequence SQ60).

サーバ30は、クライアント10より、WS−Policyファイル101の取得要求を受信すると、図20に示したようなWS−Policyファイル101を、クライアント10に送信する(シーケンスSQ61)。   When server 30 receives the acquisition request for WS-Policy file 101 from client 10, server 30 transmits WS-Policy file 101 as shown in FIG. 20 to client 10 (sequence SQ61).

クライアント10は、サーバ30より、図20に示したようなWS−Policyファイル101を取得すると、同期オペレーション及び非同期オペレーションを利用する場合、図20の201に記述されているアドレスを選択、取得し、該アドレスに基づいて、プロキシ20に対して、非同期オペレーションであるgetDocListAsyncオペレーションを呼び出すgetDocListAsyncリクエストを、送信する(シーケンスSQ62)。   When the client 10 acquires the WS-Policy file 101 as shown in FIG. 20 from the server 30, when using the synchronous operation and the asynchronous operation, the client 10 selects and acquires the address described in 201 of FIG. Based on the address, the proxy 20 transmits a getDocListAsync request that calls a getDocListAsync operation that is an asynchronous operation (sequence SQ62).

プロキシ20は、クライアント10からgetDocListAsyncリクエストを受信すると、Ackをクライアント10に返す(シーケンスSQ63)一方、同期オペレーションであるgetDocListオペレーションを呼び出すgetDocListリクエストを、サーバ30に送信する(シーケンスSQ64)。   When the proxy 20 receives the getDocListAsync request from the client 10, the proxy 20 returns Ack to the client 10 (sequence SQ63), and transmits a getDocList request for calling the getDocList operation that is a synchronous operation to the server 30 (sequence SQ64).

サーバ30は、プロキシ20より、getDocListリクエストを受信すると、文書の一覧の取得処理(getDocListオペレーション)を実行する。サーバ30は、getDocListオペレーションが終了すると、例えばgetDocListオペレーションの戻り値である、文書の一覧を含むgetDocListResponseを、要求元のプロキシ20に送信する(シーケンスSQ65)。   When the server 30 receives a getDocList request from the proxy 20, the server 30 executes document list acquisition processing (getDocList operation). When the getDocList operation is completed, the server 30 transmits, for example, a getDocListResponse including a list of documents, which is a return value of the getDocList operation, to the requesting proxy 20 (sequence SQ65).

プロキシ20は、サーバ30より、getDocListResponseを受信すると、文書の一覧を含む例えばgetDocListAsyncResponseを、要求元のクライアント10に送信する(シーケンスSQ66)。   When proxy 20 receives getDocListResponse from server 30, proxy 20 transmits, for example, getDocListAsyncResponse including a list of documents to requesting client 10 (sequence SQ66).

また、クライアント10は、プロキシ20に対して、同期オペレーションであるgetCapabilityオペレーションを呼び出すgetCapabilityリクエストを、送信する(シーケンスSQ67)。   In addition, client 10 transmits a getCapability request for calling getCapability operation, which is a synchronization operation, to proxy 20 (sequence SQ67).

プロキシ20は、クライアント10より、同期オペレーションであるgetCapabilityオペレーションを呼び出すgetCapabilityリクエストを受信すると、該リクエストを、サーバ30に送信する(シーケンスSQ68)。   When the proxy 20 receives a getCapability request for calling a getCapability operation that is a synchronous operation from the client 10, the proxy 20 transmits the request to the server 30 (sequence SQ68).

サーバ30は、プロキシ20より、getCapabilityリクエストを受信すると、サーバ30の能力取得処理(getCapabilityオペレーション)を実行する。サーバ30は、getCapabilityオペレーションが終了すると、getCapabilityオペレーションの戻り値である、サーバ30の能力情報を含むgetCapabilityResponseを、要求元のプロキシ20に送信する(シーケンスSQ69)。   When the server 30 receives a getCapability request from the proxy 20, the server 30 executes a capability acquisition process (getCapability operation) of the server 30. When the getCapability operation ends, server 30 transmits getCapabilityResponse including the capability information of server 30 that is a return value of the getCapability operation to requesting proxy 20 (sequence SQ69).

プロキシ20は、サーバ30より、getCapabilityResponseを受信すると、該getCapabilityResponseを、要求元のクライアント10に送信する(シーケンスSQ70)。
(サービス・プロキシ対応表−全オペレーションをプロキシ経由)
以下、クライアント10が、サーバ30を検索し、サーバ30を発見してから、自身が有するサービス(サーバ)と、プロキシと、の対応表に基づいて、プロキシ20を経由してオペレーションを利用する例の概念を、図22に示す。
When proxy 20 receives getCapabilityResponse from server 30, proxy 20 transmits the getCapabilityResponse to requesting client 10 (sequence SQ70).
(Service / proxy table-all operations via proxy)
Hereinafter, an example in which the client 10 searches for the server 30 and discovers the server 30, and then uses the operation via the proxy 20 based on the correspondence table between the service (server) and the proxy that the client 10 has. The concept is shown in FIG.

図22は、クライアントが、サーバを検索し、サーバを発見してから、自身が有するサービス(サーバ)と、プロキシと、の対応表に基づいて、プロキシを経由してオペレーションを利用する例の概念図である。   FIG. 22 shows a concept of an example in which a client searches for a server and discovers the server, and then uses an operation via the proxy based on a correspondence table between the service (server) and the proxy that the client has. FIG.

図22に示されるように、クライアント10は、例えば使いたいサーバ30を検索する(図22の(1))。   As shown in FIG. 22, the client 10 searches for a server 30 that the client 10 wants to use, for example ((1) in FIG. 22).

クライアント10は、使いたいサーバ(サービス)30を発見すると(図22の(2))、後述する図24に示されるようなサーバ(サービス)と、プロキシと、の対応表(サービス・プロキシ対応表102)に基づいて、図22の(2)で発見したサーバ30のアドレスを対応するプロキシ(例えばプロキシ20)に渡して、非同期オペレーション及び同期オペレーションを利用する(図22の(3))。   When the client 10 finds a server (service) 30 that it wants to use ((2) in FIG. 22), a correspondence table (service / proxy correspondence table) between a server (service) and a proxy as shown in FIG. 102), the address of the server 30 discovered in (2) of FIG. 22 is passed to the corresponding proxy (for example, proxy 20), and asynchronous operation and synchronous operation are used ((3) of FIG. 22).

以下、非同期オペレーション提供システムの機能構成の他の例を、図23に示す。図23は、非同期オペレーション提供システムの機能構成図(その4)である。   Hereinafter, another example of the functional configuration of the asynchronous operation providing system is shown in FIG. FIG. 23 is a functional configuration diagram (part 4) of the asynchronous operation providing system.

図23に示されるように、クライアント10は、サーバ(サービス)と、プロキシと、を対応付ける、後述する図24に示されるようなサービス・プロキシ対応表102を有する。   As shown in FIG. 23, the client 10 has a service / proxy correspondence table 102 as shown in FIG. 24 to be described later, which associates a server (service) with a proxy.

以下、サービス・プロキシ対応表102の一例を、図24に示す。図24は、サービス・プロキシ対応表を示す図である。   An example of the service / proxy correspondence table 102 is shown in FIG. FIG. 24 shows a service / proxy correspondence table.

図24に示されるように、サービス・プロキシ対応表102は、サービス(サーバ)のタイプと、プロキシのアドレスと、を項目として含む。   As shown in FIG. 24, the service / proxy correspondence table 102 includes a service (server) type and a proxy address as items.

以下、図24に示されるようなサービス・プロキシ対応表102に基づいて、使いたいサーバに対応するプロキシのアドレスを取得したクライアント10が、プロキシ20に、使いたいサーバ(ターゲットサービス)を指定する例を、図25から図28を用いて説明する。   Hereinafter, based on the service / proxy correspondence table 102 as shown in FIG. 24, the client 10 that has acquired the proxy address corresponding to the server to be used designates the server (target service) to be used for the proxy 20. Will be described with reference to FIGS.

以下、ターゲットサービスの指定処理の一例を、図25に示す。図25は、ターゲットサービスの指定処理を示すシーケンス図(その1)である。   An example of target service designation processing is shown in FIG. FIG. 25 is a sequence diagram (part 1) illustrating target service designation processing.

図25に示されるように、クライアント10は、後述する図26に示されるような、プロキシ20に用意されているターゲットサービスを指定するオペレーションを呼ぶ(シーケンスSQ80)。   As shown in FIG. 25, the client 10 calls an operation for designating a target service prepared in the proxy 20 as shown in FIG. 26 described later (sequence SQ80).

プロキシ20は、クライアント10によってターゲットサービスを指定するオペレーションを呼ばれると、Ackをクライアント10に返す(シーケンスSQ81)一方、ターゲットサービスを設定する。   When the proxy 20 is called by the client 10 to specify a target service, it returns Ack to the client 10 (sequence SQ81), while setting the target service.

Ackをプロキシ20より受け取ったクライアント10は、指定したサービス(サーバ)に係る非同期オペレーション及び同期オペレーションを、プロキシ20を介して、利用する(シーケンスSQ82)。   The client 10 that has received Ack from the proxy 20 uses the asynchronous operation and the synchronous operation related to the designated service (server) through the proxy 20 (sequence SQ82).

以下、ターゲットサービスを指定するオペレーションの一例を、図26に示す。図26は、ターゲットサービスを指定するオペレーションの一例を示す図である。   An example of an operation for specifying the target service is shown in FIG. FIG. 26 is a diagram illustrating an example of an operation for specifying a target service.

図26に示されるように、260には、ターゲットサービスを指定するオペレーションが記述され、261には、ターゲットサービスのアドレスが記述されている。   As shown in FIG. 26, 260 describes an operation for designating a target service, and 261 describes an address of the target service.

以下、ターゲットサービスの指定処理の他の例を、図27に示す。図27は、ターゲットサービスの指定処理を示すシーケンス図(その2)である。   FIG. 27 shows another example of target service designation processing. FIG. 27 is a sequence diagram (part 2) of the target service designation process.

図25に示されるように、クライアント10は、非同期オペレーション及び同期オペレーションを利用する際に、後述する図28に示されるように、ターゲットサービスを、SOAPヘッダーに含めて、プロキシ20に送信する(シーケンスSQ90)。   As shown in FIG. 25, when using the asynchronous operation and the synchronous operation, the client 10 includes the target service in the SOAP header and transmits it to the proxy 20 as shown in FIG. SQ90).

図28に示されるようなサーバ(サービス)の利用リクエストを受け取ったプロキシ20は、SOAPヘッダーに含まれるターゲットサービスのアドレスに従って、サーバ30に接続する(シーケンスSQ91)。   The proxy 20 that has received the server (service) use request as shown in FIG. 28 connects to the server 30 in accordance with the address of the target service included in the SOAP header (sequence SQ91).

以下、SOAPヘッダーにターゲットサービスを記述する一例を、図28に示す。図28は、SOAPヘッダーにターゲットサービスを記述した例を示す図である。   An example of describing the target service in the SOAP header is shown in FIG. FIG. 28 is a diagram illustrating an example in which the target service is described in the SOAP header.

図28に示されるように、280には、ターゲットサービスのアドレスが記述され、281には、非同期オペレーションのオペレーション名が記述されている。
(一部のオペレーションをプロキシ経由)
以下、同期オペレーションは、直接サーバ30と通信を行って利用し、非同期オペレーションは、プロキシ20経由で利用する例を、図29に示す。図29は、同期オペレーションは、直接サーバと通信を行って利用し、非同期オペレーションは、プロキシ経由で利用する例を示す概念図である。
As shown in FIG. 28, 280 describes the address of the target service, and 281 describes the operation name of the asynchronous operation.
(Some operations via proxy)
Hereinafter, an example in which the synchronous operation is used by directly communicating with the server 30 and the asynchronous operation is used via the proxy 20 is shown in FIG. FIG. 29 is a conceptual diagram illustrating an example in which the synchronous operation is used by directly communicating with the server, and the asynchronous operation is used via a proxy.

図29に示されるように、クライアント10は、例えば使いたいサーバ30を検索する(図29の(1))。   As shown in FIG. 29, for example, the client 10 searches for a server 30 to be used ((1) in FIG. 29).

クライアント10は、使いたいサーバ(サービス)30を発見すると(図29の(2))、同期オペレーションを利用する際は、直接サーバ30と通信を行って利用し(図29の(3))、非同期オペレーションを利用する際は、プロキシ20を介して(図29の(4))、利用する。
(WSDL−一部のオペレーションをプロキシ経由)
以下、非同期オペレーション提供システムの機能構成の他の例を、図30に示す。図30は、非同期オペレーション提供システムの機能構成図(その5)である。
When the client 10 finds the server (service) 30 that it wants to use ((2) in FIG. 29), when using the synchronous operation, it communicates with the server 30 directly and uses it ((3) in FIG. 29). When the asynchronous operation is used, it is used via the proxy 20 ((4) in FIG. 29).
(WSDL-some operations via proxy)
FIG. 30 shows another example of the functional configuration of the asynchronous operation providing system. FIG. 30 is a functional configuration diagram (part 5) of the asynchronous operation providing system.

図30に示されるように、サーバ30は、後述する図31に示されるようなWSDLファイル100と、サービスインターフェース103と、を含む。   As shown in FIG. 30, the server 30 includes a WSDL file 100 and a service interface 103 as shown in FIG.

サービスインターフェース103は、クライアント10及びプロキシ20と、サーバ30と、のインターフェースを表す。   The service interface 103 represents an interface between the client 10 and the proxy 20 and the server 30.

以下、WSDLファイル100にプロキシ20のアドレスが記述されている他の例を、図31に示す。図31は、WSDLファイルにプロキシのアドレスが記述されている例を示す図(その3)である。   Another example in which the address of the proxy 20 is described in the WSDL file 100 is shown in FIG. FIG. 31 is a third diagram illustrating an example in which a proxy address is described in a WSDL file.

図31に示されるように、310には、プロキシのアドレスが記述されている。 クライアント10は、サーバ30が有するWSDLファイル100を取得し、非同期オペレーションを利用する場合は、310に示されるプロキシのアドレスを取得し、該アドレスに基づいて、プロキシ20とメッセージのやり取りを行い、非同期オペレーションを、プロキシ20を経由して利用する。
(WS−Policy−一部のオペレーションをプロキシ経由)
以下、非同期オペレーション提供システムの機能構成の他の例を、図32に示す。図32は、非同期オペレーション提供システムの機能構成図(その6)である。
As shown in FIG. 31, 310 describes a proxy address. When the client 10 acquires the WSDL file 100 of the server 30 and uses an asynchronous operation, the client 10 acquires the address of the proxy indicated by 310, exchanges messages with the proxy 20 based on the address, and performs asynchronous processing. The operation is used via the proxy 20.
(WS-Policy-some operations via proxy)
FIG. 32 shows another example of the functional configuration of the asynchronous operation providing system. FIG. 32 is a functional configuration diagram (part 6) of the asynchronous operation providing system.

図32に示されるように、サーバ30は、後述する図33に示されるようなWS−Policyファイル101と、サービスインターフェース103と、を含む。
(WS−Policy(オペレーション毎)−一部のオペレーションをプロキシ経由)
以下、WS−Policyファイル101にプロキシ20のアドレスが記述されている他の例を、図33に示す。図33は、WS−Policyファイルにプロキシのアドレスが記述されている例を示す図(その2)である。
As shown in FIG. 32, the server 30 includes a WS-Policy file 101 and a service interface 103 as shown in FIG.
(WS-Policy (per operation)-some operations via proxy)
Another example in which the address of the proxy 20 is described in the WS-Policy file 101 is shown in FIG. FIG. 33 is a second diagram illustrating an example in which the proxy address is described in the WS-Policy file.

図33に示されるように、WS−Policyファイル101には、オペレーション毎のポリシーとして、プロキシ20又はサーバのアドレスが記述されている。同期オペレーションのlocationには、サーバのアドレス330が記述され、非同期オペレーションのlocationには、プロキシ(例えば、プロキシ20)のアドレス331が記述されている。   As shown in FIG. 33, the WS-Policy file 101 describes the address of the proxy 20 or the server as a policy for each operation. The address 330 of the server is described in the location of the synchronous operation, and the address 331 of the proxy (for example, the proxy 20) is described in the location of the asynchronous operation.

以下、オペレーションを利用する処理の他の例を、図34に示す。図34は、オペレーションを利用する処理を示すシーケンス図(その3)である。   In the following, another example of processing using operations is shown in FIG. FIG. 34 is a sequence diagram (part 3) illustrating the process using the operation.

図34に示されるように、クライアント10は、サーバ30に対して、WS−Policyファイル101の取得要求を、送信する(シーケンスSQ100)。   As shown in FIG. 34, client 10 transmits an acquisition request for WS-Policy file 101 to server 30 (sequence SQ100).

サーバ30は、クライアント10より、WS−Policyファイル101の取得要求を受信すると、図33に示したようなWS−Policyファイル101を、クライアント10に送信する(シーケンスSQ101)。   When server 30 receives the WS-Policy file 101 acquisition request from client 10, server 30 transmits WS-Policy file 101 as shown in FIG. 33 to client 10 (sequence SQ101).

クライアント10は、サーバ30より、図33に示したようなWS−Policyファイル101を取得すると、非同期オペレーションを利用する場合、図33の331に記述されているアドレスを選択、取得し、該アドレスに基づいて、プロキシ20に対して、非同期オペレーションであるgetDocListAsyncオペレーションを呼び出すgetDocListAsyncリクエストを、送信する(シーケンスSQ102)。   When the client 10 acquires the WS-Policy file 101 as shown in FIG. 33 from the server 30, when using the asynchronous operation, the client 10 selects and acquires the address described in 331 in FIG. Based on this, a getDocListAsync request for calling a getDocListAsync operation that is an asynchronous operation is transmitted to proxy 20 (sequence SQ102).

プロキシ20は、クライアント10からgetDocListAsyncリクエストを受信すると、Ackをクライアント10に返す(シーケンスSQ103)一方、同期オペレーションであるgetDocListオペレーションを呼び出すgetDocListリクエストを、サーバ30に送信する(シーケンスSQ104)。   When the proxy 20 receives the getDocListAsync request from the client 10, the proxy 20 returns Ack to the client 10 (sequence SQ103), while transmitting a getDocList request that calls the getDocList operation that is a synchronous operation to the server 30 (sequence SQ104).

サーバ30は、プロキシ20より、getDocListリクエストを受信すると、文書の一覧の取得処理(getDocListオペレーション)を実行する。サーバ30は、getDocListオペレーションが終了すると、例えばgetDocListオペレーションの戻り値である、文書の一覧を含むgetDocListResponseを、要求元のプロキシ20に送信する(シーケンスSQ105)。   When the server 30 receives a getDocList request from the proxy 20, the server 30 executes document list acquisition processing (getDocList operation). When the getDocList operation is completed, the server 30 transmits, for example, a getDocListResponse including a list of documents, which is a return value of the getDocList operation, to the requesting proxy 20 (sequence SQ105).

プロキシ20は、サーバ30より、getDocListResponseを受信すると、例えば文書の一覧を含むgetDocListAsyncResponseを、要求元のクライアント10に送信する(シーケンスSQ106)。   When proxy 20 receives getDocListResponse from server 30, proxy 20 transmits, for example, getDocListAsyncResponse including a list of documents to requesting client 10 (sequence SQ106).

また、クライアント10は、同期オペレーションを利用する場合、図33の330に記述されているアドレスを選択、取得し、該アドレスに基づいて、サーバ30に対して、同期オペレーションであるgetCapabilityオペレーションを呼び出すgetCapabilityリクエストを、送信する(シーケンスSQ107)。   Further, when using the synchronous operation, the client 10 selects and acquires the address described in 330 of FIG. 33 and, based on the address, calls the getCapability operation that is a synchronous operation to the server 30. The request is transmitted (sequence SQ107).

サーバ30は、クライアント10より、getCapabilityリクエストを受信すると、サーバ30の能力取得処理(getCapabilityオペレーション)を実行する。サーバ30は、getCapabilityオペレーションが終了すると、getCapabilityオペレーションの戻り値である、サーバ30の能力情報を含むgetCapabilityResponseを、要求元のクライアント10に送信する(シーケンスSQ108)。
(WS−Policy(サーバごと)−一部のオペレーションをプロキシ経由)
以下、WS−Policyファイル101にプロキシ20のアドレスが記述されている他の例を、図35に示す。図35は、WS−Policyファイルにプロキシのアドレスが記述されている例を示す図(その3)である。
When the server 30 receives a getCapability request from the client 10, the server 30 executes a capability acquisition process (getCapability operation) of the server 30. When the getCapability operation ends, the server 30 transmits a getCapabilityResponse including the capability information of the server 30 that is a return value of the getCapability operation to the requesting client 10 (sequence SQ108).
(WS-Policy (per server)-some operations via proxy)
Hereinafter, another example in which the address of the proxy 20 is described in the WS-Policy file 101 is shown in FIG. FIG. 35 is a diagram (No. 3) illustrating an example in which the proxy address is described in the WS-Policy file.

図35に示されるように、WS−Policyファイル101には、サーバ(サービス)毎のポリシーとして、プロキシ20又はサーバのアドレスが記述されている。同期オペレーションのlocationには、サーバのアドレス340が記述され、非同期オペレーションのlocationには、プロキシ(例えば、プロキシ20)のアドレス341が記述されている。   As shown in FIG. 35, the WS-Policy file 101 describes the proxy 20 or server address as a policy for each server (service). The address 340 of the server is described in the location of the synchronous operation, and the address 341 of the proxy (for example, the proxy 20) is described in the location of the asynchronous operation.

以下、オペレーションを利用する処理の他の例を、図36に示す。図36は、オペレーションを利用する処理を示すシーケンス図(その4)である。   In the following, another example of processing using operations is shown in FIG. FIG. 36 is a sequence diagram (part 4) illustrating processing using an operation.

図36に示されるように、クライアント10は、サーバ30に対して、WS−Policyファイル101の取得要求を、送信する(シーケンスSQ110)。   As shown in FIG. 36, client 10 transmits an acquisition request for WS-Policy file 101 to server 30 (sequence SQ110).

サーバ30は、クライアント10より、WS−Policyファイル101の取得要求を受信すると、図35に示したようなWS−Policyファイル101を、クライアント10に送信する(シーケンスSQ111)。   When server 30 receives the WS-Policy file 101 acquisition request from client 10, server 30 transmits WS-Policy file 101 as shown in FIG. 35 to client 10 (sequence SQ111).

クライアント10は、サーバ30より、図36に示したようなWS−Policyファイル101を取得すると、非同期サービス(サーバ)を利用する場合、図36の341に記述されているアドレスを選択、取得し、該アドレスに基づいて、プロキシ20に対して、非同期オペレーションであるgetDocListAsyncオペレーションを呼び出すgetDocListAsyncリクエストを、送信する(シーケンスSQ112)。   When the client 10 acquires the WS-Policy file 101 as shown in FIG. 36 from the server 30, when using the asynchronous service (server), the client 10 selects and acquires the address described in 341 of FIG. Based on the address, a getDocListAsync request that calls a getDocListAsync operation that is an asynchronous operation is transmitted to the proxy 20 (sequence SQ112).

プロキシ20は、クライアント10からgetDocListAsyncリクエストを受信すると、Ackをクライアント10に返す(シーケンスSQ113)一方、同期オペレーションであるgetDocListオペレーションを呼び出すgetDocListリクエストを、サーバ30に送信する(シーケンスSQ114)。   When the proxy 20 receives the getDocListAsync request from the client 10, the proxy 20 returns Ack to the client 10 (sequence SQ113), while transmitting a getDocList request for calling the getDocList operation that is a synchronous operation to the server 30 (sequence SQ114).

サーバ30は、プロキシ20より、getDocListリクエストを受信すると、文書の一覧の取得処理(getDocListオペレーション)を実行する。サーバ30は、getDocListオペレーションが終了すると、例えばgetDocListオペレーションの戻り値である、文書の一覧を含むgetDocListResponseを、要求元のプロキシ20に送信する(シーケンスSQ115)。   When the server 30 receives a getDocList request from the proxy 20, the server 30 executes document list acquisition processing (getDocList operation). When the getDocList operation is completed, the server 30 transmits, for example, a getDocListResponse including a list of documents, which is a return value of the getDocList operation, to the requesting proxy 20 (sequence SQ115).

プロキシ20は、サーバ30より、getDocListResponseを受信すると、例えば、文書の一覧を含むgetDocListAsyncResponseを、要求元のクライアント10に送信する(シーケンスSQ116)。   When proxy 20 receives getDocListResponse from server 30, proxy 20 transmits, for example, getDocListAsyncResponse including a list of documents to requesting client 10 (sequence SQ116).

また、クライアント10は、同期サービスを利用する場合、図36の340に記述されているアドレスを選択、取得し、該アドレスに基づいて、サーバ30に対して、同期オペレーションであるgetCapabilityオペレーションを呼び出すgetCapabilityリクエストを、送信する(シーケンスSQ117)。   Further, when using the synchronization service, the client 10 selects and acquires the address described in 340 in FIG. 36, and, based on the address, calls the getCapability operation that is a synchronization operation to the server 30. The request is transmitted (sequence SQ117).

サーバ30は、クライアント10より、getCapabilityリクエストを受信すると、サーバ30の能力取得処理(getCapabilityオペレーション)を実行する。サーバ30は、getCapabilityオペレーションが終了すると、getCapabilityオペレーションの戻り値である、サーバ30の能力情報を含むgetCapabilityResponseを、要求元のクライアント10に送信する(シーケンスSQ118)。
(オペレーション・プロキシ対応表−一部のオペレーションをプロキシ経由)
以下、非同期オペレーション提供システムの機能構成の他の例を、図37に示す。図37は、非同期オペレーション提供システムの機能構成図(その7)である。
When the server 30 receives a getCapability request from the client 10, the server 30 executes a capability acquisition process (getCapability operation) of the server 30. When the getCapability operation ends, server 30 transmits getCapabilityResponse including the capability information of server 30 as a return value of the getCapability operation to requesting client 10 (sequence SQ118).
(Operation proxy table-some operations via proxy)
Another example of the functional configuration of the asynchronous operation providing system is shown in FIG. FIG. 37 is a functional configuration diagram (part 7) of the asynchronous operation providing system.

図37に示されるように、クライアント10は、オペレーションと、プロキシと、を対応付ける、後述する図38に示されるようなオペレーション・プロキシ対応表104を有する。また、サーバ30は、サービスインターフェース103を含む。   As shown in FIG. 37, the client 10 has an operation proxy correspondence table 104 as shown in FIG. 38, which will be described later, for associating operations with proxies. The server 30 also includes a service interface 103.

以下、オペレーション・プロキシ対応表104の一例を、図38に示す。図38は、オペレーション・プロキシ対応表を示す図である。   An example of the operation proxy correspondence table 104 is shown in FIG. FIG. 38 is a diagram showing an operation proxy correspondence table.

図38に示されるように、オペレーション・プロキシ対応表104は、オペレーションと、プロキシのアドレスと、を項目として含む。   As shown in FIG. 38, the operation proxy correspondence table 104 includes an operation and a proxy address as items.

クライアント10は、オペレーション・プロキシ対応表104に基づいて、オペレーション毎に対応するプロキシのアドレスを取得し、該取得したアドレスのプロキシと接続し、該プロキシを経由してオペレーションを利用する。なお、ターゲットサービスをプロキシに渡す方法は、上述したように、二通りの方法がある。
(大量スキャン処理−全オペレーションをプロキシ経由)
以下、全オペレーションを、プロキシ20を経由した場合の大量のスキャン処理の一例を、図39に示す。図39は、全オペレーションを、プロキシを経由した場合の大量のスキャン処理を示すシーケンス図である。
The client 10 acquires a proxy address corresponding to each operation based on the operation proxy correspondence table 104, connects to the proxy of the acquired address, and uses the operation via the proxy. As described above, there are two methods for passing the target service to the proxy.
(Large scan processing-all operations via proxy)
In the following, an example of a large amount of scan processing when all operations are routed through the proxy 20 is shown in FIG. FIG. 39 is a sequence diagram showing a large amount of scan processing when all operations are routed through a proxy.

初めに、クライアント10は、例えば同期オペレーションであるstartScanオペレーションを呼び出すstartScanリクエストを、プロキシ20に送信する(シーケンスSQ120)。   First, the client 10 transmits, for example, a startScan request for invoking a startScan operation, which is a synchronous operation, to the proxy 20 (sequence SQ120).

プロキシ20は、クライアント10より、startScanリクエストを受信すると、サーバ30に対して、該リクエストを送信する(シーケンスSQ121)。   When proxy 20 receives a startScan request from client 10, proxy 20 transmits the request to server 30 (sequence SQ121).

サーバ30は、プロキシ20より、startScanリクエストを受信すると、スキャンを開始し(startScanオペレーションを実行し)、スキャンが開始されると、startScanオペレーションの戻り値を含むレスポンスを、要求元のプロキシ20に送信する(シーケンスSQ122)。   When the server 30 receives the startScan request from the proxy 20, the server 30 starts scanning (executes the startScan operation), and when the scan is started, transmits a response including the return value of the startScan operation to the requesting proxy 20. (Sequence SQ122).

プロキシ20は、サーバ30より、startScanオペレーションの戻り値を含むレスポンスを、受信すると、該レスポンスをクライアント10に送信する(シーケンスSQ123)。   When proxy 20 receives a response including a return value of the startScan operation from server 30, proxy 20 transmits the response to client 10 (sequence SQ123).

クライアント10は、プロキシ20より、startScanオペレーションの戻り値を含むレスポンスを受信すると、スキャンした最初の1ページを取得する同期オペレーションであるgetFirstPageオペレーションを呼び出すgetFirstPageリクエストを、プロキシ20に送信する(シーケンスSQ124)。   When the client 10 receives a response including the return value of the startScan operation from the proxy 20, the client 10 transmits a getFirstPage request for invoking the getFirstPage operation, which is a synchronous operation for acquiring the first scanned page, to the proxy 20 (sequence SQ124). .

プロキシ20は、クライアント10より、getFirstPageリクエストを受信すると、サーバ30に対して、該リクエストを送信する(シーケンスSQ125)。   When proxy 20 receives a getFirstPage request from client 10, proxy 20 transmits the request to server 30 (sequence SQ125).

サーバ30は、プロキシ20より、getFirstPageリクエストを受信すると、最初の1ページ分のデータだけ取得し(getFirstPageオペレーションを実行し)、getFirstPageオペレーションの戻り値である、最初の1ページ分のデータを含むレスポンスを、要求元のプロキシ20に送信する(シーケンスSQ126)。   When the server 30 receives a getFirstPage request from the proxy 20, the server 30 acquires only the first page of data (executes the getFirstPage operation), and includes a response including the first page of data, which is a return value of the getFirstPage operation. Is transmitted to the requesting proxy 20 (sequence SQ126).

プロキシ20は、サーバ30より、getFirstPageオペレーションの戻り値を含むレスポンスを、受信すると、該レスポンスをクライアント10に送信する(シーケンスSQ127)。   When proxy 20 receives a response including a return value of the getFirstPage operation from server 30, proxy 20 transmits the response to client 10 (sequence SQ127).

クライアント10は、最初の1ページ分だけ取得するので、速やかに取得することができ、例えばユーザからの要求に応じて、取得した最初の1ページ分だけでも速やかにディスプレイ等に表示することができる。   Since the client 10 acquires only the first page, the client 10 can acquire it quickly. For example, in response to a request from the user, only the acquired first page can be quickly displayed on the display or the like. .

また、クライアント10は、残りの全てのページを取得する非同期オペレーションであるgetAllPagesAsyncオペレーションを呼び出すgetAllPagesAsyncリクエストを、プロキシ20に送信する(シーケンスSQ128)。   In addition, the client 10 transmits a getAllPagesAsync request for calling a getAllPagesAsync operation, which is an asynchronous operation for acquiring all remaining pages, to the proxy 20 (sequence SQ128).

プロキシ20は、クライアント10からgetAllPagesAsyncリクエストを受信すると、Ackをクライアント10に返す(シーケンスSQ129)一方、同期オペレーションであるgetAllPagesオペレーションを呼び出すgetAllPagesリクエストを、サーバ30に送信する(シーケンスSQ130)。   When the proxy 20 receives the getAllPagesAsync request from the client 10, the proxy 20 returns Ack to the client 10 (sequence SQ129), and transmits a getAllPages request for calling the getAllPages operation that is a synchronous operation to the server 30 (sequence SQ130).

クライアント10は、リクエストを送信すると、直ぐにプロキシ20よりAckを受け取ることによって、残りの全てのページの取得処理の間、他の処理を実行することができるようになる。   When the client 10 transmits the request, the client 10 immediately receives Ack from the proxy 20 so that other processing can be executed during the acquisition processing of all the remaining pages.

サーバ30は、プロキシ20より、getAllPagesリクエストを受信すると、残りの全てのページの取得処理(getAllPagesオペレーション)を実行する。サーバ30は、getAllPagesオペレーションが終了すると、getAllPagesオペレーションの戻り値である、残りの全てのページのデータを含むgetAllPagesResultsレスポンスを、要求元のプロキシ20に送信する(シーケンスSQ131)。   When the server 30 receives a getAllPages request from the proxy 20, the server 30 executes an acquisition process (getAllPages operation) for all remaining pages. When the getAllPages operation is completed, the server 30 transmits a getAllPagesResults response including the data of all the remaining pages, which is a return value of the getAllPages operation, to the requesting proxy 20 (sequence SQ131).

プロキシ20は、サーバ30より、getAllPagesResultsレスポンスを受信すると、残りの全てのページのデータを含むgetAllPagesAsyncResultsレスポンスを、要求元のクライアント10に送信する(シーケンスSQ132)。   When the proxy 20 receives a getAllPagesResults response from the server 30, the proxy 20 transmits a getAllPagesAsyncResults response including data of all remaining pages to the requesting client 10 (sequence SQ132).

クライアント10は、プロキシ20よりgetAllPagesAsyncResultsレスポンスを受信すると、Ackをプロキシ20に返す(シーケンスSQ133)。   Upon receiving the getAllPagesAsyncResults response from the proxy 20, the client 10 returns Ack to the proxy 20 (sequence SQ133).

図39に示すような処理を行うことによって、大量のスキャン処理であっても、最初のページだけ、同期オペレーションで取得し、後の全てのページは、非同期オペレーションで取得することによって、クライアント10は、スキャン処理と平行して他の処理を実行することができる。
(大量スキャン処理−一部のオペレーションをプロキシ経由)
以下、非同期オペレーションは、プロキシ20を経由して利用した場合の大量のスキャン処理の一例を、図40に示す。図40は、非同期オペレーションは、プロキシを経由して利用した場合の大量のスキャン処理を示すシーケンス図である。
By performing the processing as shown in FIG. 39, even in a large amount of scan processing, only the first page is acquired by a synchronous operation, and all subsequent pages are acquired by an asynchronous operation. Other processes can be executed in parallel with the scan process.
(Large scan processing-some operations via proxy)
Hereinafter, an example of a large amount of scan processing when asynchronous operation is used via the proxy 20 is shown in FIG. FIG. 40 is a sequence diagram showing a large amount of scan processing when the asynchronous operation is used via a proxy.

初めに、クライアント10は、例えば同期オペレーションであるstartScanオペレーションを呼び出すstartScanリクエストを、サーバ30に送信する(シーケンスSQ140)。   First, the client 10 transmits a startScan request for invoking a startScan operation, which is a synchronous operation, to the server 30 (sequence SQ140).

サーバ30は、クライアント10より、startScanリクエストを受信すると、スキャンを開始し(startScanオペレーションを実行し)、スキャンが開始されると、startScanオペレーションの戻り値を含むレスポンスを、要求元のクライアント10に送信する(シーケンスSQ141)。   When the server 30 receives a startScan request from the client 10, the server 30 starts scanning (executes the startScan operation), and when the scan is started, transmits a response including a return value of the startScan operation to the requesting client 10. (Sequence SQ141).

クライアント10は、サーバ30より、startScanオペレーションの戻り値を含むレスポンスを受信すると、スキャンした最初の1ページを取得する同期オペレーションであるgetFirstPageオペレーションを呼び出すgetFirstPageリクエストを、サーバ30に送信する(シーケンスSQ142)。   When the client 10 receives a response including the return value of the startScan operation from the server 30, the client 10 transmits to the server 30 a getFirstPage request that calls the getFirstPage operation, which is a synchronous operation for acquiring the first scanned page (sequence SQ142). .

サーバ30は、クライアント10より、getFirstPageリクエストを受信すると、最初の1ページ分のデータだけ取得し(getFirstPageオペレーションを実行し)、getFirstPageオペレーションの戻り値である、最初の1ページ分のデータを含むレスポンスを、要求元のクライアント10に送信する(シーケンスSQ143)。   Upon receiving a getFirstPage request from the client 10, the server 30 acquires only the first page of data (executes the getFirstPage operation), and includes a response including the first page of data that is a return value of the getFirstPage operation. Is transmitted to the requesting client 10 (sequence SQ143).

クライアント10は、最初の1ページ分だけ取得するので、速やかに取得することができ、例えばユーザからの要求に応じて、取得した最初の1ページ分だけでも速やかにディスプレイ等に表示することができる。   Since the client 10 acquires only the first page, the client 10 can acquire it quickly. For example, in response to a request from the user, only the acquired first page can be quickly displayed on the display or the like. .

また、クライアント10は、残りの全てのページを取得する場合、非同期オペレーションであるgetAllPagesAsyncオペレーションを呼び出すgetAllPagesAsyncリクエストを、プロキシ20に送信する(シーケンスSQ144)。   Further, when all the remaining pages are acquired, the client 10 transmits a getAllPagesAsync request for invoking a getAllPagesAsync operation that is an asynchronous operation to the proxy 20 (sequence SQ144).

プロキシ20は、クライアント10からgetAllPagesAsyncリクエストを受信すると、Ackをクライアント10に返す(シーケンスSQ145)一方、同期オペレーションであるgetAllPagesオペレーションを呼び出すgetAllPagesリクエストを、サーバ30に送信する(シーケンスSQ146)。   When the proxy 20 receives the getAllPagesAsync request from the client 10, the proxy 20 returns Ack to the client 10 (sequence SQ145), while transmitting a getAllPages request for calling the getAllPages operation that is a synchronous operation to the server 30 (sequence SQ146).

クライアント10は、リクエストを送信すると、直ぐにプロキシ20よりAckを受け取ることによって、残りの全てのページの取得処理の間、他の処理を実行することができるようになる。   When the client 10 transmits the request, the client 10 immediately receives Ack from the proxy 20 so that other processing can be executed during the acquisition processing of all the remaining pages.

サーバ30は、プロキシ20より、getAllPagesリクエストを受信すると、残りの全てのページの取得処理(getAllPagesオペレーション)を実行する。サーバ30は、getAllPagesオペレーションが終了すると、getAllPagesオペレーションの戻り値である、残りの全てのページのデータを含むgetAllPagesResultsレスポンスを、要求元のプロキシ20に送信する(シーケンスSQ147)。   When the server 30 receives a getAllPages request from the proxy 20, the server 30 executes an acquisition process (getAllPages operation) for all remaining pages. When the getAllPages operation is completed, the server 30 transmits a getAllPagesResults response including the data of all the remaining pages, which is a return value of the getAllPages operation, to the proxy 20 of the request source (sequence SQ147).

プロキシ20は、サーバ30より、getAllPagesResultsレスポンスを受信すると、残りの全てのページのデータを含むgetAllPagesAsyncResultsレスポンスを、要求元のクライアント10に送信する(シーケンスSQ148)。   When the proxy 20 receives a getAllPagesResults response from the server 30, the proxy 20 transmits a getAllPagesAsyncResults response including data of all remaining pages to the requesting client 10 (sequence SQ148).

クライアント10は、プロキシ20よりgetAllPagesAsyncResultsレスポンスを受信すると、Ackをプロキシ20に返す(シーケンスSQ149)。   Upon receiving the getAllPagesAsyncResults response from the proxy 20, the client 10 returns Ack to the proxy 20 (sequence SQ149).

図40に示すような処理を行うことによって、大量のスキャン処理であっても、最初のページだけ、同期オペレーションで取得し、後の全てのページは、非同期オペレーションで取得することによって、クライアント10は、スキャン処理と平行して他の処理を実行することができる。
(大量文書一覧取得処理−全オペレーションをプロキシ経由)
以下、全オペレーションを、プロキシ20を経由して利用した場合の大量の文書一覧取得処理の一例を、図41に示す。図41は、全オペレーションを、プロキシを経由して利用した場合の大量の文書一覧取得処理を示すシーケンス図である。
By performing the processing as shown in FIG. 40, even in a large amount of scan processing, only the first page is acquired by a synchronous operation, and all subsequent pages are acquired by an asynchronous operation. Other processes can be executed in parallel with the scan process.
(Large document list acquisition processing-all operations via proxy)
FIG. 41 shows an example of a large amount of document list acquisition process when all operations are used via the proxy 20. FIG. 41 is a sequence diagram showing a large amount of document list acquisition process when all operations are used via a proxy.

初めに、クライアント10は、例えば同期オペレーションであるexecuteSearchオペレーションを呼び出すexecuteSearchリクエストを、サーバ30に送信する(シーケンスSQ150)。   First, the client 10 transmits an execute Search request for calling an execute Search operation, which is a synchronous operation, to the server 30 (sequence SQ150).

プロキシ20は、クライアント10より、executeSearchリクエストを受信すると、サーバ30に対して、該リクエストを送信する(シーケンスSQ151)。   When proxy 20 receives the execute Search request from client 10, proxy 20 transmits the request to server 30 (sequence SQ151).

サーバ30は、プロキシ20より、executeSearchリクエストを受信すると、文書の一覧の検索を開始し(executeSearchオペレーションを実行し)、executeSearchオペレーションの戻り値を含むレスポンスを、要求元のプロキシ20に送信する(シーケンスSQ152)。   Upon receiving an executeSearch request from the proxy 20, the server 30 starts searching for a list of documents (executes the executeSearch operation), and transmits a response including the return value of the executeSearch operation to the requesting proxy 20 (sequence). SQ152).

プロキシ20は、サーバ30より、executeSearchオペレーションの戻り値を含むレスポンスを、受信すると、該レスポンスをクライアント10に送信する(シーケンスSQ153)。   When proxy 20 receives the response including the return value of executeSearch operation from server 30, proxy 20 transmits the response to client 10 (sequence SQ153).

クライアント10は、プロキシ20より、executeSearchオペレーションの戻り値を含むレスポンスを受信すると、例えば、検索した結果の先頭10個分のデータを取得する同期オペレーションであるgetTop10Pageオペレーションを呼び出すgetTop10Pageリクエストを、プロキシ20に送信する(シーケンスSQ154)。   When the client 10 receives a response including the return value of the executeSearch operation from the proxy 20, for example, the client 10 sends a getTop10Page request to the proxy 20 that invokes a getTop10Page operation that is a synchronous operation for acquiring the top 10 data of the search result. Transmit (sequence SQ154).

プロキシ20は、クライアント10より、getTop10Pageリクエストを受信すると、サーバ30に対して、該リクエストを送信する(シーケンスSQ155)。   When proxy 20 receives a getTop10Page request from client 10, proxy 20 transmits the request to server 30 (sequence SQ155).

サーバ30は、プロキシ20より、getTop10Pageリクエストを受信すると、検索した結果の先頭10個分のデータ(一覧データ)を取得し(getTop10Pageオペレーションを実行し)、getTop10Pageオペレーションの戻り値である、先頭10個分のデータを含むレスポンスを、要求元のプロキシ20に送信する(シーケンスSQ156)。   When the server 30 receives a getTop10Page request from the proxy 20, the server 30 acquires data (list data) corresponding to the top 10 search results (executes the getTop10Page operation), and the top 10 that are return values of the getTop10Page operation. The response including the minute data is transmitted to the requesting proxy 20 (sequence SQ156).

プロキシ20は、サーバ30より、getTop10Pageオペレーションの戻り値を含むレスポンスを、受信すると、該レスポンスをクライアント10に送信する(シーケンスSQ157)。   When proxy 20 receives a response including a return value of the getTop10Page operation from server 30, proxy 20 transmits the response to client 10 (sequence SQ157).

クライアント10は、先頭10個分のデータだけ取得するので、速やかに取得することができ、例えばユーザからの要求に応じて、取得した先頭10個分のデータだけでも速やかにディスプレイ等に表示することができる。   Since the client 10 acquires only the top 10 data, it can be acquired quickly. For example, in response to a request from the user, only the acquired top 10 data can be quickly displayed on the display or the like. Can do.

また、クライアント10は、残りの全ての一覧データを取得する非同期オペレーションであるgetAllAsyncオペレーションを呼び出すgetAllAsyncリクエストを、プロキシ20に送信する(シーケンスSQ158)。   In addition, client 10 transmits a getAllAsync request for calling getAllAsync operation, which is an asynchronous operation for acquiring all remaining list data, to proxy 20 (sequence SQ158).

プロキシ20は、クライアント10からgetAllAsyncリクエストを受信すると、Ackをクライアント10に返す(シーケンスSQ159)一方、同期オペレーションであるgetAllオペレーションを呼び出すgetAllリクエストを、サーバ30に送信する(シーケンスSQ160)。   When the proxy 20 receives the getAllAsync request from the client 10, it returns Ack to the client 10 (sequence SQ159), and transmits a getAll request for calling the getAll operation, which is a synchronous operation, to the server 30 (sequence SQ160).

クライアント10は、リクエストを送信すると、直ぐにプロキシ20よりAckを受け取ることによって、残りの全ての一覧データの取得処理の間、他の処理を実行することができるようになる。   When the client 10 transmits the request, it immediately receives Ack from the proxy 20 so that other processing can be executed during the acquisition processing of all the remaining list data.

サーバ30は、プロキシ20より、getAllリクエストを受信すると、残りの全ての一覧の取得処理(getAllオペレーション)を実行する。サーバ30は、getAllオペレーションが終了すると、getAllオペレーションの戻り値である、残りの全ての一覧データを含むgetAllResultsレスポンスを、要求元のプロキシ20に送信する(シーケンスSQ161)。   When receiving a getAll request from the proxy 20, the server 30 executes acquisition processing (getAll operation) of all remaining lists. When the getAll operation is completed, the server 30 transmits a getAllResults response including all remaining list data, which is a return value of the getAll operation, to the requesting proxy 20 (sequence SQ161).

プロキシ20は、サーバ30より、getAllResultsレスポンスを受信すると、残りの全ての一覧データを含むgetAllAsyncResultsレスポンスを、要求元のクライアント10に送信する(シーケンスSQ162)。   When the proxy 20 receives a getAllResults response from the server 30, the proxy 20 transmits a getAllAsyncResults response including all remaining list data to the requesting client 10 (sequence SQ162).

クライアント10は、プロキシ20よりgetAllAsyncResultsレスポンスを受信すると、Ackをプロキシ20に返す(シーケンスSQ163)。   When the client 10 receives the getAllAsyncResults response from the proxy 20, it returns Ack to the proxy 20 (sequence SQ163).

図41に示すような処理を行うことによって、大量の文書一覧取得処理であっても、最初の10個分だけ、同期オペレーションで取得し、後の全てのページは、非同期オペレーションで取得することによって、クライアント10は、文書一覧取得処理と平行して他の処理を実行することができる。
(大量文書一覧取得処理−一部のオペレーションをプロキシ経由)
以下、非同期オペレーションは、プロキシ20を経由して利用した場合の大量の文書一覧取得処理の一例を、図42に示す。図42は、非同期オペレーションは、プロキシを経由して利用した場合の大量の文書一覧取得処理を示すシーケンス図である。
By performing the processing as shown in FIG. 41, even for a large amount of document list acquisition processing, only the first 10 pages are acquired by a synchronous operation, and all subsequent pages are acquired by an asynchronous operation. The client 10 can execute other processes in parallel with the document list acquisition process.
(Large document list acquisition processing-some operations via proxy)
Hereinafter, an example of a large amount of document list acquisition processing when the asynchronous operation is used via the proxy 20 is shown in FIG. FIG. 42 is a sequence diagram showing a large amount of document list acquisition processing when the asynchronous operation is used via a proxy.

初めに、クライアント10は、例えば同期オペレーションであるexecuteSearchオペレーションを呼び出すexecuteSearchリクエストを、サーバ30に送信する(シーケンスSQ170)。   First, the client 10 transmits an execute Search request for calling an execute Search operation, which is a synchronous operation, to the server 30 (sequence SQ170).

サーバ30は、クライアント10より、executeSearchリクエストを受信すると、文書の一覧の検索を開始し(executeSearchオペレーションを実行し)、文書の一覧の検索が開始されると、executeSearchオペレーションの戻り値を含むレスポンスを、要求元のクライアント10に送信する(シーケンスSQ171)。   When the server 30 receives an executeSearch request from the client 10, the server 30 starts searching the document list (executes the executeSearch operation). When the search of the document list is started, a response including a return value of the executeSearch operation is received. The data is transmitted to the requesting client 10 (sequence SQ171).

クライアント10は、サーバ30より、executeSearchオペレーションの戻り値を含むレスポンスを受信すると、検索した結果の先頭10個分のデータを取得する同期オペレーションであるgetTop10Pageオペレーションを呼び出すgetTop10Pageリクエストを、サーバ30に送信する(シーケンスSQ172)。   When the client 10 receives a response including the return value of the executeSearch operation from the server 30, the client 10 transmits a getTop10Page request for calling the getTop10Page operation, which is a synchronous operation for acquiring the top 10 data of the search result, to the server 30. (Sequence SQ172).

サーバ30は、クライアント10より、getTop10Pageリクエストを受信すると、検索した結果の先頭10個分のデータ(一覧データ)を取得し(getTop10Pageオペレーションを実行し)、getTop10Pageオペレーションの戻り値である、先頭10個分のデータを含むレスポンスを、要求元のクライアント10に送信する(シーケンスSQ173)。   When the server 30 receives a getTop10Page request from the client 10, the server 30 acquires data (list data) corresponding to the top 10 search results (executes the getTop10Page operation), and the top 10 which are return values of the getTop10Page operation. The response including the minute data is transmitted to the requesting client 10 (sequence SQ173).

クライアント10は、先頭10個分のデータだけ取得するので、速やかに取得することができ、例えばユーザからの要求に応じて、取得した先頭10個分のデータだけでも速やかにディスプレイ等に表示することができる。   Since the client 10 acquires only the top 10 data, it can be acquired quickly. For example, in response to a request from the user, only the acquired top 10 data can be quickly displayed on the display or the like. Can do.

また、クライアント10は、残りの全ての一覧データを取得する場合、非同期オペレーションであるgetAllAsyncオペレーションを呼び出すgetAllAsyncリクエストを、プロキシ20に送信する(シーケンスSQ174)。   Further, when acquiring all the remaining list data, the client 10 transmits a getAllAsync request for invoking a getAllAsync operation that is an asynchronous operation to the proxy 20 (sequence SQ174).

プロキシ20は、クライアント10からgetAllAsyncリクエストを受信すると、Ackをクライアント10に返す(シーケンスSQ175)一方、同期オペレーションであるgetAllオペレーションを呼び出すgetAllリクエストを、サーバ30に送信する(シーケンスSQ176)。   When the proxy 20 receives the getAllAsync request from the client 10, the proxy 20 returns Ack to the client 10 (sequence SQ175), while transmitting a getAll request for calling the getAll operation that is a synchronous operation to the server 30 (sequence SQ176).

クライアント10は、リクエストを送信すると、直ぐにプロキシ20よりAckを受け取ることによって、残りの全ての一覧データの取得処理の間、他の処理を実行することができるようになる。   When the client 10 transmits the request, it immediately receives Ack from the proxy 20 so that other processing can be executed during the acquisition processing of all the remaining list data.

サーバ30は、プロキシ20より、getAllリクエストを受信すると、残りの全ての一覧データの取得処理(getAllオペレーション)を実行する。サーバ30は、getAllオペレーションが終了すると、getAllオペレーションの戻り値である、残りの全ての一覧データの取得を含むgetAllResultsレスポンスを、要求元のプロキシ20に送信する(シーケンスSQ177)。   Upon receiving a getAll request from the proxy 20, the server 30 executes an acquisition process (getAll operation) of all remaining list data. When the getAll operation is completed, server 30 transmits a getAllResults response including the acquisition of all the remaining list data, which is a return value of the getAll operation, to requesting proxy 20 (sequence SQ177).

プロキシ20は、サーバ30より、getAllResultsレスポンスを受信すると、残りの全てのページのデータを含むgetAllAsyncResultsレスポンスを、要求元のクライアント10に送信する(シーケンスSQ178)。   When the proxy 20 receives a getAllResults response from the server 30, the proxy 20 transmits a getAllAsyncResults response including data of all remaining pages to the requesting client 10 (sequence SQ178).

クライアント10は、プロキシ20よりgetAllAsyncResultsレスポンスを受信すると、Ackをプロキシ20に返す(シーケンスSQ179)。   When client 10 receives the getAllAsynchronouss response from proxy 20, client 10 returns Ack to proxy 20 (sequence SQ179).

図42に示すような処理を行うことによって、大量の文書一覧取得処理であっても、最初の10個分だけ、同期オペレーションで取得し、後の全てのページは、非同期オペレーションで取得することによって、クライアント10は、文書一覧取得処理と平行して他の処理を実行することができる。
(システム構成その1)
以下、非同期オペレーション提供システムの一例のシステム構成を、図43に示す。図43は、非同期オペレーション提供システムのシステム構成図(その1)である。
By performing the processing as shown in FIG. 42, even for a large amount of document list acquisition processing, only the first 10 pages are acquired by a synchronous operation, and all subsequent pages are acquired by an asynchronous operation. The client 10 can execute other processes in parallel with the document list acquisition process.
(System configuration 1)
The system configuration of an example of an asynchronous operation providing system is shown in FIG. FIG. 43 is a system configuration diagram (part 1) of the asynchronous operation providing system.

図43に示されるような、非同期オペレーション提供システムでは、クライアント10と、プロキシ20と、サーバ30と、がそれぞれ別の装置に含まれている。例えば、図43の非同期オペレーション提供システムでは、クライアント10は、図6に示したクライアント装置1等に含まれ、プロキシ20は、図7に示したプロキシ装置2等に含まれ、サーバ30は、図8に示したサーバ装置3等に含まれる。   In the asynchronous operation providing system as shown in FIG. 43, the client 10, the proxy 20, and the server 30 are included in different devices. For example, in the asynchronous operation providing system of FIG. 43, the client 10 is included in the client device 1 and the like shown in FIG. 6, the proxy 20 is included in the proxy device 2 and the like shown in FIG. 8 is included in the server apparatus 3 shown in FIG.

以下、クライアント10と、プロキシ20と、サーバ30と、がそれぞれ別の装置に含まれている場合に、有効な例を、図44に示す。図44は、図43に示す非同期オペレーション提供システムが有効な例を示す図である。   Hereinafter, FIG. 44 shows an example effective when the client 10, the proxy 20, and the server 30 are included in different devices. FIG. 44 is a diagram showing an example in which the asynchronous operation providing system shown in FIG. 43 is effective.

図44に示されるように、既に古いシステムが存在する環境に、新しく、プロキシ20を有するシステムを導入する場合に、図43に示されるようなシステムが有効である。   As shown in FIG. 44, when a new system having the proxy 20 is introduced in an environment where an old system already exists, the system shown in FIG. 43 is effective.

(システム構成その2)
以下、非同期オペレーション提供システムの他の例のシステム構成を、図45に示す。図45は、非同期オペレーション提供システムのシステム構成図(その2)である。
(System configuration 2)
The system configuration of another example of the asynchronous operation providing system is shown in FIG. FIG. 45 is a system configuration diagram (part 2) of the asynchronous operation providing system.

図45に示されるような、非同期オペレーション提供システムでは、クライアント10と、プロキシ20と、が同じ装置に含まれている。例えば、図45の非同期オペレーション提供システムでは、クライアント10と、プロキシ20とは、例えば図6に示したクライアント装置1等に含まれ、サーバ30は、図8に示したサーバ装置3等に含まれる。   In the asynchronous operation providing system as shown in FIG. 45, the client 10 and the proxy 20 are included in the same device. For example, in the asynchronous operation providing system of FIG. 45, the client 10 and the proxy 20 are included in the client device 1 and the like shown in FIG. 6, for example, and the server 30 is included in the server device 3 and the like shown in FIG. .

クライアント10と、プロキシ20と、が同じ装置に含まれている場合に、有効な例を、図46に示す。図46は、図45に示す非同期オペレーション提供システムが有効な例を示す図である。   FIG. 46 shows an example effective when the client 10 and the proxy 20 are included in the same device. FIG. 46 is a diagram showing an example in which the asynchronous operation providing system shown in FIG. 45 is effective.

図46に示されるように、既に古いクライアント−サーバのシステムが存在する環境に、サーバ30及びサーバ装置3を変更せず、新しく、プロキシ20を有するクライアント装置1をシステムに導入する場合に、図43に示されるようなシステムが有効である。   As shown in FIG. 46, when an old client-server system already exists, the server 30 and the server apparatus 3 are not changed, and the new client apparatus 1 having the proxy 20 is introduced into the system. A system as shown in 43 is effective.

(システム構成その3)
以下、非同期オペレーション提供システムの他の例のシステム構成を、図47に示す。図47は、非同期オペレーション提供システムのシステム構成図(その3)である。
(System configuration 3)
The system configuration of another example of the asynchronous operation providing system is shown in FIG. FIG. 47 is a system configuration diagram (part 3) of the asynchronous operation providing system.

図47に示されるような、非同期オペレーション提供システムでは、プロキシ20と、サーバ30と、が同じ装置に含まれている。例えば、図47の非同期オペレーション提供システムでは、クライアント10は、図6に示したクライアント装置1等に含まれ、プロキシ20と、サーバ30と、は、図8に示したサーバ装置3等に含まれる。   In the asynchronous operation providing system as shown in FIG. 47, the proxy 20 and the server 30 are included in the same device. For example, in the asynchronous operation providing system of FIG. 47, the client 10 is included in the client device 1 and the like shown in FIG. 6, and the proxy 20 and the server 30 are included in the server device 3 and the like shown in FIG. .

プロキシ20と、サーバ30と、が同じ装置に含まれている場合に、有効な例を、図48に示す。図48は、図47に示す非同期オペレーション提供システムが有効な例を示す図である。   FIG. 48 shows an example effective when the proxy 20 and the server 30 are included in the same device. FIG. 48 is a diagram showing an example in which the asynchronous operation providing system shown in FIG. 47 is effective.

図48に示されるように、既に古いクライアント−サーバのシステムが存在する環境に、古いクライアント10及びクライアント装置1を変更せず、新しく、クライアント10及びクライアント装置1等をシステムに導入する場合に、図47に示されるようなシステムが有効である。   As shown in FIG. 48, when the old client 10 and the client device 1 are not changed in the environment where the old client-server system already exists and the client 10 and the client device 1 are newly introduced into the system, A system as shown in FIG. 47 is effective.

上述したように、本発明によれば、同期オペレーションをサポートし、非同期オペレーションをサポートしていないサービスでも、クライアントに対して、非同期オペレーションを提供可能にすることができる。   As described above, according to the present invention, it is possible to provide an asynchronous operation to a client even for a service that supports a synchronous operation and does not support an asynchronous operation.

以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   The preferred embodiments of the present invention have been described in detail above, but the present invention is not limited to such specific embodiments, and various modifications can be made within the scope of the gist of the present invention described in the claims.・ Change is possible.

同期オペレーションしかサポートしていないサービスの一例を示す図である。It is a figure which shows an example of the service which supports only a synchronous operation. 非同期オペレーションもサポートしているサービスの一例を示す図です。This is an example of a service that also supports asynchronous operations. 一般的な同期オペレーションの例を示す図である。It is a figure which shows the example of a general synchronous operation. 一般的な非同期オペレーション(ポーリング)の例を示す図である。It is a figure which shows the example of a general asynchronous operation (polling). 一般的な非同期オペレーション(コールドバック)の例を示す図である。It is a figure which shows the example of a general asynchronous operation (coldback). クライアント装置の一例のハードウェア構成図である。It is a hardware block diagram of an example of a client apparatus. プロキシ装置の一例のハードウェア構成図である。It is a hardware block diagram of an example of a proxy apparatus. サーバ装置の一例のハードウェア構成図である。It is a hardware block diagram of an example of a server apparatus. プロキシの機能構成図(その1)である。It is a function block diagram (the 1) of a proxy. プロキシを介した非同期オペレーション提供処理を、ポーリングの場合を例に示すシーケンス図である。It is a sequence diagram which shows the case of polling as an asynchronous operation provision process via a proxy. コールバックの機能構成図(その2)である。It is a function block diagram (the 2) of a callback. プロキシを介した非同期オペレーション提供処理を、コールバックの場合を例に示すシーケンス図である。FIG. 10 is a sequence diagram illustrating an asynchronous operation providing process via a proxy as an example of a callback. 非同期オペレーション提供システムの機能構成図(その1)である。It is a function block diagram (the 1) of an asynchronous operation provision system. WSDLファイルにプロキシのアドレスが記述されている例を示す図(その1)である。FIG. 6 is a diagram (part 1) illustrating an example in which a proxy address is described in a WSDL file. サーバに、プロキシのアドレスを教えてもらってから、プロキシを経由してオペレーションを利用する例の概念図である。It is a conceptual diagram of an example in which an operation is used via a proxy after the server is informed of the proxy address. 非同期オペレーション提供システムの機能構成図(その2)である。It is a function block diagram (the 2) of an asynchronous operation provision system. WSDLファイルにプロキシのアドレスが記述されている例を示す図(その2)である。FIG. 10 is a second diagram illustrating an example in which a proxy address is described in a WSDL file. オペレーションを利用する処理を示すシーケンス図(その1)である。It is a sequence diagram (the 1) which shows the process which uses operation. 非同期オペレーション提供システムの機能構成図(その3)である。It is a function block diagram (the 3) of an asynchronous operation provision system. WS−Policyファイルにプロキシのアドレスが記述されている例を示す図(その1)である。FIG. 10 is a diagram (part 1) illustrating an example in which a proxy address is described in a WS-Policy file. オペレーションを利用する処理を示すシーケンス図(その2)である。It is a sequence diagram (the 2) which shows the process using an operation. クライアントが、サーバを検索し、サーバを発見してから、自身が有するサービス(サーバ)と、プロキシと、の対応表に基づいて、プロキシを経由してオペレーションを利用する例の概念図である。FIG. 10 is a conceptual diagram of an example in which a client searches for a server and discovers the server, and then uses an operation via the proxy based on a correspondence table between the service (server) and the proxy that the client has. 非同期オペレーション提供システムの機能構成図(その4)である。It is a function block diagram (the 4) of an asynchronous operation provision system. サービス・プロキシ対応表を示す図である。It is a figure which shows a service proxy correspondence table. ターゲットサービスの指定処理を示すシーケンス図(その1)である。FIG. 10 is a sequence diagram (part 1) illustrating target service designation processing. ターゲットサービスを指定するオペレーションの一例を示す図である。It is a figure which shows an example of operation which designates a target service. ターゲットサービスの指定処理を示すシーケンス図(その2)である。FIG. 10 is a sequence diagram (part 2) illustrating a target service designation process. SOAPヘッダーにターゲットサービスを記述した例を示す図である。It is a figure which shows the example which described the target service in the SOAP header. 同期オペレーションは、直接サーバと通信を行って利用し、非同期オペレーションは、プロキシ経由で利用する例を示す概念図である。The synchronous operation is a conceptual diagram showing an example in which communication is directly performed with a server and the asynchronous operation is used via a proxy. 非同期オペレーション提供システムの機能構成図(その5)である。It is a function block diagram (the 5) of an asynchronous operation provision system. WSDLファイルにプロキシのアドレスが記述されている例を示す図(その3)である。FIG. 11 is a third diagram illustrating an example in which a proxy address is described in a WSDL file; 非同期オペレーション提供システムの機能構成図(その6)である。It is a function block diagram (the 6) of an asynchronous operation provision system. WS−Policyファイルにプロキシのアドレスが記述されている例を示す図(その2)である。FIG. 10 is a second diagram illustrating an example in which a proxy address is described in a WS-Policy file. オペレーションを利用する処理を示すシーケンス図(その3)である。FIG. 10 is a sequence diagram (No. 3) illustrating a process using an operation. WS−Policyファイルにプロキシのアドレスが記述されている例を示す図(その3)である。FIG. 10 is a third diagram illustrating an example in which a proxy address is described in a WS-Policy file. オペレーションを利用する処理を示すシーケンス図(その4)である。It is a sequence diagram (the 4) which shows the process which utilizes operation. 非同期オペレーション提供システムの機能構成図(その7)である。It is a function block diagram (the 7) of an asynchronous operation provision system. オペレーション・プロキシ対応表を示す図である。It is a figure which shows an operation proxy correspondence table. 全オペレーションを、プロキシを経由した場合の大量のスキャン処理を示すシーケンス図である。FIG. 10 is a sequence diagram showing a large amount of scan processing when all operations are routed through a proxy. 非同期オペレーションは、プロキシを経由して利用した場合の大量のスキャン処理を示すシーケンス図である。Asynchronous operation is a sequence diagram showing a large amount of scan processing when used via a proxy. 全オペレーションを、プロキシを経由して利用した場合の大量の文書一覧取得処理を示すシーケンス図である。FIG. 10 is a sequence diagram showing a large amount of document list acquisition process when all operations are used via a proxy. 非同期オペレーションは、プロキシを経由して利用した場合の大量の文書一覧取得処理を示すシーケンス図である。Asynchronous operation is a sequence diagram showing a large amount of document list acquisition processing when used via a proxy. 非同期オペレーション提供システムのシステム構成図(その1)である。It is a system configuration | structure figure (the 1) of an asynchronous operation provision system. 図43に示す非同期オペレーション提供システムが有効な例を示す図である。It is a figure which shows the example in which the asynchronous operation provision system shown in FIG. 43 is effective. 非同期オペレーション提供システムのシステム構成図(その2)である。It is a system configuration | structure figure (the 2) of an asynchronous operation provision system. 図45に示す非同期オペレーション提供システムが有効な例を示す図である。It is a figure which shows the example in which the asynchronous operation provision system shown in FIG. 45 is effective. 非同期オペレーション提供システムのシステム構成図(その3)である。It is a system configuration | structure figure (the 3) of an asynchronous operation provision system. 図47に示す非同期オペレーション提供システムが有効な例を示す図である。It is a figure which shows the example in which the asynchronous operation provision system shown in FIG. 47 is effective.

符号の説明Explanation of symbols

1 クライアント装置
2 プロキシ装置
3 サーバ装置
10 クライアント(クライアントサービス)
20 プロキシ(プロキシサービス)
30 サーバ(サービス)
41 リクエスト受信部
42 レスポンス保持・送信部
43 非同期スレッド
44 同期メッセージ送受信部
51 リクエストジュシンブ
52 レスポンス受信部
53 非同期スレッド
54 同期メッセージ送受信部
1 Client device 2 Proxy device 3 Server device 10 Client (client service)
20 Proxy (proxy service)
30 servers (services)
41 Request Receiving Unit 42 Response Holding / Transmitting Unit 43 Asynchronous Thread 44 Synchronous Message Transmission / Reception Unit 51 Request Justin 52 Response Receiving Unit 53 Asynchronous Thread 54 Synchronous Message Transmission / Reception Unit

Claims (20)

サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段に対して、前記サービスに係る非同期オペレーションを提供可能とするプロキシ装置であって、
前記サービス利用手段からのリクエストを受信するリクエスト受信手段と、
前記サービス利用手段からの、前記サービスに係る非同期オペレーションの利用リクエストに応じて生成され、非同期に係る処理を実行する非同期実行手段と、
前記サービス利用手段からのリクエストに応じて、前記サービス利用手段にレスポンスを送信する一方、前記非同期オペレーションの利用リクエストに応じて、前記サービス提供手段が実行した同期オペレーションの処理結果を一時的に保持し、非同期オペレーションの処理結果として、前記サービス利用手段に送信するレスポンス保持・送信手段と、
を有することを特徴とするプロキシ装置。
A proxy device that supports a synchronous operation related to a service and that can provide an asynchronous operation related to the service to a service using unit that uses a service provided by a service providing unit that does not support an asynchronous operation related to the service. There,
Request receiving means for receiving a request from the service using means;
Asynchronous execution means that is generated in response to a use request for an asynchronous operation related to the service from the service use means, and executes processing related to the asynchronous operation;
In response to a request from the service using means, a response is sent to the service using means, while a processing result of the synchronous operation executed by the service providing means is temporarily held in response to the asynchronous operation use request. A response holding / transmitting means for sending to the service using means as a result of the asynchronous operation processing;
A proxy device comprising:
サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段に対して、前記サービスに係る非同期オペレーションを提供可能とするプロキシ装置であって、
前記サービス利用手段からのリクエストを受信するリクエスト受信手段と、
前記サービス利用手段からの、前記サービスに係る非同期オペレーションの利用リクエストに応じて生成され、非同期に係る処理を実行する非同期実行手段と、
前記サービス利用手段からのリクエストに応じて、前記サービス利用手段にレスポンスを送信する一方、前記非同期オペレーションの利用リクエストに応じて、前記サービス提供手段が実行した同期オペレーションの処理結果を、非同期オペレーションの処理結果として、前記サービス利用手段に送信するレスポンス送信手段と、
を有することを特徴とするプロキシ装置。
A proxy device that supports a synchronous operation related to a service and that can provide an asynchronous operation related to the service to a service using unit that uses a service provided by a service providing unit that does not support an asynchronous operation related to the service. There,
Request receiving means for receiving a request from the service using means;
Asynchronous execution means that is generated in response to a use request for an asynchronous operation related to the service from the service use means, and executes processing related to the asynchronous operation;
In response to a request from the service using means, a response is sent to the service using means, while a processing result of the synchronous operation executed by the service providing means in response to the use request of the asynchronous operation is processed as an asynchronous operation. As a result, response transmitting means for transmitting to the service using means,
A proxy device comprising:
前記非同期実行手段は、前記サービス提供手段と同期メッセージの送受信を行う同期メッセージ送受信手段を含むことを特徴とする請求項1又は2記載のプロキシ装置。   3. The proxy apparatus according to claim 1, wherein the asynchronous execution unit includes a synchronous message transmission / reception unit that transmits / receives a synchronous message to / from the service providing unit. サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段を有するサービス利用装置であって、
前記サービス利用手段は、前記サービス提供手段側より、WSDLに拡張要素で記述された請求項1乃至3何れか一項記載のプロキシ装置に係るアドレスを取得し、該アドレスに基づいて、前記プロキシ装置と通信を行うことを特徴とするサービス利用装置。
A service using apparatus having service using means for using a service provided by service providing means that supports synchronous operation related to a service and does not support asynchronous operation related to a service,
The service using means acquires an address related to the proxy device according to any one of claims 1 to 3 described in an extension element in WSDL from the service providing means side, and the proxy device based on the address A service using device that communicates with the service.
サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段を有するサービス利用装置であって、
前記サービス利用手段は、前記サービス提供手段側より、WS−Policyに記述された請求項1乃至3何れか一項記載のプロキシ装置に係るアドレスを取得し、該アドレスに基づいて、前記プロキシ装置と通信を行うことを特徴とするサービス利用装置。
A service using apparatus having service using means for using a service provided by service providing means that supports synchronous operation related to a service and does not support asynchronous operation related to a service,
The service using unit acquires an address related to the proxy device according to any one of claims 1 to 3 described in WS-Policy from the service providing unit side, and based on the address, A service using device that performs communication.
サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段を有するサービス利用装置であって、
前記サービス提供手段が提供するサービス又は前記サービス提供手段が提供するサービスに係るオペレーションと、請求項1乃至3何れか一項記載のプロキシ装置に係るアドレスと、を対応付けて、管理、保持するプロキシ装置管理部を更に有し、
前記サービス利用手段は、前記プロキシ装置管理部より、前記サービス提供手段が提供するサービス又は前記サービス提供手段が提供するサービスに係るオペレーションに応じて、前記プロキシ装置に係るアドレスを取得し、該アドレスに基づいて、前記プロキシ装置と通信を行うことを特徴とするサービス利用装置。
A service using apparatus having service using means for using a service provided by service providing means that supports synchronous operation related to a service and does not support asynchronous operation related to a service,
A proxy that manages, holds, and associates a service provided by the service providing unit or an operation related to the service provided by the service providing unit with an address related to the proxy device according to any one of claims 1 to 3. It further has a device management unit,
The service utilization unit acquires an address related to the proxy device from the proxy device management unit according to a service provided by the service providing unit or an operation related to a service provided by the service providing unit, Based on the above, the service use device communicates with the proxy device.
前記サービス利用手段は、前記同期オペレーションを利用する場合、及び前記非同期オペレーションを利用する場合、共に前記プロキシ装置を介して前記サービス提供手段と通信を行うことを特徴とする請求項4乃至6何れか一項記載のサービス利用装置。   7. The service using unit according to claim 4, wherein the service using unit communicates with the service providing unit via the proxy device when using the synchronous operation and when using the asynchronous operation. The service utilization apparatus according to one item. 前記サービス利用手段は、前記同期オペレーションを利用する場合は、前記サービス提供手段と直接通信を行い、前記非同期オペレーションを利用する場合は、前記プロキシ装置を介して前記サービス提供手段と通信を行うことを特徴とする請求項4乃至6何れか一項記載のサービス利用装置。   The service using means communicates directly with the service providing means when using the synchronous operation, and communicates with the service providing means via the proxy device when using the asynchronous operation. The service use apparatus according to claim 4, wherein the service use apparatus is characterized in that: コンピュータを、
サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段からのリクエストを受信するリクエスト受信手段と、
前記サービス利用手段からの、前記サービスに係る非同期オペレーションの利用リクエストに応じて生成され、非同期に係る処理を実行する非同期実行手段と、
前記サービス利用手段からのリクエストに応じて、前記サービス利用手段にレスポンスを送信する一方、前記非同期オペレーションの利用リクエストに応じて、前記サービス提供手段が実行した同期オペレーションの処理結果を一時的に保持し、非同期オペレーションの処理結果として、前記サービス利用手段に送信するレスポンス保持・送信手段と、
して動作させ、前記サービス利用手段に前記サービスに係る非同期オペレーションを提供可能とすることを特徴とするプロキシプログラム。
Computer
A request receiving unit that receives a request from a service using unit that uses a service provided by a service providing unit that supports a synchronous operation related to a service and does not support an asynchronous operation related to the service;
Asynchronous execution means that is generated in response to a use request for an asynchronous operation related to the service from the service use means, and executes processing related to the asynchronous operation;
In response to a request from the service using means, a response is sent to the service using means, while a processing result of the synchronous operation executed by the service providing means is temporarily held in response to the asynchronous operation use request. A response holding / transmitting means for sending to the service using means as a result of the asynchronous operation processing;
A proxy program that enables the service utilization means to provide an asynchronous operation related to the service.
コンピュータを、
サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段からのリクエストを受信するリクエスト受信手段と、
前記サービス利用手段からの、前記サービスに係る非同期オペレーションの利用リクエストに応じて生成され、非同期に係る処理を実行する非同期実行手段と、
前記サービス利用手段からのリクエストに応じて、前記サービス利用手段にレスポンスを送信する一方、前記非同期オペレーションの利用リクエストに応じて、前記サービス提供手段が実行した同期オペレーションの処理結果を、非同期オペレーションの処理結果として、前記サービス利用手段に送信するレスポンス送信手段と、
して動作させ、前記サービス利用手段に前記サービスに係る非同期オペレーションを提供可能とすることを特徴とするプロキシプログラム。
Computer
A request receiving unit that receives a request from a service using unit that uses a service provided by a service providing unit that supports a synchronous operation related to a service and does not support an asynchronous operation related to the service;
Asynchronous execution means that is generated in response to a use request for an asynchronous operation related to the service from the service use means, and executes processing related to the asynchronous operation;
In response to a request from the service using means, a response is sent to the service using means, while a processing result of the synchronous operation executed by the service providing means in response to the use request of the asynchronous operation is processed as an asynchronous operation. As a result, response transmitting means for transmitting to the service using means,
A proxy program that enables the service utilization means to provide an asynchronous operation related to the service.
前記非同期実行手段は、前記サービス提供手段と同期メッセージの送受信を行う同期メッセージ送受信手段を含むことを特徴とする請求項9又は10記載のプロキシプログラム。   11. The proxy program according to claim 9, wherein the asynchronous execution unit includes a synchronous message transmission / reception unit that transmits / receives a synchronous message to / from the service providing unit. コンピュータを、
サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段として動作させるサービス利用プログラムであって、
前記サービス利用手段は、前記サービス提供手段側より、WSDLに拡張要素で記述された請求項9乃至11何れか一項記載のプロキシプログラムに係るアドレスを取得し、該アドレスに基づいて、前記プロキシプログラムと通信を行うことを特徴とするサービス利用プログラム。
Computer
A service use program that supports a synchronous operation related to a service and operates as a service use means that uses a service provided by a service providing means that does not support an asynchronous operation related to a service,
The service using means acquires an address related to the proxy program according to any one of claims 9 to 11 described in an extension element in WSDL from the service providing means side, and based on the address, the proxy program A service use program characterized by communicating with.
コンピュータを、
サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段として動作させるサービス利用プログラムであって、
前記サービス利用手段は、前記サービス提供手段側より、WS−Policyに記述された請求項9乃至11何れか一項記載のプロキシプログラムに係るアドレスを取得し、該アドレスに基づいて、前記プロキシプログラムと通信を行うことを特徴とするサービス利用プログラム。
Computer
A service use program that supports a synchronous operation related to a service and operates as a service use means that uses a service provided by a service providing means that does not support an asynchronous operation related to a service,
The service using means acquires an address related to the proxy program according to any one of claims 9 to 11 described in WS-Policy from the service providing means side, and based on the address, A service use program characterized by performing communication.
コンピュータを、
サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段として動作させるサービス利用プログラムであって、
前記サービス利用手段は、前記サービス提供手段が提供するサービス又は前記サービス提供手段が提供するサービスに係るオペレーションと、請求項9乃至11何れか一項記載のプロキシプログラムに係るアドレスと、を対応付けて、管理、保持するプロキシ装置管理部より、前記サービス提供手段が提供するサービス又は前記サービス提供手段が提供するサービスに係るオペレーションに応じて、前記アドレスを取得し、該アドレスに基づいて、前記プロキシプログラムと通信を行うことを特徴とするサービス利用プログラム。
Computer
A service use program that supports a synchronous operation related to a service and operates as a service use means that uses a service provided by a service providing means that does not support an asynchronous operation related to a service,
The service using means associates the service provided by the service providing means or the operation related to the service provided by the service providing means with the address related to the proxy program according to any one of claims 9 to 11. The proxy program management unit obtains the address according to a service provided by the service providing unit or an operation related to a service provided by the service providing unit from the managing and holding proxy device management unit, and based on the address, the proxy program A service use program characterized by communicating with.
前記サービス利用手段は、前記同期オペレーションを利用する場合、及び前記非同期オペレーションを利用する場合、共に前記プロキシプログラムを介して前記サービス提供手段と通信を行うことを特徴とする請求項12乃至14何れか一項記載のサービス利用プログラム。   15. The service using unit according to claim 12, wherein the service using unit communicates with the service providing unit through the proxy program when using the synchronous operation and when using the asynchronous operation. The service utilization program described in one item. 前記サービス利用手段は、前記同期オペレーションを利用する場合は、前記サービス提供手段と直接通信を行い、前記非同期オペレーションを利用する場合は、前記プロキシプログラムを介して前記サービス提供手段と通信を行うことを特徴とする請求項12乃至14何れか一項記載のサービス利用プログラム。   The service using means communicates directly with the service providing means when using the synchronous operation, and communicates with the service providing means via the proxy program when using the asynchronous operation. The service use program according to any one of claims 12 to 14, characterized in that 請求項9乃至11何れか一項記載のプロキシプログラムを記録したコンピュータ読取り可能な記録媒体。   The computer-readable recording medium which recorded the proxy program as described in any one of Claims 9 thru | or 11. 請求項12乃至16何れか一項記載のサービス利用プログラムを記録したコンピュータ読取り可能な記録媒体。   The computer-readable recording medium which recorded the service utilization program as described in any one of Claims 12 thru | or 16. サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段に対して、前記サービスに係る非同期オペレーションを提供する非同期オペレーション提供方法であって、
前記サービス利用手段からのリクエストを受信するリクエスト受信段階と、
前記サービス利用手段からの、前記サービスに係る非同期オペレーションの利用リクエストに応じて、非同期に係る処理を実行する非同期実行手段を生成する非同期実行手段生成段階と、
前記サービス利用手段からのリクエストに応じて、前記サービス利用手段にレスポンスを送信する一方、前記非同期オペレーションの利用リクエストに応じて、前記サービス提供手段が実行した同期オペレーションの処理結果を一時的に保持し、非同期オペレーションの処理結果として、前記サービス利用手段に送信するレスポンス保持・送信段階と、
を有することを特徴とする非同期オペレーション提供方法。
An asynchronous operation providing method for providing an asynchronous operation related to a service to a service using means that uses a service provided by a service providing means that supports a synchronous operation related to a service and does not support an asynchronous operation related to a service. There,
A request receiving stage for receiving a request from the service using means;
Asynchronous execution means generating stage for generating asynchronous execution means for executing asynchronous processing in response to an asynchronous operation use request related to the service from the service using means;
In response to a request from the service using means, a response is sent to the service using means, while a processing result of the synchronous operation executed by the service providing means is temporarily held in response to the asynchronous operation use request. A response holding / sending stage to be sent to the service using means as a result of the asynchronous operation processing;
A method for providing an asynchronous operation, comprising:
サービスに係る同期オペレーションをサポートし、サービスに係る非同期オペレーションをサポートしていないサービス提供手段が提供するサービスを利用するサービス利用手段に対して、前記サービスに係る非同期オペレーションを提供する非同期オペレーション提供方法であって、
前記サービス利用手段からのリクエストを受信するリクエスト受信段階と、
前記サービス利用手段からの、前記サービスに係る非同期オペレーションの利用リクエストに応じて、非同期に係る処理を実行する非同期実行手段を生成する非同期実行手段生成段階と、
前記サービス利用手段からのリクエストに応じて、前記サービス利用手段にレスポンスを送信する一方、前記非同期オペレーションの利用リクエストに応じて、前記サービス提供手段が実行した同期オペレーションの処理結果を、非同期オペレーションの処理結果として、前記サービス利用手段に送信するレスポンス送信段階と、
を有することを特徴とする非同期オペレーション提供方法。
An asynchronous operation providing method for providing an asynchronous operation related to a service to a service using means that uses a service provided by a service providing means that supports a synchronous operation related to a service and does not support an asynchronous operation related to a service. There,
A request receiving stage for receiving a request from the service using means;
Asynchronous execution means generating stage for generating asynchronous execution means for executing asynchronous processing in response to an asynchronous operation use request related to the service from the service using means;
In response to a request from the service using means, a response is sent to the service using means, while a processing result of the synchronous operation executed by the service providing means in response to the use request of the asynchronous operation is processed as an asynchronous operation. As a result, a response transmission step for transmitting to the service using means,
A method for providing an asynchronous operation, comprising:
JP2004268557A 2004-09-15 2004-09-15 Proxy device, service use device, proxy program, service use program, recording medium and asynchronous operation provision method Pending JP2006085365A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004268557A JP2006085365A (en) 2004-09-15 2004-09-15 Proxy device, service use device, proxy program, service use program, recording medium and asynchronous operation provision method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004268557A JP2006085365A (en) 2004-09-15 2004-09-15 Proxy device, service use device, proxy program, service use program, recording medium and asynchronous operation provision method

Publications (1)

Publication Number Publication Date
JP2006085365A true JP2006085365A (en) 2006-03-30

Family

ID=36163837

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004268557A Pending JP2006085365A (en) 2004-09-15 2004-09-15 Proxy device, service use device, proxy program, service use program, recording medium and asynchronous operation provision method

Country Status (1)

Country Link
JP (1) JP2006085365A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011002909A (en) * 2009-06-16 2011-01-06 Ns Solutions Corp Server device, information processing system, method of controlling the server device, and program
JP2014526740A (en) * 2011-09-09 2014-10-06 オラクル・インターナショナル・コーポレイション System and method for providing dynamic invocation and service interfaces for use in middleware or other environments
US10256881B2 (en) 2009-12-20 2019-04-09 Intel Corporation Apparatus, system and method of sounding feedback sequence of explicit beamforming training

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324526A (en) * 1992-05-18 1993-12-07 Hitachi Ltd Remote computing system
JPH08331654A (en) * 1995-03-28 1996-12-13 Sony Corp Information providing system
JPH11120108A (en) * 1997-08-28 1999-04-30 Internatl Business Mach Corp <Ibm> Server side asynchronous form management method and device
JP2000148572A (en) * 1998-09-16 2000-05-30 Fon Dot Com Japan Kk Radio mobile device having improved operation in network unusable state and transmitting method therefor
JP2001005714A (en) * 1999-06-23 2001-01-12 Mitsubishi Electric Corp Proxy server changing device
JP2001318919A (en) * 2000-02-29 2001-11-16 Fujitsu Ltd Repeater, server device, terminal equipment, and translation server system utilizing these devices
JP2002197005A (en) * 2000-12-26 2002-07-12 Ntt Docomo Inc Service surrogate control method
JP2004030360A (en) * 2002-06-27 2004-01-29 Japan Telecom Co Ltd Web service providing system and web service providing support system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324526A (en) * 1992-05-18 1993-12-07 Hitachi Ltd Remote computing system
JPH08331654A (en) * 1995-03-28 1996-12-13 Sony Corp Information providing system
JPH11120108A (en) * 1997-08-28 1999-04-30 Internatl Business Mach Corp <Ibm> Server side asynchronous form management method and device
JP2000148572A (en) * 1998-09-16 2000-05-30 Fon Dot Com Japan Kk Radio mobile device having improved operation in network unusable state and transmitting method therefor
JP2001005714A (en) * 1999-06-23 2001-01-12 Mitsubishi Electric Corp Proxy server changing device
JP2001318919A (en) * 2000-02-29 2001-11-16 Fujitsu Ltd Repeater, server device, terminal equipment, and translation server system utilizing these devices
JP2002197005A (en) * 2000-12-26 2002-07-12 Ntt Docomo Inc Service surrogate control method
JP2004030360A (en) * 2002-06-27 2004-01-29 Japan Telecom Co Ltd Web service providing system and web service providing support system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011002909A (en) * 2009-06-16 2011-01-06 Ns Solutions Corp Server device, information processing system, method of controlling the server device, and program
US10256881B2 (en) 2009-12-20 2019-04-09 Intel Corporation Apparatus, system and method of sounding feedback sequence of explicit beamforming training
US10447364B2 (en) 2009-12-20 2019-10-15 Intel Corporation Device, system and method of simultaneously communicating with a group of wireless communication devices
US10938463B2 (en) 2009-12-20 2021-03-02 Intel Corporation Device, system and method of simultaneously communicating with a group of wireless communication devices
US11791875B2 (en) 2009-12-20 2023-10-17 Intel Corporation Device, system and method of simultaneously communicating with a group of wireless communication devices
JP2014526740A (en) * 2011-09-09 2014-10-06 オラクル・インターナショナル・コーポレイション System and method for providing dynamic invocation and service interfaces for use in middleware or other environments
JP2017130239A (en) * 2011-09-09 2017-07-27 オラクル・インターナショナル・コーポレイション System and method for providing dynamic invocation and service interface for use in middleware or other environment

Similar Documents

Publication Publication Date Title
US11412030B2 (en) Service providing system for scanning over a network
US20120154861A1 (en) Image processing apparatus, system including image processing apparatus and external apparatus
JP4097584B2 (en) Embedded device having WWW server function, web page providing method, and web page providing control program
JP2006085365A (en) Proxy device, service use device, proxy program, service use program, recording medium and asynchronous operation provision method
JP4394725B2 (en) Embedded device, request distribution method, and request distribution program
JP4154250B2 (en) Information processing method, information processing apparatus, and program
JP2005055983A (en) Service management method and apparatus, and control program
JP2008181519A (en) System and method for finding document processor on network
JP2019036226A (en) Information processing apparatus, information processing method, and system
US20090070451A1 (en) Data transmission system, destination management device, data transmission device, address book acquisition method and program
JP4001047B2 (en) Relay device
JP2004334428A (en) Content controller, and system for browsing content controlled by same
JP5315939B2 (en) Image forming apparatus, information processing system, information processing method, and program
JP2004326643A (en) Document delivery request acceptance device, document delivery device, document delivery method, document delivery program and recording medium
JP3901129B2 (en) Communications system
JP2005173839A (en) Data storing system, and method thereof
JP2005157613A (en) Information management device
JP6439318B2 (en) Information processing apparatus, image reading apparatus, and program
JP2004343558A (en) Communication system
JP2006065549A (en) Data management device
JP2004272888A (en) Service providing device, user terminal equipment, service providing method, service using method, service provision program, service using program, and recording medium
JP2021088153A (en) Printing device, control method and program
JP2002007421A (en) Service providing method, its device and service retrieving device
JP2005079718A (en) Communication management equipment
JP2006135602A (en) Terminal device using input/output device and control program of the terminal device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070910

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091215

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100716

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100810