JP2016009364A - Information processing system, control method for information processing system, and program - Google Patents

Information processing system, control method for information processing system, and program Download PDF

Info

Publication number
JP2016009364A
JP2016009364A JP2014130171A JP2014130171A JP2016009364A JP 2016009364 A JP2016009364 A JP 2016009364A JP 2014130171 A JP2014130171 A JP 2014130171A JP 2014130171 A JP2014130171 A JP 2014130171A JP 2016009364 A JP2016009364 A JP 2016009364A
Authority
JP
Japan
Prior art keywords
processing
server device
response
script
operation screen
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
JP2014130171A
Other languages
Japanese (ja)
Inventor
万里雄 伊藤
Mario Ito
万里雄 伊藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2014130171A priority Critical patent/JP2016009364A/en
Publication of JP2016009364A publication Critical patent/JP2016009364A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an information processing system for enabling a user to instruct the control of a device, and then to continuously perform the confirmation of a processing result and continued operations on the same screen of a Web application on a Web browser.SOLUTION: In the information processing system including a server device and an image processor connected to the server device, the image processor includes: display control means for displaying an operation screen to be provided by the server device; and processing means for executing processing corresponding to a processing request received from the server device. Also, the display control means includes: reception means for receiving a response to a request via the operation screen from the server device; and execution means for, when receiving a script as a response to the transmission of a processing result by the processing means, executing the script without updating the operation screen. Furthermore, the server device includes response means for responding to the request via the operation screen.

Description

本発明は、Webサーバと、Webサーバサーバに接続され、当該Webサーバにより提供される操作画面を表示するWebブラウザを備えた画像処理からなる情報処理システム、情報処理システムの制御方法、プログラムに関する。   The present invention relates to a Web server, an information processing system including an image processing provided with a Web browser connected to the Web server server and displaying an operation screen provided by the Web server, a control method for the information processing system, and a program.

近年、Webブラウザを備えているスキャナやプリンタなどの機能を備えたMFP(Multi Function Peripheral)が存在する。Webブラウザを備えているMFPは、Webサーバにより提供される操作画面をMFPのWebブラウザに表示し、ユーザーからの各種指示を受け付ける。また、MFPが備える各機能を利用するための指示を入力する操作画面をWebサーバが提供し、ユーザーがWebブラウザ上に表示された操作画面を介して、MFPに対する指示を入力するシステムも存在する。   In recent years, there are MFPs (Multi Function Peripherals) having functions such as a scanner and a printer equipped with a Web browser. An MFP provided with a Web browser displays an operation screen provided by a Web server on the Web browser of the MFP and accepts various instructions from the user. There is also a system in which a Web server provides an operation screen for inputting an instruction for using each function provided in the MFP, and a user inputs an instruction for the MFP via the operation screen displayed on the Web browser. .

このシステムでは、Webサーバは、ユーザーから入力された指示の内容に従って、MFPに対して各種処理の実行を依頼する。そして、この依頼を受けたMFPのジョブ実行モジュールは、依頼された処理を実行する。これにより、MFPを操作するための操作画面をMFP内で保持しておく必要がなくなり、また操作画面の変更もWebサーバ上で容易に行うことができるようになる。   In this system, the Web server requests the MFP to execute various processes according to the content of the instruction input from the user. Upon receiving this request, the job execution module of the MFP executes the requested processing. As a result, it is not necessary to hold an operation screen for operating the MFP in the MFP, and the operation screen can be easily changed on the Web server.

具体的には、MFPの各機能をRPC(Remote Procedure Call)的に公開し、Webサーバから適宜呼び出す方法が考えられている。この方法によれば、Webサーバ側に処理のメインロジックを持たせ、MFPの制御やユーザーとの対話的処理をWebサーバに実行させて、MFPの処理の負荷を軽減させることができる。この方法では、MFPがファイアウォールで守られていたり、ネットワークアドレス変換を用いる環境にいたりする場合、MFPは、外部ネットワークに存在するWebサーバからのRPC要求を受け付けることができない。すなわち、ファイアウォールは、一般的に内部から外部への接続は許可するが、外部から内部への接続は許可しない。また、MFPがアドレス変換を用いる環境にいる場合は、サーバ側からMFPを特定できない。   Specifically, a method is conceivable in which each function of the MFP is disclosed as an RPC (Remote Procedure Call) and called from a Web server as appropriate. According to this method, the processing logic of the MFP can be reduced by providing the main logic of the processing on the Web server side and causing the Web server to execute the control of the MFP and the interactive processing with the user. In this method, when the MFP is protected by a firewall or in an environment using network address translation, the MFP cannot accept an RPC request from a Web server existing on an external network. That is, the firewall generally allows connection from the inside to the outside, but does not allow connection from the outside to the inside. Further, when the MFP is in an environment using address translation, the MFP cannot be specified from the server side.

そこで、特許文献1のような技術が考えられている。具体的には、Webブラウザに表示された操作画面を介して入力された指示に基づいてWebサーバが制御スクリプトを提供し、デバイスがその制御スクリプトを実行することでMFPを操作する。制御スクリプトは、Webブラウザからのリクエストに対する応答としてWebブラウザが受信し、ジョブ実行モジュールに転送される。そのため、WebサーバからMFPにコネクションを張る必要がなく、MFPがファイアウォールで守られていたり、ネットワークアドレス変換を用いる環境にいたりする場合でも利用が可能である。また、制御スクリプトを実行した結果を、Webブラウザを介してWebサーバにアップロードすることで、Webサーバは処理結果に応じた画面をWebブラウザに返し、表示させることができる。   Therefore, a technique such as Patent Document 1 is considered. Specifically, the Web server provides a control script based on an instruction input via an operation screen displayed on the Web browser, and the device operates the MFP by executing the control script. The control script is received by the Web browser as a response to the request from the Web browser, and transferred to the job execution module. Therefore, it is not necessary to establish a connection from the Web server to the MFP, and the MFP can be used even when the MFP is protected by a firewall or in an environment using network address translation. Further, by uploading the result of executing the control script to the Web server via the Web browser, the Web server can return and display a screen corresponding to the processing result to the Web browser.

特開2012−105071号公報JP 2012-105071 A

しかしながら、特許文献1で開示された方法を用いた場合、WebブラウザがWebサーバに対して処理結果を通知すると、必ずレスポンスを受信して画面の更新を行ってしまう。このとき、Webサーバがレスポンスを返さなければ画面の更新はされないが、ユーザーが処理結果を知ることができなくなってしまう。そのため、ユーザーが処理結果を確認しつつ、継続してWebアプリケーションの同一画面を操作することができなかった。   However, when the method disclosed in Patent Document 1 is used, if the Web browser notifies the processing result to the Web server, the response is always received and the screen is updated. At this time, if the Web server does not return a response, the screen is not updated, but the user cannot know the processing result. Therefore, the user cannot continuously operate the same screen of the Web application while checking the processing result.

これに対して、例えば、Ajax(Asynchronous JavaScript(登録商標)+XML)を用いて画面遷移のない動的なWebアプリケーションを構築する方法も提案されている。しかしながら、MFPなどの組込み機器に搭載されるWebブラウザではAjaxへの対応が不十分であったり、Ajaxを利用するためのアプリケーションフレームワークに対応していなかったりといったことが発生する可能性がある。そのため、Ajaxを用いたMFP向けWebアプリケーションの開発は難しい。   On the other hand, for example, a method of constructing a dynamic Web application without screen transition using Ajax (Asynchronous JavaScript (registered trademark) + XML) has been proposed. However, there is a possibility that a Web browser installed in an embedded device such as an MFP may not be compatible with Ajax or may not be compatible with an application framework for using Ajax. For this reason, it is difficult to develop a Web application for MFP using Ajax.

本発明は、上記の問題に鑑みてなされたものであり、Webブラウザ上で、ユーザーがデバイスの制御を指示した後、継続してWebアプリケーションの同一画面上で、処理結果の確認と継続した操作を可能にする情報処理システムを提供することを目的とする。   The present invention has been made in view of the above problems, and after a user gives an instruction to control a device on a Web browser, the process result is continuously checked and the operation is continued on the same screen of the Web application. An object of the present invention is to provide an information processing system that makes it possible.

上記課題を解決するために、本発明の情報処理システムは、サーバ装置と、前記サーバ装置に接続された画像処理装置とを含む情報処理システムであって、前記画像処理装置は、前記サーバ装置により提供される操作画面を表示する表示制御手段と、前記サーバ装置から受信した処理要求に応じた処理を実行する処理手段と、を備え、前記表示制御手段は、前記サーバ装置からの前記操作画面を介した要求に対する応答を受信する受信手段と、前記処理手段による前記処理結果を送信したことに対する応答としてスクリプトを受信した場合、前記操作画面を更新することなく前記スクリプトを実行する実行手段と、を備え、前記サーバ装置は、前記操作画面を介した要求に対して応答する応答手段を備えることを特徴とする。   In order to solve the above problems, an information processing system of the present invention is an information processing system including a server device and an image processing device connected to the server device, and the image processing device is Display control means for displaying the provided operation screen; and processing means for executing processing according to the processing request received from the server device, wherein the display control means displays the operation screen from the server device. Receiving means for receiving a response to the request via the server, and executing means for executing the script without updating the operation screen when the script is received as a response to the transmission of the processing result by the processing means. The server device includes response means for responding to a request via the operation screen.

本発明によれば、Webブラウザ上で、ユーザーがデバイスの制御を指示した後、継続してWebアプリケーションの同一画面上で、処理結果の確認と継続した操作を可能にする情報処理システムを提供することができる。   According to the present invention, there is provided an information processing system that allows a user to check processing results and continue operations on the same screen of a Web application after a user instructs device control on a Web browser. be able to.

本発明の一実施形態に係る情報処理システムの全体構成を示す図である。It is a figure showing the whole information processing system composition concerning one embodiment of the present invention. 本発明の一実施形態に係るMFPの構成を示すブロック図である。1 is a block diagram illustrating a configuration of an MFP according to an embodiment of the present invention. FIG. 本発明の一実施形態に係るWebサーバの構成を示すブロック図である。It is a block diagram which shows the structure of the web server which concerns on one Embodiment of this invention. MFPおよびWebサーバのソフトウェア構成を示す図である。2 is a diagram illustrating a software configuration of an MFP and a Web server. FIG. 情報処理システムの全体の処理を示すシーケンス図である。It is a sequence diagram which shows the whole process of an information processing system. 情報処理装置における処理のフローチャートである。It is a flowchart of the process in information processing apparatus. Webサーバにおける処理のフローチャートである。It is a flowchart of the process in a Web server. レスポンスヘッダの一例を示す図である。It is a figure which shows an example of a response header. レスポンスボディの一例を示す図である。It is a figure which shows an example of a response body. Webアプリケーション画面の具体例を示す図である。It is a figure which shows the specific example of a web application screen.

以下、本発明を実施するための形態について図面などを参照して説明する。   Hereinafter, embodiments for carrying out the present invention will be described with reference to the drawings.

図1は、本実施形態に係る情報処理システムの構成例を示す図である。この情報処理システムは、ネットワーク100を介して接続されるMFP101と、Webサーバであるサーバ(サーバ装置)102から構成される。ネットワーク100は、各装置間で通信を行うための基盤であって、インターネット103に接続されている。MFP101は、画像処理装置であってよく、Webブラウザ機能を有すれば、MFP(Multi Function Peripheral)に限定されるものではない。さらに、MFP101は、ローカルなIPアドレスで管理されていてもよい。この場合、ネットワーク100とMFP101との間にゲートウェイ(不図示)が存在し、このゲートウェイは、アドレス変換を行ってよい。例えば、ゲートウェイにはルーターが含まれる。また、ゲートウェイや、MFP101がファイアウォール機能を備えていてもよい。サーバ102は、Webコンテンツを、ネットワークを介して配信する機能を持っており、MFP101からのリクエストに応じてWebコンテンツを返信する。各装置及びネットワークは、インターネットに必ずしも接続されている必要はなく、ローカルネットワーク上に存在してもよい。   FIG. 1 is a diagram illustrating a configuration example of an information processing system according to the present embodiment. This information processing system includes an MFP 101 connected via a network 100 and a server (server device) 102 that is a Web server. The network 100 is a base for performing communication between devices, and is connected to the Internet 103. The MFP 101 may be an image processing apparatus, and is not limited to an MFP (Multi Function Peripheral) as long as it has a Web browser function. Further, the MFP 101 may be managed with a local IP address. In this case, a gateway (not shown) exists between the network 100 and the MFP 101, and this gateway may perform address conversion. For example, a gateway includes a router. The gateway or the MFP 101 may have a firewall function. The server 102 has a function of distributing Web content via a network, and returns Web content in response to a request from the MFP 101. Each device and network does not necessarily have to be connected to the Internet, and may exist on a local network.

図2は、本実施形態に係るMFP101の機器構成図の一例を示す図である。MFP101は、MFP101の全体を制御するCPU201と、CPU201のワークエリアを提供するRAM202と、画像を読み取る読取装置203と、画像を印刷する印刷装置204と、プログラムや様々な設定を記憶する記憶装置205を含む。なお、記憶装置205は、HDDやNVRAM等であってよい。さらに、ユーザーがコマンドの入力を行うユーザー入力装置206、画面表示を行うUI表示装置207、他機器とネットワークによる通信を行うネットワーク装置208、メインバス200により構成されている。なお、本実施形態では特に断らない限り、MFP101は、CPU201がメインバス200を介してRAM202〜ネットワーク装置208をそれぞれ制御する。また、タッチパネルディスプレイのようにUI表示装置207がユーザー入力装置206を兼ねてもよい。   FIG. 2 is a diagram illustrating an example of a device configuration diagram of the MFP 101 according to the present embodiment. The MFP 101 includes a CPU 201 that controls the entire MFP 101, a RAM 202 that provides a work area for the CPU 201, a reading device 203 that reads images, a printing device 204 that prints images, and a storage device 205 that stores programs and various settings. including. The storage device 205 may be an HDD, NVRAM, or the like. Furthermore, a user input device 206 for a user to input commands, a UI display device 207 for screen display, a network device 208 for communicating with other devices via a network, and a main bus 200 are configured. In the present embodiment, unless otherwise specified, in the MFP 101, the CPU 201 controls the RAM 202 to the network device 208 via the main bus 200. Further, the UI display device 207 may also serve as the user input device 206 like a touch panel display.

図3は、本実施形態に係るサーバ102のハードウェア構成図の一例を示す図である。サーバ102は、全体を制御するCPU301と、CPU301のワークエリアを提供するRAM302と、プログラムや設定を記憶する記憶装置303と、他機器とネットワークによる通信を行うネットワーク装置304と、メインバス300から構成される。なお、本実施形態では特に断らない限り、CPU301がメインバス300を介してRAM302、記憶装置303、ネットワーク装置304をそれぞれ制御する。   FIG. 3 is a diagram illustrating an example of a hardware configuration diagram of the server 102 according to the present embodiment. The server 102 includes a CPU 301 that controls the whole, a RAM 302 that provides a work area for the CPU 301, a storage device 303 that stores programs and settings, a network device 304 that communicates with other devices via a network, and a main bus 300. Is done. In the present embodiment, the CPU 301 controls the RAM 302, the storage device 303, and the network device 304 via the main bus 300 unless otherwise specified.

図4は、本実施形態に係る情報処理システム全体のソフトウェア構成を示す図である。図4に示す各機能部は、MFP101/サーバ102のそれぞれが有しているCPU201/CPU301が制御プログラムを実行することにより実現される。サーバ102は、Webアプリケーション410と、通信部401を有する。さらに、Webアプリケーション410には、プレゼンテーション部411及びロジック部412が含まれる。プレゼンテーション部411は、通信部401を介して、MFP101からのリクエストを受信する。さらに、MFP101のWebブラウザ(表示制御手段)420で表示すべき操作画面や結果画面、またはサービスプロバイダー440への処理要求をMFP101にレスポンスとして送信する。また、MFP101のWebブラウザ420に表示された操作画面を介して入力されたユーザーからの入力情報を、通信部401を介してMFP101から受け取る。ロジック部412は、プレゼンテーション部411から渡されたMFP101からの入力情報に対して処理を行う。例えば、ユーザーからの入力に応じて、表示すべき画面を変更したり、MFPのデバイス機能実行のための処理要求を作成したりする。通信部401は、ネットワーク装置304を制御してHTTPプロトコルにより通信を行うソフトウェアモジュールである。   FIG. 4 is a diagram illustrating a software configuration of the entire information processing system according to the present embodiment. Each function unit illustrated in FIG. 4 is realized by the CPU 201 / CPU 301 included in each of the MFP 101 / server 102 executing a control program. The server 102 includes a web application 410 and a communication unit 401. Further, the web application 410 includes a presentation unit 411 and a logic unit 412. The presentation unit 411 receives a request from the MFP 101 via the communication unit 401. Furthermore, an operation screen and a result screen to be displayed on the Web browser (display control unit) 420 of the MFP 101 or a processing request to the service provider 440 is transmitted to the MFP 101 as a response. In addition, input information from the user input via the operation screen displayed on the Web browser 420 of the MFP 101 is received from the MFP 101 via the communication unit 401. The logic unit 412 performs processing on the input information from the MFP 101 passed from the presentation unit 411. For example, in response to an input from the user, a screen to be displayed is changed, or a processing request for executing a device function of the MFP is created. The communication unit 401 is a software module that controls the network device 304 to perform communication using the HTTP protocol.

MFP101は、Webブラウザ420と、転送アプリケーション430と、サービスプロバイダー440とを有している。Webブラウザ420、転送アプリケーション430、およびサービスプロバイダー440のそれぞれは、画像処理装置101が有しているCPU201が制御プログラムを実行することにより実現される。なお、Webブラウザ420は、サーバ102のコンテンツを表示するものに限定しない。同様に、サーバ102もHTTPプロトコルに従ってリクエスト/レスポンスを送受信するWebサーバに限定しない。Webブラウザ420は、任意のサーバと通信を行うことによってコンテンツを取得し、画面に表示するといった機能を有するものであればよい。   The MFP 101 includes a web browser 420, a transfer application 430, and a service provider 440. Each of the Web browser 420, the transfer application 430, and the service provider 440 is realized by the CPU 201 included in the image processing apparatus 101 executing a control program. The web browser 420 is not limited to the one that displays the content of the server 102. Similarly, the server 102 is not limited to a Web server that transmits / receives a request / response according to the HTTP protocol. The web browser 420 only needs to have a function of acquiring content by communicating with an arbitrary server and displaying the content on a screen.

Webブラウザ420は、通信部421、解析部422、画面表示部423、転送アプリ起動部424、およびアップロード処理部425を有する。通信部421は、HTTPプロトコルに従って、ネットワーク装置208を介し、サーバ102の通信部401を介してWebアプリケーション410のプレゼンテーション部411と通信する。具体的には、通信部421は、Webブラウザ420で表示した操作画面を介して入力される情報をWebアプリケーション410に対するリクエストとして送信する。また、通信部421は、Webアプリケーション410から送信されるレスポンスを受信する。   The web browser 420 includes a communication unit 421, an analysis unit 422, a screen display unit 423, a transfer application activation unit 424, and an upload processing unit 425. The communication unit 421 communicates with the presentation unit 411 of the Web application 410 via the network device 208 and the communication unit 401 of the server 102 according to the HTTP protocol. Specifically, the communication unit 421 transmits information input via the operation screen displayed on the Web browser 420 as a request to the Web application 410. In addition, the communication unit 421 receives a response transmitted from the Web application 410.

解析部422は、Webアプリケーション410から受信したレスポンスを解析する。レスポンスの中にはWebブラウザ420に表示すべき操作画面の内容を示す記述であるHTMLデータや、サービスプロバイダーへの処理要求またはJavaScript(登録商標)による結果ダイアログ表示指示が記載されている。解析部422は、HTTPレスポンスヘッダのContent−Typeフィールドがapplication/vnd.canon.Webserviceと一致するかどうか確認する。一致する場合は転送アプリ起動部424に受信したレスポンスに対する処理を依頼する。また、Content−Typeフィールドが、text/scriptと一致する場合は、受信したレスポンスをScriptと見なし、画面表示部423に実行を依頼する。Content−Typeフィールドが、text/htmlで合った場合は、HTMLデータであるとみなし、画面表示部423に表示を依頼する。   The analysis unit 422 analyzes the response received from the web application 410. The response includes HTML data which is a description indicating the contents of the operation screen to be displayed on the Web browser 420, a processing request to the service provider, or a result dialog display instruction by JavaScript (registered trademark). In the analysis unit 422, the Content-Type field of the HTTP response header is set to application / vnd. canon. Check if it matches the Web service. If they match, the transfer application activation unit 424 is requested to process the received response. If the Content-Type field matches text / script, the received response is regarded as Script and the screen display unit 423 is requested to execute. If the Content-Type field matches text / html, it is regarded as HTML data and the screen display unit 423 is requested to display.

画面表示部423は、解析部422による解析結果に基づいて、HTMLデータをUI表示装置207に操作画面を表示したり、JavaScript(登録商標)ファイルを現在表示しているコンテンツ上で実行したりする。転送アプリ起動部424は、解析部422による解析結果に基づいて、Webアプリケーション410から受信したレスポンスを処理要求とみなして、転送アプリケーション430に対し、転送するように依頼する。なお、レスポンスが本発明におけるMFP101への処理要求であるかどうかの判別が可能であれば、HTTPレスポンスヘッダを参照する以外の方法でもよい。アップロード処理部425は、デバイス内部からの要求に応じて、指定されたデータを、通信部421を介してサーバ102に送信する。なお、本実施形態では、HTTP POSTコマンドを用いて指定のデータをアップロードするが、Webブラウザ420が処理可能なプロトコルであれば他のコマンドであってもよい。   The screen display unit 423 displays an operation screen of the HTML data on the UI display device 207 based on the analysis result of the analysis unit 422, or executes the JavaScript (registered trademark) file on the currently displayed content. . Based on the analysis result by the analysis unit 422, the transfer application activation unit 424 regards the response received from the Web application 410 as a processing request and requests the transfer application 430 to transfer the response. As long as it is possible to determine whether or not the response is a processing request to the MFP 101 in the present invention, a method other than referring to the HTTP response header may be used. The upload processing unit 425 transmits designated data to the server 102 via the communication unit 421 in response to a request from the inside of the device. In the present embodiment, specified data is uploaded using an HTTP POST command, but other commands may be used as long as the protocol can be processed by the Web browser 420.

転送アプリケーション430は、通信部431、処理部432を有する。通信部431は、処理部432から依頼を受け、サービスプロバイダー440の通信部441にHTTP POSTコマンドを用いて処理要求を転送し、また、処理要求に対する結果を受信する。処理部432は、Webブラウザ420の転送アプリ起動部424からの依頼を受け、サービスプロバイダーへの処理要求を、通信部431を介して転送する。このとき前記Webアプリケーションから受信したレスポンスのヘッダに記載されている宛先821に転送を行う。なお、宛先821の詳細については後述する。転送アプリケーション430は、一般的にWEBブラウザで対応できない形式のファイル(音声や動画,アニメーションなど)を処理できるようにするヘルパーアプリケーションとして動作し、Webブラウザと独立して動作する。しかしながら、処理要求の転送を行う機能を有すれば、転送アプリケーション430は、ヘルパーアプリケーションではなく、プラグインや、Webブラウザ内の一機能、または受信したレスポンス内に記載されたJavaScript(登録商標)として存在してもよい。   The transfer application 430 includes a communication unit 431 and a processing unit 432. The communication unit 431 receives a request from the processing unit 432, transfers the processing request to the communication unit 441 of the service provider 440 using the HTTP POST command, and receives a result for the processing request. The processing unit 432 receives a request from the transfer application activation unit 424 of the Web browser 420 and transfers a processing request to the service provider via the communication unit 431. At this time, the data is transferred to the destination 821 described in the header of the response received from the Web application. Details of the destination 821 will be described later. The transfer application 430 operates as a helper application that can process a file (audio, moving image, animation, etc.) in a format that cannot be generally supported by the WEB browser, and operates independently of the Web browser. However, if there is a function for transferring a processing request, the transfer application 430 is not a helper application, but a plug-in, one function in the Web browser, or JavaScript (registered trademark) described in the received response. May be present.

サービスプロバイダー440は、通信部441、判断部442、処理部443を有する。通信部441は、転送アプリケーション430から処理要求を受け付ける。処理部442は、通信部441が受け付けた処理依頼を受け取り、依頼された処理を実行する。処理部443は、処理要求に応じて処理を実行する。本実施形態では、指定されたURLからドキュメントを取得して印刷を実行する。   The service provider 440 includes a communication unit 441, a determination unit 442, and a processing unit 443. The communication unit 441 receives a processing request from the transfer application 430. The processing unit 442 receives the processing request received by the communication unit 441 and executes the requested processing. The processing unit 443 executes processing in response to the processing request. In this embodiment, a document is acquired from a specified URL and printing is performed.

図5は、本実施形態に係る情報処理システムの一連の処理を示すシーケンス図である。図5を参照して、情報処理システムで実施される処理の詳細な説明を行う。この処理は、ユーザー操作に基づいて、Webアプリケーション410がMFP101に対して印刷を指示し、実行するものである。まず、MFP101は、ユーザー入力装置206から、ユーザー操作によるWebブラウザ420の起動を行うためのボタン(不図示)押下を受けると、Webブラウザ420を起動する。このボタンは、ハードウェアボタンに限ったものではなく、タッチパネル上に表示されたボタンでもよく、ボタンでなくとも、ユーザーが操作できるものであればよい。Webブラウザ420は、起動するとサーバ102上のWebアプリケーション410に画面のリクエストを行う。なお、本実施形態では、画面のコンテンツを示すURLが予めMFP101に設定されているものとする。また、併せて図10に示す画面の具体例と共に本処理について説明する。   FIG. 5 is a sequence diagram showing a series of processes of the information processing system according to the present embodiment. With reference to FIG. 5, a detailed description will be given of processing executed in the information processing system. This processing is executed when the Web application 410 instructs the MFP 101 to perform printing based on a user operation. First, when the MFP 101 receives a button (not shown) for starting the Web browser 420 by a user operation from the user input device 206, the MFP 101 starts the Web browser 420. This button is not limited to the hardware button, but may be a button displayed on the touch panel, and may be a button that can be operated by the user, even if it is not a button. When activated, the web browser 420 makes a screen request to the web application 410 on the server 102. In the present embodiment, it is assumed that a URL indicating screen content is set in the MFP 101 in advance. In addition, this processing will be described together with a specific example of the screen shown in FIG.

ここで、図10に示す画面の具体例について説明する。図10(A)は、設定画面の一例を示す図である。設定画面には、ファイルリスト1001と印刷開始ボタン1002が含まれる。ユーザーは、ファイルリスト1001から印刷したいファイルを選択し、印刷開始ボタン1002を押下する。次に、図10(B)は、結果表示ダイアログ画面の一例を示す図である。結果表示ダイアログ画面には、結果表示ダイアログ911が含まれる。結果表示ダイアログ911は、設定画面の上に重ねて表示され、印刷ジョブの実行結果が表示されている。ユーザーが実行結果の確認を済ませると、結果表示ダイアログ911が消えて、設定画面に戻る。これにより、印刷実行後にユーザーは、元の画面に戻って継続して作業ができる。   Here, a specific example of the screen shown in FIG. 10 will be described. FIG. 10A is a diagram illustrating an example of a setting screen. The setting screen includes a file list 1001 and a print start button 1002. The user selects a file to be printed from the file list 1001 and presses a print start button 1002. Next, FIG. 10B is a diagram illustrating an example of a result display dialog screen. The result display dialog screen includes a result display dialog 911. The result display dialog 911 is displayed on the setting screen so as to display the execution result of the print job. When the user confirms the execution result, the result display dialog 911 disappears and the setting screen is displayed again. As a result, after printing, the user can return to the original screen and continue working.

まず、ステップS501で、Webブラウザ420は、URLで示されるコンテンツを保持するWebアプリケーション410に対して、HTTPのGETコマンドによるリクエスト(画面要求)を行う。具体的には、Webブラウザ420が通信部421を介してHTTPプロトコルによりサーバ102の通信部401と通信を行う。通信部401は、受け取ったURLに応じて、適切なWebアプリケーションに受け取ったデータを渡す。これにより、Webブラウザ420からWebアプリケーション410へのリクエストが行われる。以下、通信部401と通信部421の動作は省略して説明する。   First, in step S501, the Web browser 420 makes a request (screen request) using an HTTP GET command to the Web application 410 that holds the content indicated by the URL. Specifically, the Web browser 420 communicates with the communication unit 401 of the server 102 via the communication unit 421 using the HTTP protocol. The communication unit 401 passes the received data to an appropriate Web application according to the received URL. Thereby, a request from the Web browser 420 to the Web application 410 is made. Hereinafter, the operations of the communication unit 401 and the communication unit 421 will be described.

次に、ステップS502で、Webアプリケーション410のロジック部412は、ステップS501で受信した情報を元に、HTTPレスポンスヘッダ810と、HTTPレスポンスボディとして設定画面のHTMLデータを生成する。そして、HTTPレスポンスヘッダと、HTTPレスポンスボディを合わせてHTTPレスポンス(応答)としてWebブラウザ420に送信する。Webブラウザ420は、Webアプリケーション410が送信したHTTPレスポンスを受信する。なお、HTTPレスポンスヘッダ810については後述する。解析部422は、受信したHTTPレスポンスヘッダのContent−typeフィールドを確認する。Content−typeがtext/htmlであるため、受信した設定画面のHTMLデータを画面表示部423に依頼してUI表示装置207に表示する。   Next, in step S502, the logic unit 412 of the Web application 410 generates an HTTP response header 810 and HTML data of a setting screen as an HTTP response body based on the information received in step S501. Then, the HTTP response header and the HTTP response body are combined and transmitted to the Web browser 420 as an HTTP response (response). The web browser 420 receives the HTTP response transmitted by the web application 410. The HTTP response header 810 will be described later. The analysis unit 422 confirms the Content-type field of the received HTTP response header. Since the Content-type is text / html, the HTML data of the received setting screen is requested to the screen display unit 423 and displayed on the UI display device 207.

次に、ステップS503で、Webブラウザ420は、ステップS502で表示した画面に対するユーザーの操作に従って、Webアプリケーション410に対して、印刷ジョブ実行のリクエスト(実行要求)を送信する。   Next, in step S503, the web browser 420 transmits a print job execution request (execution request) to the web application 410 in accordance with a user operation on the screen displayed in step S502.

次に、ステップS504で、Webアプリケーション410のロジック部412がステップS503で送信されたリクエストを元に、HTTPレスポンスヘッダ820と、HTTPレスポンスボディとして処理要求910を生成する。そして、HTTPレスポンスヘッダと、HTTPレスポンスボディを合わせてHTTPレスポンス(SOAPリクエスト)としてWebブラウザ420に送信する。Webブラウザ420は、Webアプリケーション410が送信したHTTPレスポンスを受信する。なお、HTTPレスポンスヘッダ820と、処理要求910の詳細については後述する。   In step S504, the logic unit 412 of the web application 410 generates an HTTP response header 820 and a processing request 910 as an HTTP response body based on the request transmitted in step S503. Then, the HTTP response header and the HTTP response body are combined and transmitted to the Web browser 420 as an HTTP response (SOAP request). The web browser 420 receives the HTTP response transmitted by the web application 410. Details of the HTTP response header 820 and the processing request 910 will be described later.

次に、ステップS505で、解析部422は、ステップS502で受信したHTTPレスポンスヘッダのContent−Typeフィールドがapplication/vnd.canon.Webserviceと一致するか確認する。一致することが確認できると、転送アプリ起動部424が、転送アプリケーション430の処理部432に対して、ステップS502で受信したHTTPレスポンスボディ(SOAPリクエスト)を送信し、サービスプロバイダー440に転送するように依頼する。   Next, in step S505, the analysis unit 422 determines that the Content-Type field of the HTTP response header received in step S502 is application / vnd. canon. Check if it matches the Web service. If it is confirmed that the two match, the transfer application activation unit 424 transmits the HTTP response body (SOAP request) received in step S502 to the processing unit 432 of the transfer application 430 and transfers the HTTP response body to the service provider 440. Ask.

次に、ステップS506で、転送アプリケーション430の処理部432は、ステップS505で受信したレスポンスヘッダに記載されている宛先821に対してステップS505で受信したHTTPレスポンスボディを、通信部431を介して送信する。本実施形態では、HTTP POSTコマンドを用いて、サービスプロバイダー440に対して送信するが、送信方法については他の方法であってもよい。そして、サービスプロバイダー440は、転送アプリケーション430が送信した処理要求910を通信部441で受信する。本実施形態では、サービスプロバイダー440は、転送アプリケーション430からリクエストを受信するが、Webアプリケーション410から直接通信が可能な環境であれば、Webアプリケーション410から直接リクエストを受け取ることができる。   Next, in step S506, the processing unit 432 of the transfer application 430 transmits the HTTP response body received in step S505 to the destination 821 described in the response header received in step S505 via the communication unit 431. To do. In the present embodiment, transmission is made to the service provider 440 using an HTTP POST command, but other transmission methods may be used. Then, the service provider 440 receives the processing request 910 transmitted from the transfer application 430 by the communication unit 441. In this embodiment, the service provider 440 receives a request from the transfer application 430, but can receive a request directly from the Web application 410 in an environment where direct communication from the Web application 410 is possible.

次に、ステップS507で、サービスプロバイダー440の処理部443は、ステップS506で受信した処理要求910に従って処理を実行する。本実施形態では、処理要求910で指定されたURLからドキュメントを取得し、印刷を実行する。次に、ステップS508で、サービスプロバイダー440は、処理結果をステップS506で受信したリクエストのレスポンス(SOAPレスポンス)として、通信部441を介して、MFP101の転送アプリケーション430に対して送信する。そして、転送アプリケーション430の処理部432は、処理結果を、通信部431を介して受信する。   Next, in step S507, the processing unit 443 of the service provider 440 executes processing according to the processing request 910 received in step S506. In the present embodiment, a document is acquired from the URL specified by the processing request 910, and printing is executed. Next, in step S508, the service provider 440 transmits the processing result as a response (SOAP response) to the request received in step S506 to the transfer application 430 of the MFP 101 via the communication unit 441. Then, the processing unit 432 of the transfer application 430 receives the processing result via the communication unit 431.

次に、ステップS509で、転送アプリケーション430の処理部433は、Webブラウザ420のアップロード処理部425に対して、処理結果をWebアプリケーション410に対してアップロードするように依頼する。この依頼に際して、処理部432は、アップロード処理部425に対してアップロードの宛先としてアップロード宛先824を指定する。なお、宛先824については、後述する。アップロード宛先824は、HTTPレスポンスヘッダに記載されており、転送アプリケーション430からアップロード処理部425に指定せず、Webブラウザ420がこの情報を記憶しておいてその情報を使用してもよい。また、宛先を固定値とし、Webアプリケーション410から指定しないシステムとしてもよい。   Next, in step S509, the processing unit 433 of the transfer application 430 requests the upload processing unit 425 of the Web browser 420 to upload the processing result to the Web application 410. At the time of this request, the processing unit 432 designates the upload destination 824 as an upload destination to the upload processing unit 425. The destination 824 will be described later. The upload destination 824 is described in the HTTP response header, and may not be specified by the transfer application 430 to the upload processing unit 425, but the Web browser 420 may store this information and use the information. Further, the system may be a system in which the destination is a fixed value and is not specified from the Web application 410.

次に、ステップS510で、アップロード処理部425は、通信部421を介してHTTP POSTコマンドで、処理部432からの依頼に従って処理結果をアップロードする。このとき、転送アプリケーション430の処理部432から依頼された宛先824に対してアップロードを行う。次に、ステップS511で、Webアプリケーション410は、Webブラウザ420に対して、ステップS510でアップロードを受け付けた処理結果に応じた画面を表示するためのScript900生成し、レスポンスする。ここでは、Webアプリケーション410は、表示用のHTMLコンテンツは生成せず、Scriptのみを生成している。そしてWebブラウザ420はレスポンスを受信する。なお、Script900についての詳細は後述する。   Next, in step S <b> 510, the upload processing unit 425 uploads a processing result according to a request from the processing unit 432 using an HTTP POST command via the communication unit 421. At this time, upload is performed to the destination 824 requested by the processing unit 432 of the transfer application 430. Next, in step S511, the web application 410 generates and responds to the web browser 420 by generating a script 900 for displaying a screen corresponding to the processing result received in step S510. Here, the Web application 410 does not generate HTML content for display, but generates only Script. Then, the web browser 420 receives the response. Details of Script 900 will be described later.

次に、ステップS512で、解析部422は、ステップS511で受信したHTTPレスポンスヘッダのContent−Typeフィールドがtext/scriptと一致するか確認する。一致すると、解析部422は、受信したScript900を、Webブラウザ上に表示しているコンテンツ上で実行する。このとき、セキュリティ性確保の観点から、MFP101にあらかじめ信頼する通信先として、サーバのアドレスや、ドメイン、またはプロトコルなどの情報を保持しておき、その条件に一致する場合のみScriptを実行するようにしてもよい。画面表示部423は、解析部422によるScript900の解析/実行の結果に基づいて、UI表示装置207に結果表示ダイアログ911を表示する。   Next, in step S512, the analysis unit 422 checks whether the Content-Type field of the HTTP response header received in step S511 matches text / script. If they match, the analysis unit 422 executes the received Script 900 on the content displayed on the Web browser. At this time, from the viewpoint of ensuring security, information such as a server address, a domain, or a protocol is held as a communication destination trusted by the MFP 101 in advance, and only when the conditions are met, Script is executed. May be. The screen display unit 423 displays a result display dialog 911 on the UI display device 207 based on the analysis / execution result of the Script 900 by the analysis unit 422.

図6は、MFP101における処理フローの詳細を示すフローチャートである。まず、ステップS601で、ユーザーがWebブラウザ420を操作し、コンテンツ上のボタンやリンクを押下する。その結果に従って、Webブラウザ420は、Webアプリケーション410に対してリクエストを送信する。次に、ステップS602で、Webブラウザ420は、ステップS601におけるリクエストのレスポンスとして、Webアプリケーション410からレスポンスを受信する。   FIG. 6 is a flowchart showing details of the processing flow in the MFP 101. First, in step S601, the user operates the web browser 420 and presses a button or link on the content. According to the result, the web browser 420 transmits a request to the web application 410. Next, in step S602, the web browser 420 receives a response from the web application 410 as a response to the request in step S601.

次に、ステップS603で、解析部422は、受信したレスポンスがScriptであるか否かを、レスポンスヘッダのContent−Typeフィールドに基づいて判定する。Scriptである場合(YES)、ステップS604に進む。そして、ステップS604で、解析部422は、受信したScriptを、Webブラウザ上に表示しているコンテンツ上で実行する。次に、ステップS605で、画面表示部423は、Scriptの内容に従ってUI表示装置207に結果表示ダイアログ911を操作画面に追加するように表示する。具体的には、図10(B)に示すように、UI表示装置207に表示されている画面の前面に結果表示ダイアログ911を表示する。なお、本処理におけるステップS604およびステップS605の動作の詳細は、図5に示すステップS512と同様である。   Next, in step S603, the analysis unit 422 determines whether or not the received response is Script based on the Content-Type field of the response header. If it is Script (YES), the process proceeds to step S604. In step S604, the analysis unit 422 executes the received Script on the content displayed on the Web browser. Next, in step S605, the screen display unit 423 displays the result display dialog 911 on the UI display device 207 to be added to the operation screen according to the content of the script. Specifically, as shown in FIG. 10B, a result display dialog 911 is displayed in front of the screen displayed on the UI display device 207. The details of the operations in steps S604 and S605 in this process are the same as in step S512 shown in FIG.

一方、ステップS603で、Scriptでなかった場合(NO)、ステップS606に進む。そして、ステップS606で、解析部422は、受信したレスポンスがサービスプロバイダー440への処理要求であるか否かを、レスポンスヘッダのContent−Typeフィールドに基づいて判定する。具体的には、受信したレスポンスがSOAPリクエストではないか否かを判定する。処理要求でない(SOAPリクエストでない)場合(YES)、ステップS607に進む。なお、本処理におけるステップS606およびステップS607の動作の詳細は、図5に示すステップS502と同様である。そして、ステップS607で、解析部422は、受信したHTTPレスポンスヘッダのContent−typeフィールドがtext/htmlであるため、受信した設定画面のHTMLデータを画面表示部423に依頼してUI表示装置207に表示する。すなわち、画面を更新する。   On the other hand, if it is not Script in step S603 (NO), the process proceeds to step S606. In step S606, the analysis unit 422 determines whether the received response is a processing request to the service provider 440 based on the Content-Type field of the response header. Specifically, it is determined whether or not the received response is a SOAP request. If it is not a processing request (not a SOAP request) (YES), the process proceeds to step S607. Note that the details of the operations in steps S606 and S607 in this process are the same as in step S502 shown in FIG. In step S607, the analysis unit 422 requests the HTML data of the received setting screen from the screen display unit 423 to the UI display device 207 because the Content-type field of the received HTTP response header is text / html. indicate. That is, the screen is updated.

一方、ステップS606で、処理要求である(SOAPリクエストである)場合(NO)、ステップS608に進む。なお、本処理におけるステップS608は、図5に示すステップS505と同様である。ステップS608で、転送アプリ起動部424は、転送アプリケーション430の処理部432に対して、受信したSOAPリクエストを送信し、サービスプロバイダー440に転送するように依頼する。次に、ステップS609で、サービスプロバイダー440の処理部443は、受信したSOAPリクエストに従って印刷処理を実行する。なお、本処理におけるステップS609は、図5に示すステップS507と同様である。次に、ステップS610で、Webブラウザ420のアップロード処理部425は、サービスプロバイダー440からSOAPレスポンスとして処理結果を、転送アプリケーション430の処理部432を介して受信する。次に、ステップS610で、アップロード処理部425は、受信したSOAPレスポンスをサーバ102に送信する。なお、本処理におけるステップS610およびステップS611は、図5に示すステップS508〜ステップS510と同様である。   On the other hand, if it is a processing request (a SOAP request) in step S606 (NO), the process proceeds to step S608. Note that step S608 in this process is the same as step S505 shown in FIG. In step S608, the transfer application activation unit 424 transmits the received SOAP request to the processing unit 432 of the transfer application 430 and requests the service provider 440 to transfer it. In step S609, the processing unit 443 of the service provider 440 executes print processing according to the received SOAP request. Note that step S609 in this process is the same as step S507 shown in FIG. Next, in step S610, the upload processing unit 425 of the Web browser 420 receives the processing result as a SOAP response from the service provider 440 via the processing unit 432 of the transfer application 430. Next, in step S610, the upload processing unit 425 transmits the received SOAP response to the server 102. Note that steps S610 and S611 in this process are the same as steps S508 to S510 shown in FIG.

図7は、サーバ102における処理フローの詳細を示すフローチャートである。まず、ステップS701で、Webアプリケーション410は、Webブラウザ420からリクエストを受信する。次に、ステップS702で、Webアプリケーション410は、ステップS701で受信したリクエストが、サービスプロバイダー440の処理結果であるか否かを判定する。具体的には、リクエストヘッダに含まれる、Content−Typeフィールドがapplication/soap+xmlと一致するか否かを確認する。一致する(すなわち、SOAPレスポンスである)場合(YES)、ステップS703に進む。一方、一致しない(すなわち、SOAPレスポンスでない)場合(NO)、ステップS706に進む。   FIG. 7 is a flowchart showing details of the processing flow in the server 102. First, in step S <b> 701, the web application 410 receives a request from the web browser 420. Next, in step S702, the Web application 410 determines whether the request received in step S701 is a processing result of the service provider 440. Specifically, it is confirmed whether or not the Content-Type field included in the request header matches application / soap + xml. If they match (that is, a SOAP response) (YES), the process proceeds to step S703. On the other hand, if they do not match (that is, not a SOAP response) (NO), the process proceeds to step S706.

そして、ステップS703で、Webアプリケーション410は、受信したリクエストに含まれる処理結果から、印刷ジョブが成功したか否か(すなわち、ジョブが正常に終了(完了)したか否か)を判定する。なお、処理結果にはジョブが成功したか失敗したかを判別するための情報が含まれており、Webアプリケーション410は、その情報を確認することで判定する。ジョブが成功した(すなわち、ジョブが正常に終了した)場合(YES)、ステップS704に進む。一方、失敗した(すなわち、ジョブが正常に終了しなかった)場合(NO)、ステップS705に進む。   In step S703, the Web application 410 determines whether the print job is successful (that is, whether the job is normally completed (completed)) from the processing result included in the received request. Note that the processing result includes information for determining whether the job has succeeded or failed, and the Web application 410 makes the determination by checking the information. When the job is successful (that is, when the job is completed normally) (YES), the process proceeds to step S704. On the other hand, if it has failed (that is, the job has not ended normally) (NO), the process proceeds to step S705.

そして、ステップS704で、Webアプリケーション410は、ユーザーに印刷ジョブが正常に終了したことを知らせるダイアログを表示するためのScriptを生成する。そして、Webブラウザ420に対して、ステップS701で受信したリクエストに対するレスポンスとして送信する。一方、ステップS705で、Webアプリケーション410は、ユーザーに印刷ジョブがエラー終了したことを知らせるダイアログを表示するためのScriptを生成する。そして、Webブラウザ420に対して、ステップS701で受信したリクエストに対するレスポンスとして送信する。   In step S704, the Web application 410 generates Script for displaying a dialog notifying the user that the print job has been completed normally. And it transmits to the web browser 420 as a response to the request received in step S701. On the other hand, in step S705, the Web application 410 generates Script for displaying a dialog notifying the user that the print job has ended in error. And it transmits to the web browser 420 as a response to the request received in step S701.

次に、ステップS706で、Webアプリケーション410は、ステップS701で受信したリクエストが、サービスプロバイダー440への処理要求であるか否かを判定する。すなわち、ステップS701で受信したリクエストがジョブ実行のリクエストか否かを判定する。処理要求である場合場合(YES)、ステップS707に進む。一方、処理要求でない場合(NO)、ステップS708に進む。   Next, in step S706, the Web application 410 determines whether the request received in step S701 is a processing request to the service provider 440. That is, it is determined whether the request received in step S701 is a job execution request. If it is a processing request (YES), the process proceeds to step S707. On the other hand, if it is not a processing request (NO), the process proceeds to step S708.

そして、ステップS707で、Webアプリケーション410は、ステップS701で受信したリクエスト内容に従って、印刷ジョブ実行のための印刷処理要求910を生成する。そして、Webブラウザ420に対して、ステップS701で受信したリクエストに対するレスポンスとして送信する。一方、ステップS708で、Webアプリケーション410は、ステップS701で受信したリクエスト内容に応じた画面情報であるHTMLデータを、受信したリクエストに対するレスポンスとして送信する。   In step S707, the Web application 410 generates a print processing request 910 for executing a print job in accordance with the request content received in step S701. And it transmits to the web browser 420 as a response to the request received in step S701. On the other hand, in step S708, the Web application 410 transmits HTML data, which is screen information corresponding to the request content received in step S701, as a response to the received request.

図8は、本実施形態に係るWebアプリケーション410がWebブラウザ420に対して返すHTTPレスポンスヘッダの一例を示す図である。図8(A)は、図7に示すステップS704、ステップS705において、Webアプリケーション410がWebブラウザ420に対して、Scriptをレスポンスとして返す際のHTTPレスポンスヘッダの一例を示す。Scriptをレスポンスとして返す際のHTTPレスポンスヘッダ800には、値がtext/scriptであるContent−Typeフィールド801が含まれる。   FIG. 8 is a diagram illustrating an example of an HTTP response header returned from the web application 410 to the web browser 420 according to the present embodiment. FIG. 8A shows an example of an HTTP response header when the Web application 410 returns a Script as a response to the Web browser 420 in steps S704 and S705 shown in FIG. The HTTP response header 800 when returning a Script as a response includes a Content-Type field 801 whose value is text / script.

図8(B)は、図7に示すステップS708において、Webアプリケーション410がWebブラウザ420に対して、画面を構成するためのHTMLコンテンツをレスポンスとして返す際のHTTPレスポンスヘッダの一例を示す。HTMLコンテンツをレスポンスとして返す際のHTTPレスポンスヘッダ810には、値がtext/htmlであるContent−Typeフィールド811が含まれる。   FIG. 8B shows an example of an HTTP response header when the Web application 410 returns an HTML content for configuring a screen as a response to the Web browser 420 in step S708 shown in FIG. The HTTP response header 810 when returning HTML content as a response includes a Content-Type field 811 having a value of text / html.

図8(C)は、図7に示すステップS707において、Webアプリケーション410がWebブラウザ420に対して、プリント(印刷ジョブ)を実行させるための処理要求をレスポンスとして返す際のHTTPレスポンスヘッダの一例を示す。処理要求をレスポンスとして返す際のHTTPレスポンスヘッダ820は、宛先821、タイムアウト時間822、転送時コンテントタイプ823、アップロード宛先824、コンテントタイプ825を有する。宛先821は、前述の通り、図6に示すステップS608において、転送アプリケーション430が処理要求910であるHTTPレスポンスボディを転送する際の宛先である。宛先821は、複数のサービスプロバイダーが公開するサービスの何れかを指し示す。   FIG. 8C illustrates an example of an HTTP response header when the Web application 410 returns a processing request for executing a print (print job) to the Web browser 420 as a response in step S707 illustrated in FIG. Show. The HTTP response header 820 when returning a processing request as a response includes a destination 821, a timeout time 822, a transfer content type 823, an upload destination 824, and a content type 825. As described above, the destination 821 is a destination when the transfer application 430 transfers the HTTP response body that is the processing request 910 in step S608 shown in FIG. The destination 821 indicates one of services disclosed by a plurality of service providers.

転送時コンテントタイプ823は、図6に示すステップS608において、転送アプリケーション430が、サービスプロバイダー440にHTTPレスポンスボディを転送する際にHTTPヘッダのContent−Typeフィールドに記載する内容である。HTTP Postコマンドを用いた転送の際に、転送先のサービスプロバイダー440が正しく理解できるContent−Typeを記載する必要があるためである。転送時コンテントタイプ823が省略されている場合、転送アプリケーションが転送時にデフォルトの値を設定するようにしてもよい。アップロード宛先824は、前述の通り、図6に示すステップS611において、Webブラウザ420が処理結果をWebアプリケーション410にアップロードする際の宛先である。コンテントタイプ825は、前述の通り、図6に示すステップS606において、ステップS602で受信したHTTPレスポンスボディの内容が、処理要求か、Webブラウザ420に表示するHTMLコンテンツかを判定するために用いる。   The content type 823 at the time of transfer is the content described in the Content-Type field of the HTTP header when the transfer application 430 transfers the HTTP response body to the service provider 440 in step S608 shown in FIG. This is because it is necessary to describe a Content-Type that can be correctly understood by the service provider 440 at the transfer destination when transferring using the HTTP Post command. When the transfer content type 823 is omitted, the transfer application may set a default value at the time of transfer. As described above, the upload destination 824 is a destination when the Web browser 420 uploads the processing result to the Web application 410 in step S611 illustrated in FIG. As described above, the content type 825 is used in step S606 shown in FIG. 6 to determine whether the content of the HTTP response body received in step S602 is a processing request or HTML content displayed on the web browser 420.

図9は、本実施形態に係るレスポンスボディの一例を示す図である。図9(A)は、Webアプリケーション410が生成し、図7に示すステップS704でWebブラウザ420にレスポンスとして返すScriptの内容を示す図である。Scriptには、画面にダイアログを表示して、処理要求に対する結果をユーザーに通知する記述がされている。図9(B)は、Webアプリケーション410が生成し、図7に示すステップS708でWebブラウザ420にレスポンスとして返す処理要求の内容を示す図である。処理要求910には、プリント設定911が記述されており、受け取ったServiceProviderはプリント設定911に従って印刷処理を実行する。プリント設定911には、取得するドキュメントの場所や、用紙サイズ、カラーモードなど、プリントを実行時のパラメータが記載されている。処理要求910は、XML(Extensible Markup Language)フォーマットで記載されているが、MFP101に対する処理が記載できて、MFP101が処理できる形式であればフォーマットを限定しない。   FIG. 9 is a diagram illustrating an example of a response body according to the present embodiment. FIG. 9A shows the content of the script generated by the web application 410 and returned as a response to the web browser 420 in step S704 shown in FIG. Script includes a description that displays a dialog on the screen and notifies the user of the result of the processing request. FIG. 9B is a diagram showing the content of a processing request generated by the Web application 410 and returned as a response to the Web browser 420 in step S708 shown in FIG. The processing request 910 describes a print setting 911, and the received Service Provider executes print processing according to the print setting 911. The print setting 911 describes parameters for executing printing, such as the location of the document to be acquired, the paper size, and the color mode. The processing request 910 is described in an XML (Extensible Markup Language) format, but the format is not limited as long as the processing for the MFP 101 can be described and can be processed by the MFP 101.

以上、本実施形態によれば、Webブラウザは、操作画面データではなくScriptを受信した際に、現在表示中のコンテンツ上で、そのスクリプトを実行する。これにより、ユーザーがデバイスの制御を指示した後、継続してWebアプリケーションの同一画面上で、処理結果の確認と操作を行うシステムを容易に実現することができる。   As described above, according to the present embodiment, when the Web browser receives Script instead of operation screen data, the Web browser executes the script on the currently displayed content. Thereby, after the user gives an instruction to control the device, it is possible to easily realize a system for continuously checking and operating the processing result on the same screen of the Web application.

(他の実施例)
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
ここで、本発明は、上述した実施形態の機能を実現する1以上のソフトウェア(プログラム)を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の一つである。また、そのプログラムは、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給され、そのシステム或いは装置の1以上のコンピュータ(CPUやMPU等)によりそのプログラムが読み出され、実行される。つまり、本発明の一つとして、さらにそのプログラム自体、あるいは該プログラムを格納したコンピュータにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路(例えば、ASIC)によっても、本発明は実現可能である。
(Other examples)
The present invention includes an apparatus or system configured by appropriately combining the above-described embodiments and a method thereof.
Here, the present invention is an apparatus or system that is a main body that executes one or more software (programs) that realize the functions of the above-described embodiments. Further, a method for realizing the above-described embodiment executed by the apparatus or system is also one aspect of the present invention. The program is supplied to the system or apparatus via a network or various storage media, and the program is read and executed by one or more computers (CPU, MPU, etc.) of the system or apparatus. That is, as one aspect of the present invention, the program itself or various storage media readable by a computer storing the program are included. The present invention can also be realized by a circuit (for example, ASIC) that realizes the functions of the above-described embodiments.

また、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。   Moreover, although preferable embodiment of this invention was described, this invention is not limited to these embodiment, A various deformation | transformation and change are possible within the range of the summary.

Claims (9)

サーバ装置と、前記サーバ装置に接続された画像処理装置とを含む情報処理システムであって、
前記サーバ装置は、
操作画面を前記画像処理装置に提供する提供手段と、
前記画像処理装置で行われた前記操作画面を介した操作に対して応答する応答手段と、を備え、
前記画像処理装置は、
前記サーバ装置により提供される操作画面を表示する表示制御手段と、
前記操作画面を介した操作に対する応答として処理要求を前記サーバ装置から受信した場合、前記処理要求に応じた処理を実行する処理手段と、
を備え、
前記表示制御手段は、
前記処理手段による前記処理の結果を前記サーバ装置に送信したことに対する応答としてスクリプトを前記サーバ装置から受信した場合、前記操作画面を更新することなく前記スクリプトを実行する実行手段
を備えることを特徴とする情報処理システム。
An information processing system including a server device and an image processing device connected to the server device,
The server device
Providing means for providing an operation screen to the image processing apparatus;
Response means for responding to an operation through the operation screen performed in the image processing apparatus,
The image processing apparatus includes:
Display control means for displaying an operation screen provided by the server device;
When a processing request is received from the server device as a response to an operation via the operation screen, processing means for executing processing according to the processing request;
With
The display control means includes
When a script is received from the server device as a response to the transmission of the processing result by the processing unit to the server device, the execution unit executes the script without updating the operation screen. Information processing system.
前記表示制御手段は、前記実行手段が前記スクリプトを実行することによって、前記操作画面に追加して、前記スクリプトに従ったダイアログを表示する
ことを特徴とする請求項1に記載の情報処理システム。
The information processing system according to claim 1, wherein the display control unit displays a dialog according to the script in addition to the operation screen when the execution unit executes the script.
前記応答手段は、前記処理手段による処理結果を受信したことに対する応答として、前記スクリプトを送信し、前記操作画面を介した操作が前記処理手段で処理を実行するための操作である場合、応答として前記処理要求を送信する
ことを特徴とする請求項1または2に記載の情報処理システム。
The response means transmits the script as a response to the reception of the processing result by the processing means, and when the operation through the operation screen is an operation for executing processing by the processing means, The information processing system according to claim 1, wherein the processing request is transmitted.
前記処理結果は、前記処理手段による処理が正常に完了したか否かの情報を含み、
前記サーバ装置は、前記情報に応じたスクリプトを生成する
ことを特徴とする請求項1〜3のいずれか1項に記載の情報処理システム。
The processing result includes information on whether or not the processing by the processing means has been normally completed,
The information processing system according to claim 1, wherein the server device generates a script according to the information.
前記実行手段は、前記受信したスクリプトが予め指定されたサーバ装置から送信されている場合に限り、前記スクリプトを実行する
ことを特徴とする請求項1〜4のいずれか1項に記載の情報処理システム。
5. The information processing according to claim 1, wherein the execution unit executes the script only when the received script is transmitted from a server device designated in advance. system.
前記サーバ装置は、Webサーバであり、前記表示制御手段は、Webブラウザである
ことを特徴とする請求項1〜5のいずれか1項に記載の情報処理システム。
The information processing system according to claim 1, wherein the server device is a Web server, and the display control unit is a Web browser.
サーバ装置と、前記サーバ装置に接続された画像処理装置とを含む情報処理システムの制御方法であって、
前記サーバ装置において、
操作画面を前記画像処理装置に提供する工程と、
前記画像処理装置で行われた前記操作画面を介した操作に対して応答する工程と、
を有し、
前記画像処理装置において、
前記サーバ装置により提供される操作画面を表示する工程と、
前記操作画面を介した操作に対する応答として処理要求を前記サーバ装置から受信した場合、前記処理要求に応じた処理を実行する工程と、
前記処理を実行する工程において、前記処理の結果を前記サーバ装置に送信したことに対する応答としてスクリプトを前記サーバ装置から受信した場合、前記操作画面を更新することなく前記スクリプトを実行する工程と、
を有することを特徴とする情報処理システムの制御方法。
A control method of an information processing system including a server device and an image processing device connected to the server device,
In the server device,
Providing an operation screen to the image processing apparatus;
Responding to an operation through the operation screen performed in the image processing apparatus;
Have
In the image processing apparatus,
Displaying an operation screen provided by the server device;
When receiving a processing request from the server device as a response to an operation via the operation screen, executing a process according to the processing request;
In the step of executing the process, when a script is received from the server device as a response to the result of the processing being transmitted to the server device, the step of executing the script without updating the operation screen;
An information processing system control method comprising:
サーバ装置に接続された画像処理装置であって、
前記サーバ装置により提供される操作画面を表示する表示制御手段と、
前記操作画面を介した操作に対する応答として処理要求を前記サーバ装置から受信した場合、前記処理要求に応じた処理を実行する処理手段と、
を備え、
前記表示制御手段は、
前記処理手段による前記処理の結果を前記サーバ装置に送信したことに対する応答としてスクリプトを前記サーバ装置から受信した場合、前記操作画面を更新することなく前記スクリプトを実行する実行手段
を備えることを特徴とする画像処理装置。
An image processing device connected to a server device,
Display control means for displaying an operation screen provided by the server device;
When a processing request is received from the server device as a response to an operation via the operation screen, processing means for executing processing according to the processing request;
With
The display control means includes
When a script is received from the server device as a response to the transmission of the processing result by the processing unit to the server device, the execution unit executes the script without updating the operation screen. An image processing apparatus.
請求項7に記載の情報処理システムの制御方法をコンピュータに実行させることを特徴とするプログラム。

A program for causing a computer to execute the control method of the information processing system according to claim 7.

JP2014130171A 2014-06-25 2014-06-25 Information processing system, control method for information processing system, and program Pending JP2016009364A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014130171A JP2016009364A (en) 2014-06-25 2014-06-25 Information processing system, control method for information processing system, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014130171A JP2016009364A (en) 2014-06-25 2014-06-25 Information processing system, control method for information processing system, and program

Publications (1)

Publication Number Publication Date
JP2016009364A true JP2016009364A (en) 2016-01-18

Family

ID=55226869

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014130171A Pending JP2016009364A (en) 2014-06-25 2014-06-25 Information processing system, control method for information processing system, and program

Country Status (1)

Country Link
JP (1) JP2016009364A (en)

Similar Documents

Publication Publication Date Title
JP5539043B2 (en) Information transmitting apparatus, information transmitting apparatus control method, and computer program
JP5791367B2 (en) Network system having image forming apparatus and proxy server, control method thereof, control program, and proxy server
US8982388B2 (en) Information processing apparatus that displays operation screen and control method therefor
JP5641921B2 (en) Image processing apparatus, system having image processing apparatus and external apparatus, system control method, and program
JP5371726B2 (en) Information processing apparatus, information processing apparatus control method, and program
JP2013050804A (en) Printing system, print control method, and computer program
JP2011138303A (en) Information processing apparatus, control method and program
US9971961B2 (en) Method for transmitting print data, server and mobile terminal
WO2013111233A1 (en) Information processing apparatus, method, and program
JP2016014917A (en) Information processing apparatus, control method, and software program
JP6123756B2 (en) Information processing system, information processing apparatus, and program
JP2017130763A (en) Remote support system, image forming apparatus, external terminal, control method therefor and program
JP2011131382A (en) Image forming system and image forming apparatus
JP5683218B2 (en) Image processing apparatus, information processing system, information processing method, and program
JP2008084312A (en) Method and system for third-party to control remote image processing job
JP5645621B2 (en) Information processing apparatus, image processing apparatus, information processing apparatus control method, image processing apparatus control method, and program
JP2012029011A (en) Image processing device, control method of the same, and program
JP5800529B2 (en) Image processing apparatus, image forming apparatus control method, and program
JP2016009364A (en) Information processing system, control method for information processing system, and program
JP2012080256A (en) Image processor, control method and program thereof
JP6188659B2 (en) Electronics
JP6504958B2 (en) Communication apparatus, image processing system, control method, and program
JP5619245B2 (en) Information processing apparatus, information processing apparatus control method, and program
JP6198511B2 (en) Information processing apparatus, information processing apparatus control method, and program
JP2014235667A (en) Information processing device, its control method and program