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 PDFInfo
- 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
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Facsimiles In General (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
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.
しかしながら、特許文献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.
以下、本発明を実施するための形態について図面などを参照して説明する。 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
図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
図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
図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
MFP101は、Webブラウザ420と、転送アプリケーション430と、サービスプロバイダー440とを有している。Webブラウザ420、転送アプリケーション430、およびサービスプロバイダー440のそれぞれは、画像処理装置101が有しているCPU201が制御プログラムを実行することにより実現される。なお、Webブラウザ420は、サーバ102のコンテンツを表示するものに限定しない。同様に、サーバ102もHTTPプロトコルに従ってリクエスト/レスポンスを送受信するWebサーバに限定しない。Webブラウザ420は、任意のサーバと通信を行うことによってコンテンツを取得し、画面に表示するといった機能を有するものであればよい。
The
Webブラウザ420は、通信部421、解析部422、画面表示部423、転送アプリ起動部424、およびアップロード処理部425を有する。通信部421は、HTTPプロトコルに従って、ネットワーク装置208を介し、サーバ102の通信部401を介してWebアプリケーション410のプレゼンテーション部411と通信する。具体的には、通信部421は、Webブラウザ420で表示した操作画面を介して入力される情報をWebアプリケーション410に対するリクエストとして送信する。また、通信部421は、Webアプリケーション410から送信されるレスポンスを受信する。
The
解析部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
画面表示部423は、解析部422による解析結果に基づいて、HTMLデータをUI表示装置207に操作画面を表示したり、JavaScript(登録商標)ファイルを現在表示しているコンテンツ上で実行したりする。転送アプリ起動部424は、解析部422による解析結果に基づいて、Webアプリケーション410から受信したレスポンスを処理要求とみなして、転送アプリケーション430に対し、転送するように依頼する。なお、レスポンスが本発明におけるMFP101への処理要求であるかどうかの判別が可能であれば、HTTPレスポンスヘッダを参照する以外の方法でもよい。アップロード処理部425は、デバイス内部からの要求に応じて、指定されたデータを、通信部421を介してサーバ102に送信する。なお、本実施形態では、HTTP POSTコマンドを用いて指定のデータをアップロードするが、Webブラウザ420が処理可能なプロトコルであれば他のコマンドであってもよい。
The
転送アプリケーション430は、通信部431、処理部432を有する。通信部431は、処理部432から依頼を受け、サービスプロバイダー440の通信部441にHTTP POSTコマンドを用いて処理要求を転送し、また、処理要求に対する結果を受信する。処理部432は、Webブラウザ420の転送アプリ起動部424からの依頼を受け、サービスプロバイダーへの処理要求を、通信部431を介して転送する。このとき前記Webアプリケーションから受信したレスポンスのヘッダに記載されている宛先821に転送を行う。なお、宛先821の詳細については後述する。転送アプリケーション430は、一般的にWEBブラウザで対応できない形式のファイル(音声や動画,アニメーションなど)を処理できるようにするヘルパーアプリケーションとして動作し、Webブラウザと独立して動作する。しかしながら、処理要求の転送を行う機能を有すれば、転送アプリケーション430は、ヘルパーアプリケーションではなく、プラグインや、Webブラウザ内の一機能、または受信したレスポンス内に記載されたJavaScript(登録商標)として存在してもよい。
The
サービスプロバイダー440は、通信部441、判断部442、処理部443を有する。通信部441は、転送アプリケーション430から処理要求を受け付ける。処理部442は、通信部441が受け付けた処理依頼を受け取り、依頼された処理を実行する。処理部443は、処理要求に応じて処理を実行する。本実施形態では、指定されたURLからドキュメントを取得して印刷を実行する。
The
図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
ここで、図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
まず、ステップ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
次に、ステップ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
次に、ステップS503で、Webブラウザ420は、ステップS502で表示した画面に対するユーザーの操作に従って、Webアプリケーション410に対して、印刷ジョブ実行のリクエスト(実行要求)を送信する。
Next, in step S503, the
次に、ステップ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
次に、ステップS505で、解析部422は、ステップS502で受信したHTTPレスポンスヘッダのContent−Typeフィールドがapplication/vnd.canon.Webserviceと一致するか確認する。一致することが確認できると、転送アプリ起動部424が、転送アプリケーション430の処理部432に対して、ステップS502で受信したHTTPレスポンスボディ(SOAPリクエスト)を送信し、サービスプロバイダー440に転送するように依頼する。
Next, in step S505, the
次に、ステップ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
次に、ステップS507で、サービスプロバイダー440の処理部443は、ステップS506で受信した処理要求910に従って処理を実行する。本実施形態では、処理要求910で指定されたURLからドキュメントを取得し、印刷を実行する。次に、ステップS508で、サービスプロバイダー440は、処理結果をステップS506で受信したリクエストのレスポンス(SOAPレスポンス)として、通信部441を介して、MFP101の転送アプリケーション430に対して送信する。そして、転送アプリケーション430の処理部432は、処理結果を、通信部431を介して受信する。
Next, in step S507, the
次に、ステップ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
次に、ステップ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
次に、ステップS512で、解析部422は、ステップS511で受信したHTTPレスポンスヘッダのContent−Typeフィールドがtext/scriptと一致するか確認する。一致すると、解析部422は、受信したScript900を、Webブラウザ上に表示しているコンテンツ上で実行する。このとき、セキュリティ性確保の観点から、MFP101にあらかじめ信頼する通信先として、サーバのアドレスや、ドメイン、またはプロトコルなどの情報を保持しておき、その条件に一致する場合のみScriptを実行するようにしてもよい。画面表示部423は、解析部422によるScript900の解析/実行の結果に基づいて、UI表示装置207に結果表示ダイアログ911を表示する。
Next, in step S512, the
図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
次に、ステップ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
一方、ステップ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
一方、ステップ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
図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
そして、ステップS703で、Webアプリケーション410は、受信したリクエストに含まれる処理結果から、印刷ジョブが成功したか否か(すなわち、ジョブが正常に終了(完了)したか否か)を判定する。なお、処理結果にはジョブが成功したか失敗したかを判別するための情報が含まれており、Webアプリケーション410は、その情報を確認することで判定する。ジョブが成功した(すなわち、ジョブが正常に終了した)場合(YES)、ステップS704に進む。一方、失敗した(すなわち、ジョブが正常に終了しなかった)場合(NO)、ステップS705に進む。
In step S703, the
そして、ステップS704で、Webアプリケーション410は、ユーザーに印刷ジョブが正常に終了したことを知らせるダイアログを表示するためのScriptを生成する。そして、Webブラウザ420に対して、ステップS701で受信したリクエストに対するレスポンスとして送信する。一方、ステップS705で、Webアプリケーション410は、ユーザーに印刷ジョブがエラー終了したことを知らせるダイアログを表示するためのScriptを生成する。そして、Webブラウザ420に対して、ステップS701で受信したリクエストに対するレスポンスとして送信する。
In step S704, the
次に、ステップS706で、Webアプリケーション410は、ステップS701で受信したリクエストが、サービスプロバイダー440への処理要求であるか否かを判定する。すなわち、ステップS701で受信したリクエストがジョブ実行のリクエストか否かを判定する。処理要求である場合場合(YES)、ステップS707に進む。一方、処理要求でない場合(NO)、ステップS708に進む。
Next, in step S706, the
そして、ステップS707で、Webアプリケーション410は、ステップS701で受信したリクエスト内容に従って、印刷ジョブ実行のための印刷処理要求910を生成する。そして、Webブラウザ420に対して、ステップS701で受信したリクエストに対するレスポンスとして送信する。一方、ステップS708で、Webアプリケーション410は、ステップS701で受信したリクエスト内容に応じた画面情報であるHTMLデータを、受信したリクエストに対するレスポンスとして送信する。
In step S707, the
図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
図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
図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
転送時コンテントタイプ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
図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ブラウザは、操作画面データではなく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.
ことを特徴とする請求項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.
A program for causing a computer to execute the control method of the information processing system according to claim 7.
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) |
-
2014
- 2014-06-25 JP JP2014130171A patent/JP2016009364A/en active Pending
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 |