(57)【要約】【課題】  ＭＦＰ毎の能力差異を考慮して、Ｗｅｂアプリケーションの操作画面を開発するのは、Ｗｅｂアプリケーションの開発コストを増大させるという問題がある。【解決手段】  ネットワークを介してサーバと通信する情報処理装置であって、サーバのＷｅｂアプリケーションの画面を操作するＷｅｂブラウザと、Ｗｅｂブラウザにより生成される画面を表示する表示部と、情報処理装置の機能を利用するジョブの実行を制御するためのジョブ制御部と、情報処理装置の能力情報を記憶する能力記憶部とを備える。Ｗｅｂブラウザは、画面の取得要求に対するＷｅｂアプリケーションからの応答メッセージを受信すると、その応答メッセージに従って能力記憶部から能力情報を取得し、応答メッセージ及び能力情報に基づいて、その画面に含まれる入力要素の選択または入力の可否を変更して表示する。【選択図】  図７
2014116803.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してサーバと通信する情報処理装置であって、
前記サーバのＷｅｂアプリケーションの画面を操作するＷｅｂブラウザと、
前記Ｗｅｂブラウザにより生成される画面を表示する表示手段と、
前記情報処理装置の機能を利用するジョブの実行を制御するためのジョブ制御手段と、
前記情報処理装置の能力情報を記憶する能力記憶手段とを備え、
前記Ｗｅｂブラウザは、前記画面の取得要求に対する前記Ｗｅｂアプリケーションからの応答メッセージを受信すると、前記応答メッセージに従って前記能力記憶手段から前記能力情報を取得し、前記応答メッセージ及び前記能力情報に基づいて、前記画面に含まれる入力要素の選択または入力の可否を変更して表示することを特徴とする情報処理装置。
【請求項２】
前記Ｗｅｂブラウザは、前記能力記憶手段に対して前記能力情報を要求するＨＴＴＰリクエストを送信し、前記Ｗｅｂブラウザは前記能力記憶手段から前記能力情報を含むＨＴＴＰレスポンスを受信することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記応答メッセージは、前記画面に含まれる設定項目に対応する能力のクラス、前記画面に含まれる入力項目に対応する入力要素のクラスの定義を含むことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記応答メッセージに含まれる前記画面の設定項目に対応する能力のクラスは、全て非表示に設定されていることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記表示手段に表示された画面を介してジョブの実行が指示されると、前記Ｗｅｂブラウザは、前記Ｗｅｂアプリケーションに対してジョブの実行を要求し、
前記Ｗｅｂアプリケーションは、前記要求に応答して、前記ジョブ制御手段に対して前記ジョブの実行を要求するＨＴＴＰリクエストを送信することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
ネットワークを介して通信するサーバと情報処理装置を含む情報処理システムであって、
前記サーバは、
前記情報処理装置からの画面の取得要求に対して、当該画面のＨＴＭＬデータを送信する送信手段と、
前記画面に含まれる能力要素及び入力要素にＣＳＳクラスを指定したファイルを前記情報処理装置に送信する手段とを有し、
前記情報処理装置は、
前記サーバのＷｅｂアプリケーションの画面を操作するＷｅｂブラウザと、
前記Ｗｅｂブラウザにより生成される画面を表示する表示手段と、
前記情報処理装置の機能を利用するジョブの実行を制御するためのジョブ制御手段と、
前記情報処理装置の能力情報を記憶する能力記憶手段とを備え、
前記Ｗｅｂブラウザは、前記画面の取得要求に対する前記Ｗｅｂアプリケーションからの前記ＨＴＭＬデータ及び前記ファイルを受信すると、前記能力要素及び入力要素のＣＳＳクラスに従って前記能力記憶手段から前記能力情報を取得し、前記画面に含まれる能力情報の表示、及び前記入力要素の選択または入力の可否を変更して表示することを特徴とする情報処理システム。
【請求項７】
前記Ｗｅｂブラウザは、前記能力記憶手段に対して前記能力情報を要求するＨＴＴＰリクエストを送信し、前記Ｗｅｂブラウザは前記能力記憶手段から前記能力情報を含むＨＴＴＰレスポンスを受信することを特徴とする請求項６に記載の情報処理システム。
【請求項８】
前記応答メッセージは、前記画面に含まれる設定項目に対応する能力のクラス、前記画面に含まれる入力項目に対応する入力要素のクラスの定義を含むことを特徴とする請求項６又は７に記載の情報処理システム。
【請求項９】
前記応答メッセージに含まれる前記画面の設定項目に対応する能力のクラスは、全て非表示に設定されていることを特徴とする請求項８に記載の情報処理システム。
【請求項１０】
前記表示手段に表示された画面を介してジョブの実行が指示されると、前記Ｗｅｂブラウザは、前記Ｗｅｂアプリケーションに対してジョブの実行を要求し、
前記Ｗｅｂアプリケーションは、前記要求に応答して、前記ジョブ制御手段に対して前記ジョブの実行を要求するＨＴＴＰリクエストを送信することを特徴とする請求項６乃至９のいずれか１項に記載の情報処理システム。
【請求項１１】
情報処理装置の能力情報を記憶する能力記憶部と、サーバのＷｅｂアプリケーションの画面を操作するＷｅｂブラウザとを有し、ネットワークを介してサーバと通信する情報処理装置を制御する制御方法であって、
表示手段が、前記Ｗｅｂブラウザにより生成される画面を表示する表示工程と、
ジョブ制御手段が、前記情報処理装置の機能を利用するジョブの実行を制御するためのジョブ制御工程とを有し、
前記Ｗｅｂブラウザは、前記画面の取得要求に対する前記Ｗｅｂアプリケーションからの応答メッセージを受信すると、前記応答メッセージに従って前記能力記憶部から前記能力情報を取得し、前記応答メッセージ及び前記能力情報に基づいて、前記画面に含まれる入力要素の選択または入力可否を変更して表示することを特徴とする情報処理装置の制御方法。
【請求項１２】
コンピュータを、請求項１乃至５のいずれか１項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバとネットワークを介して接続され、サーバにより提供される操作画面を表示するブラウザを備えた情報処理装置及びその制御方法とプログラム、及び情報処理システムに関するものである。
【背景技術】
【０００２】
ＰＣなどの情報処理装置がネットワーク上のＷｅｂサーバに接続され、そのＷｅｂサーバにより提供される操作画面を、情報処理装置が備えるＷｅｂブラウザで表示することが知られている。この場合、まず情報処理装置のＷｅｂブラウザが、Ｗｅｂサーバに対して操作画面を要求（リクエスト）する。そして、ＷｅｂサーバのＷｅｂアプリケーションが、その情報処理装置からの要求に応えて、Ｗｅｂブラウザにより操作画面を表示させるためのＨＴＭＬデータを情報処理装置に応答（レスポンス）する。これにより情報処理装置のＷｅｂブラウザは、その受信したＨＴＭＬデータを解析し、そのＨＴＭＬデータの記述に基づいた操作画面を表示する。更に、Ｗｅｂブラウザで表示された操作画面を介してユーザが指示を入力すると、その入力された指示をＷｅｂブラウザがＷｅｂサーバに対して通知する。そして、この通知を受けたＷｅｂサーバのＷｅｂアプリケーションは、その入力された指示に従って処理を実行する。
【０００３】
ところで最近は、スキャナやプリンタを備えたＭＦＰ（Multi Function Peripheral）の中にも、上述したようなＷｅｂブラウザを備えているものがある。そして、このようなＭＦＰでは、上述した手順を用いてＷｅｂサーバから提供される操作画面をＭＦＰのＷｅｂブラウザにより表示し、その画面を介してユーザからの各種指示を受け付けている。
【０００４】
また更には、特許文献１のような技術も考えられている。特許文献１の記載によれば、ＭＦＰが備える各機能を利用するための指示を入力する操作画面を、Ｗｅｂサーバが提供する。即ち、ＭＦＰのユーザは、Ｗｅｂブラウザにより表示された操作画面を介して、ＭＦＰに対する指示を入力する。そして、その入力された指示はＭＦＰのＷｅｂブラウザによってＷｅｂサーバに通知される。この通知を受けたＷｅｂサーバは、そのユーザから入力された指示の内容に従って、そのＭＦＰに対して各種処理の実行を依頼する。そして、この依頼を受けたＭＦＰは、その依頼された処理を実行する。これにより、ＭＦＰを操作するための全てのメニューデータを含む操作画面をＭＦＰで保持しておく必要がなくなり、また操作画面の変更もＷｅｂサーバで容易に行うことができるようになる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００６−１２７５０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＭＦＰは、機種によってスキャナやプリンタなどの能力に差異があるため、ＭＦＰ毎に異なる操作画面を表示しなければ、Ｗｅｂアプリケーションが正常に動作しなくなる。例えば、原稿を白黒でしか読み取れないＭＦＰで、カラーでの読み取りを指示するためのメニューを含む操作画面を表示すると、ＭＦＰは、その操作画面に従った処理を実行できないことになる。
【０００７】
上記課題を解決するために特許文献１に記載のシステムでは、Ｗｅｂサーバは、各ＭＦＰごとに異なるメニューデータを含む操作画面を生成しなければならない。このようにＭＦＰ毎の能力の差異を考慮してＷｅｂサーバのＷｅｂアプリケーションを開発するのは、Ｗｅｂアプリケーションの開発コストを増大させることになり現実的ではない。
【０００８】
本発明の目的は、上記従来技術の問題点を解決することにある。
【０００９】
本発明の目的は、サーバが、情報処理装置毎に異なる画面データを提供しなくても、各情報処理装置のＷｅｂブラウザが、その情報処理装置の能力を判断して画面データを変更して画面を表示する技術を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
ネットワークを介してサーバと通信する情報処理装置であって、
前記サーバのＷｅｂアプリケーションの画面を操作するＷｅｂブラウザと、
前記Ｗｅｂブラウザにより生成される画面を表示する表示手段と、
前記情報処理装置の機能を利用するジョブの実行を制御するためのジョブ制御手段と、
前記情報処理装置の能力情報を記憶する能力記憶手段とを備え、
前記Ｗｅｂブラウザは、前記画面の取得要求に対する前記Ｗｅｂアプリケーションからの応答メッセージを受信すると、前記応答メッセージに従って前記能力記憶手段から前記能力情報を取得し、前記応答メッセージ及び前記能力情報に基づいて、前記画面に含まれる入力要素の選択または入力の可否を変更して表示することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、サーバが、情報処理装置毎に異なる画面のメニューデータを提供する必要がないため、サーバにおけるＷｅｂアプリケーションの開発工数の削減が可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態１に係る情報処理システムの全体図。
【図２】実施形態１に係るＭＦＰのハードウェア構成を示すブロック図。
【図３】実施形態１に係るサーバのハードウェア構成を示すブロック図。
【図４】実施形態１に係るＭＦＰのソフトウェア構成を説明するブロック図。
【図５】実施形態１に係るサーバのソフトウェア構成を説明するブロック図。
【図６】実施形態１に係る情報処理システムにおいて、ＭＦＰのＷｅｂブラウザがスキャン処理を開始する際の画面遷移の一例を示す図。
【図７】実施形態１に係る情報処理システムにより実行される処理のシーケンスを説明する図。
【図８】実施形態１において、Ｗｅｂアプリケーションが応答するスキャン設定画面を表すＨＴＭＬデータの一例を示す図。
【図９】実施形態１に係るスキャン能力ＣＳＳの一例を示す図。
【図１０】実施形態１に係る入力要素ＣＳＳの一例を示す図。
【図１１】Ｓ７１４の処理の結果、Ｗｅｂブラウザが表示するスキャン設定画面の一例を示す図。
【図１２】実施形態１で、スキャン開始を要求するＨＴＴＰリクエストの一部を表した図。
【図１３】実施形態１に係るＳ７１８で、ＷｅｂアプリケーションがＭＦＰに送信するＳＯＡＰリクエストの一例を示す図。
【図１４】実施形態１に係るＭＦＰのＷｅｂブラウザがスキャン設定画面を含むＨＴＴＰレスポンスを受信してからスキャン能力適用ＪａｖａＳｃｒｉｐｔをロードするまでの処理を説明するフローチャート。
【図１５】実施形態１に係るＭＦＰのＷｅｂブラウザがスキャン能力適用ＪａｖａＳｃｒｉｐｔをロードしてからスキャン設定画面を表示するまでの処理を説明するフローチャート。
【図１６】実施形態１に係るＭＦＰのＷｅｂブラウザが入力要素に値を設定する処理を表すフローチャート。
【図１７】実施形態１に係るＭＦＰのＷｅｂブラウザがスキャン設定画面のスキャン開始ボタンが押下されたときにスキャン設定をＷｅｂアプリケーションへ送信するまでの処理を説明するフローチャート。
【図１８】本発明の実施形態２に係るＭＦＰのソフトウェア構成を示す図。
【図１９】実施形態２における情報処理システムにより実行される処理シーケンスを説明する図。
【図２０】実施形態２におけるスキャン設定画面ＨＴＭＬの一例を示す図。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１４】
図１は、本発明の実施形態１に係る情報処理システムの全体図である。
【００１５】
ＬＡＮ１１０には、ＭＦＰ１０１、Ｗｅｂサーバ１０２（以下、サーバ）が互いに通信可能に接続されている。ここでＭＦＰ１０１は多機能処理装置で、スキャナ機能、コピー機能、印刷機能、ファクシミリ機能、ボックス機能等を備えている。
【００１６】
図２は、実施形態１に係るＭＦＰ１０１のハードウェア構成を示すブロック図である。
【００１７】
ＣＰＵ２１１を含む制御部２１０は、このＭＦＰ１０１全体の動作を制御している。ＣＰＵ２１１は、ＲＯＭ２１２に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御を行う。ＲＡＭ２１３は、ＣＰＵ２１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ２１４は、画像データや各種プログラム記憶している。操作部Ｉ／Ｆ２１５は、操作部２１９と制御部２１０とを接続する。操作部２１９は、タッチパネル機能を有する表示部やキーボードなどを有している。また、ＭＦＰ１０１には、後述するＷｅｂブラウザ機能が備えられており、ＭＦＰ１０１のＷｅｂブラウザは、サーバ１０２から受信したＨＴＭＬデータを解析し、その受信したＨＴＭＬデータの記述に基づく操作画面を操作部２１９の表示部に表示する。
【００１８】
プリンタＩ／Ｆ２１６は、プリンタ２２０と制御部２１０とを接続する。プリンタ２２０で印刷すべき画像データは、プリンタＩ／Ｆ２１６を介して制御部２１０からプリンタ２２０に転送され、プリンタ２２０で記録媒体（シート）に印刷される。スキャナＩ／Ｆ２１７は、スキャナ２２１と制御部２１０とを接続する。スキャナ２２１は、原稿上の画像を読み取って、その原稿の画像に対応する画像データを生成し、その画像データをスキャナＩ／Ｆ２１７を介して制御部２１０に入力する。ネットワークＩ／Ｆ２１８は、制御部２１０（ＭＦＰ１０１）をＬＡＮ１１０に接続する。ネットワークＩ／Ｆ２１８は、ＬＡＮ１１０上の外部装置（例えば、サーバ１０２）に画像データや各種情報を送信したり、ＬＡＮ１１０上の外部装置から各種情報を受信したりする。
【００１９】
図３は、実施形態１に係るサーバ１０２のハードウェア構成を示すブロック図である。
【００２０】
ＣＰＵ３１１を含む制御部３１０は、このサーバ１０２全体の動作を制御する。ＣＰＵ３１１は、ＲＯＭ３１２に記憶されたブートプログラムを実行して、ＨＤＤ３１４にインストールされているＯＳや制御プログラム等を読み出してＲＡＭ３１３に展開する。そしてそのＲＡＭ３１２に展開されたプログラムを実行して、このサーバ１０２全体の動作を制御している。ＲＡＭ３１３は、ＣＰＵ３１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ３１４は、画像データや各種プログラム等を記憶している。ネットワークＩ／Ｆ３１５は、制御部３１０（サーバ１０２）をＬＡＮ１１０に接続する。ネットワークＩ／Ｆ３１５は、ＬＡＮ１１０を介して他の装置との間で各種情報を送受信する。
【００２１】
図４は、実施形態１に係るＭＦＰ１０１のソフトウェア構成を説明するブロック図である。図４に示す各機能部は、ＭＦＰ１０１が有しているＣＰＵ２１１が制御プログラムを実行することにより実現される。
【００２２】
ＭＦＰ１０１は、Ｗｅｂブラウザ４００、ＨＴＴＰサーバ４１０、デバイス能力記憶部４２０、及びジョブ制御部４３０を備えている。Ｗｅｂブラウザ４００は、ＨＴＴＰのプロトコルに従ってリクエスト（以下、ＨＴＴＰリクエスト）を送信するとともに、そのリクエストに対するレスポンス（以下、ＨＴＴＰレスポンス）を受信する。そして、受信したＨＴＴＰレスポンスを解析して、操作画面を表示したり、受信したレスポンスに含まれるＪａｖａＳｃｒｉｐｔを処理したりする。Ｗｅｂブラウザ４００は、ＪａｖａＳｃｒｉｐｔを処理することにより、操作画面を書き換えることができる。
【００２３】
ＨＴＴＰサーバ４１０は、Ｗｅｂブラウザ４００からのＨＴＴＰリクエストを受け取り、指定されたＷｅｂサービスへＨＴＴＰリクエストを割り当てる。ＨＴＴＰサーバ４１０が公開するＷｅｂサービスには、デバイス能力記憶部４２０、及びジョブ制御部４３０がある。
【００２４】
デバイス能力記憶部４２０は、スキャナ２２１による読取処理の能力、プリンタ２３０による印刷処理の能力、及び画像データの生成能力等を含むＭＦＰ１０１のデバイス能力情報を記憶している。このデバイス能力記憶部４２０は、Ｗｅｂブラウザ４００からＨＴＴＰリクエストを受信すると、デバイス能力情報に従って操作画面を書き換える処理が記述されたＪａｖａＳｃｒｉｐｔを含むＨＴＴＰレスポンスをＨＴＴＰサーバ４１０に送信する。
【００２５】
ジョブ制御部４３０は、スキャナ２２１による読取処理、プリンタ２３０による印刷処理、ネットワークＩ／Ｆ２１８を介した送信処理等を含むジョブを実行する。ジョブ制御部４３０は、後述するサーバ１０２のＷｅｂアプリケーション５１０（図５）からＳＯＡＰリクエストを受信すると、そのＳＯＡＰリクエストを解釈してジョブを実行する。そしてジョブ制御部４３０は、ジョブの実行結果を含むＳＯＡＰレスポンスを、サーバ１０２のＷｅｂアプリケーション５１０へ送信する。
【００２６】
尚、本実施形態１では、ＭＦＰ１０１で実行されるジョブの一例として、原稿を読み取ってファイルを生成し、そのファイルをサーバ１０２に送信するジョブについて説明する。しかしながら、この他にも、例えばプリンタ２２０により印刷処理などを実行するジョブにも適用することができる。
【００２７】
図５は、実施形態１に係るサーバ１０２のソフトウェア構成を説明するブロック図である。図５に示す各機能部は、サーバ１０２が有しているＣＰＵ３１１が制御プログラムを実行することにより実現される。
【００２８】
サーバ１０２は、ＨＴＴＰサーバ５００、Ｗｅｂアプリケーション５１０、及びデータベース５２０を備えている。ＨＴＴＰサーバ５００は、ＭＦＰ１０１のＷｅｂブラウザ４００からのＨＴＴＰリクエストを受信すると、ＵＲＬで指定されたＷｅｂアプリケーション５１０へそのＨＴＴＰリクエストを割り当てる。Ｗｅｂアプリケーション５１０は、ＭＦＰ１０１のＷｅｂブラウザ４００からのＨＴＴＰリクエストに応じて、Ｗｅｂブラウザ４００で表示すべきＨＴＭＬデータを生成する。そして、Ｗｅｂアプリケーション５１０は、その生成したＨＴＭＬデータをＨＴＴＰレスポンスとしてＷｅｂブラウザ４００へ送信する。また、Ｗｅｂアプリケーション５１０は、ＭＦＰ１０１のジョブ制御部４３０から送信されるファイルアップロード要求を処理して、その要求されたデータをデータベース５２０に登録する。
【００２９】
以上、実施形態１におけるシステム構成の基本概要を説明した。引き続き、実施形態１に係るシステムの処理の概要を説明する。
【００３０】
図６は、実施形態１に係る情報処理システムにおいて、ＭＦＰ１０１のＷｅｂブラウザ４００がスキャン処理を開始する際の画面遷移の一例を示す図である。図６の各画面は、Ｗｅｂアプリケーション５１０が応答するＨＴＭＬデータをＷｅｂブラウザ４００が処理することで表示される画面である。以下、各画面について順番に説明する。
【００３１】
スキャン設定画面６００は、スキャン設定を入力してスキャン開始を指示するための画面である。このスキャン設定画面６００は、スキャンするカラーを選択するためのセレクトボックス６１０、画像ファイルのフォーマットを選択するためのラジオボタン６１１、及びスキャン開始を指示するためのスキャン開始ボタン６１２を含む。セレクトボックス６１０には、「カラー」、「グレースケール」及び「白黒」の選択肢が含まれる。ラジオボタンには、「ＪＰＥＧ」、「ＰＤＦ」及び「ＸＰＳ」の選択肢が含まれる。この設定画面６００でスキャン開始ボタン６１２が押下されると、Ｗｅｂブラウザ４００は、スキャン設定画面６００からスキャン中画面６０１へ遷移する。
【００３２】
スキャン中画面６０１は、スキャンの実行中を表す画面である。スキャン中画面６０１は戻るボタン６１３を含む。Ｗｅｂブラウザ４００は、スキャンが完了すると、スキャン完了画面６０２へ遷移する。一方、Ｗｅｂブラウザ４００は、スキャン中画面６０１で戻るボタン６１３が押下されると、スキャン中画面６０１からスキャン設定画面６００へ遷移する。
【００３３】
スキャン完了画面６０２は、スキャン完了を表す画面である。Ｗｅｂブラウザ４００は、このスキャン完了画面６０２で戻るボタン６１４が押下されると、スキャン完了画面６０２からスキャン設定画面６００へ遷移する。
【００３４】
エラー画面６０３は、スキャンの実行に失敗したことを表す画面である。Ｗｅｂブラウザ４００は、スキャン設定画面６００でスキャン開始ボタン６１２が押下されてスキャン処理を開始して、スキャンの実行に失敗した場合はエラー画面６０３へ遷移する。このエラー画面６０３は、スキャン設定画面６００へ遷移するための戻るボタン６１５を含んでいる。
【００３５】
図７は、実施形態１に係る情報処理システムにより実行される処理のシーケンスを説明する図である。
【００３６】
図７に示す処理シーケンスは、Ｗｅｂブラウザ４００にスキャン設定画面６００のＵＲＬが入力されてページを開くよう指示されて、Ｓ７０１の処理を開始することにより開始される。Ｓ７０１では、Ｗｅｂブラウザ４００が、スキャン設定画面６００の取得要求であるＨＴＴＰリクエストを、サーバ１０２のＨＴＴＰサーバ５００へ送信する。これによりＳ７０２では、サーバ１０２のＨＴＴＰサーバ５００が、Ｗｅｂアプリケーション５１０へスキャン設定画面６００の取得を要求する。そしてＳ７０３で、Ｗｅｂアプリケーション５１０は、ＨＴＴＰサーバ５００へスキャン設定画面６００のＨＴＭＬデータを送信して応答する。次にＳ７０４で、ＨＴＴＰサーバ５００は、スキャン設定画面６００のＨＴＭＬデータを含むＨＴＴＰレスポンス（応答メッセージ）を、ＭＦＰ１０１のＷｅｂブラウザ４００へ送信する。
【００３７】
図８は、実施形態１において、Ｗｅｂアプリケーション５１０が応答するスキャン設定画面６００を表すＨＴＭＬデータ（以下、スキャン設定画面ＨＴＭＬ）の一例を示す図である。
【００３８】
このスキャン設定画面ＨＴＭＬ８００は、ヘッダ部にスキャン能力ＣＳＳ８１０、入力要素ＣＳＳ８２０、及びスキャン能力適用ＪａｖａＳｃｒｉｐｔ８３０を含み、ｂｏｄｙ部にスキャン設定フォーム８４０を含む。図８に示すように、スキャン能力ＣＳＳ８１０、入力要素ＣＳＳ８２０、及びスキャン能力適用ＪａｖａＳｃｒｉｐｔ８３０は、外部ファイルを参照している。従って、Ｗｅｂブラウザ４００は、スキャン設定画面ＨＴＭＬ８００を受信すると、スキャン能力ＣＳＳ８１０、入力要素ＣＳＳ８２０、及びスキャン能力適用ＪａｖａＳｃｒｉｐｔ８３０をサーバ１０２より取得する。
【００３９】
Ｓ７０５では、Ｗｅｂブラウザ４００が、スキャン能力ＣＳＳ８１０及び入力要素ＣＳＳ８２０の取得を要求するＨＴＴＰリクエストをサーバ１０２のＨＴＴＰサーバ５００へ送信する。そしてＳ７０６で、ＨＴＴＰサーバ５００が、スキャン能力ＣＳＳ８１０及び入力要素ＣＳＳ８２０の取得をＷｅｂアプリケーション５１０へ要求する。これによりＳ７０７で、Ｗｅｂアプリケーション５１０は、スキャン能力ＣＳＳ８１０及び入力要素ＣＳＳ８２０をＨＴＴＰサーバ５００へ応答する。そしてＳ７０８で、ＨＴＴＰサーバ５００が、スキャン能力ＣＳＳ８１０及び入力要素ＣＳＳ８２０を応答するＨＴＴＰレスポンスを、ＭＦＰ１０１のＷｅｂブラウザ４００へ送信する。
【００４０】
図９は、実施形態１に係るスキャン能力ＣＳＳ８１０の一例を示す図である。
【００４１】
このスキャン能力ＣＳＳ８１０には、スキャン設定項目（能力要素）に対応するＣＳＳクラス（以下、スキャン設定クラス）が定義されている。具体的には、スキャンのカラー設定として「Ｓｃａｎ−ｃｏｌｏｒ」クラス、「Ｓｃａｎ−ｇｒａｙ」クラス、「Ｓｃａｎ−ｍｏｎｏ」クラスが含まれている。またファイルのフォーマット指定として「Ｓｃａｎ−ｆｏｒｍａｔ−ｊｐｅｇ」クラス、「Ｓｃａｎ−ｆｏｒｍａｔ−ｐｄｆ」クラス、「Ｓｃａｎ−ｆｏｒｍａｔ−ｘｐｓ」クラスが含まれている。更に、スキャンの解像度として「Ｓｃａｎ−ｄｐｉ−３００」クラス、及び「Ｓｃａｎ−ｄｐｉ−６００」クラスが定義されている。このスキャン設定クラスでは、各クラスごとに、画面上で非表示に設定するスタイル（visibility: hidden）が定義されている。従って、このスキャン能力ＣＳＳ８１０によれば、スキャン設定画面で、読み取りのカラーモード、読み取って得られた画像データのファイル形式、そして解像度等の選択肢を全て非表示になる。
【００４２】
図１０は、実施形態１に係る入力要素ＣＳＳ８２０の一例を示す図である。
【００４３】
この入力要素ＣＳＳ８２０には、入力要素に対応するＣＳＳクラス（以下、入力要素クラス）が定義されている。具体的には、セレクトボックス及びラジオボタンに対応するＣＳＳクラスが定義されている。それぞれのクラスでは、セレクトボックス又はラジオボタンの選択肢として表示する画像を指定するスタイルが定義されている。この図１０では、セレクトボックス及びラジオボタンが選択可能な状態、選択された状態、及び選択不可能な状態を表示するスタイルが定義されている。
【００４４】
図８に示すように、スキャン設定フォーム８４０は、スキャナ２２１により読み取るカラーを選択するためのセレクトボックス、及び画像ファイルのフォーマットを選択するためのラジオボタンを含む。また、セレクトボックス及びラジオボタンの各選択肢のクラス属性には、スキャン能力クラスが指定されている。従って、Ｗｅｂブラウザ４００が、図９に示すスキャン能力クラスを適用した結果、セレクトボックス及びラジオボタンは、全て非表示となる。
【００４５】
次にＳ７０９では、ＭＦＰ１０１のＷｅｂブラウザ４００が、スキャン能力適用ＪａｖａＳｃｒｉｐｔ８３０の取得を要求するＨＴＴＰリクエストを、ＭＦＰ１０１のＨＴＴＰサーバ４１０へ送信する。そしてＳ７１０で、ＨＴＴＰサーバ４１０が、スキャン能力適用ＪａｖａＳｃｒｉｐｔ８３０の取得を要求するＨＴＴＰリクエストを、ＭＦＰ１０１のデバイス能力記憶部４２０へ送信する。これによりＳ７１１では、デバイス能力記憶部４２０が、スキャナ２２１による読取処理能力及び画像データの生成能力に従って、操作画面を書き換える処理を記述したＪａｖａＳｃｒｉｐｔを生成して、ＨＴＴＰサーバ４１０へ応答する。そしてＳ７１２では、ＨＴＴＰサーバ４１０が、デバイス能力記憶部４２０が応答したＪａｖａＳｃｒｉｐｔを含むＨＴＴＰレスポンスを、ＭＦＰ１０１のＷｅｂブラウザ４００へ送信する。こうしてＷｅｂブラウザ４００は、ＪａｖａＳｃｒｉｐｔを受信すると、そのＪａｖａＳｃｒｉｐｔを解釈して、後述するＳ７１３及びＳ７１４の処理を実行する。
【００４６】
Ｓ７１３では、ＭＦＰ１０１のＷｅｂブラウザ４００が、スキャン設定画面６００の中でスキャン能力クラスが設定された要素を探索する。そしてＳ７１４で、Ｗｅｂブラウザ４００が、スキャン能力クラスが指定した要素の見栄えを、入力要素クラスの定義に従って変更する。
【００４７】
図１１は、Ｓ７１４の処理の結果、Ｗｅｂブラウザ４００が表示するスキャン設定画面６００の一例を示す図である。
【００４８】
図１１のスキャン設定画面６００では、セレクトボックス６１０の選択肢の内、「カラー」が選択不可状態に表示される。またラジオボタン６１１の選択肢の内、「ＪＰＥＧ」が選択不可状態に表示される。このようにして、スキャナ２２１による読取処理能力及び画像データの生成能力に従って、スキャン設定画面６００における入力要素の入力可否が変更される。
【００４９】
続いて、Ｗｅｂブラウザ４００は、スキャン設定画面６００のスキャン開始ボタン６１２が押下されると、Ｓ７１５の処理を開始する。
【００５０】
Ｓ７１５では、Ｗｅｂブラウザ４００が、スキャン能力クラスの設定された要素の値を設定する。図１１のスキャン設定画面６００の場合、Ｗｅｂブラウザ４００は、「Ｓｃａｎ−ｇｒａｙ」クラスの指定されたｏｐｔｉｏｎ要素のｖａｌｕｅ属性に「ｇｒａｙ」をを設定する。更に、「Ｓｃａｎ−ｆｏｒｍａｔ−ｐｄｆ」クラスの指定されたｉｎｐｕｔ要素のｖａｌｕｅ属性に「ｐｄｆ」を、「Ｓｃａｎ−ｄｐｉ−６００」クラスの指定されたｉｎｐｕｔ要素のｖａｌｕｅ属性に「３００ｘ３００」をそれぞれ設定する。
【００５１】
そしてＳ７１６で、Ｗｅｂブラウザ４００が、スキャン開始を要求するＨＴＴＰリクエストを、サーバ１０２のＨＴＴＰサーバ５００へ送信する。
【００５２】
図１２は、この実施形態１で、スキャン開始を要求するＨＴＴＰリクエストの一部を表した図である。
【００５３】
図１２の場合、読み込みカラーに「ｇｒａｙ」、生成する画像ファイルのフォーマットに「ｐｄｆ」、読み込み解像度に「３００ｘ３００」を指定してスキャンを開始することを表している。
【００５４】
Ｓ７１７では、サーバ１０２のＨＴＴＰサーバ５００が、Ｗｅｂアプリケーション５１０へスキャン開始を要求する。こうしてＳ７１８では、Ｗｅｂアプリケーション５１０が、ＭＦＰ１０１のＨＴＴＰサーバ４１０へスキャンの開始を指示するＳＯＡＰリクエストを送信する。
【００５５】
図１３は、実施形態１に係るＳ７１８で、Ｗｅｂアプリケーション５１０がＭＦＰ１０１に送信するＳＯＡＰリクエストの一例を示す図である。
【００５６】
このＳＯＡＰリクエストは具体的には、原稿をスキャンしＰＤＦファイルに変換した後、Ｗｅｂアプリケーション５１０へ送信することを指示している。スキャン設定には解像度が３００×３００及びグレースケールを指定し、文書設定にはＰＤＦフォーマットを指定し、送信設定にはホスト名「ｘｘｘ．ｙｙｙ．ｚｚｚ」及びパス名「ｕｐｌｏａｄ／ｔｅｓｔ」を指定している。
【００５７】
そしてＳ７１９で、ＭＦＰ１０１のＨＴＴＰサーバ４１０が、ジョブ制御部４３０へスキャンジョブの生成を要求する。こうしてジョブ制御部４３０は、ＳＯＡＰリクエストを解釈すると、スキャンジョブを生成する。Ｓ７２０では、ジョブ制御部４３０が、ＨＴＴＰサーバ４１０へジョブによる画像データの生成の成功を表すＳＯＡＰレスポンスを応答する。そしてＳ７２１では、ＭＦＰ１０１のＨＴＴＰサーバ４１０が、ジョブによる画像データの生成に成功したことを表すＳＯＡＰレスポンスをＷｅｂアプリケーション５１０へ送信する。そしてＳ７２２では、Ｗｅｂアプリケーション５１０が、ＨＴＴＰサーバ５００へスキャン中画面６０１を応答する。これによりＳ７２３で、ＨＴＴＰサーバ５００がＭＦＰ１０１のＷｅｂブラウザ４００へ、スキャン中画面６０１を表示するＨＴＭＬデータを応答するＨＴＴＰレスポンスを送信する。
【００５８】
以上説明したシーケンスにより、ＭＦＰ１０１で表示するスキャン設定画面の基になるＨＴＭＬデータをサーバ１０２から取得し、このＭＦＰ１０１の有する能力に従って、その設定画面を変更してＭＦＰで表示することができる。これによりサーバは、その設定画面の標準的なメニューデータだけを所有すればよく、各ＭＦＰの能力に応じた設定画面の変更は、各ＭＦＰで行うことができる。
【００５９】
続いて、図１４〜図１７に示すフローチャートを参照して、本実施形態１に係るＭＦＰ１０１のＷｅｂブラウザ４００による処理の流れを説明する。尚、図１４〜図１７のフローチャートで示す処理を実行するための制御プログラムはＲＯＭ２１２に記憶されており、ＣＰＵ２１１により実行されるものである。
【００６０】
図１４は、実施形態１に係るＭＦＰ１０１のＷｅｂブラウザ４００がスキャン設定画面６００を含むＨＴＴＰレスポンスを受信してからスキャン能力適用ＪａｖａＳｃｒｉｐｔ８３０をロードするまでの処理を説明するフローチャートである。
【００６１】
この処理は、Ｗｅｂブラウザ４００が、ＨＴＴＰサーバ５００からスキャン設定画面６００を含むＨＴＴＰレスポンスを受信することにより開始される。まずＳ１４０１で、Ｗｅｂブラウザ４００は、スキャン設定画面ＨＴＭＬ８００を解釈して、Ｗｅｂアプリケーション５１０よりスキャン能力ＣＳＳ８１０及び入力要素ＣＳＳ８２０を取得する（図７のＳ７０５〜Ｓ７０８）。
【００６２】
次にＳ１４０２に進み、Ｗｅｂブラウザ４００は、Ｓ１４０１で取得したスキャン能力ＣＳＳ８１０を適用する。より具体的には、Ｗｅｂブラウザ４００は、スキャン能力ＣＳＳ８１０に定義されているスキャン設定クラスを、スキャン設定フォーム８４０中のセレクトボックス及びラジオボタンへ適用する。その結果、スキャン設定フォーム８４０中のセレクトボックス及びラジオボタンの見た目は非表示となる。
【００６３】
そしてＳ１４０３に進み、Ｗｅｂブラウザ４００は、スキャン設定画面ＨＴＭＬ８００を解釈して、デバイス能力記憶部４２０よりスキャン能力適用ＪａｖａＳｃｒｉｐｔ８３０を取得する（図７のＳ７０９〜Ｓ７１２）。
【００６４】
図１５は、実施形態１に係るＭＦＰ１０１のＷｅｂブラウザ４００がスキャン能力適用ＪａｖａＳｃｒｉｐｔ８３０をロードしてからスキャン設定画面６００を表示するまでの処理を説明するフローチャートである。
【００６５】
この処理は、図１４のＳ１４０３で、Ｗｅｂブラウザ４００がスキャン能力適用ＪａｖａＳｃｒｉｐｔ８３０をロードすることにより開始される。まずＳ１５０１で、Ｗｅｂブラウザ４００は、スキャン設定画面６００の中の入力要素を探索する。具体的には、ｉｎｐｕｔ要素及びｓｅｌｅｃｔ要素を探索する。次にＳ１５０２に進み、Ｗｅｂブラウザ４００は、Ｓ１５０１で探索された入力要素にスキャン能力クラスが設定されているかどうかを判断する。図８に示したスキャン設定画面ＨＴＭＬ８００の場合、ｃｌａｓｓ属性のカラーとして「Ｓｃａｎ−ｃｏｌｏｒ」、「Ｓｃａｎ−ｇｒａｙ」、「Ｓｃａｎ−ｍｏｎｏ」がある。またフォーマットとして、「Ｓｃａｎ−ｆｏｒｍａｔ−ｊｐｅｇ」、「Ｓｃａｎ−ｆｏｒｍａｔ−ｐｄｆ」、「Ｓｃａｎ−ｆｏｒｍａｔ−ｘｐｓ」がある。更に、解像度として「Ｓｃａｎ−ｄｐｉ−６００」が設定されている入力要素があり、これら入力要素にスキャン能力クラスが設定されている。
【００６６】
Ｓ１５０２で、Ｗｅｂブラウザ４００が、入力要素にスキャン能力クラスが設定されていると判断した場合はＳ１５０３の処理へ進むが、スキャン能力クラスが設定されていないと判断した場合はＳ１５０６の処理へ進む。Ｓ１５０３では、Ｗｅｂブラウザ４００は、入力要素のダミーを生成してＳ１５０４に進む。Ｓ１５０４では、Ｗｅｂブラウザ４００は、その入力要素が、利用可能なスキャン設定かどうかを判断する。例えば図８に示したスキャン設定画面ＨＴＭＬ８００の場合、例えば「Ｓｃａｎ−ｃｏｌｏｒ」クラスが指定されたセレクトボックスの選択肢は利用不可であると判断する。一方で、「Ｓｃａｎ−ｍｏｎｏ」クラスが指定されたセレクトボックスの選択肢は利用可能であると判断する。
【００６７】
こうしてＳ１５０４で、入力要素が利用可能であると判断した場合はＳ１５０５の処理へ進み、入力要素が利用不可であると判断した場合はＳ１５１５の処理へ進む。Ｓ１５０５では、Ｗｅｂブラウザ４００は、Ｓ１５０３で生成したダミーに対して、入力可能な見栄えを表す入力要素ＣＳＳ８２０で定義されたスタイルを適用する。
【００６８】
図１０に示した入力要素ＣＳＳ８２０の場合、例えば利用可能なセレクトボックスの選択肢に対しては、属性セレクタ「ｉｎｐｕｔ［ｔｙｐｅ＝ｓｅｌｅｃｔ］」のプロパティを適用する。Ｓ１５０５の処理の結果、ダミーは選択可能なセレクトボックスの選択肢を表す要素になる。一方、Ｓ１５１５では、Ｗｅｂブラウザ４００は、Ｓ１５０３で生成したダミーの入力要素に対して、入力不可な見栄えを表す入力要素ＣＳＳ８２０で定義されたスタイルを適用する。
【００６９】
図１０に示した入力要素ＣＳＳ８２０の場合、例えば利用できないセレクトボックスの選択肢に対しては、クラスセレクタ「ｄｉｓａｂｌｅｄ  ｓｅｌｅｃｔ」のプロパティを適用する。このＳ１５０５の処理の結果、ダミーの入力要素は、選択不可なセレクトボックスの選択肢を表す要素になる。
【００７０】
こうしてＳ１５０５或いはＳ１５１５を実行した後、Ｓ１５０６に進み、Ｗｅｂブラウザ４００は、スキャン設定画面６００の中に次の入力要素があるか判断する。次の入力要素があると判断した場合はＳ１５０２の処理へ戻るが、次の入力要素がないと判断した場合はＳ１５０７の処理へ進む。Ｓ１５０７では、Ｓ１５０５又はＳ１５１５においてスタイルを適用したダミーの入力要素を、スキャン設定画面６００のドキュメントボディへ追加する。
【００７１】
その結果、図１１に示したように、スキャン設定画面６００中に、読み込みカラーを選択するためのセレクトボックス６１０及びファイルフォーマットを選択するためのラジオボタン６１１が表示される。このとき、Ｓ１５０５又はＳ１５１５で、選択可能又は選択不可のスタイルが適用されることによって、例えば、読み込みカラーの選択肢の内「カラー」は選択不可で表示され、「グレースケース」及び「白黒」は選択可能に表示される。またファイルフォーマットでは、ＪＰＧが選択不可で表示され、ＰＤＦが選択されて表示されている。
【００７２】
このように本実施形態１によれば、サーバ１０２が、各ＭＦＰ１０１毎に設定画面のメニューデータを提供しなくても、ＭＦＰ１０１のＷｅｂブラウザ４００が、ＭＦＰ１０１の能力を判断してメニューデータを変更することができる。このため、Ｗｅｂアプリケーションの開発工数を削減できるという効果がある。
【００７３】
図１６は、実施形態１に係るＭＦＰ１０１のＷｅｂブラウザ４００が入力要素に値を設定する処理を表すフローチャートである。この処理は、スキャン設定画面６００の中のダミーが選択されることにより開始される。より具体的には、Ｗｅｂブラウザ４００は、スキャン設定画面６００のセレクトボックスまたはラジオボタンが選択されたときに処理を開始する。まずＳ１６０１で、Ｗｅｂブラウザ４００は、選択された入力要素が選択可能かどうかを判断する。
【００７４】
図１１に示したスキャン設定画面６００の場合、読み込みカラーの選択肢の内「グレースケール」及び「白黒」、ファイルフォーマットの選択肢の「ＰＤＦ」及び「ＸＰＳ」は選択可能な入力要素である。一方、読み込みカラーの選択肢の内「カラー」、ファイルフォーマットの選択肢の「ＪＰＥＧ」は選択不可な入力要素である。
【００７５】
Ｓ１６０１において、Ｗｅｂブラウザ４００が、ダミーを選択可能であると判断した場合はＳ１６０２の処理へ進み、Ｗｅｂブラウザ４００が、ダミーを選択不可であると判断した場合は処理を終了する。Ｓ１６０２では、Ｗｅｂブラウザ４００は、ダミーに対して選択状態の見栄えを表す入力要素ＣＳＳ８２０で定義されたスタイルを適用する。
【００７６】
図１０に示した入力要素ＣＳＳ８２０の場合、例えば選択状態のセレクトボックスの選択肢に対しては、属性セレクタ「ｉｎｐｕｔ［ｔｙｐｅ＝ｓｅｌｅｃｔ］：ｓｅｌｅｃｔｅｄ」のプロパティを適用する。このＳ１６０２の処理の結果、ダミーは選択状態にあるセレクトボックスの選択肢を表す要素になる。次にＳ１６０３に進み、Ｗｅｂブラウザ４００は、ダミーに対応する入力要素に対して値を設定する。
【００７７】
図１１に示したスキャン設定画面６００の場合、Ｗｅｂブラウザ４００は、例えばファイルフォーマット「ＰＤＦ」が選択されると、スキャン設定画面ＨＴＭＬ８００の中のラジオボタン「ＰＤＦ」のｖａｌｕｅに「ｐｄｆ」を設定する。そして、Ｗｅｂブラウザ４００は、ラジオボタン「ＰＤＦ」の「ｓｅｌｃｅｔｅｄ」属性に、「ｓｅｌｅｃｔｅｄ」を設定して処理を終了する。
【００７８】
この結果、Ｗｅｂブラウザ４００は、スキャン設定画面６００のスキャン開始ボタンが押下されたときに、図１２に示すような、ｆｏｒｍａｔ＝“ｐｄｆ“という情報を含むＨＴＴＰリクエストメッセージをＷｅｂアプリケーション５１０へ送信できる。
【００７９】
図１７は、実施形態１に係るＭＦＰ１０１のＷｅｂブラウザ４００がスキャン設定画面６００のスキャン開始ボタン６１２が押下されたときにスキャン設定をＷｅｂアプリケーション５１０へ送信するまでの処理を説明するフローチャートである。この処理は、スキャン設定画面６００の中のスキャン設定フォーム８４０がｓｕｂｍｉｔされることにより開始される。
【００８０】
まずＳ１７０１で、Ｗｅｂブラウザ４００は、スキャン設定画面６００の中のｈｉｄｄｅｎ要素を探索する。次にＳ１７０２に進み、Ｗｅｂブラウザ４００は、Ｓ１７０１で探索されたｈｉｄｄｅｎ要素に、スキャン設定クラスが指定されているかどうかを判断する。
【００８１】
図８に示したスキャン設定画面ＨＴＭＬ８００の場合、ｃｌａｓｓ属性に「Ｓｃａｎ−ｄｐｉ−６００」が設定された「ｈｉｄｄｅｎ」要素がこれに該当する。Ｓ１７０２で、Ｗｅｂブラウザ４００が、スキャン設定クラスが指定されていると判断した場合はＳ１７０３の処理へ進む。一方、スキャン設定クラスが指定されていないと判断した場合はＳ１７０５の処理へ進む。Ｓ１７０３で、Ｗｅｂブラウザ４００は、ｈｉｄｄｅｎ要素に指定されたスキャン設定クラスが利用可能かどうかを判断する。Ｓ１７０３で、利用可能なクラスであると判断した場合はＳ１７０４の処理へ進み、利用可能なクラスではないと判断した場合はＳ１７１４の処理へ進む。Ｓ１７０４で、Ｗｅｂブラウザ４００は、スキャン設定クラスに対応した値をｈｉｄｄｅｎ要素へ設定してＳ１７０５に進む。例えば、「Ｓｃａｎ−ｄｐｉ−６００」クラスは、解像度６００ｄｐｉで原稿を読み取ることを示すため、スキャナ２２１が解像度６００ｄｐｉで読み込み可能な場合は、Ｗｅｂブラウザ４００はｈｉｄｄｅｎ要素の値に「６００ｄｐｉ」を設定する。
【００８２】
一方、Ｓ１７１４では、Ｗｅｂブラウザ４００は、スキャン設定クラスに対応した値を丸めた値をｈｉｄｄｅｎ要素へ設定してＳ１７０５に進む。例えば、スキャナ２２１が解像度６００ｄｐｉで読み取り不能であるが、３００ｄｐｉでは読み取り可能な場合、Ｗｅｂブラウザ４００はｈｉｄｄｅｎ要素の値に「３００ｄｐｉ」を設定する。
【００８３】
こうしてＳ１７０５で、Ｗｅｂブラウザ４００は、スキャン設定画面６００の中に次のｈｉｄｄｄｅｎ要素があるか否かを判断する。次のｈｉｄｄｅｎ要素があると判断した場合はＳ１７０２の処理へ戻る。一方、次のｈｉｄｄｅｎ要素がないと判断した場合は、スキャン設定フォーム８４０の設定値をＷｅｂアプリケーション５１０へ送信して処理を終了する。
【００８４】
このように本実施形態１によれば、ＭＦＰ１０１のＷｅｂブラウザ４００が、ＭＦＰ１０１の能力を判断して、Ｗｅｂアプリケーション５１０へ送信する設定値を適切に変更する。この結果、Ｗｅｂアプリケーション５１０がジョブ制御部４３０へジョブ制御を要求するとき、ＭＦＰ１０１の能力と一致しないことによって、ジョブの制御に失敗するといった事態が発生しない。
【００８５】
［実施形態２］
次に本発明に係る実施形態２について説明する。実施形態１との差異は、Ｗｅｂブラウザ４００が、スキャン設定画面ＨＴＭＬ８００に記述されたＪａｖａＳｃｒｉｐｔを処理することによってデバイス能力取得及びジョブ制御を実現する点にある。実施形態１との差異について、図１８〜図２０を用いて以下に説明する。
【００８６】
図１８は、本発明の実施形態２に係るＭＦＰ１０１のソフトウェア構成を示す図である。ここで、実施形態１と共通する部分には同じ符号を付している。
【００８７】
実施形態１に係るＭＦＰ１０１のソフトウェア構成との差異は、ＭＦＰ１０１がＨＴＴＰサーバ４１０を備えていない点にある。この実施形態２では、Ｗｅｂブラウザ４００が、デバイス能力記憶部４２０及びジョブ制御部４３０を直接制御する。デバイス能力記憶部４２０及びジョブ制御部４３０は、ＨＴＴＰサーバ４１０より割り当てられたＨＴＴＰリクエストを受信してＨＴＴＰレスポンスを応答することはしない。
【００８８】
図１９は、実施形態２における情報処理システムにより実行される処理シーケンスを説明する図である。実施形態１との差異は、Ｓ１９０１及びＳ１９０２に示す処理であり、前述の実施形態１の図７で示す処理と共通する処理は同じ記号で示し、その説明を省略する。
【００８９】
図７に示したように、実施形態１のＳ７０９〜Ｓ７１２では、Ｗｅｂブラウザ４００が、ＨＴＴＰサーバ４１０へＨＴＴＰリクエストを送信することによって、デバイス能力記憶部４２０が生成するスキャン能力適用ＪａｖａＳｃｒｉｐｔ８３０を取得した。そして、Ｗｅｂブラウザ４００が、スキャン能力適用ＪａｖａＳｃｒｉｐｔ８３０を処理することによってＳ７１３〜Ｓ７１５の処理を実行した。
【００９０】
一方、実施形態２のＳ１９０１では、Ｗｅｂブラウザ４００は、図２０のスキャン設定画面ＨＴＭＬ２０００に記述されたＪａｖａＳｃｒｉｐｔを処理する。これにより、デバイス能力記憶部４２０からスキャン能力を取得して、Ｓ７１３〜Ｓ７１５の処理を実行する。
【００９１】
また実施形態１のＳ７１６〜Ｓ７２３では、Ｗｅｂアプリケーション５１０が、ＨＴＴＰサーバ４１０へＳＯＡＰリクエストを送信することによって、スキャンジョブ制御部４３０へスキャンジョブ生成を要求した。
【００９２】
これに対して実施形態２のＳ１９０２では、Ｗｅｂブラウザ４００が、スキャン設定画面ＨＴＭＬ２０００に記述されたＪａｖａＳｃｒｉｐｔを処理することによって、ジョブ制御部４３０へスキャンジョブの生成を要求する。
【００９３】
図２０は、実施形態２におけるスキャン設定画面ＨＴＭＬ２０００の一例を示す図である。実施形態１との差異は、スキャン能力適用ＪａｖａＳｃｒｉｐｔ２０３０及びスキャン実行ＪａｖａＳｃｒｉｐｔ２０４０である。
【００９４】
実施形態１の図８では、スキャン能力適用ＪａｖａＳｃｒｉｐｔ８３０には、ＨＴＴＰサーバ４１０上の外部ファイルを参照するｓｃｒｉｐｔタグが記述されていた。
【００９５】
これに対して実施形態２の図２０では、スキャン能力適用ＪａｖａＳｃｒｉｐｔ２０３０に、デバイス能力記憶部４２０より取得したスキャン能力に従ってスキャン設定クラスが指定された入力要素を変更するようにＪａｖａＳｃｒｉｐｔが記述されている。
【００９６】
また実施形態２におけるスキャン実行ＪａｖａＳｃｒｉｐｔ２０４０には、スキャン設定フォーム８４０に設定された読み込みカラー、生成フォーマット、及び読み込み解像度がスキャン設定として設定されている。そして、これらスキャン設定に基づいて、ジョブ制御部４３０へジョブ生成を要求するＪａｖａＳｃｒｉｐｔが記述されている。
（他の実施形態）
前述の実施形態１，２では、Ｗｅｂブラウザ４００は、スキャン設定画面６００の入力項目のｃｌａｓｓ属性にスキャン設定クラスを指定されている場合に、その入力項目をスキャン設定項目と判断したが、本発明はこれに限定されない。入力項目のその他の属性、例えばＩＤ属性に指定されたＩＤを識別してスキャン設定項目と判断してもよい。また、スキャン設定画面６００の入力項目の属性指定をＨＴＭＬで記述せず、ＪａｖａＳｃｒｉｐｔで記述してもよい。
【００９７】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014116803.tif 000003
【図２】
2014116803.tif 000004
【図３】
2014116803.tif 000005
【図４】
2014116803.tif 000006
【図５】
2014116803.tif 000007
【図６】
2014116803.tif 000008
【図７】
2014116803.tif 000009
【図８】
2014116803.tif 000010
【図９】
2014116803.tif 000011
【図１０】
2014116803.tif 000012
【図１１】
2014116803.tif 000013
【図１２】
2014116803.tif 000014
【図１３】
2014116803.tif 000015
【図１４】
2014116803.tif 000016
【図１５】
2014116803.tif 000017
【図１６】
2014116803.tif 000018
【図１７】
2014116803.tif 000019
【図１８】
2014116803.tif 000020
【図１９】
2014116803.tif 000021
【図２０】
2014116803.tif 000022