Webサーバに接続可能な情報処理装置であって、表示制御手段であって、前記Webサーバから提供される画面情報に基づく操作画面を表示し、当該操作画面を介して入力された入力情報を前記Webサーバに送信する送信手段と、前記送信手段によって送信された入力情報に対応する処理の実行に関連するサービスの定義情報とを含む、当該処理の実行要求を、前記Webサーバから受信する受信手段と、を備える前記表示制御手段と、前記表示制御手段を介して、前記Webサーバからの前記実行要求を受信すると、当該実行要求に従った処理を実行する実行制御手段と、前記実行制御手段を制御するための、提供可能な複数のサービスのうち、前記実行制御手段によって登録されるサービスを提供するサービス提供手段と、を備え、前記実行制御手段は、前記実行要求に従った処理の実行を開始する際に、前記実行要求に含まれる前記定義情報によって定義されたサービスを前記サービス提供手段に登録する登録手段を備えることを特徴とする情報処理装置。前記サービス提供手段は、サービスを利用不可にすべきことが前記Webサーバから指示されるまで、または、前記実行制御手段による前記実行要求に従った処理が終了して所定の時間が経過するまで、前記実行制御手段から登録されたサービスを提供することを特徴とする請求項1に記載の情報処理装置。前記実行要求は、さらに、前記実行制御手段による前記実行要求に従った処理の実行中に表示すべき操作画面の画面情報を含み、前記表示制御手段は、前記サービス提供手段によって提供されるサービスを利用して、前記Webサーバから受信した前記画面情報に基づく表示を制御することを特徴とする請求項1または2に記載の情報処理装置。前記実行要求は、前記実行制御手段による処理の実行状況を示す情報を前記実行制御手段から取得するサービスの定義情報を含み、前記表示制御手段は、前記サービス提供手段によって提供されるサービスを介して、前記実行要求に従った処理の実行状況を示す情報を前記実行制御手段から取得するとともに、取得した情報に応じて前記画面情報に基づく表示を更新することを特徴とする請求項3に記載の情報処理装置。前記実行要求は、前記実行制御手段による処理の実行中に前記表示制御手段によって表示された操作画面を介して入力された情報に基づいて、前記実行制御手段による処理の実行を制御するサービスの定義情報を含み、前記表示制御手段は、前記サービス提供手段によって提供されるサービスを介して、表示中の操作画面を介して入力された情報に応じて当該処理の実行を制御すべきことを前記実行制御手段に指示する手段をさらに備えることを特徴とする請求項3または4に記載の情報処理装置。前記表示制御手段は、前記実行制御手段による前記実行要求に従った処理の実行中に、前記画面情報を前記Webサーバに要求する要求手段をさらに備え、前記Webサーバは、前記要求手段による要求を受信すると、前記サービス提供手段によって提供されるサービスを利用して、前記表示制御手段によって表示すべき画面情報を生成し、かつ、生成した画面情報を前記表示制御手段に送信し、前記表示制御手段は、前記Webサーバから受信した画面情報に基づく操作画面を表示することを特徴とする請求項3または4に記載の情報処理装置。前記実行要求は、サービスを特定するためのURLを前記サービスの定義情報として含む、スクリプトからなり、前記サービス提供手段は、前記実行制御手段によって登録されるサービスとして、URLによって特定されるWebサービスを提供し、前記表示制御手段は、前記サービス提供手段によって提供されるWebサービスを、前記実行要求に相当するスクリプトに含まれるURLによって特定することで、当該Webサービスを利用する、Webブラウザであることを特徴とする請求項3乃至5の何れか1項に記載の情報処理装置。前記実行要求に従った処理は、原稿上の画像を読み取って画像データを生成するスキャンジョブに基づいて実行される処理であることを特徴とする請求項1乃至7の何れか1項に記載の情報処理装置。Webサーバに接続可能な情報処理装置の制御方法であって、前記情報処理装置の表示制御手段が、前記Webサーバから提供される画面情報に基づく操作画面を表示し、当該操作画面を介して入力された入力情報を前記Webサーバに送信する工程と、前記情報処理装置の表示制御手段が、前記送信工程において送信された入力情報に対応する処理の実行に関連するサービスの定義情報を含む、当該処理の実行要求を、前記Webサーバから受信する工程と、前記情報処理装置の実行制御手段が、前記表示制御手段を介して、前記Webサーバからの前記実行要求を受信すると、当該実行要求に従った処理を実行する工程と、前記情報処理装置のサービス提供手段が、前記実行制御手段を制御するための、提供可能な複数のサービスのうち、前記実行制御手段によって登録されるサービスを提供する工程とを含み、前記実行する工程は、前記実行要求に従った処理の実行を開始する際に、前記実行要求に含まれる前記定義情報によって定義されたサービスを前記サービス提供手段に登録する工程を含むことを特徴とする情報処理装置の制御方法。請求項9に記載の情報処理装置の制御方法をコンピュータに実行させるためのプログラム。しかしながら、特許文献1に記載のMFPでは、スクリプト実行中に、当該実行に関連する指示の入力のための操作画面をスクリプト処理部のソフトウェアが表示する。このため、MFPは、スクリプトの実行中には、WebサーバのWebアプリケーションから提供される画面を表示することができない。また、操作画面のカスタマイズも困難である。一方、特許文献2に記載のMFPでは、WebサーバのWebアプリケーションにMFPのユーザインタフェースUIを制御させるためには、MFPは、スクリプトの実行中であるか否かにかかわらず、当該MFPの機能をWebサーバに制御させるためのWebサービスを、Webサーバに常に利用可能にしておく必要がある。そのため、スクリプト実行中以外でもメモリ等のMFPのリソースが必要となる。本発明は、係る課題を鑑みてなされたものであり、MFPにおいてWebサーバからの要求に従って当該MFPの機能を実行する際に、その実行を制御するためのサービスを、必要に応じて利用可能とする技術を提供する。上記の目的を達成するために、本発明は、例えば情報処理装置として実現できる。情報処理装置は、Webサーバに接続可能な情報処理装置であって、表示制御手段であって、Webサーバから提供される画面情報に基づく操作画面を表示し、当該操作画面を介して入力された入力情報をWebサーバに送信する送信手段と、送信手段によって送信された入力情報に対応する処理の実行に関連するサービスの定義情報とを含む、当該処理の実行要求を、Webサーバから受信する受信手段と、を備える表示制御手段と、表示制御手段を介して、Webサーバからの実行要求を受信すると、当該実行要求に従った処理を実行する実行制御手段と、実行制御手段を制御するための、提供可能な複数のサービスのうち、実行制御手段によって登録されるサービスを提供するサービス提供手段と、を備え、実行制御手段は、実行要求に従った処理の実行を開始する際に、実行要求に含まれる定義情報によって定義されたサービスをサービス提供手段に登録する登録手段を備えることを特徴とする。本発明によれば、MFPにおいてWebサーバからの要求に従って当該MFPの機能を実行する際に、その実行を制御するためのサービスを、必要に応じて利用可能とする技術を提供できる。<実施形態1>実施形態1では、本発明の情報処理装置の一例であるMFPが、Webサーバからの指示に応じて、画像形成処理を行う例を説明する。情報処理システム全体の構成図1は、実施形態1における情報処理システムの全体構成を示す図である。図1に示すように、MFP110およびWebサーバ120は、イーサネット登録商標などからなるLAN100に接続されている。MFP110は、LAN100を介してWebサーバ120に接続可能である。MFP110は、コピー機能とデータ送信機能とを有する。データ送信機能は、原稿画像を読み取り、読み取って得られた画像データ文書データと呼ぶ場合もあるを、FTPプロトコルやSMBプロトコル等を用いて、LAN100上の指定した装置に送信する機能である。更に、MFP110は、画像データを添付ファイルとしてEメールを作成し、Eメールサーバ不図示を利用してEメールを送信する機能を有していてもよい。サーバ120は、Webサーバである。Webサーバ上で動作するソフトウェアであるWebアプリケーションは、MFP110からのリクエストに応じて、MFP110の操作部の液晶表示部に操作画面を表示するための画面情報HTMLデータを生成し、それを当該リクエストに対する応答としてMFP110に送信する。なお、本実施形態における情報処理システムにおける構成機器の数は、図1に示す構成機器の数に限定されるものではない。また、本実施形態では接続方法としてLANを適用しているが、これに限られることはない。例えば、WAN公衆回線などの任意のネットワーク、USBなどのシリアル伝送方式、セントロニクスやSCSIなどのパラレル伝送方式なども適用可能である。MFPのハードウェア構成MFP110は、図2に示すように次の構成要素を備える。MFP110は、画像入力デバイスであるスキャナ部112、画像出力デバイスであるプリンタ部113、MFP110の制御を司るコントローラ200、および操作部111を備える。スキャナ部112は、原稿上の画像を読み取って画像データを生成するデバイスである。原稿が原稿フィーダにセットされ、コントローラ200からスキャナ部112に原稿読み取り指示が与えられると、スキャナ部112は、原稿フィーダから原稿を1枚ずつフィードして、原稿の読み取り動作を行う。なお、原稿の読み取り方法は、原稿フィーダによる自動送り方式ではなく、原稿を不図示のガラス面上に載置して、露光ユニットを移動させることで原稿の走査を行う方法であってもよい。プリンタ部113は、コントローラ200から受け取った画像データに基づいて、用紙上に画像を形成する画像形成デバイスである。なお、本実施形態において、プリンタ部113で用いられる画像形成方式は、感光体ドラムや感光体ベルトを用いた電子写真方式であってもよいし、インクジェット方式であってもよい。コントローラ200は、操作部111、スキャナ部112、プリンタ部113と電気的に接続されており、またネットワークインターフェース206を介してLAN100にも接続されている。すなわち、コントローラ200は、LAN100を経由して他の機器と接続されている。これにより、コントローラ200は、LAN100を介して接続された他の機器例えば、サーバ120とHTTPプロトコルによる通信が可能となっている。CPU201は、ROM202に記憶された制御プログラムに基づいて、コントローラ200に接続された各種デバイスへのアクセス及びデバイスからのアクセスを統括的に制御する。また、CPU201は、コントローラ200の内部で行われる各種処理についても統括的に制御する。この制御には、後述のフローチャート図10を実現するためのプログラムの実行も含まれる。ROM202には、上述の制御プログラムの他に、装置のブートプログラムも格納されている。RAM203は、CPU201が動作するためのシステムワークメモリであり、画像データを一時記憶するためのメモリとしても機能する。RAM203は、バックアップ等により記憶した内容を装置本体の電源オフ後も保持しておく領域と、電源オフ後には、記憶した内容が消去される揮発性の領域により構成されている。HDD204はハードディスクドライブであり、システムソフトウェアや画像データを格納することが可能である。操作部I/F205は、システムバス211と操作部111とを接続するためのインターフェースである。操作部I/F205は、操作部111の液晶表示部に画面を表示するための画像データをシステムバス211から受け取り、それを操作部111に出力すると共に、操作部111から入力された情報をシステムバス211へと出力する。ネットワークI/F206はLAN100及びシステムバス211に接続されており、それらの間で情報の入出力を行う。スキャナI/F207は、スキャナ部112から受け取った画像データに対して、補正、加工、及び編集を行う。なお、スキャナI/F207は、受け取った画像データがカラー原稿か白黒原稿か、文字原稿か写真原稿かなどを判定する機能を持つ。画像処理部208は、画像データの方向変換、画像圧縮、伸張処理などをおこなう。また、画像処理部208は、HDD204に保存されている複数の画像データを合成して一枚の画像に相当する画像データを生成することが可能である。プリンタI/F209は、画像処理部208から送られた画像データを受け取り、この画像データに付加された属性データを参照しながら当該画像データに画像処理を施す。画像処理後の画像データは、プリンタ部113に出力される。なお、本実施形態では、MFPは、ユーザインタフェースUI表示を実行するネットワークMFPであるが、これ以外の汎用スキャナや汎用プリンタなどを接続した汎用コンピュータ等の画像処理装置であってもよい。Webサーバのハードウェア構成図3は、図1に示したWebサーバ120のハードウェア構成を示すブロック図である。図3に示されるように、CPU301、RAM302、ROM303、ネットワークI/F305、ハードディスクドライブHDD306は、システムバス309を介して互いに通信可能に接続されている。また、CRT等の表示装置307、キーボード等の入力装置304、及びマウス等のポインティングデバイス308も、システムバス309を介して互いに通信可能に接続されている。ROM303またはHDD306には、オペレーティングシステムやWebアプリケーションなどの制御プログラムが格納されている。CPU301は、この制御プログラムを必要に応じてROM303あるいはHDD306からRAM302上へ読み出して実行することで、コンピュータをWebサーバ120として機能させる。また、CPU301は、表示装置307を介して各種情報の表示を行うと共に、入力装置304やポインティングデバイス308からユーザ指示等を受付ける。さらに、CPU301は、ネットワークI/F305を介してLAN100上の他の装置例えば、MFP110と通信する。MFPのソフトウェア構成図4は、本実施形態での通信処理にかかわるMFP110のソフトウェアモジュールの構成を示した図である。これらのソフトウェアモジュールは、MFP110のHDD204に格納されている。CPU201がこれらのソフトウェアモジュールをHDD204からRAM203に読み出して実行することで、これらのソフトウェアモジュールの機能がMFP110上で実現される。HTTP通信部401は、ネットワークI/F206を介して、HTTPプロトコルにより通信を行うソフトウェアモジュールである。Webブラウザ402は、表示制御手段として機能し、HTTP通信部401を介してWebサーバ120と通信を行うブラウザである。Webブラウザ402は、Webサーバ120に対して、HTMLで記載された操作画面のHTMLデータ画面情報をリクエストする。また、Webブラウザ402は、HTTP通信部401を介してWebサーバ120から受信した操作画面のHTMLデータをレンダリングして、操作画面を操作部111に表示する。更に、操作部111に表示した操作画面を介して入力された情報を、Webサーバ120に通知する。スクリプト実行部403は、Webサーバ120によって生成されたスクリプトを、Webブラウザ402を介してWebサーバ120から受信し、受信したスクリプトを解析する。これにより、スクリプト実行部403は、受信したスクリプトに含まれる1つ以上のジョブ情報を抽出する。さらに、スクリプト実行部403は、抽出した各ジョブ情報を、受信したスクリプトで指定されている順に実行するようにジョブ管理部404に通知する。また、スクリプト実行部403は、MFP110におけるサービスWebサービスを提供するWebサービスサーバ406に、スクリプト実行部403に処理を実行させるための処理インタフェースを、Webサービスとして提供させる。スクリプト実行部403の処理インタフェースWebサービスとしては、実行中のジョブの状況を含む、スクリプトの実行状況を示す情報を取得するためのインタフェースや、ジョブ管理部404で管理しているジョブを制御するためのインタフェースなどがある。スキャンジョブの場合、ジョブの制御には、スキャンの中止や、原稿を入れ替えてスキャンを再スタートする制御等が含まれる。ジョブ管理部404は、スクリプト実行部403からの指示を受けてジョブ情報を管理し、管理しているジョブ情報に基づいてジョブの実行をジョブ実行部405に指示する。ジョブ実行部405は、ジョブ管理部404からの指示に応じて、ジョブ情報に基づく処理ジョブを実行するモジュールである。たとえば実行すべきジョブがスキャンジョブであれば、ジョブ実行部405は、スキャナ部112を操作して紙原稿を読み取りHDD204に画像データを保存するジョブを実行する。また、実行すべきジョブが送信ジョブであれば、ジョブ実行部405は、NetworkI/F206を操作してHDD204内の画像データを送信するジョブを実行する。本実施形態において、スクリプト実行部403、ジョブ管理部404、及びジョブ実行部405は、実行制御手段として機能する。Webサービスサーバ406は、サービス提供手段として機能し、Webサービスを提供するサーバ機能を持つソフトウェアモジュールである。Webサービスサーバ406は、スクリプト実行部403からの呼び出しに応じて、スクリプト実行部403を制御するためのWebサービスを提供する。また、Webサービスサーバ406は、呼び出されたWebサービスに応じてスクリプト実行部403を呼び出すことができる。Webサーバのソフトウェア構成図5は、本実施形態でのWebサーバ120のソフトウェアモジュールの構成を示した図である。Webサーバ120は、Webアプリケーション501及びHTTP通信部504を、ソフトウェアモジュールとして備える。Webアプリケーション501には、プレゼンテーション部502及びロジック部503が含まれる。これらのソフトウェアモジュールは、Webサーバ120のHDD306に格納されている。CPU301がこれらのソフトウェアモジュールをHDD306からRAM302に読み出して実行することで、これらのソフトウェアモジュールの機能がWebサーバ120で実現される。プレゼンテーション部502は、HTTP通信部504を介して、MFP110からのリクエストに応じて、MFP110のWebブラウザ402で表示すべき操作画面のHTMLデータを、MFP110へ応答として送信する。また、プレゼンテーション部502は、MFP110のWebブラウザ402に表示された操作画面を介してユーザが入力した入力情報を、HTTP通信部504を介してMFP110から受信する。ロジック部503は、プレゼンテーション部502から渡された、MFP110からの入力情報に対する処理を行う。たとえば、ロジック部503は、ユーザの入力情報に応じて、MFP110において表示すべき画面を変更したり、MFP110が備えるデバイスの機能をMFP110に実行させるためのジョブ定義情報スクリプトを生成したりする。HTTP通信部504は、ネットワークI/F305を操作してHTTPプロトコルにより通信を行うソフトウェアモジュールである。ジョブの実行フロー図6は、本実施形態における情報処理システムにおいて実行される一連の処理を示したシーケンス図である。ここでは、本情報処理システムにおいて実行される処理の一例として、同図に示すシーケンスに従って実行されるスキャン送信処理について説明を行う。なお、本実施形態においてスキャン送信処理は、MFP110のスキャナ部112を用いて、インタラクティブに、原稿台に1枚ずつ置かれた紙をスキャンして読み取って画像データを生成し、生成した当該画像データをLAN100上のFTPサーバ不図示に送信する処理に相当する。まず、ユーザが、MFP110の操作部111に設けられた、送信機能を実行するためのハードウェアボタン不図示を押下すると、MFP110は、Webブラウザ402を起動する。Webブラウザ402は、MFP110における処理を実行するための設定画面を操作部111に表示するため、Webサーバ120上のWebアプリケーション501に設定画面のHTMLデータをリクエストする。本例では、MFP110は、その起動時に設定画面のコンテンツの所在を示すURLに基づいて設定画面のHTMLデータをリクエストするように、予め設定されているものとする。S601では、MFP110のWebブラウザ402が、上述のURLによって特定される設定画面のコンテンツを保持するWebアプリケーション501に対して、HTTPのGETコマンドによるリクエスト設定画面要求を行う。具体的には、Webブラウザ402が、HTTP通信部401に設定画面のURLを送信することによって、HTTP通信部401が、HTTPプロトコルによりWebサーバ120のHTTP通信部504と通信を行う。HTTP通信部504は、HTTP通信部401から受信したURLに応じて、適切なリクエストがあったことをWebアプリケーション501に通知する。これにより、Webブラウザ402からWebアプリケーション501へのリクエストが行われる。なお、以下では、MFP110とWebサーバ120とが通信する際に必然的に実行される、HTTP通信部401およびHTTP通信部504の動作については、説明の簡略化のために省略する。S602では、Webアプリケーション501のプレゼンテーション部502が、S601のリクエストに応じて、設定画面のHTMLデータ設定画面データを生成し、当該リクエストに対する応答として、生成したHTMLデータをWebブラウザ402に送信する。Webブラウザ402は、受信したHTMLデータを解析し、操作部111に設定画面操作画面を表示する。図7は、S602の結果、Webブラウザ402が操作部111に表示する設定画面の一例である。設定画面GUIパネル701には、ファイル名を設定するためのテキストボックス702、画像フォーマットを選択するためのラジオボタン703がある。本例では、画像データにtest.pdfというファイル名を付与し、画像データをPDFフォーマットで生成することが、設定画面701に設定された状態となっている。また、GUIボタン704は、設定内容に基づく機能の実行を指示するためのボタンである。ユーザによりGUIボタン704が押下されると、処理の実行スキャンの開始が指示されたことになる。S603では、Webブラウザ402が、Webアプリケーション501に対して、処理の実行が指示されたことを通知する。ユーザによりGUIボタン704が押下されると、Webブラウザ402は、テキストボックス702およびラジオボタン703に設定されたパラメータを、設定情報設定値としてWebアプリケーション501に通知する。この通信には、HTTPプロトコルのPOSTコマンドが利用されるものとする。このようにして、Webブラウザ402は、Webアプリケーション501Webサーバ120から提供された画面情報に基づく操作画面を介して入力された入力情報を、Webアプリケーション501に送信する。S604では、Webアプリケーション501のプレゼンテーション部502が、S603のリクエストに応じて、MFP110において処理の実行中に表示すべき画面のHTMLデータ実行画面データを含む、処理の実行要求を生成する。また、ロジック部503が、S603のPOSTコマンドに含まれる設定情報に基づいて、MFP110に、当該設定情報に対応する処理を実行させるためのスクリプトを生成する。そして、S604で、Webアプリケーション501は、S603の通知に対する応答として、生成した実行画面データと当該スクリプトとを含む実行要求を、応答データとしてWebブラウザ402に送信する。Webブラウザ402は、当該応答データを受信して、受信した当該応答データから、スクリプト図8と実行画面のHTMLデータ図9とを抽出する。なお、以下で詳しく説明するように、スクリプトは、Webブラウザ402から送信された入力情報に関連するサービスWebサービスの定義情報に相当し、サービスを特定するためのURLを含む。また、Webブラウザ402は、スクリプトに含まれるURLによって特定することによって、Webサービスサーバ406によって提供されるWebサービスを利用する。ここで、図8を参照して、Webブラウザ402がWebアプリケーション501からS604で受信するスクリプトについて説明する。図8に示すスクリプトは、ユーザの入力に基づきインタラクティブに実行するスキャンジョブと、送信ジョブとをMFP110において順番に実行するためのスクリプトの例を示すものである。また、当該スクリプトによって、スクリプト実行部403の状態を取得するためのインタフェースと、スキャンジョブの制御を行うためのインタフェースをとが、Webサービスサーバ406によって提供されるWebサービスに割り当てられる。なお、図8示すスクリプトは、XMLで表現されているが、MFP110が処理できる形式であればフォーマットを問わない。Bindingタグ801は、スクリプト実行部403のどの処理インタフェースを1つのWebサービスとして提供するかについて記載している。本例では、スクリプト実行部403のスクリプトの実行状況を示す情報を取得する処理http://www.kanon.com/jobScript/Status/getStatusというURIで示されるをgetStatusという名前で定義している。そしてstatusBindingという名前でこの処理のまとまりを定義している。Bindingタグ802は、タグ801と同様である。本例では、スキャンジョブのスキャン開始を行う処理http://www.kanon.com/jobScript/Scan/scanStartというURIで示されるを、scanStartという名前で定義している。また、スキャンジョブのスキャン終了を行う処理http://www.kanon.com/jobScript/Scan/scanEndをscanEndという名前で定義している。そして、これら2つの処理のまとまりを、scanBindingという名前で定義している。Serviceタグ803は、タグ801でまとめた処理を実際のWebサービスと関連付ける定義である。本例では、statusBindingとして定義された処理を、/JobScript/ID_012345/status/で示されるURLのWebサービスに割り当てることを定義している。Serviceタグ804は、タグ802でまとめた処理を実際のWebサービスと関連付ける定義である。本例では、scanBindingとして定義された処理を、/JobScript/ID_012345/scan/で示されるURLのWebサービスに割り当てることを定義している。以上のように、本例では、MFP110内のソフトウェアモジュールが有する処理インタフェースをWebサービスに関連付けるための定義を、スクリプトにより構成している。これらのWebサービスの定義情報は、スクリプト実行部403が提供する処理インタフェースWebサービスのうち、後述のHTMLデータに基づく画面を表示するために必要なものを公開させるための定義情報である。本例では、タグ801とタグ802で指定しているURLは、スクリプト毎に異なるURLであり、かつ、後述する図9のHTMLデータと対応している。そのため、MFP110において複数のスクリプトが同時に実行された場合でも、各スクリプトによって実行される処理を異なるWebサービスとして扱うことが可能となる。Scanタグ805は、スクリプト処理で実行するスキャンジョブについての設定情報である。本例では、スキャン原稿サイズDocumentSizeをスキャナ部112によって自動判別Autoすべきことを示している。また、カラーモードColorModeがグレイスケールGRAY_SCALEであることを示している。Sendタグ806は、スクリプト処理で実行する送信ジョブについての設定情報である。本例では、FTPプロトコルでサーバftpserver.xxx.comへの送信すべきことを示している。また、送信されるファイルのフォーマットFileFormatはPDFで、ファイル名FileNameはtestであることを示している。図6に戻り、S604では、Webアプリケーション501のロジック部503が、以上のようなスクリプトを生成して送信し、Webブラウザ402がこのスクリプトを受信する。次に、図9を参照して、Webブラウザ402がWebアプリケーション501から受信するHTMLデータ実行画面データについて説明する。図9に示すHTMLデータには、Java登録商標Scriptが埋め込まれている。MFP110では、HTMLデータに埋め込まれたJavaScriptによって、Webサービスサーバ406が呼び出されることで、スクリプト実行部403によるスクリプトの実行状況に応じた表示の更新処理やユーザとの対話処理が実行される。本例では、図8に示すスクリプトに基づいて実行されるスキャンジョブについての対話処理を行い、送信ジョブが実行されるまでの、操作部111への画面表示に用いられるHTMLデータの一例を示している。ブロック910、920、930、940は、スクリプトの実行状態に応じて操作部111における画面の表示を更新するためのJavaScriptである。ブロック910では、所定の時間例えば2秒のタイマを設定し、タイムアウトした場合に、getScriptStatus関数を呼び出すことが規定されている。Webブラウザ402は、HTMLデータに基づく画面を表示すると、ブロック910のJavaScriptを実行する。ブロック920のgetScriptStatus関数は、ブロック921、922、923、924からなる。この関数は、バックグラウンドでWebサービスサーバ406のWebサービスとHTTP通信を行い、当該通信を通じてスクリプトの実行状況を示す情報を取得するためのJavaScriptで記載されている。まず、ブロック921では、バックグランド通信を行うためのオブジェクトXMLHttpRequestを生成し、ブロック922、923による通信時に行う処理を登録することが規定されている。ブロック922では、バックグラウンドでの通信が成功した場合に呼ばれる部分であり、当該通信で得られた応答が、スキャン待機中SCAN_SUSPENDという文字列であることを示す応答であるか否かを判定することが規定されている。ブロック922によれば、スキャン待機中である場合には、スキャン終了ボタンbuttonScanEndのIDのボタンとスキャン開始ボタンbuttonScanStartのIDのボタンとが有効化される。一方で、スキャン待機中以外である場合には、それらのボタンの表示が無効化される。ブロック923は、バックグラウンドでの通信が成功した場合に呼ばれる部分であり、当該通信で得られた応答が、送信実行中SEND_STARTという文字列もしくは送信終了SEND_ENDという文字列であることを示す応答であるか否かを判定することが規定されている。本例では、この2つの状態は、スクリプトに規定されたスキャンジョブが既に終了して、送信ジョブに処理が移っていることを意味している。スキャンジョブが未だ実行中であると判定した場合は、再度2秒のタイマーを設定し、タイムアウトしたらブロック920のgetScriptStatus関数を呼び出す。送信ジョブが開始されていると判定した場合は、ブロック951message_scanで示される表示領域を非表示にして、ブロック952message_sendで示される領域を表示する。ブロック924では、ブロック921で生成したバックグランド通信を行うためのオブジェクトにURLを指定して通信を実行する。このURLは、図8で説明したように、Webサーバ120から渡されるスクリプトで定義されているURLである。このように、ブロック920のJavaScriptでは、Webアプリケーション501からHTMLデータとともに受信したスクリプトによって利用可能とするWebサービスのURLを利用して、スクリプト実行部403の実行状況を示す情報を取得し、表示を更新することが規定されている。ブロック930のscanEnd関数は、バックグラウンドでWebサービスサーバ406とHTTP通信を行い、スキャンの終了を指示するためのJavaScriptである。ブロック920と同様、Webサーバ120から受信されるスクリプトに定義されたスキャンジョブ制御を行うWebサービスについてのURLにアクセスする。これにより、Webサービスサーバ406を介して、スクリプト実行部403にスキャンの終了を指示する。ブロック940のscanStart関数は、バックグラウンドでWebサービスサーバ406とHTTP通信を行い、スキャンの開始を指示するためのJavaScriptである。ブロック930と同様、Webサーバ120から受信されるスクリプトに定義しているスキャンジョブ制御を行うWebサービスのURLにアクセスする。これにより、Webサービスサーバ406を介して、スクリプト実行部403にスキャンの開始を指示する。ブロック950は、HTMLによる画面情報の記述部分である。ブロック951は、スキャン中であることを画面に表示するための記述である。ブロック952は、送信が開始されたことを画面に表示するための記述である。これらの記述に基づく画面表示については、前述のようにブロック923のJavaScriptによって画面への表示と非表示が制御される。ブロック953は、スクリプトの実行状況を画面に表示するための記述である。またブロック954は、スキャンジョブを終了すべきことを指示するためのボタンの表示に関する記述である。当該ボタンが押下されると、ブロック930のJavaScriptが呼び出される。また、ブロック922のJavaScriptによりボタンの有効と無効が切り替わる。ブロック955は、スキャンジョブのスキャンを開始すべきことを指示するためのボタンの表示に関する記述である。当該ボタンが押下されると、ブロック940のJavaScriptが呼び出される。また、ブロック922のJavaScriptによりボタンの有効と無効が切り替わる。以上のHTMLデータにより、図8のスクリプトに基づいて定義されるWebサービスを利用して画面が制御される。図6に戻り、S605で、Webブラウザ402は、S604でWebサーバ120から受信した実行要求に含まれる、実行画面データ画面情報とスクリプトWebサービスの定義情報とのうち、当該スクリプトをスクリプト実行部403に送信する。これにより、Webブラウザ402は、当該スクリプトの実行指示をスクリプト実行部403に対して行う。スクリプト実行部403は、スクリプトを受信すると、図10に示すように、受信したスクリプトを実行する。このようにして、スクリプト実行部403は、Webサーバ120Webアプリケーション501からの実行要求に従った処理を実行する。図10は、スクリプト実行部403が、Webアプリケーション501から受信されたスクリプトを実行する処理の手順を示すフローチャートである。S1001では、スクリプト実行部403が、S605で受信したスクリプトを解析して、当該スクリプトに記載されているURLをWebサービスサーバ406に登録する。これにより、スクリプト実行部403は、スクリプトに記載されている定義情報によって定義されたWebサービスを、Webサービスサーバ406に登録する。これにより、Webサービスサーバ406は、提供可能な複数のWebサービスのうち、スクリプト実行部403から登録されるWebサービスを提供する。また、Webブラウザ402は、Webサービスサーバ406が提供可能なWebサービスのうち、スクリプト実行部403によって登録されたWebサービスを利用可能になる。具体的な登録処理として、スクリプト実行部403は、登録されたURLに対してWebブラウザ402から要求があった場合に、Webサービスサーバ406がスクリプト実行部403を呼び出すように、Webサービスサーバ406を設定する。図8の例では、スクリプト実行部403は、Webサービスサーバ406を介して2つのWebサービスを利用可能にする。なお、S1001はS606に対応する。S1002では、スクリプト実行部403が、スクリプトから1つ以上のジョブ情報を抽出スクリプトをジョブに分割し、抽出したジョブ情報をジョブ管理部404に登録する。図8の例では、スキャンジョブと送信ジョブとの2つのジョブの情報が、Webサービスとしてジョブ管理部404に登録される。S1003では、ジョブ実行部405は、ジョブ管理部404を介したスクリプト実行部403からの要求に応じて、登録されたジョブを順番に実行させる。Webサービスサーバ406は、登録されたWebサービスへの要求をWebブラウザ402から受付けると、スクリプト実行部403に、当該要求に応じた処理を実行するように指示する。S1004で、スクリプト実行部403は、Webサービスサーバ406から当該指示を受けると、S1005に遷移し、そうでなければS1006に遷移する。S1005では、スクリプト実行部403が、Webサービスサーバ406から指示された処理を実行することによって、Webサービスサーバ406で受付けた要求に応じた処理を実行する。図8の例で、スクリプトの実行状況を示す情報を取得するためのWebサービスが呼ばれた即ち、Webサービスの実行が要求された場合には、スクリプトの実行状況をスクリプト実行部403が判断し、その判断結果を、Webサービスサーバ406を介して要求元のクライアント即ち、Webブラウザ402へ応答を送信する。また、スキャンジョブの実行を制御するためのWebサービスが呼ばれた場合には、スクリプト実行部403が、ジョブ管理部404を介して、ジョブ実行部405によるスキャンジョブの実行を制御する。S1006で、スクリプト実行部403は、ジョブの実行を終了したか否かについて、ジョブ管理部404によるジョブ実行部405の監視結果に基づいて判定する。ジョブが終了していれば、S1007に遷移し、そうでなければS1004に遷移する。S1007では、スクリプト実行部403は、スクリプトに記載されたすべてのジョブが終了したかどうかを、ジョブ管理部404によるジョブ実行部405の監視結果に基づいて判定する。すべてのジョブが終了していない場合は、S1003に遷移し、次のジョブを実行する。すべてのジョブが終了した場合はS1008に遷移する。S1008では、S1004と同様に、Webサービスサーバ406は、登録されたWebサービスへの要求を受付けると、スクリプト実行部403に、当該要求に応じた処理を実行するように指示する。Webサービスに対して要求があった場合、S1009に遷移し、そうでなければS1010に遷移する。S1009では、S1005と同様に、スクリプト実行部403が、Webサービスサーバ406から指示された処理を実行することによって、Webサービスサーバ406で受付けた要求に応じた処理を実行する。S1010では、スクリプト実行部403は、Webサービスを利用不可にしてよいかどうかを判定する。Webサービスを利用不可にしてよいと判定した場合はS1011に遷移し、そうでない場合にはS1008に遷移する。本実施形態では、一例として、ジョブの実行が終了してから所定の時間が経過した場合に、スクリプト実行部403はWebサービスを利用不可にすると判定する。この時間は、あらかじめスクリプト実行部403に設定されていてもよいし、あるいは、Webサーバ120から受信されるスクリプト内に記載されていてもよい。即ち、Webサービスサーバ406は、サービスを利用不可にすべきことが当該スクリプトを用いてWebサーバ120から指示されるまで、または、スクリプト実行部403による処理ジョブの実行が終了して所定の時間が経過するまで、Webサービスを提供する。スクリプト実行部403は、S1010においてWebサービスを利用不可にすると判定した場合、S1011で、Webサービスサーバ406にS1001で登録したURLを、Webサービスサーバ406に削除させることによって、当該URLに対応するWebサービスを利用不可にする。図6に戻り、図10に記載の処理の流れにあわせて、Webブラウザ402によるHTMLデータ図9に基づく表示制御について説明する。前述のS605で、Webブラウザ402は、スクリプト実行部403にスクリプトを送信して当該スクリプトの実行指示を行うとともに、Webアプリケーション501から当該スクリプトとともに受信したHTMLデータ実行画面データを解析し、当該HTMLデータに基づく画面を操作部111に表示する。図11aは、Webブラウザ402が操作部111に表示する画面の例である。同図に示すように、Webブラウザ402は、表示領域1101内に、図9のブロック951に基づく情報1102と、図9のブロック953に基づく情報1103とを表示している。情報1103では、スクリプトの実行状況に関する初期表示として、スキャン処理の実行中であることを示すSCAN_SCANNINGを表示している。S606は、図10のS1001に対応しており、スクリプト実行部403が、Webサービスサーバ406に対して、S605で受信したスクリプトに基づくWebサービスを登録する。本例では、Webサービスサーバ406でスクリプトの実行状況を示す情報を取得するためのWebサービスとスキャンジョブの実行を制御するためのWebサービスとの2つのWebサービスが、Webサービスサーバ406に登録される。この登録処理は、スクリプトに記載された各Webサービスに対応するURLがWebサービスサーバ406に登録されることによって実現される。これにより、これらのWebサービスが、Webブラウザ402から、登録されたURLを特定することによって利用可能となる。S607では、Webブラウザ402は、HTMLデータ図9に含まれるブロック920のJavaScriptによって、S606で利用可能となったWebサービスのうち、スクリプトの実行状況を示す情報を取得するためのWebサービスを呼び出す。S608は、図10のS1004に対応しており、Webサービスサーバ406が、Webブラウザ402から要求されたWebサービスに対応する処理をスクリプト実行部403に実行させるために、スクリプト実行部403を呼び出す。当該呼び出しに応じて、スクリプト実行部403は、Webサービスサーバ406を介してWebブラウザ402にスクリプトの実行状況を送信する。本例では、この時にはスキャンジョブが待機中の状態になっており、Webブラウザ402にSCAN_SUSPENDという、スキャンジョブの状態を示す文字列が送られるものとする。Webブラウザ402は、ブロック922のJavaScriptに基づいて、表示を変更する。このように、Webブラウザ402は、Webサービスサーバ406を介して、JavaScriptのタイマーに基づいてスクリプトの実行状況を示す情報を取得して、取得した情報に基づいて画面の表示を更新する。図11bは、S608の結果、Webブラウザ402が操作部111に表示する画面の例である。同図に示すように、Webブラウザ402は、表示領域1201内に、図9のブロック951に基づく情報1202と、図9のブロック953に基づく情報1203とを表示している。また、Webブラウザ402は、ブロック922のJavaScriptの処理により、図9のブロック954、ブロック955に基づくGUIボタン1204、1205を表示している。S609で、ユーザによって図11bのGUIボタン1205が押下されると、GUIボタン1205が押下された場合の処理としてスクリプトに記載された処理が実行される。具体的には、図9で説明したように、ユーザによりGUIボタン1205が押下されると、Webブラウザ402は、ブロック940のJavaScriptを実行する。S610で、Webブラウザ402は、ブロック940のJavaScriptの実行に応じて、S605で登録した、スキャンジョブの実行を制御するためのWebサービスを呼び出す。S611で、Webサービスサーバ406は、S610のWebサービスの呼び出しに応じてスクリプト実行部403を呼び出す。スクリプト実行部403は、図10のS1004とS1005で説明したように、ジョブ管理部404を介して、スキャンジョブについてのスキャンを開始するようにジョブ実行部405を制御する。このように、S610とS611で利用されるWebサービスは、スキャンジョブの実行中にWebブラウザ402によって表示中の操作画面を介して入力された情報に基づいて、スクリプト実行部403によるジョブの実行を制御するサービスに相当する。S612とS613では、S607とS608と同様に、タイマーに基づいて呼び出されたブロック920のJavaScriptにより、スクリプトの実行状況を取得するためのWebサービスが呼び出されて、当該Webサービスに対応する処理がスクリプト実行部403によって実行される。S614で、再びスキャン処理が待機状態になった状態で、図11bの表示を行っている間に、ユーザにより図11bのGUIボタン1204が押下されると、GUIボタン1204が押下された場合の処理としてスクリプトに記載された処理が実行される。具体的には、図9で説明したように、ユーザによりGUIボタン1205が押下されると、Webブラウザ402は、ブロック930のJavaScriptを実行する。S615とS616では、Webブラウザ402とWebサービスサーバ406がS610とS611と同様に処理を実行する。これにより、スクリプト実行部403は、ジョブ管理部404を介して、スキャンジョブを終了するようにジョブ実行部405を制御する。このように、S615とS616で利用されるWebサービスは、スキャンジョブの実行中にWebブラウザ402によって表示中の操作画面を介して入力された情報に基づいて、スクリプト実行部403によるジョブの実行を制御するサービスに相当する。S617とS618では、S607とS608と同様に、タイマーに基づいて呼び出されたブロック920のJavaScriptにより、スクリプトの実行状況を示す情報を取得するためのWebサービスサーバ406が呼び出される。このときには、スキャンジョブはすでに終了しており、送信ジョブが実行されている。このため、Webブラウザ402は、SEND_STARTの文字列をWebサービスから受信する。そのため、Webブラウザ402は、ブロック923のJavaScriptにより、ブロック951に基づく情報を非表示として、ブロック952に基づく情報を表示する。図11cは、S617とS618の結果、Webブラウザ402が表示する画面の例である。同図に示すように、表示領域1301内に、図9のブロック952を表示1302とリンク1303として表示し、図9のブロック953に基づく情報1304を表示する。本例では、以上により、ユーザはスキャンジョブに関する対話処理を終える。ここで、ユーザによってリンク1303が選択すると、Webブラウザ402は、操作部111の表示を初期画面に戻す。最終的に、S619で、スクリプト実行部403は、図10のS1010とS1011のように、Webサービスサーバ406におけるWebサービスを利用不可にする処理を実行する。上述のように、スクリプトジョブの実行が終了してから一定時間が経過した際に、当該処理を実行する。以上説明したように、本実施形態では、Webブラウザ402が、Webアプリケーション501Webサーバ120からの指示により、MFP110における画面の表示と機能の実行とを制御することができる。具体的には、Webブラウザ402は、Webサーバ120から提供される画面情報に基づく操作画面を表示して、それを介して入力された入力情報をWebサーバ120に送信する。また、Webブラウザ402は、当該入力情報に対応する処理の実行要求を、Webサーバ120から受信し、受信した実行要求に含まれるスクリプトをスクリプト実行部403に送信する。当該スクリプトには、スクリプト実行部403を制御するためのWebサービスの定義情報が含まれる。スクリプト実行部403は、当該スクリプトに含まれる定義情報によって定義されたWebサービスを、Webサービスサーバ406に登録する。Webサービスサーバ406は、スクリプト実行部403による処理の実行中に提供可能なWebサービスのうち、登録されたWebサービスを、Webブラウザ402に提供する。このようにして、MFP110において、Webサーバ120からの要求に従ってMFP110の機能を実行する際に、その実行を制御するためのサービスを、必要に応じて利用可能とすることができる。その結果、MFP110において、提供可能なすべてのサービスを常に利用可能にする場合と比べて、メモリ等のMFP110のリソースが不必要に使用されることを回避できる。また、Webサーバ120からの実行要求には、上述のスクリプトだけでなく、当該実行要求に従った処理をスクリプト実行部403によって実行している間に、Webブラウザ402によって表示すべき操作画面の画面情報も含まれている。Webブラウザ402は、Webサービスサーバ406によって提供されるサービスを利用して、Webサーバ120から受信した画面情報に基づく表示を制御する。本実施形態によれば、スクリプト実行部403による処理の実行中のWebブラウザ402による表示制御において、必要に応じて、Webサービスサーバ406によって提供されるサービスを利用可能になり、上述と同様、MFP110のリソースが不必要に使用されることを回避できる。また、Webサービスを特定するためのURLは、Webサーバ120からの指示によって変更可能である。従って、MFP110が固定のWebサービスを有する場合と比べて、表示制御に必要な機能を必要なWebサービスとして構成できるため、MFP110においてより柔軟な制御を行うことができる。<実施形態2>実施形態1では、MFP110は、Webアプリケーション501から受信したHTMLデータとスクリプトとに基づく処理を実行していた。実施形態2では、Webアプリケーション501が、スクリプトの実行状況に応じて適切なHTMLデータをMFP110に送信することで、MFP110の表示制御を行う場合について説明する。実施形態2では、説明の簡略化のために、実施形態1と共通する部分については説明を省略し、実施形態1と異なる部分を中心として説明する。具体的には、実施形態2は、MFP110とWebサーバ120とでソフトウェアにより実行される処理の流れが異なる。ジョブの実行フロー図12は、実施形態2における情報処理システムにおいて実行される一連の処理のシーケンスを示す図である。同図では、図6と同様、スキャン送信処理がMFP110において実行される場合について説明する。Webブラウザ402の起動後、S1401からS1406までの処理は、実施形態1のS601からS606までと同等である。しかしながら、本実施形態では、S1404で、Webブラウザ402は、実施形態1におけるHTMLデータ図9とは異なるHTMLデータを、Webアプリケーション501から受信する。図13は、S1404でWebアプリケーション501からWebブラウザ402に送信されるHTMLデータの例を示す。同図に示すように、実施形態1とは異なり、当該HTMLデータには、Webブラウザ402がWebサービスを呼び出すためのJavaScriptは記載されない。その代わりに、本実施形態では、ブロック1510のJavaScriptに基づいて、一定時間の経過後に、Webブラウザ402からWebアプリケーション501に対してリクエストが行われる。S1404では、図13に示すようなHTMLデータと、実施形態1で説明したスクリプトとを含む応答データが、Webアプリケーション501からWebブラウザ402に送信される。S1407で、Webブラウザ402は、HTMLデータ図13に基づいて、Webアプリケーション501に画面情報の要求画面要求を行う。S1408、S1409で、Webアプリケーション501は、S1407の画面要求に応じて、Webサービスサーバ406と通信して、スクリプトの実行状況を取得するためのWebサービスを呼び出す。このとき、Webアプリケーション501は、S1404で送信したスクリプトに含まれるWebサービスのURLを指定する。本例では、S1408の結果として、Webアプリケーション501は、スキャンジョブが待機状態であることを示す文字列を受信する。S1410で、Webアプリケーション501は、S1408の結果としてスキャンジョブが待機状態であることを示す情報を得ている。このため、Webアプリケーション501は、図11bと同様、ユーザとの対話処理を行うためのHTMLデータを、Webブラウザ402に送信する。実施形態1ではGUIボタン1204又は1205が押下された際に、Webブラウザ402が、JavaScriptによってWebサービスを呼び出していたのに対して、本例では、Webアプリケーション501がWebサービスサーバ406にそれを通知するものとする。S1411では、ユーザが図11bと同様の画面を介して、スキャンジョブの終了を指示する。Webアプリケーション501は、S1411で、Webブラウザ402からスキャン終了の通知を受信すると、S1412で、Webサービスサーバ406と通信して、スキャンジョブの制御用のWebサービスを呼び出す。ここで、Webアプリケーション501は、S1404で指定したURLに対してリクエストを行うことで、当該Webサービスを呼び出す。S1413では、Webサービスサーバ406は、S1409と同様に、スクリプト実行部403を呼び出す。その結果、スクリプト実行部403は、実施形態1と同様にスキャンジョブを制御する。その後、S1414で、Webアプリケーション501は、S1411のWebブラウザ402からのリクエストに対する応答として、図11cと同様の画面を表示するためのHTMLデータをWebブラウザ402に送信する。S1415では、スクリプト実行部403は、実施形態1と同様にして、Webサービスサーバ406のWebサービスを利用不可にする。以上のように、実施形態2では、Webアプリケーション501Webサーバ120からの処理の実行要求に従った処理をスクリプト実行部403が実行している間に、Webブラウザ402は、Webサーバ120に画面情報を要求する。Webサーバ120は、当該要求を受信すると、MFP110のWebサービスサーバ406に登録され、提供されているWebサービスを利用して、Webブラウザ402によって表示すべき画面情報を生成し、それをWebブラウザ402に送信する。Webブラウザ402は、受信した画面情報に基づく操作画面を表示する。本実施形態によれば、このように、スクリプト実行部403による処理の実行中に、Webブラウザ402ではなくWebサーバ120主導でMFP110の表示制御を行う場合にも、Webサーバ120によって、Webサービスサーバ406に登録されたWebサービスを、必要に応じて利用して、当該表示制御を実行することが可能となる。<その他の実施形態>前述の実施形態1と実施形態2では、スクリプト実行後、一定時間が経過したことに応じてWebサービスサーバ406のWebサービスを利用不可に設定しているが、本発明はこれに限定されない。たとえば、Webサービスを利用不可にするためのWebサービスをWebサービスサーバ406が提供してもよいし、何らかのプロトコルに基づいて、Webサービスを利用不可にする指示を受付けてもよい。また、それらの条件は、Webアプリケーション501から受信されるスクリプトに記載されていてもよい。このようにして、Webアプリケーション501からMFP110のWebサービスを利用不可にするための制御を柔軟に行うことができる。また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータまたはCPUやMPU等がプログラムを読み出して実行する処理である。