(57)【要約】【課題】  ファイルのアップロードを汎用のＷｅｂブラウザを用いて簡単に行える仕組みを提供することを目的とする。【解決手段】  ネットワークに接続する接続手段（２１８）と、ネットワーク上のＷｅｂサーバから画面データを受信し、当該画面データに基づいて画面を表示するＷｅｂブラウザ（４００）とを備える情報処理装置（１０１）において、Ｗｅｂブラウザが受信する画面データを書き換えるために使用されるスクリプトを保持し、当該スクリプトを使用して画面データが書き換えられた後（Ｓ７１１）、当該書き換えられた画面データに基づいて表示される画面を介したユーザからの指示に応じて、ファイルの生成および当該生成したファイルのアップロードを実行させる（Ｓ７１４及びＳ７１９）。【選択図】  図７
2012185650.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続する接続手段と、
前記ネットワーク上のＷｅｂサーバから画面データを受信し、当該画面データに基づいて画面を表示するＷｅｂブラウザと、
前記Ｗｅｂブラウザが受信する画面データを書き換えるために使用されるスクリプトを保持する保持手段と、
前記スクリプトを使用して画面データが書き換えられた後、当該書き換えられた画面データに基づいて表示される画面を介したユーザからの指示に応じて、ファイルの生成および当該生成したファイルのアップロードを実行させる制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
原稿上の画像を読み取って、当該画像に基づいて画像ファイルを生成する読取手段を更に備え、
前記制御手段は、前記書き換えられた画面データに基づいて表示される画面を介したユーザからの指示に従って、前記読取手段に前記画像ファイルの生成を実行させることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ファイルの生成を制御する第１のＷｅｂサービス手段を更に備え、
前記制御手段は、前記第１のＷｅｂサービス手段に対して前記ファイルの生成を要求することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記生成されたファイルを前記Ｗｅｂサーバにアップロードするアップロード手段を更に備え、
前記制御手段は、前記書き換えられた画面データに基づいて表示される画面を介したユーザからの指示に従って、前記アップロード手段に前記ファイルのアップロードを実行させることを特徴とする請求項１から３のいずれか１項に記載の情報処理装置。
【請求項５】
前記ファイルのアップロードを制御する第２のＷｅｂサービス手段を更に備え、
前記制御手段は、前記第２のＷｅｂサービス手段に対して前記ファイルのアップロードを要求することを特徴とする請求項１から４のいずれか１項に記載の情報処理装置。
【請求項６】
前記保持手段が保持するスクリプトには、第２のスクリプトの取得が定義され、
前記第２のスクリプトには、前記画面データの書き換えが定義されていることを特徴とする請求項１から５のいずれか１項に記載の情報処理装置。
【請求項７】
前記保持手段は、前記Ｗｅｂブラウザのブックマークとして前記スクリプトを保持することを特徴とする請求項１から６のいずれか１項に記載の情報処理装置。
【請求項８】
前記保持手段が保持するスクリプトの実行指示をユーザから受け付ける受付手段を更に備え、
前記実行指示を受け付けたことに応じて、前記保持手段が保持するスクリプトが実行されることを特徴とする請求項１から７のいずれか１項に記載の情報処理装置。
【請求項９】
ネットワークに接続する接続手段と、
前記ネットワーク上のＷｅｂサーバから画面データを受信し、当該画面データに基づいて画面を表示するＷｅｂブラウザと、
前記Ｗｅｂブラウザが受信する画面データを書き換えるために使用されるスクリプトを保持する保持手段と、
前記スクリプトを使用して画面データが書き換えられた後、当該書き換えられた画面データに基づいて表示される画面を介したユーザからの指示に応じて、ファイルの生成および当該生成したファイルのアップロードを実行させる制御手段と、
を備えることを特徴とする情報処理システム。
【請求項１０】
ネットワークに接続する接続手段と、前記ネットワーク上のＷｅｂサーバから画面データを受信し、当該画面データに基づいて画面を表示するＷｅｂブラウザと、を備える情報処理装置の制御方法であって、
前記Ｗｅｂブラウザが受信する画面データを書き換えるために使用されるスクリプトを保持する保持工程と、
前記スクリプトを使用して画面データが書き換えられた後、当該書き換えられた画面データに基づいて表示される画面を介したユーザからの指示に応じて、ファイルの生成および当該生成したファイルのアップロードを実行させる制御工程と、
を備えることを特徴とする情報処理装置の制御方法。
【請求項１１】
請求項１０に記載の情報処理装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Ｗｅｂサーバから画面データを受信し、当該画面データに基づいて画面を表示するＷｅｂブラウザを備える情報処理装置、情報処理システム、情報処理装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
ＰＣなどの情報処理装置がネットワーク上のＷｅｂサーバに接続され、Ｗｅｂサーバにより提供される操作画面を、情報処理装置が備えるＷｅｂブラウザ上に表示することが知られている。最近ではスキャナやプリンタを備えたＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）の中にも、上述したようなＷｅｂブラウザを備えているものがある。ＭＦＰは、Ｗｅｂサーバにより提供される操作画面をＭＦＰのＷｅｂブラウザに表示し、ユーザからの各種指示を受け付ける。
【０００３】
そして、ＭＦＰのＷｅｂブラウザで表示される操作画面を介してユーザが各種指示を行うことにより、ＭＦＰのスキャナやプリンタを制御する技術が知られている。特許文献１では、Ｗｅｂアプリケーションによって提供された操作画面にファイルアップロード（ＲＦＣ１８６７に従う）が定義されている場合、ユーザの送信指示を受けて、ＭＦＰがスキャナを制御してファイルを生成し、Ｗｅｂサーバへアップロードする。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−１４９３２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の場合、ＭＦＰのＷｅｂブラウザがスキャナを制御することを可能とするために、汎用のＷｅｂブラウザをＭＦＰ用にカスタマイズしてＭＦＰに搭載しなければならない。そのため、ＭＦＰ毎にＷｅｂブラウザの種類が異なる場合、ＭＦＰ毎にＷｅｂブラウザの拡張実装をしなければならず、開発コストが大きくなるという課題がある。特に最近は、ＭＦＰの操作部にタブレットＰＣを使用するといった構成も存在し、より多様なＷｅｂブラウザに対応していかなければならなくなっている。
【０００６】
本発明は、上記の問題点に鑑みなされたものであり、ファイルのアップロードを汎用のＷｅｂブラウザを用いて簡単に行える仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために本発明の情報処理装置は、ネットワークに接続する接続手段と、前記ネットワーク上のＷｅｂサーバから画面データを受信し、当該画面データに基づいて画面を表示するＷｅｂブラウザと、前記Ｗｅｂブラウザが受信する画面データを書き換えるために使用されるスクリプトを保持する保持手段と、前記スクリプトを使用して画面データが書き換えられた後、当該書き換えられた画面データに基づいて表示される画面を介したユーザからの指示に応じて、ファイルの生成および当該生成したファイルのアップロードを実行させる制御手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、ファイルのアップロードを汎用のＷｅｂブラウザを用いて簡単に行える仕組みを提供することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態における情報処理システムの全体図である。
【図２】本発明の実施形態におけるＭＦＰ１０１の構成を示すブロック図である。
【図３】本発明の実施形態におけるサーバ１０２の構成を示すブロック図である。
【図４】本発明の実施形態におけるＭＦＰ１０１のソフトウェア構成を示す図である。
【図５】本発明の実施形態におけるサーバ１０２のソフトウェア構成を示す図である。
【図６】本発明の実施形態におけるＭＦＰ１０１の画面遷移を示す図である。
【図７】本発明の実施形態における情報処理システムの処理シーケンスを示す図である。
【図８】本発明の実施形態におけるファイルアップロード画面の一例を示す図である。
【図９】本発明の実施形態におけるブックマークレットの一例を示す図である。
【図１０】本発明の実施形態におけるスキャン要求の一例を示す図である。
【図１１】本発明の実施形態におけるアップロード要求の一例を示す図である。
【図１２】本発明の実施形態におけるファイルアップロード要求の一例を示す図である。
【図１３】本発明の実施形態におけるファイルアップロード完了応答の一例を示す図である。
【図１４】本発明の実施形態におけるＷｅｂブラウザ４００がＪａｖａＳｃｒｉｐｔを処理してドキュメントを書き換える処理の流れを表すフローチャートである。
【図１５】本発明の実施形態におけるＷｅｂブラウザ４００がＪａｖａＳｃｒｉｐｔを処理してスキャンファイルを生成する処理の流れを表すフローチャートである。
【図１６】本発明の実施形態におけるＷｅｂブラウザ４００がＪａｖａＳｃｒｉｐｔを処理してアップロード要求を生成する処理の流れを表すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施の形態を詳しく説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１１】
（第１の実施形態）
本発明に係る第１の実施形態について説明する。第１の実施形態では、ブックマークレットを用いて画面データ（ＨＴＭＬデータ）を書き換えることにより、ファイル参照ボタンの押下に応じて原稿をスキャンしてファイルを生成し、送信ボタンの押下に応じてファイルをアップロードすることを可能とする。
【００１２】
図１は、第１の実施形態における情報処理システムの全体図である。ＬＡＮ１１０上（ネットワーク上）には、ＭＦＰ１０１、サーバ１０２（Ｗｅｂサーバ）が互いに通信可能に接続されている。
図２は、ＭＦＰ１０１の構成を示すブロック図である。ＣＰＵ２１１を含む制御部２１０は、ＭＦＰ１０１全体の動作を制御する。ＣＰＵ２１１は、ＲＯＭ２１２に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御を行う。ＲＡＭ２１３は、ＣＰＵ２１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。
【００１３】
ＨＤＤ２１４は、画像データや各種プログラムを記憶する。操作部Ｉ／Ｆ２１５は、操作部２１９と制御部２１０とを接続する。操作部２１９には、タッチパネル機能を有する液晶表示部やキーボードなどが備えられている。また、ＭＦＰ１０１には後述するＷｅｂブラウザ機能が備えられており、ＭＦＰ１０１のＷｅｂブラウザはサーバ１０２から受信したＨＴＭＬデータを解析し、受信したＨＴＭＬデータの記述に基づく操作画面を操作部２１９の液晶表示部に表示する。
【００１４】
プリンタＩ／Ｆ２１６は、プリンタ２２０と制御部２１０とを接続する。プリンタ２２０で印刷すべき画像データはプリンタＩ／Ｆ２１６を介して制御部２１０から転送され、プリンタ２２０において記録媒体上に印刷される。
スキャナＩ／Ｆ２１７は、スキャナ２２１と制御部２１０とを接続する。スキャナ２２１は、原稿上の画像を読み取って画像データ（画像ファイル）を生成し、スキャナＩ／Ｆ２１７を介して制御部２１０に入力する。
ネットワークＩ／Ｆ２１８は、制御部２１０（ＭＦＰ１０１）をＬＡＮ１１０に接続する。ネットワークＩ／Ｆ２１８は、ＬＡＮ１１０上の外部装置（例えば、サーバ１０２）に画像データや情報を送信したり、ＬＡＮ１１０上の外部装置から各種情報を受信したりする。
【００１５】
図３は、サーバ１０２の構成を示すブロック図である。ＣＰＵ３１１を含む制御部３１０は、サーバ１０２全体の動作を制御する。ＣＰＵ３１１は、ＲＯＭ３１２に記憶された制御プログラムを読み出して各種制御処理を実行する。ＲＡＭ３１３は、ＣＰＵ３１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ３１４は、画像データや各種プログラムを記憶する。
ネットワークＩ／Ｆ３１５は、制御部３１０（サーバ１０２）をＬＡＮ１１０に接続する。ネットワークＩ／Ｆ３１５は、ＬＡＮ１１０上の他の装置との間で各種情報を送受信する。
【００１６】
図４は、ＭＦＰ１０１のソフトウェア構成を説明するための図である。図４に示す各機能部は、ＭＦＰ１０１が有しているＣＰＵ２１１が制御プログラムを実行することにより実現される。
ＭＦＰ１０１は、Ｗｅｂブラウザ４００、ＨＴＴＰサーバ４１０、及びジョブ制御部４２０を備えている。
Ｗｅｂブラウザ４００は、ＨＴＴＰプロトコルにしたがってリクエストを送信してレスポンスを受信する。そして、受信したレスポンスを解析して、操作画面を表示する。
Ｗｅｂブラウザ４００は、ＪａｖａＳｃｒｉｐｔエンジン４０１およびブックマークレット４０２を有する。ＪａｖａＳｃｒｉｐｔエンジン４０１は、受信したレスポンスに含まれるＪａｖａＳｃｒｉｐｔを処理する。Ｗｅｂブラウザ４００は、ＪａｖａＳｃｒｉｐｔを処理することにより、ＨＴＴＰ通信することなくＨＴＭＬデータを書き換えたり、各種ＷｅｂサービスへＨＴＴＰリクエストを送信したりすることができる。ブックマークレット４０２は、Ｗｅｂブラウザ４００のブックマークに登録されたＪａｖａＳｃｉｐｔアプリケーションである。ブックマークよりブックマークレット４０２が選択されると、ＪａｖａＳｃｒｉｐｔエンジン４０１はブックマークレット４０２を処理する。
【００１７】
ＨＴＴＰサーバ４１０は、Ｗｅｂブラウザ４００からのリクエストを受信して、ＨＴＭＬデータやＪａｖａＳｃｒｉｐｔファイルなどを応答したり、ＷｅｂサービスへＷｅｂブラウザ４００からのリクエストを送信したりする。
ＨＴＴＰサーバ４１０が公開するＷｅｂサービスには、スキャンＷｅｂサービス４１１、およびアップロードＷｅｂサービス４１２がある。スキャンＷｅｂサービス４１１、およびアップロードＷｅｂサービス４１２は、ＷｅｂアプリケーションからＨＴＴＰリクエストを受信し、ＷｅｂアプリケーションへＨＴＴＰレスポンスを応答する。Ｗｅｂアプリケーション以外にも、ＪａｖａＳｃｒｉｐｔエンジン４０１がブックマークレットを処理することに従って、Ｗｅｂブラウザ４００からリクエストが送信され、Ｗｅｂブラウザ４００へレスポンスを応答する場合もある。
スキャンＷｅｂサービス４１１（第１のＷｅｂサービス）は、受信したＨＴＴＰリクエストを解析して、ＭＦＰ１０１のスキャナ２１１を制御して原稿上の画像を読み取って画像ファイルを生成するためのジョブ制御命令を生成する。そして、ジョブ制御部４２０にジョブ制御を指示する。また、ジョブ制御部４２０のジョブ完了通知を受けて、ＨＴＴＰレスポンスを応答する。
【００１８】
アップロードＷｅｂサービス４１２（第２のＷｅｂサービス）は、受信したＨＴＴＰリクエストを解析して、ｍｕｌｔｉｐａｒｔ／ｆｏｒｍ−ｄａｔａでエンコードしたデータを生成する。そして、生成したデータをリクエストとしてＷｅｂアプリケーションへ送信して、Ｗｅｂアプリケーションより送信完了画面を受信する。本実施の形態では、スキャンＷｅｂサービスが送信するスキャン画像を受信して、Ｗｅｂアプリケーションへアップロードする。アップロードＷｅｂサービス４１２は、送信完了画面をＨＴＴＰレスポンスとして応答する。
ジョブ制御部４２０は、指示されるジョブ制御命令を処理することによって、プリンタ２３０による印刷処理、スキャナ２２１による読取処理、或いはネットワークＩ／Ｆ２１８を介した送信処理などを実行する。また、ジョブ処理が完了すると、指示元に対してジョブ処理完了を通知する。
【００１９】
図５は、サーバ１０２のソフトウェア構成を説明するための図である。図５に示す各機能部は、サーバ１０２が有しているＣＰＵ３１１が制御プログラムを実行することにより実現される。
サーバ１０２は、ＨＴＴＰサーバ５００、およびデータベース５１０を備えている。ＨＴＴＰサーバ５００は、Ｗｅｂブラウザ４００からのリクエストを受信して、ＨＴＭＬデータやＪａｖａＳｃｒｉｐｔファイルなどを応答したり、Ｗｅｂアプリケーション５０１へＷｅｂブラウザ４００からのリクエストを送信したりする。
Ｗｅｂアプリケーション５０１は、Ｗｅｂブラウザ４２０からのリクエストに応じて、Ｗｅｂブラウザ４２０で表示すべきＨＴＭＬデータを生成する。また、フォーム認証要求を処理してセッション情報を表すクッキーを発行する。また、ファイルアップロード要求を処理してデータベース５１０にデータを登録する。生成されたＨＴＭＬデータやクッキーはＨＴＴＰレスポンスとしてＷｅｂブラウザ４２０へ送信する。
データベース５１０は、Ｗｅｂアプリケーション５０１の認証情報を管理したり、Ｗｅｂブラウザ４００よりＷｅｂアプリケーション５０１へアップロードされるデータを管理したりする。
【００２０】
ここまでで本実施形態におけるシステム構成の概要を説明した。引き続き、本実施形態におけるシステムの処理の概要を説明する。
【００２１】
図６は、本実施形態における情報処理システムにおけるＷｅｂブラウザ４００の画面遷移の一例を示す図である。まず、Ｗｅｂブラウザ４００の画面構成について説明する。図６中の操作画面に示すように、Ｗｅｂブラウザ４００は、タイトルバー、ＵＲＬバー、ブックマークボタン、およびコンテンツ表示領域を含む。タイトルバーは、ＨＴＭＬデータのタイトルを表示する領域である。ＵＲＬバーは、表示するコンテンツのＵＲＬを、入力または表示する領域である。ブックマークボタンは、予めＷｅｂブラウザ４００に登録され、保持されているブックマークを呼び出すためのボタンである（ユーザからの実行指示の受付）。
図６の場合、“スキャン”という名称でＪａｖａＳｃｒｉｐｔがブックマークに登録されている。ブックマークに登録されるＪａｖａＳｃｒｉｐｔはブックマークレットと呼ばれる。ブックマークレットに記述されるＪａｖａＳｃｒｉｐｔの具体的な内容については図９を用いて後述する。コンテンツ表示領域は、指定されたＵＲＬ先のコンテンツを表示する領域である。
【００２２】
次に、各操作画面の内容と画面遷移について説明する。図６中の操作画面のうち、６０１から６０４はＷｅｂアプリケーション５０１が応答するコンテンツ（画面データ）をＷｅｂブラウザ４００が処理して表示する操作画面である。一方、６１３から６１５は、Ｗｅｂブラウザ４００がブックマークレットを処理することによって、Ｗｅｂアプリケーション５０１が応答するコンテンツ（画面データ）を書き換えて表示する操作画面である。
ログイン画面６０１は、ユーザＩＤとパスワードを入力してＷｅｂアプリケーション５０１へ認証するための画面である。ログイン画面６０１は、ユーザＩＤフィールド、パスワードフィールド、およびログインボタンを含む。ユーザＩＤフィールドにはＷｅｂアプリケーション５０１での認証に必要なユーザＩＤが入力される。パスワードフィールドにはＷｅｂアプリケーション５０１での認証に必要なパスワードが入力される。ログインボタンは、入力されたユーザＩＤおよびパスワードに基づいてＷｅｂアプリケーション５０１へ認証を要求するためのボタンである。Ｗｅｂブラウザ４００は、ログインボタンが押下されると、Ｗｅｂアプリケーション５０１が認証に成功した場合に限りメニュー画面へ遷移する。
【００２３】
メニュー画面６０２は、Ｗｅｂアプリケーション５０１が提供するドキュメント管理機能を利用するためのメニュー画面である。Ｗｅｂアプリケーション５０１が提供するドキュメント管理機能には、フォルダ作成、ファイルアップロード、ファイル削除の機能がある。メニュー画面６０２は各種機能ボタンおよびログアウトボタンを含む。また、Ｗｅｂアプリケーションが管理するドキュメントフォルダの一覧、およびドキュメントファイルの一覧を表示する。Ｗｅｂブラウザ４００は、機能ボタンが押下されると、選択された機能に対応した操作画面に遷移する。また、ログアウトボタンが押下されると、ログイン画面６０１へ遷移する。
【００２４】
ファイルアップロード画面６０３は、ファイルをアップロードするための操作画面である。操作画面６０３は、ファイル名入力フィールド、ファイル参照ボタン、アップロードボタン、および戻るボタンを含む。Ｗｅｂブラウザ４００は、ファイル参照ボタンが押下されると、ファイル選択画面６０４を表示する。また、アップロードボタンが押下されると、参照ボタンより選択された画像データをｍｕｌｔｉｐａｒｔ／ｆｏｒｍ−ｄａｔａでエンコードしてＷｅｂアプリケーション５０１へアップロードする。Ｗｅｂブラウザ４００はアップロード処理が完了するとメニュー画面６０２へ遷移する。また、戻るボタンが押下された場合、メニュー画面６０２へ遷移する。また、ブックマークボタンが押下された場合、Ｗｅｂブラウザ４００は、ブックマークレットを処理してスキャンアップロード画面６１３へ遷移する。
【００２５】
ファイル選択画面６０４は、ＭＦＰ１０１のＨＤＤ２１４に格納された画像データを選択するためのファイル選択ダイアログを表示する操作画面である。ファイル選択ダイアログは、ファイルリスト、ＯＫボタン、および戻るボタンを含む。Ｗｅｂブラウザ４００は、ファイルリストよりファイル名が選択されてＯＫボタンが押下されると、操作画面６０３へ遷移する。そしてＷｅｂブラウザ４００は、操作画面６０３中のファイル名入力フィールドにファイル選択ダイアログで選択されたファイル名を表示する。また、Ｗｅｂブラウザ４００は、戻るボタンが押下されると、ファイル選択を中止して操作画面６０３へ遷移する。
【００２６】
スキャンアップロード画面６１３は、スキャンして生成されたファイルをアップロードするための操作画面である。図６に示すように、ファイルアップロード画面６０３に“スキャンできます”メッセージが追加される。メッセージは、Ｗｅｂブラウザ４００がブックマークレットを処理した結果表示される。また、Ｗｅｂブラウザ４００は、ブックマークレットを処理した結果、ファイル参照ボタン、およびアップロードボタン押下した場合の処理内容も変更する。その結果、Ｗｅｂブラウザ４００は、参照ボタンが押下されると、ファイル選択画面６０４を表示するのではなく、スキャン画面６１４を表示する。また、アップロードボタンが押下されると、Ｗｅｂアプリケーション５０１へファイルアップロードするのではなく、アップロードＷｅｂサービス４１２へアップロード要求を送信する。アップロードＷｅｂサービス４１２がアップロード完了を応答すると、メニュー画面６０２へ遷移する。また、戻るボタンが押下された場合は、メニュー画面６０２へ遷移する。
【００２７】
スキャン画面６１４は、ＭＦＰ１０１のスキャナ２１１を制御して原稿を読み取りファイルを生成するためのスキャンダイアログを表示する操作画面である。スキャンダイアログは、ファイル名入力フィールド、スキャン開始ボタン、および戻るボタンを含む。ファイル名入力フィールドには、原稿を読み取って生成するファイル名が入力される。ファイル名が入力されてスキャン開始ボタンが押下されると、Ｗｅｂブラウザ４００は、スキャンＷｅｂサービス４１１へスキャン要求を送信する。スキャンＷｅｂサービス４１１がファイル生成完了を応答すると、スキャン完了画面６１５へ遷移する。また、戻るボタンが押下された場合は、スキャンアップロード画面６１３へ遷移する。
スキャン完了画面６１５は、原稿を読み取りファイル生成が完了したことを示す操作画面である。戻るボタンを押下された場合、スキャンアップロード画面６１３へ遷移する。
【００２８】
図７を用いて、本実施形態における情報処理システムの、スキャンしてファイルをアップロードするまでの処理シーケンスを説明する。ステップＳ７０１からＳ７０８はＷｅｂアプリケーション５０１へログインしてファイルアップロード画面を表示する処理である。ステップＳ７０９からＳ７１１はブックマークレットを処理してＷｅｂアプリケーション５０１のコンテンツ（画面データ）を書き換える処理である。ステップＳ７１２からＳ７１６は、スキャンファイルを生成する処理である。ステップＳ７１７からＳ７２６は、Ｗｅｂアプリケーション５０１へファイルをアップロードする処理である。
ステップＳ７０１では、Ｗｅｂブラウザ４００が操作画面の取得を要求するＨＴＴＰリクエストをＷｅｂアプリケーション５０１へ送信する。
ステップＳ７０２では、Ｗｅｂアプリケーション５０１がログイン画面６０１を応答するＨＴＴＰレスポンスをＷｅｂブラウザ４００へ送信する。
【００２９】
続いて、ログイン画面６０１のログインボタンが押下されると、ステップＳ７０３の処理を開始する。ステップＳ７０３では、Ｗｅｂブラウザ４００がログインを要求するＨＴＴＰリクエストをＷｅｂアプリケーション５０１へ送信する。
ステップＳ７０４では、Ｗｅｂアプリケーション５０１は、Ｗｅｂブラウザ４００から送信された認証情報に基づいて認証処理を行う。認証処理に成功した場合、セッション情報を表すクッキーを生成する。そして、Ｗｅｂアプリケーション５０１はＷｅｂブラウザ４００に対して、生成したクッキーの設定、およびメニュー画面６０２へのリダイレクトを指示するＨＴＴＰレスポンスを送信する。
【００３０】
ステップＳ７０５では、Ｗｅｂブラウザ４００がメニュー画面６０２を要求するＨＴＴＰリクエストをＷｅｂアプリケーション５０１へ送信する。このときＷｅｂブラウザ４００は、ステップＳ７０４で応答されたクッキー設定指示に従ってクッキーをＨＴＴＰリクエストに設定する。
ステップＳ７０６では、Ｗｅｂアプリケーション５０１がメニュー画面６０２を応答するＨＴＴＰレスポンスをＷｅｂブラウザ４２０へ送信する。Ｗｅｂアプリケーション５０１は、Ｗｅｂブラウザ４００からのＨＴＴＰリクエストに有効なクッキーが設定されていることを判断した上で、メニュー画面６０２を応答する。仮に有効なクッキーが設定されていない場合は、ステップＳ７０２と同じくログイン画面６０１を応答する。以降の処理においても、Ｗｅｂブラウザ４００はクッキーを設定したＨＴＴＰリクエストをＷｅｂアプリケーション５０１へ送信する。
【００３１】
続いて、メニュー画面６０２のファイルアップロード機能ボタンが押下されると、ステップＳ７０７の処理を開始する。ステップＳ７０７では、Ｗｅｂブラウザ４００がファイルアップロード画面６０３を要求するＨＴＴＰリクエストをＷｅｂアプリケーション５０１へ送信する。
ステップＳ７０８では、Ｗｅｂアプリケーション５０１がファイルアップロード画面６０３を応答するＨＴＴＰレスポンスを送信する。図８に、ステップＳ７０８で送信されるＨＴＴＰレスポンスのメッセージボディの一例を示す。メッセージボディにはファイルアップロード画面がＨＴＭＬ形式で記述されている。図８のＨＴＭＬデータでは、送信ボタン“アップロード”が押下されると、フォーム構成要素をｍｕｌｔｉｐａｒｔ／ｆｏｒｍ−ｄａｔａでエンコードして、Ｗｅｂアプリケーション５０１の“ＵｐｌｏａｄＦｉｌｅ”が示す送信先へ送信することが表されている。また、送信されるフォーム構成要素は、フォルダ名“交通費精算／２０１１年２月”、およびファイル参照ボタンで指定されたファイルであることが表されている。
【００３２】
以上が、Ｗｅｂアプリケーション５０１へログインしてファイルアップロード画面６０３を表示するまでの処理である。続いて、ブックマークよりブックマークレット４０２が選択されると、Ｗｅｂブラウザ４００がＪａｖａＳｃｒｉｐｔエンジン４０２によってブックマークレットを処理して、ステップＳ７０９からステップＳ７１１の処理を実行する。図９に、ブックマークレットの一例を示す。ブックマークレットはＪａｖａＳｃｒｉｐｔで記述されている。図９に示すブックマークレットは、“ｈｔｔｐｓ：／／１９２．１６８．０．１：８４４３／ｊｓ／ｓｃａｎ．ｊｓ”の示すＪａｖａＳｃｒｉｐｔファイルをソースとするスクリプト要素（第２のスクリプト）をドキュメントに追加することを表している。なお、“１９２．１６８．０．１”はローカルホストを表す。また、ここでのドキュメントとは、Ｗｅｂブラウザ４００が受信する画面データのことを意味する。
【００３３】
ステップＳ７０９では、Ｗｅｂブラウザ４００がＨＴＴＰサーバ４１０へＪａｖａＳｃｒｉｐｔファイルの取得を要求するＨＴＴＰリクエストを送信する。
ステップＳ７１０では、ＨＴＴＰサーバ４１０がＪａｖａＳｃｒｉｐｔファイルを応答するＨＴＴＰレスポンスを送信する。
ステップＳ７１１では、Ｗｅｂブラウザ４００がＪａｖａＳｃｒｉｐｔファイルをスクリプト要素としてドキュメントに追加する。ＨＴＴＰサーバ４１０から取得するＪａｖａＳｃｒｉｐｔファイルには、ＪａｖａＳｃｒｉｐｔファイルのロードが完了するとドキュメントを構成する各種要素を書き換える処理が定義されている。Ｗｅｂブラウザ４００は、ＪａｖａＳｃｒｉｐｔファイルを読み込むと、現在表示しているファイルアップロード画面６０３のドキュメント要素を書き換えてスキャンアップロード画面６１３を表示する。ドキュメント要素書き換え処理の詳細については図１４を用いて後述する。Ｗｅｂブラウザ４００は、ドキュメント要素書き換え処理の結果、ファイルアップロード画面のファイル参照ボタンが押下されると原稿をスキャンしてファイルを生成し、送信ボタンが押下されるとファイルをアップロードすることを実現する。
スキャンアップロード画面６１３のファイル参照ボタンが押下されると、ステップＳ７１２の処理を開始する。ステップＳ７１２では、Ｗｅｂブラウザ４００はスキャン画面６１４を表示する。
【００３４】
続いて、スキャン画面６１４のスキャン開始ボタンが押下されると、ステップＳ７１３の処理を開始する。ステップＳ７１３では、Ｗｅｂブラウザ４００がスキャン要求を生成する。図１０にスキャン要求の一例を示す。スキャン要求はスキャンＷｅｂサービスへ送信されるＨＴＴＰリクエストである。図１０の場合、ホスト“１９２．１６８．０．１：８４４３”および相対ＵＲＩ“／ｓｃａｎ／ｐｏｓｔ”が示すスキャンＷｅｂサービス４１１に対する要求が定義されている。要求内容は、スキャンサイズ自動、フルカラー、および片面読みの設定で原稿をスキャンし、“２月６日．ｐｄｆ”というファイル名でファイル生成することとなっている。本発明の実施形態では、スキャンサイズ、カラー、片面両面読み、およびファイル名のみを指定するスキャン要求を示したが、本発明はこれに限定されない。その他のスキャン設定や、ファイルフォーマット設定、保存先設定を指定するスキャン要求であってもよい。また、本発明の実施形態では、スキャン画面６１４に示したようにファイル名のみユーザ指定可能としたが、本発明はこれに限定されない。各種スキャン設定、ファイルフォーマット設定、保存先設定を、スキャン画面６１４により入力可能としてもよい。
【００３５】
ステップＳ７１４では、Ｗｅｂブラウザ４００がスキャンＷｅｂサービス４１１へスキャン要求を送信する。
ステップＳ７１５では、スキャンＷｅｂサービス４１１がジョブ制御部４２０にジョブ制御にジョブ生成を指示する。
続いて、ジョブ制御部４２０よりジョブ完了が通知されると、ステップＳ７１６の処理を開始する。ステップＳ７１６では、スキャンＷｅｂサービス４１１がＷｅｂブラウザ４００へスキャン完了を応答するＨＴＴＰリクエストを送信する。
【００３６】
続いて、スキャン完了画面６１５の戻るボタンが押下されると、ステップＳ７１７の処理を開始する。ステップＳ７１７では、Ｗｅｂブラウザ４１１がファイルアップロード画面６１３を表示する。このとき、Ｗｅｂブラウザ４００は、スキャン画面６１４に入力されたファイル名をスキャンアップロード画面６１３のファイル名入力フィールドに自動的に設定する。
【００３７】
続いて、スキャンアップロード画面６１３のアップロードボタンが押下されると、ステップＳ７１８の処理を開始する。ステップＳ７１８では、Ｗｅｂブラウザ４００がアップロード要求を生成する。図１１にアップロード要求の一例を示す。アップロード要求はアップロードＷｅｂサービス４１２へ送信されるＨＴＴＰリクエストである。図１１の場合、ホスト“１９２．１６８．０．１：８４４３”および相対ＵＲＩ“／ｕｐｌｏａｄ／ｍｕｌｔｉｐａｒｔ”が示すアップロードＷｅｂサービスに対する要求が定義されている。要求内容は、ファイル名“２月６日．ｐｄｆ”が示すファイル、およびフォルダ名“交通費精算／２０１１年２月”をｍｕｌｔｉｐａｒｔ／ｆｏｒｍ−ｄａｔａでエンコードして、ＵＲＩ“ｈｔｔｐｓ：／／ｄｏｃｓ．ｘｘｘ．ｙｙｙ／ｕｐｌｏａｄ／ＵｐｌｏａｄＦｉｌｅ”の示すＷｅｂアプリケーション５０１へアップロードすることとなっている。また、Ｗｅｂアプリケーション５０１へアップロードするために必要なクッキーおよびファイルアップロード画面の文字セットを送信する。
【００３８】
ステップＳ７１９では、Ｗｅｂブラウザ４００がアップロード要求をアップロードＷｅｂサービス４１２へ送信する。Ｗｅｂブラウザ４００がアップロード要求を生成して送信するまでの処理の詳細については図１６を用いて後述する。
ステップＳ７２０では、アップロードＷｅｂサービス４１２がスキャンＷｅｂサービスに対してファイル名を指定してファイル取得を要求する。
ステップＳ７２１では、スキャンＷｅｂサービス４１１がスキャンＷｅｂサービスに対して指定されたファイル名のファイルを応答する。このとき応答するファイルは、ステップＳ７１５で生成したファイルである。
【００３９】
本発明の実施形態では、アップロードＷｅｂサービスがスキャンＷｅｂサービスに対してスキャンして生成したファイルを要求するとしたが、本発明はこれに限定されない。スキャンＷｅｂサービス４１１がＨＴＴＰサーバ４１０へファイルを送信し、アップロードＷｅｂサービス４１２がＨＴＴＰサーバ４１０へファイルの取得を要求してもよい。またスキャンＷｅｂサービス４１１がスキャンして生成したファイルをアップロードＷｅｂサービス４１２へ送信してもよい。
【００４０】
ステップＳ７２２では、アップロードＷｅｂサービス４１２がファイルアップロード要求を生成する。図１２にファイルアップロード要求の一例を示す。ファイルアップロード要求はＷｅｂアプリケーション５０１へ送信されるｍｕｌｔｉｐａｒｔ／ｆｏｒｍ−ｄａｔａでエンコードされたＨＴＴＰリクエストである。図１２に示す通り、ＨＴＴＰリクエストは、Ｗｅｂブラウザ４００より要求されたファイル名及びフォルダ名（ステップＳ７１８）、及びスキャンＷｅｂサービス４１１より応答されたファイル（ステップＳ７２１）のバイナリデータでデータパートを形成している。また、メッセージボディは、Ｗｅｂブラウザ４００より要求された文字セット（ステップＳ７２１）でエンコードされている。また、リクエストヘッダには、Ｗｅｂブラウザ４００より要求されたクッキー（ステップＳ７２１）が設定されている。
【００４１】
ステップＳ７２３では、アップロードＷｅｂサービス４１２がステップＳ７２２で生成したファイルアップロード要求をＷｅｂアプリケーション５０１へ送信する。
ステップＳ７２４では、Ｗｅｂアプリケーション５０１はファイルアップロード完了を応答するＨＴＴＰレスポンスをアップロードＷｅｂサービス４１２へ送信する。図１３にＨＴＴＰレスポンスの一例を示す。図１３に示すように、ＨＴＴＰレスポンスは“ｈｔｔｐｓ：／／ｄｏｃｓ．ｘｘｘｙ．ｙｙｙ／ｍｅｎｕ”が示すＷｅｂアプリケーション５０１のメニュー画面６０２へのリダイレクトを指示している。
ステップＳ７２５では、アップロードＷｅｂサービス４１２が、ステップＳ７２４でＷｅｂアプリケーション５０１より応答されたＨＴＴＰレスポンスをＷｅｂブラウザ４００へ転送する。このＨＴＴＰレスポンスはステップＳ７１９で送信したＨＴＴＰリクエストの応答である。
ステップＳ７２６では、Ｗｅｂブラウザ４００が、ステップＳ７２５で応答されたＨＴＴＰレスポンスの内容を解釈した結果、Ｗｅｂアプリケーション５０１に対してメニュー画面６０２取得を要求するＨＴＴＰリクエストを送信する。
ステップＳ７２７では、Ｗｅｂアプリケーション５０１はメニュー画面６０２をアップロードＷｅｂサービス４１２へ応答する。この結果、Ｗｅｂブラウザ４００はメニュー画面６０２を表示することが可能となる。
【００４２】
続いて、図１４から１６に示すフローチャートを用いて、Ｗｅｂブラウザ４００のＪａｖａＳｃｒｉｐｔ処理の流れを説明する。図１４から１６に示す処理は全て、Ｗｅｂブラウザ４００がＪａｖａＳｃｒｉｐｔエンジン４０１を制御してＪａｖａＳｃｒｉｐｔを処理することにより実現される。
【００４３】
図１４は、Ｗｅｂブラウザ４００がＪａｖａＳｃｒｉｐｔを処理してドキュメント（画面データ）を書き換える処理の流れを表すフローチャートである。Ｗｅｂブラウザ４００は、ブックマークレット４０２を処理した結果ＪａｖａＳｃｒｉｐｔをドキュメント要素にロード完了すると処理の流れを開始する。
ステップＳ１４０１では、ドキュメントを構成するｆｏｒｍ要素を全て取得する。続いて、ステップＳ１４０１で取得した全てのｆｏｒｍ要素について、ステップＳ１４０２からＳ１４１４までの処理を繰り返す。
ステップＳ１４０２では、ｆｏｒｍ要素のエンコードタイプがｍｕｌｔｉｐａｒｔ／ｆｏｒｍ−ｄａｔａかどうかを判断する。エンコードタイプがｍｕｌｔｉｐａｒｔ／ｆｏｒｍ−ｄａｔａである場合はステップＳ１４０３の処理へ進む。エンコードタイプがｍｕｌｔｉｐａｒｔ／ｆｏｒｍ−ｄａｔａでない場合は、次のフォーム要素についてステップＳ１４０２からＳ１４１４までの処理を繰り返す。
ステップＳ１４０３ではｆｏｒｍ要素を構成する要素を取得する。具体的には、ｉｎｐｕｔ要素、ｓｅｌｅｃｔ要素、およびｔｅｘｔａｒｅａ要素などが挙げられる。
【００４４】
続いて、ステップＳ１４０３で取得した全てのｆｏｒｍ構成要素について、ステップＳ１４０４からＳ１４１１までの処理を繰り返す。ステップＳ１４０４では、ｆｏｒｍ構成要素がｉｎｐｕｔ要素のタイプｆｉｌｅである場合、ステップＳ１４０５の処理へ進む。そうでない場合、次のｉｎｐｕｔ要素についてステップＳ１４０４からＳ１４１１までの処理を繰り返す。
ステップＳ１４０５ではｆｏｒｍ構成要素（タイプｆｉｌｅ）のクローンノードを生成する。ステップＳ１４０６ではクローンノードのタイプをｈｉｄｄｅｎに設定する。
ステップＳ１４０７ではｓｐａｎ要素を生成する。ステップＳ１４０８では、ステップＳ１４０７で生成したｓｐａｎ要素の子要素として、ｉｎｐｕｔ要素のタイプｔｅｘｔおよびタイプｂｕｔｔｏｎを追加する。このｂｕｔｔｏｎ要素には、ボタンが押下されると前述のスキャンダイアログを表示するようイベント処理が追加してある。そしてステップＳ１４１０でｓｐａｎ要素をｆｏｒｍ構成要素（ｉｎｐｕｔ要素タイプｆｉｌｅ）と置換する。ステップＳ１４０７からＳ１４１０までの処理の結果、ファイルアップロード画面６０３のファイル参照ボタンは、スキャンダイアログを表示するためのスキャンボタンへと変更される。また、ファイルアップロード画面６０３のファイル名入力フィールドは、ＪａｖａＳｃｒｉｐｔよりファイル名を入力可能なテキストフィールドへと変更される。以下、このｓｐａｎ要素をダミーノードと呼ぶ。
ステップＳ１４１１では前述のクローンノードをｆｏｒｍ要素の子要素として追加する。図８に示すｃｈｅｃｋ関数のようにｆｏｒｍ構成要素の入力チェックなどをＪａｖａＳｃｒｉｐｔで処理している場合に備えて、元のｆｏｒｍ構成要素はファイルアップロード画面から削除せずに追加しておく必要がある。
【００４５】
以上、ステップＳ１４０４からＳ１４１１までの処理を繰り返すことによって、ファイルアップロード画面６０３を構成するファイル名入力フィールドおよびファイル参照ボタンの書き換えが実現される。
【００４６】
ステップＳ１４１２では、ｆｏｒｍ構成要素の書き換え処理を行ったか否かを判断する。具体的には、ファイル名入力フィールドおよびファイル参照ボタンの書き換えがこれに該当する。ファイル名入力フィールドおよびファイル参照ボタンの書き換え処理を行っている場合、ステップＳ１４１３へ進む。そうでない場合（具体的にはｆｏｒｍ構成要素がｉｎｐｕｔ要素タイプｆｉｌｅではなかった場合である）、次のｆｏｒｍ構成要素についてステップＳ１４０４からＳ１４１４の処理を繰り返す。
ステップＳ１４１３では、ｆｏｒｍ構成要素のａｃｔｉｏｎ属性の値をコピーして別属性として設定する。ステップＳ１４１４では、ａｃｔｉｏｎ属性の値を、ファイルアップロード要求を生成する関数に変更する。この処理の結果、ファイルアップロード画面６０３のアップロードボタンを押下した場合に、ＪａｖａＳｃｒｉｐｔを処理して生成されたアップロード要求をアップロードＷｅｂサービスに送信するよう動作することになる。なお、処理を行う前は、Ｗｅｂブラウザ４００がｍｕｌｔｉｐａｒｔ／ｆｏｒｍ−ｄａｔａエンコードでＷｅｂアプリケーション５０１へファイルアップロードするように動作するものである。ステップＳ１４１３で元のａｃｔｉｏｎ属性の値を別属性として退避させたのは、ファイルアップロード要求のリクエストヘッダ“Ｘ−ＵＰＬＯＡＤ−ＡＣＴＩＯＮ”にＷｅｂアプリケーション５０１の送信先を設定するために必要とするからである。
【００４７】
以上、ステップＳ１４０２からＳ１４１４までの処理を繰り返すことによって、ファイルアップロード画面６０３のアップロード動作の書き換えが実現される。
ステップＳ１４１６では、スキャンアップロード画面６１３中にメッセージを表示するためのｓｐａｎ要素を生成する。そして、ステップＳ１４１７で、ｓｐａｎ要素を所定の位置を指定してドキュメントに追加する。この結果、“スキャンできます”メッセージがスキャンアップロード画面６１３へ表示される。
【００４８】
図１５は、Ｗｅｂブラウザ４００がＪａｖａＳｃｒｉｐｔを処理してスキャンファイルを生成する処理の流れを表すフローチャートである。Ｗｅｂブラウザ４００は、スキャン画面６１４よりスキャン開始ボタンが押下されると処理の流れを開始する。
ステップＳ１５０１では、スキャン画面６１４のファイル名入力フィールドにファイル名が入力されているか否かを判断する。スキャン画面６１４にファイル名が入力されている場合、ステップＳ１５０２の処理へ進む。そうでない場合、ステップＳ１５１２の処理へ進む。ステップＳ１５１２では、ファイル名が入力されていない警告メッセージを表示して処理を終了する。
【００４９】
ステップＳ１５０２では、図１０に示したスキャン要求を生成する。そして、ステップＳ１５０３で、スキャンＷｅｂサービス４１１にスキャン要求を送信する。
ステップＳ１５０４では、スキャンＷｅｂサービスよりスキャン完了応答を受信したか否かを判断する。スキャン完了応答を受信した場合、ステップＳ１５０５の処理へ進む。スキャン完了応答を受信していない場合、ステップＳ１５０４の処理を繰り返す。
ステップＳ１５０５では、スキャン画面６１４に入力されたファイル名をダミーノードのファイル名に設定する。ステップＳ１５０５では、スキャン画面６１４に入力されたファイル名をクローンノードに設定して処理を終了する。この結果、スキャンアップロード画面６１３にはファイル名が表示される。また、アップロードボタン押下時には、図８に示したｃｈｅｃｋ関数によるファイル名入力チェックも正常に終了し、ａｃｔｉｏｎ属性に設定したアップロード要求生成関数が呼び出される。
【００５０】
図１６は、Ｗｅｂブラウザ４００がＪａｖａＳｃｒｉｐｔを処理してアップロード要求を生成する処理の流れを表すフローチャートである。Ｗｅｂブラウザ４００は、スキャンアップロード画面６１３のアップロードボタンが押下された結果、対応するｆｏｒｍ要素のアップロード要求生成関数が呼び出されると処理の流れを開始する。
ステップＳ１６０１では、アップロード要求のＨＴＴＰヘッダ（Ｘ−ＵＰＬＯＡＤ−ＡＣＴＩＯＮ、Ｘ−ＵＰＬＯＡＤ−ＣＨＡＲＳＥＴ、およびＸ−ＵＰＬＯＡＤ−ＣＯＯＫＩＥ）に、Ｗｅｂアプリケーション５０１の送信先、文字セット、クッキーを設定する。
ステップＳ１６０２では、現在のｆｏｒｍ要素を構成する要素を取得する。具体的には、ｉｎｐｕｔ要素、ｓｅｌｅｃｔ要素、およびｔｅｘｔａｒｅａ要素などが挙げられる。
【００５１】
続いて、ステップＳ１６０２で取得した全てのｆｏｒｍ構成要素について、ステップＳ１６０３からＳ１６０６までの処理を繰り返す。ステップＳ１６０３では、ｆｏｒｍ構成要素がダミーノードの子要素か否かを判断する。ダミーノードの子要素ではないと判断した場合、ステップＳ１６０４の処理へ進む。ダミーノードの子要素であると判断した場合、次のｆｏｒｍ構成要素についてステップＳ１６０３からＳ１６０６の処理を繰り返す。
【００５２】
ステップＳ１６０４では、ｆｏｒｍ構成要素にｎａｍｅ属性が設定されているか否かを判断する。ｎａｍｅ属性が設定されている場合、ステップＳ１６０５の処理へ進む。設定されていない場合、次のｆｏｒｍ構成要素についてステップＳ１６０３からＳ１６０６の処理を繰り返す。
ステップＳ１６０５では、ｆｏｒｍ構成要素がクローンノードであるか否かを判断する。クローンノードである場合、ステップＳ１６０６の処理へ進む。クローンノードでない場合、ステップＳ１６１６へ進む。
ステップＳ１６０６では、ｆｏｒｍ構成要素のｎａｍｅ属性の値、ｖａｌｕｅ属性の値、およびｖａｌｕｅ属性の値から判断されるｃｏｎｔｅｎｔ−ｔｙｐｅを対にして、メッセージボディに追加する。
【００５３】
一方、ステップＳ１６１６では、ｆｏｒｍ構成要素がｉｎｐｕｔ要素のタイプｓｕｂｍｉｔまたはｂｕｔｔｏｎであるかを判断する。ｉｎｐｕｔ要素のタイプｓｕｂｍｉｔまたはｂｕｔｔｏｎである場合、次のｆｏｒｍ構成要素についてステップＳ１６０３からＳ１６０６の処理を繰り返す。その他のタイプである場合、ステップＳ１６１７の処理へ進む。ステップＳ１６１７では、ｆｏｒｍ構成要素のｎａｍｅ属性の値、およびｖａｌｕｅ属性の値を対にして、メッセージボディに追加する。
【００５４】
ステップＳ１６０７では、押下されているｓｕｂｍｉｔボタンにｎａｍｅ属性が設定されているか否かを判断する。ｎａｍｅ属性が設定されていない場合、ステップＳ１６０９に進み、ｎａｍｅ属性が設定されている場合、ステップＳ１６０８の処理へ進む。ステップＳ１６０８では、ｓｕｂｍｉｔボタンのｎａｍｅ属性の値、およびｖａｌｕｅ属性の値を対にして、メッセージボディに追加する。
【００５５】
以上の処理によって、アップロードＷｅｂサービス４１２が、Ｗｅｂアプリケーション５０１へファイルアップロードするために必要な情報が、アップロード要求に設定される。最後に、ステップＳ１６０９で、生成したアップロード要求をアップロードＷｅｂサービス４１２へ送信して処理を終了する。
【００５６】
このように本実施形態では、Ｗｅｂブラウザ４００が、ブックマークレットによりＷｅｂアプリケーション５０１を拡張する（Ｗｅｂアプリケーション５０１から受信する画面データを書き換える）。これにより、ファイル参照ボタンが押下されると原稿をスキャンしてファイルを生成し、送信ボタンが押下されるとファイルをアップロードすることを可能とする。
【００５７】
なお、第１の実施形態では、アップロードＷｅｂサービス４１２をＭＦＰ１０１が提供する構成としたが、本発明はこれに限定されない。ＨＴＴＰサーバを搭載するその他のサーバでアップロードＷｅｂサービス４１２を提供する構成であってもよい。この構成の場合、スキャンＷｅｂサービス４１１は、スキャンして生成したファイルをアップロードＷｅｂサービスへ送信する、もしくは、ＨＴＴＰサーバを搭載するその他のサーバへ送信する構成が好ましい。
【００５８】
また、第１の実施形態では、ブックマークレットが取得するＪａｖａＳｃｒｉｐｔファイルをＭＦＰ１０１が提供する構成としたが、本発明はこれに限定されない。ＨＴＴＰサーバを搭載するその他のサーバでＪａｖａＳｃｒｉｐｔファイルを提供する構成であってもよい。
【００５９】
また、第１の実施形態では、Ｗｅｂブラウザ４００をＭＦＰ１０１に搭載する構成としたが、本発明はこれに限定されない。タブレットＰＣやスマートフォンなどの情報装置に搭載されるＷｅｂブラウザを使用したシステム構成であってもよい。
【００６０】
また、第１の実施形態では、アップロードＷｅｂサービス４１２をＭＦＰ１０１が提供する構成としたが、Ｗｅｂブラウザ４００の送信機能をＪａｖａＳｃｒｉｐｔより制御することによってファイルアップロードを行う構成であってもよい。この場合、アップロードＷｅｂサービスはシステム構成に含まれない。この構成の場合、スキャンＷｅｂサービス４１１は、スキャンして生成したファイルを、ＨＴＴＰサーバを搭載するその他のサーバへ送信する構成が好ましい。
【００６１】
（他の実施形態）
本発明の目的は、以下の処理を実行することによっても達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出す処理である。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
【符号の説明】
【００６２】
４００  Ｗｅｂブラウザ
４１０  ＨＴＴＰサーバ
４１１  スキャンＷｅｂサービス
４１２  アップロードＷｅｂサービス
５０１  Ｗｅｂアプリケーション
【図１】
2012185650.tif 000003
【図２】
2012185650.tif 000004
【図３】
2012185650.tif 000005
【図４】
2012185650.tif 000006
【図５】
2012185650.tif 000007
【図６】
2012185650.tif 000008
【図７】
2012185650.tif 000009
【図８】
2012185650.tif 000010
【図９】
2012185650.tif 000011
【図１０】
2012185650.tif 000012
【図１１】
2012185650.tif 000013
【図１２】
2012185650.tif 000014
【図１３】
2012185650.tif 000015
【図１４】
2012185650.tif 000016
【図１５】
2012185650.tif 000017
【図１６】
2012185650.tif 000018