説明

情報処理装置、情報処理システム、情報処理装置の制御方法及びプログラム

【課題】情報処理装置の機能に応じたスクリプトを生成してWebサーバに送信することによりWebアプリの開発負荷を軽減可能とする仕組みを提供する。
【解決手段】情報処理装置110はWebブラウザ402により表示した第1の操作画面を介してユーザが情報処理装置110が備える機能の実行を指示した場合に、予め設定された実行条件を含むスクリプトを生成する生成手段406と生成されたスクリプトをWebサーバ120に送信すると共にユーザによる実行条件の変更を受け付ける第2の操作画面をWebサーバ120に要求する要求手段とWebサーバ120から受け取った第2の操作画面を介するユーザによる実行条件の変更を受け付け、その結果をWebサーバ120に送信する送信手段と実行条件の変更結果に従って編集されたスクリプトをWebサーバ120から受け取り編集されたスクリプトに基づいて機能を実行する実行手段とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、Webサーバと情報処理装置とを備える情報処理システム、情報処理装置の制御方法及びプログラムに関する。
【背景技術】
【0002】
PC等の情報処理装置がネットワーク上のWebサーバに接続され、Webサーバにより提供される操作画面を、情報処理装置が備えるWebブラウザ上に表示することが知られている。この場合、まず情報処理装置のWebブラウザが、Webサーバに対して操作画面を要求(リクエスト)する。そして、Webサーバ上のWebアプリケーションが情報処理装置からのリクエストに応えて、Webブラウザに操作画面を表示させるためのHTMLファイルを情報処理装置に応答(レスポンス)する。情報処理装置のWebブラウザは、受信したHTMLファイルを解析し、HTMLファイルの記述に基づいた操作画面を表示する。更に、Webブラウザに表示された操作画面を介してユーザが指示を入力すると、入力された指示をWebブラウザがWebサーバに対して通知する。そして、この通知を受けたWebサーバ上のWebアプリケーションは、入力された指示に従って処理を実行する。
【0003】
ところで、最近ではスキャナやプリンタを備えたMFP(Multi Function Peripheral)の中にも、前述したようなWebブラウザを備えるものがある。MFPは、前述した手順を用いてWebサーバにより提供される操作画面をMFPのWebブラウザに表示し、ユーザからの各種指示を受け付ける。このような構成は、MFPの操作画面のカスタマイズやMFPが備える各機能の利用を、Webサーバ側で制御できるため、MFPを利用したシステムを構築しやすくしている。MFPを開発するベンダーとしては、MFPの各機能を利用しやすい形で公開することが求められている。
【0004】
更には、特許文献1のような技術も考えられている。特許文献1の記載によれば、MFPから機能情報を取得し解析することで、機能情報に応じた形で、各機能を利用するための指示を入力する操作画面を、Webアプリケーションが提供する。まず、ユーザによりWebアプリケーションへの接続が指示されると、MFPのブラウザは、接続要求とともに機能情報をWebアプリケーションへ送信する。Webアプリケーションは、機能情報を解析し、機能情報に応じた操作画面をMFPに送信する。そして、MFPのユーザは、MFPに対する指示を入力する。そして、入力された指示はMFPのWebブラウザによってWebアプリケーションにリクエストとして通知される。この通知を受けたWebアプリケーションは、入力された指示に基づいてMFPに対する各種処理を記載したスクリプトを生成する。生成したスクリプトは前述のWebブラウザからのリクエストに対するレスポンスとして、WebアプリケーションからMFPに通知される。MFPは、Webブラウザからスクリプト処理部にスクリプトを渡すことでスクリプトを実行し、MFPの機能を利用する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−129356号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1では、WebサーバのWebアプリケーションが情報処理装置(MFP)の機能の一部の設定だけを制御する場合であっても、Webアプリケーションが情報処理装置に対する各種処理を記載したスクリプトを一から生成する機能を実現する必要がある。また、情報処理装置のバージョンアップ等により機能が拡張された場合には、Webアプリケーションのスクリプト生成機能をも変更する必要がある。
【0007】
本発明は、上記課題に鑑みてなされたものであり、情報処理装置が備える機能に応じたスクリプトを生成してWebサーバに送信することにより、Webアプリケーションの開発負荷を軽減可能とする仕組みを提供するものである。
【課題を解決するための手段】
【0008】
上記課題を解決するため、本発明に係る情報処理装置は、Webサーバにより提供される操作画面を表示するWebブラウザを備える情報処理装置であって、前記Webブラウザにより表示した第1の操作画面を介して、ユーザが前記情報処理装置が備える機能の実行を指示した場合に、前記機能を実行するための予め設定された実行条件を含むスクリプトを生成する生成手段と、前記生成手段で生成されたスクリプトを前記Webサーバに送信すると共にユーザによる前記実行条件の変更を受け付けるための第2の操作画面を前記Webサーバに要求する要求手段と、前記Webサーバから受け取った第2の操作画面を介するユーザによる前記実行条件の変更を受け付け、その結果を前記Webサーバに送信する送信手段と、前記実行条件の変更結果に従って編集されたスクリプトを前記Webサーバから受け取り、前記編集されたスクリプトに基づいて前記機能を実行する実行手段と、を備える。
【発明の効果】
【0009】
本発明によれば、情報処理装置が備える機能に応じたスクリプトを生成してWebサーバに送信することにより、Webアプリケーションの開発負荷を軽減可能とする仕組みを提供することができる。
【図面の簡単な説明】
【0010】
【図1】本発明の第1の実施形態に係る情報処理システムの全体構成を示す図である。
【図2】MFP及びWebサーバのハードウェア構成を示す図である。
【図3】MFP及びWebサーバのソフトウエア構成を示す図である。
【図4】MFPで管理する機能情報の一例を示す図である。
【図5】通信処理のシーケンス図である。
【図6】WebブラウザによるメニューのUIの一例を示す図である。
【図7】MFPが生成するスクリプトの一例を示す図である。
【図8】Webサーバが管理するスクリプト情報の一例を示す図である。
【図9】設定UI生成処理のフローチャートを示す図である。
【図10】Webブラウザによる設定UIの一例を示す図である。
【図11】スクリプト編集のフローチャートを示す図である。
【図12】編集後のスクリプトの一例を示す図である。
【発明を実施するための形態】
【0011】
以下、図面を参照して本発明の実施形態を詳細に説明する。なお、以下の実施形態は特許請求の範囲を限定するものでなく、また、実施形態で説明される特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【0012】
(第1の実施形態)
本実施形態では、本発明の情報処理装置の一例であるMFPが、Webサーバからの指示に応じて、画像処理及び画像形成処理を行う例について説明する。
【0013】
<情報処理システムの全体構成(図1)>
本実施形態に係る情報処理システムは、Webサーバ120と、Webサーバ120により提供される操作画面を表示するWebブラウザを備えるMFP110(情報処理装置)とを備える。MFP110及びWebサーバ120は、イーサネット(登録商標)等からなるLAN100に接続される。MFP110は、スキャン機能、ファイル転送機能及びEメール機能を有する。ファイル転送機能は、原稿画像を読み取り、読み取って得られた画像データ(文書データと呼ぶ場合もある)を、FTPプロトコルやSMBプロトコル等を用いてLAN100上の指定した装置に転送する機能である。Eメール機能は、画像データを添付ファイルとしてEメールを作成し、Eメールサーバ(不図示)を利用してEメールを送信する機能である。Webサーバ120は、Webサーバ上で動作するソフトウエアであるWebアプリケーションを有する。Webアプリケーションは、MFP110からのリクエスト(要求)に応じて、MFP110の操作部に表示するためのHTMLデータをレスポンスとして送信する。ただし、本実施形態のシステムでは、これらの構成機器の数に限られることはない。また、本実施形態では、接続方法としてLANを適用しているが、これに限られることはない。例えば、WAN(公衆回線)等の任意のネットワーク、USB等のシリアル伝送方式、セントロニクスやSCSI等のパラレル伝送方式等も適用可能である。
【0014】
<MFP110のハードウェア構成(図2(a))>
MFP110は、画像入力MFPであるスキャナ部112、画像出力デバイスであるプリンタ部113、MFP110の制御を司るコントローラ200、及び操作部111を備える。スキャナ部112は、原稿上の画像を読み取って画像データを生成するデバイスである。なお、原稿は原稿フィーダにセットされ、コントローラ200からスキャナ部112に原稿読み取り指示が与えられる。スキャナ部112は、この指示を受けると原稿フィーダから原稿を1枚ずつフィードして、原稿の読み取り動作を行う。なお、原稿の読み取り方法は、原稿フィーダによる自動送り方式ではなく、原稿を不図示のガラス面上に載置し、露光部を移動させることで原稿の走査を行う方法であってもよい。プリンタ部113は、コントローラ200から受け取った画像データを用紙上に画像として形成する画像形成デバイスである。なお、本実施形態では、画像形成方式は、感光体ドラムや感光体ベルトを用いた電子写真方式以外にも、インクジェット方式等でも適用可能である。
【0015】
コントローラ200は、操作部111、スキャナ部112及びプリンタ部113と電気的に接続される一方、LAN100にもネットワークインターフェース206を介して接続される。すなわち、コントローラ200は、LAN100を経由して他の機器と接続される。これにより、HTTPプロトコルによる通信が可能となる。
【0016】
CPU201は、HDD204からRAM203にロードされた制御プログラム等に基づいて、接続中の各種デバイスへのアクセス及び他のデバイスからのアクセスを統括的に制御する。それと共に、CPU201は、コントローラ200内部で行われる各種処理を統括的に制御する。この制御には、後述のフローチャートを実現するためのプログラムの実行も含む。
【0017】
ROM202には、装置のブートプログラムが格納される。RAM203は、CPU201が動作するためのシステムワークメモリであり、かつ、画像データを一時記憶するためのメモリでもある。RAM203は、電源のバックアップ等により記憶した内容を装置本体の電源オフ後も保持しておく領域と、電源オフ後には記憶した内容が消去されてしまう領域とにより構成される。HDD204(Hard Disc Drive)は、システムソフトウェアや画像データを格納することが可能である。
【0018】
操作部I/F205は、システムバス211と操作部111とを接続するためのインターフェース部である。操作部I/F205は、操作部111に表示するための画像データをシステムバス211から受け取り操作部111に出力すると共に、操作部111から入力された情報をシステムバス211へ出力する。ネットワークI/F206は、LAN100及びシステムバス211に接続し、情報の入出力を行う。スキャナI/F207は、スキャナ部112から受け取った画像データに対して、補正、加工、及び編集を行う。なお、スキャナI/F207は、受け取った画像データがカラー原稿であるか白黒原稿であるか、文字原稿であるか写真原稿であるか等を判定する機能を持つ。
【0019】
画像処理部208は、画像データの方向変換、画像圧縮、伸張処理等を行う。また、HDD204に保存されている画像同士を合成して一枚の画像にすることが可能である。プリンタI/F209は、画像処理部208から送られた画像データを受け取り、この画像データに付随した属性データを参照しながら、画像データに画像処理を施す。画像処理後の画像データは、プリンタ部113に出力される。
【0020】
なお、本実施形態では、情報処理装置の一例としてUI表示を実行するネットワークMFPを想定したが、情報処理装置としては、汎用スキャナや汎用プリンタ等を接続した汎用コンピュータ等、これ以外の装置を想定することもできる。
【0021】
<Webサーバ120のハードウェア構成(図2(b))>
Webサーバ120は、CPU301、RAM302、ROM303、ネットワークI/F305、ハードディスクドライブ(HDD)306、CRT等の表示装置307、キーボード等の入力装置304、及びマウス等のポインティングデバイス308を備える。これらの構成がシステムバス309を介して互いに通信可能に接続される。ROM303又はHDD306には、オペレーティングシステムやWebアプリケーション等の制御プログラムが格納される。CPU301は、当該制御プログラムを必要に応じてROM303又はHDD306からRAM302上へ読み出して実行することで、コンピュータとしての機能を発揮する。また、CPU301は、表示装置307を介して各種情報の表示を行うと共に、入力装置304やポインティングデバイス308からユーザ指示等を受け付ける。さらに、ネットワークI/F305を介してLAN110上の他の装置との通信を行う。
【0022】
<MFP110のソフトウエア構成(図3(a))>
MFP110のソフトウェアモジュールは、MFP110のHDD204に格納され、CPU201が実行する。HTTP通信部401は、ネットワークI/F206を操作してHTTPプロトコルにより通信を行うソフトウェアモジュールである。Webブラウザ402は、HTTP通信部401を介してWebサーバ120と通信を行うWebブラウザである。Webブラウザ402は、Webサーバ120に対して、HTMLで記載された操作画面のリクエストを行う。また、HTTP通信部401を介してWebサーバ120から受け取った操作画面のHTMLデータをレンダリングして操作部111に表示する。また、操作部111に表示した操作画面に対する入力をWebサーバ120に通知を行う。
【0023】
スクリプト実行部403は、Webサーバ120から送信されるスクリプトを、Webブラウザ402経由で受け取って解析し、スクリプトに含まれるジョブ情報に分割する。そして、各ジョブ情報を、スクリプトで指定されている順に実行するようにジョブ管理部404に通知する。ジョブ管理部404は、スクリプト実行部403からの指示を受けてジョブ情報を管理し、順次ジョブの実行をジョブ実行部405に指示する。ジョブ実行部405は、ジョブ設定に基づいて処理を実行するモジュールである。例えば、ジョブがスキャンジョブであれば、スキャナ部112を操作して紙原稿を読み取りHDD204に画像データを保存する。送信ジョブであれば、ネットワークI/F236を操作してHDD204内の画像データを送信するというジョブを実行する。スクリプト生成部406は、MFPのデバイス機能実行のためのジョブ定義情報(スクリプト)を生成するモジュールである。機能情報管理部407から、現在使用可能な複数の項目からなる機能情報(実行条件)を取得し、その機能に応じたスクリプトを生成する。なお、本実施形態では、スクリプト生成部406とWebブラウザ402を分けているが、Webブラウザ402がスクリプト生成部406を含んでいてもよい。
【0024】
機能情報管理部407は、機器構成情報やユーザ設定から、使用可能な機能を特定し、管理するモジュールである。ここで、機器構成情報は、白黒スキャナ、カラースキャナ等のハードウェアオプションやソフトウェアオプションのことである。同じ種類のMFPでもハードウェアオプションやソフトウェアオプションによって使用できる機能が異なる。また、ユーザ設定とは、管理者によるMFP個体の設定である。例えば、セキュリティ目的等で強制署名等の設定ができるMFPがある。強制署名とは、PDFで送信するには必ず署名をつけることである。このようにユーザ設定による違いによっても使用できる機能が異なる。また、機能情報管理部407で管理する情報は、MFPのバージョンによっても異なる。例えば、新しいMFPではスキャンする画像の倍率を設定できるが、古いMFPでは倍率の設定ができない場合等があるからである。このとき、倍率の指定があるスクリプトを古いMFPで実行しようとした場合には、エラーになる可能性がある。また、逆に倍率の指定がないスクリプトを新しいMFPで実行しようとした場合も、倍率の指定がないため、エラーになる可能性がある。このようにMFPのバージョン等が異なる場合においても、使用できる機能が異なる。機能情報管理部407で管理する情報については後述する。
【0025】
<Webサーバ120のソフトウエア構成(図3(b))>
Webサーバ120は、Webアプリケーション501及びHTTP通信部504を備える。Webアプリケーション501には、プレゼンテーション部502及びロジック部503が含まれる。これらのソフトウエアは、Webサーバ120のHDD306に格納され、CPU301により実行される。プレゼンテーション部502は、HTTP通信部504を介して、MFP110からのリクエストに応えてMFP110のWebブラウザ402で表示すべき操作画面をMFP110にレスポンスとして送信する。また、プレゼンテーション部502は、MFP110のWebブラウザ402に表示された操作画面を介して入力されたユーザからの入力情報を、HTTP通信部504を介してMFP110から受け取る。ロジック部503は、プレゼンテーション部502から渡されたMFP110からの入力情報に対して処理を行う。例えば、ロジック部503は、ユーザからの入力に応じて、表示すべき画面を変更したり、MFPのデバイス機能実行のためのジョブ定義情報(スクリプト)を編集したりする。HTTP通信部504は、ネットワークI/F305を操作してHTTPプロトコルにより通信を行うソフトウェアモジュールである。
【0026】
<MFP110の機能情報(図4)>
MFP110の機能情報管理部407は、機能情報を示すデータテーブルを管理している。なお、本実施形態では、テーブル形式を用いて管理することとしたが、CSV(Comma Separated Values)形式や、XML(Extensible Markup Language)等でのテキストファイルでもよい。
【0027】
まず、一例について図4(a)を用いて説明する。機能情報600は、カラム601からカラム605で構成される。カラム601は、カラム602の設定項目がどのジョブに関連するかを表している。例えば、1行目を見るとスキャンジョブに関連する項目であることがわかる。カラム602は、設定項目を表している。例えば、1行目を見るとカラーモードの設定項目であることが分かる。カラム603は、初期値を表している。例えば、1行目を見るとカラーモードの設定の初期値がフルカラーであることがわかる。カラム604は、設定可能な範囲を表している。例えば、1行目を見るとカラーモードとして設定可能なのは、フルカラーとグレースケールであるのがわかる。カラム605は、初期値からの設定変更可否を表している。例えば、1行目を見るとtrueとなっているので、設定が変更可能であることがわかる。
【0028】
次に、他の例について図4(b)を用いて説明する。図4(b)のカラム等のデータの構成は図4(a)と同じであるが、MFP110の機器構成情報やユーザ設定が図4(a)とは異なる場合の例である。本発明の効果がわかりやすいように、以降では基本的にはMFP110の機能情報が図4(a)のときの場合の説明を行い、必要に応じてMFP110の機能情報が図4(b)であった場合についても説明する。機能情報650は、カラム651からカラム655で構成される。構成は機能情報600と同じである。例えば、3行目を見ると送信の設定項目であるファイルフォーマットの設定項目の初期値が署名付きPDFであることがわかる。そして、設定範囲は、署名付きPDF、PDF、JPEGであるが、初期値からの変更が不可であることがわかる。機能情報600には倍率の設定項目があるが、機能情報650には倍率の設定項目がない。これは、機能情報650を持ったMFPより機能情報600を持ったMFPの方が新しいからである。つまり、機能情報600の状態のときには、スクリプトに倍率の指定の記載が必要となり、機能情報650の状態のときには、スクリプトに倍率の指定の記載は必要ない。図4(a)、図4(b)で示した機能情報は、前述した機器構成情報やユーザ設定が変更される度に更新される。
【0029】
<ジョブの実行フロー(図5)>
ここでは、情報処理システムで実行されるスキャン送信処理について説明する。スキャン送信処理は、MFP110のスキャナ112を用いて原稿台の紙を読み取って画像データを生成し、生成した画像データを含むファイルをLAN100上のFTPサーバ(不図示)に転送する例である。まず、ユーザがMFP110の操作部111から、ファイル転送機能を実行するためのハードウェアボタン(不図示)を押下することにより、Webブラウザ402を起動する。Webブラウザ402は、処理実行のためのメニュー画面(第1の操作画面)を取得するため、Webサーバ120上のWebアプリケーション501にメニュー画面のリクエストを行う。本実施形態では、予め起動時にメニュー画面のコンテンツを示すURLをリクエストするようにMFP110に設定されているものとする。Webブラウザ402が前記URLで示されるコンテンツを保持するWebアプリケーション501に対して、HTTPのGETコマンドによるリクエストを行う(S101)。具体的には、Webブラウザ402がHTTP通信部401にURLを渡す。それに応じて、HTTP通信部401がHTTPプロトコルによりWebサーバ120のHTTP通信部504と通信を行う。HTTP通信部504は、受け取ったURLに応じて、適切なWebアプリケーションにリクエストがあったことを通知する。これにより、Webブラウザ402からWebアプリケーション501へのリクエストが行われる。以下、HTTP通信部401及びHTTP通信部504の動作は省略して説明する。Webアプリケーション501のプレゼンテーション部502は、S101のリクエストに応じて、メニュー画面のHTMLデータを生成し(S102)、HTTPのレスポンスとしてWebブラウザ402に送信を行う(S103)。Webブラウザ402は、受け取ったHTMLデータを解析し、操作部111にメニュー画面の表示を行う。例えば、このメニュー画面の一例が図6に示される。図6において、GUIパネル800には、ボタン801が表示されている。ボタン801はスキャンをしてFTP送信するためのボタンである。
【0030】
ボタン801がユーザにより押下されると、Webブラウザ402は、スクリプト生成部406に対してスキャンしてFTP送信するスクリプトの生成を指示する(S104)。そして、スクリプト生成部406は、当該生成指示を受けると、MFP110の状態に基づいてスクリプトを生成する(S105)。このとき、スクリプト生成部406は、機能情報管理部407から機能情報600のスキャン及び送信の情報を取得する。スクリプト生成部406は、取得した情報からスクリプトを生成する。設定値は、機能情報600のカラム603に記載されている初期値を用いる。また、カラム604に記載されている編集可否情報もスクリプトに含める。
【0031】
ここで、スクリプト生成部406がS105で生成するスクリプトの一例について図7(a)を用いて説明する。これは、機能情報管理部407で管理されている機能情報が図4(a)で示す600であった場合である。本スクリプトは、スキャンジョブと送信ジョブを順番に実行するものである。ここでは、XMLでスクリプトを表現するが、スクリプトはMFP110が処理できる形式であればそのフォーマットは問わない。タグ901は“JobScript”タグで、本タグ内に示されたジョブのシーケンスを実行することを示す。ここでは“Scan”タグ902及び“Send”タグ908が“JobScript”タグ901に内包されており、これらの処理が実行される。また、”Scan”タグ902は、スクリプト処理で実行するスキャンジョブについての設定情報である。”Settings”タグ903は、以降にジョブの設定があることを示す。“DocumentSize”タグ904は、スキャン原稿サイズがスキャナ部203による自動判別(”Auto”)であることを示す。また、“ColorMode”タグ905は、カラーモードがフルカラー(”FullColor”)であることを示す。この値は、カラム603で定義されている初期値を設定している。“Resolution”タグ906は、スキャンする解像度が600dpi×600dpi(“600x600”)であることを示す。この値もカラム603で定義されている初期値を設定している。“CopyRatio”タグ907は、スキャンした画像の倍率が100%(“100”)であることを示す。”Send”タグ908は、本スクリプト処理で実行する送信ジョブの設定情報である。ここでは、“FTPAddress”タグ909で示すように、FTPプロトコルでサーバ”ftpserver.xxx.com”への送信を示す。また、“FileFormat”タグ910は送信するファイルフォーマットがPDF形式であることを示し、“FileName”タグ911は送信するファイル名が”20091217.pdf”であることを示す。
【0032】
また、機能情報管理部407で管理されている機能情報が図4(b)で示す650であった場合のスクリプトの一例について図7(b)を用いて説明する。ここでは、図7(a)と異なる点のみを説明する。“ColorMode”タグ951はカラーモードが白黒(”BlackWhite”)であることを示す。この値は、カラム653で定義されている初期値を設定している。“Resolution”タグ952は、スキャンする解像度が200dpi×200dpi(“200x200”)であることを示す。この値もカラム653で定義されている初期値を設定している。“FileFormat”タグ953は送信するファイルフォーマットは署名付きPDF(“SignaturePDF”)であることを示す。また、属性“editable”はタグ953の値の変更が禁止されている(“false”)ことを示す。この属性値は、カラム655の編集可否情報を設定している。ここで、本実施形態では、変更可否情報が“false”の場合のみスクリプトに定義を記載しているが、もちろん“true”の場合にも省略せずに記載してもよい。また、スクリプト950には倍率を表す“CopyRatio”タグはない。上記の図7(a)及び図7(b)を用いて説明したように、MFP110は自身の状態(機能情報)によって生成するスクリプトが異なるものとなる。
【0033】
図5に戻り、Webブラウザ402は、スクリプト生成部406から、S105で生成されたスクリプトを受け取る(S106)。そして、Webブラウザ402は、前記URLで示されるコンテンツを保持するWebアプリケーション501に対して、HTTPのPOSTコマンドによって、スキャンしてFTP送信するための設定画面(第2の操作画面)のリクエストを行う(S107)。このとき、リクエストには、S105で生成されたスクリプトを含める。本実施形態では、POSTコマンドに含めることとしたが、GETコマンドのHTTPヘッダやURLに含める方法でもよい。Webアプリケーション501のロジック部503(画面生成手段)が、S107で受け取ったスクリプト900を解析し、設定画面の生成を行う(S108)。
【0034】
ここで、S108の詳細な動作を図8及び図9を用いて説明する。図8は、Webアプリケーション501のロジック部503で管理するスクリプト定義情報の一例である。スクリプト定義情報1000は、Webアプリケーションが制御すべきMFPの設定の情報さえあればよい。つまり、スクリプトの構成のすべてを認識している必要はない。スクリプト定義情報1000は、CSV形式やXML等でのテキストファイルでもよい。カラム1001は、MFPの設定項目を示す。例えば、1行目を見ると、ファイルフォーマットを示すことが分かる。カラム1002は、カラム1001の設定項目がスクリプト定義のどこに記載されているかを示すパスである。例えば、1行目を見ると、ファイルフォーマット設定は、順に”JobScript”タグ、“Send”タグ、“Settings”タグに内包されている“FileFormat”タグの値に記載されていることがわかる。本実施形態では、XPath(XML Path Language)の簡易的な表現として/(スラッシュ)区切りで表現しているが、これに限られるものではなく、設定項目がスクリプト定義のどこに記載されているかがわかる表現であればよい。カラム1003は、ファイルフォーマットの設定範囲を示す。例えば、1行目を見ると、ファイルフォーマットには、“SignaturePDF”(署名付きPDF)、“PDF”(PDF)、“JPEG”(JPEG)の3種類が設定できることがわかる。
【0035】
図9は、S108でWebアプリケーション501が、設定画面を生成する処理を示すフローチャートである。まず、ロジック部503が、S107で受け取ったスクリプト900を読み込む(S201)。そして、ロジック部503が、スクリプト900に記載されている初期値と編集可否情報を検索する(S202)。検索する設定項目は、スクリプト定義情報1000に記載されている設定項目である。そして、カラム1002に記載されているパスから、設定項目を表すタグがスクリプトのどこに記載されているかを検索する。そして、検索したタグに“editable”属性があるかをチェックする。更に、検索したタグの値を取得する。そして、ロジック部503が、スクリプト定義情報1000に記載されている設定項目の検索が完了したか否かを判定する(S203)。検索が完了していない場合には、スクリプト定義情報1000の次の行の設定項目を検索するため、S202へ戻る。検索が完了している場合には、S204に遷移する。そして、ロジック部503は、S202で検索した設定項目の初期値と編集可否情報から設定画面のHTMLデータを生成し(S204)、一連の処理を終了する。生成した設定画面については後述する。
【0036】
再び、図5に戻り、Webアプリケーション501は、S108で生成した設定画面のHTMLをWebブラウザ402へ送信する(S109)。Webブラウザ402は、受け取ったHTMLデータを解析し、操作部111に設定画面の表示を行う。
【0037】
図10(a)は、Webブラウザ402が表示する設定画面の一例である。これは、MFP110が生成したスクリプトが図7(a)で示すスクリプト900だった場合の例である。GUIパネル1201には、ファイル名を設定するテキストボックスコントロール1202、画像フォーマットを選択するラジオボタン1203がある。本例では、画像データに「20091217.pdf」というファイル名を付与し、画像データをPDFフォーマットで生成することが設定された状態となっている。設定されている値は、スクリプト900に記載されていた値である。また、GUIボタン1204は機能の実行を指示するボタンであり、ユーザにより押下されるとスキャン開始の指示となる。
【0038】
図10(b)は、Webブラウザが表示する設定画面の他の例である。これは、MFP110が生成したスクリプトが図7(b)で示すスクリプト950だった場合の例である。ここでは、図10(a)と異なる部分のみを説明する。スクリプト950では、“FileFormat”タグの属性として“editable”属性があり、属性値は“false”である。また、初期値は“SignaturePDF”である。そのため、S204で、ロジック部503は、画像フォーマットの初期値を署名付きPDFとして、ユーザが変更不可能となるように設定画面を生成する。生成した設定画面は、GUIパネル1251に表示される。つまり、ラジオボタン1252のように署名付きPDFが選択された状態で、その他の選択ができないようにする。このようにスクリプトに編集可否情報が記載されているため、Webアプリケーション側でMFPの状態に応じた設定画面の生成が可能となる。
【0039】
図5に戻り、ユーザによりGUIボタン1204が押下されると、Webブラウザ402は、テキストボックス1202やラジオボタン1203に設定されたパラメータをWebアプリケーション501に対して通知する(S110)。通信にはHTTPプロトコルのPOSTコマンドを利用するものとする。Webアプリケーション501は、S110で受け取ったパラメータを用いてスクリプトを編集する(S111)。すなわち、Webアプリケーション501は、ユーザにより設定画面を介して変更が行われた変更結果に基づいて、スクリプトを編集する。
【0040】
ここで、S111でWebアプリケーション501が、図7(a)で示すスクリプト900を編集する処理について、図11に示すフローチャートを用いて説明する。ロジック部503が、S107で受け取ったスクリプト900を読み込む(S301)。ロジック部503が、S110で受け取ったパラメータを用いてスクリプト900を編集する(S302)。具体的には、ロジック部503は、図8で示すスクリプト定義情報1000に記載されているカラム1001の設定項目のタグをスクリプト900から検索する。図8のカラム1002に記載されているパスから、カラム1001の設定項目を示すタグがスクリプトのどこに記載されているかを検索することができる。そして、検索の結果、見つかったタグの値に、S110で受け取ったパラメータを記載する。そして、ロジック部503が、S110で受け取ったパラメータのすべてに対して、スクリプト900の編集が完了したか否かを判定する(S303)。編集が完了していない場合は、スクリプト定義情報1000の次の行の設定項目の編集を行うため、S302へ戻る。編集が完了している場合は、S304に遷移する。そして、ロジック部503は、スクリプト900のFTPサーバのパス(“FtpAddress”タグの値)を変更し(S304)、一連の処理を終了する。ここで、FTPサーバのパスはスクリプト定義情報1000のカラム1003に記載されている値を記載する。
【0041】
図12(a)及び(b)は、S111でスクリプト900の編集を行った後のスクリプトの例である。図12(a)では、S110で、ユーザがファイル名を“20091217.pdf”から“test.pdf”に変更し、ファイルフォーマットはPDFのままにした場合について説明する。スクリプト900と比較すると、FTPサーバのパスを示すタグ1401の値を、“ftpserverxxx.com”から“ftp001xxx.com”に変更している。これはS304で変更したものである。送信ファイル名を示すタグ1402の値を、“20091217.pdf”から“test.pdf”に変更している。これは、S302で、スクリプト900の記載をユーザが設定したパラメータに変更したものである。同様に、図12(b)では、FTPサーバのパスを示すタグ1451の値を、“ftpserverxxx.com”から“ftp001xxx.com”に変更している。送信ファイル名を示すタグ1452の値を、“20091217.pdf”から“test.pdf”に変更している。このように、Webアプリケーション501は、制御を行うべき設定項目(本実施形態では、FTPサーバのパス、送信ファイル名及びファイル形式)以外の部分に関しては、スクリプトの内容を認識していなくてもよい。
【0042】
図5に戻り、S112でWebアプリケーション501は、編集が完了したスクリプト1400をWebブラウザに送信する。Webブラウザ402がS112で受け取ったスクリプト1400をスクリプト実行部403に渡す(S113)。スクリプト実行部403は、スクリプト1400を受け取ることでスクリプトの実行を行う。
【0043】
以上述べた通り、本実施形態によれば、MFP側で自身の状態に応じたスクリプトを生成することにより、Webアプリーション側では、制御を行うべき設定項目以外の部分に関しては、スクリプトの内容を認識していなくてもよい。また、MFPのバージョンアップ等によりスクリプトの拡張があった場合でも、Webアプリケーション側で制御する機能に変更がない場合には、Webアプリーションを変更する必要がない。そのため、Webアプリケーションの開発負荷を軽減することができる。
【0044】
(他の実施形態)
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。

【特許請求の範囲】
【請求項1】
Webサーバにより提供される操作画面を表示するWebブラウザを備える情報処理装置であって、
前記Webブラウザにより表示した第1の操作画面を介して、ユーザが前記情報処理装置が備える機能の実行を指示した場合に、前記機能を実行するための予め設定された実行条件を含むスクリプトを生成する生成手段と、
前記生成手段で生成されたスクリプトを前記Webサーバに送信すると共にユーザによる前記実行条件の変更を受け付けるための第2の操作画面を前記Webサーバに要求する要求手段と、
前記Webサーバから受け取った第2の操作画面を介するユーザによる前記実行条件の変更を受け付け、その結果を前記Webサーバに送信する送信手段と、
前記実行条件の変更結果に従って編集されたスクリプトを前記Webサーバから受け取り、前記編集されたスクリプトに基づいて前記機能を実行する実行手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記実行条件は、該実行条件をユーザにより変更可能であるか否かを示す変更可否情報を含み、
前記変更可否情報は、前記Webサーバで前記第2の操作画面を生成する際に用いられることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記情報処理装置が備える機能は、スキャン機能及び前記スキャン機能により読み込んだ画像データを含むファイルを前記Webサーバに転送するファイル転送機能を含み、
前記スキャン機能を実行するための実行条件は、カラーモード、解像度、倍率の少なくともいずれかを含み、前記ファイル転送機能を実行するための実行条件は、前記画像データのフォーマットを含むことを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記生成手段は、前記Webブラウザに含まれることを特徴とする請求項1に記載の情報処理装置。
【請求項5】
Webサーバと、前記Webサーバにより提供される操作画面を表示するWebブラウザを含む情報処理装置とを備える情報処理システムであって、
前記Webブラウザにより表示した第1の操作画面を介して、ユーザが前記情報処理装置が備える機能の実行を指示した場合に、前記機能を実行するための予め設定された実行条件を含むスクリプトを生成する、前記情報処理装置が備えるスクリプト生成手段と、
前記スクリプト生成手段で生成されたスクリプトを前記Webサーバに送信すると共にユーザによる前記実行条件の変更を受け付けるための第2の操作画面を前記Webサーバに要求する、前記情報処理装置が備える要求手段と、
前記要求手段による要求と共に受け取ったスクリプトに含まれる実行条件のうちの予め定めた実行条件の変更を受け付けるための第2の操作画面を生成する、前記Webサーバが備える画面生成手段と、
前記Webサーバから受け取った第2の操作画面を介するユーザによる前記実行条件の変更を受け付け、その結果を前記Webサーバに送信する、前記情報処理装置が備える送信手段と、
前記送信手段により送信された変更結果に従って、前記スクリプトの実行条件を編集する、前記Webサーバが備える編集手段と、
前記実行条件の変更結果に従って編集されたスクリプトを前記Webサーバから受け取り、前記編集されたスクリプトに基づいて前記機能を実行する、前記情報処理装置が備える実行手段と、
を備えることを特徴とする情報処理システム。
【請求項6】
Webサーバにより提供される操作画面を表示するWebブラウザを備える情報処理装置の制御方法であって、
前記情報処理装置が備える生成手段が、前記Webブラウザに表示した第1の操作画面を介して、ユーザが前記情報処理装置が備える機能の実行を指示した場合に、前記機能を実行するための予め設定された実行条件を含むスクリプトを生成する生成工程と、
前記情報処理装置が備える要求手段が、前記生成工程で生成されたスクリプトを前記Webサーバに送信すると共にユーザによる前記実行条件の変更を受け付けるための第2の操作画面を前記Webサーバに要求する要求工程と、
前記情報処理装置が備える送信手段が、前記Webサーバから受け取った第2の操作画面を介するユーザによる前記実行条件の変更を受け付け、その結果を前記Webサーバに送信する送信工程と、
前記情報処理装置が備える実行手段が、前記実行条件の変更結果に従って編集されたスクリプトを前記Webサーバから受け取り、前記編集されたスクリプトに基づいて前記機能を実行する実行工程と、
を備えることを特徴とする制御方法。
【請求項7】
コンピュータを、
Webサーバにより提供される操作画面を表示するWebブラウザを備える情報処理装置における、
前記Webブラウザに表示した第1の操作画面を介して、ユーザが前記情報処理装置が備える機能の実行を指示した場合に、前記機能を実行するための予め設定された実行条件を含むスクリプトを生成する生成手段、
前記生成手段で生成されたスクリプトを前記Webサーバに送信すると共にユーザによる前記実行条件の変更を受け付けるための第2の操作画面を前記Webサーバに要求する要求手段、
前記Webサーバから受け取った第2の操作画面を介するユーザによる前記実行条件の変更を受け付け、その結果を前記Webサーバに送信する送信手段、
前記実行条件の変更結果に従って編集されたスクリプトを前記Webサーバから受け取り、前記編集されたスクリプトに基づいて前記機能を実行する実行手段、
として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate


【公開番号】特開2012−39478(P2012−39478A)
【公開日】平成24年2月23日(2012.2.23)
【国際特許分類】
【出願番号】特願2010−179001(P2010−179001)
【出願日】平成22年8月9日(2010.8.9)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】