(57)【要約】【課題】  効率的なソフトウェア開発を実現できるようにする。【解決手段】開発装置１において、ウェブブラウザ３３で、ウェブページデータ２２が解釈され、そのウェブページデータ２２に含まれるスクリプト内で画像形成装置２の内部装置を動作させる処理を実行するときにその処理に対応するＨＴＴＰリクエストが画像形成装置２のウェブサーバ７３へ送信される。画像形成装置２において、ウェブサーバ７３で、そのＨＴＴＰリクエストが受信され、そのＨＴＴＰリクエストにより指定された動作を内部装置に実行させ、内部装置の動作結果に対応するＨＴＴＰリクエストの応答がウェブブラウザ３３へ送信される。開発装置１において、ウェブブラウザ３３で、そのＨＴＴＰリクエストに対する応答が、画像形成装置２のウェブサーバ７３から受信される。【選択図】  図１
2010191579.tif 000002
【特許請求の範囲】
【請求項１】
電子機器と、
その電子機器で使用されるウェブページデータを開発する開発装置とを備え、
前記開発装置は、
第１通信装置と、
ＨＴＭＬデータとスクリプトとを含むウェブページデータを解釈し、そのウェブページデータに従って、前記スクリプト内で前記電子機器の内部装置を動作させる処理を実行するときにその処理に対応するＨＴＴＰリクエストを、前記第１通信装置を介して前記電子機器のウェブサーバへ送信し、そのＨＴＴＰリクエストに対する応答を、前記第１通信装置を介して前記電子機器のウェブサーバから受信する第１ウェブブラウザとを有し、
前記電子機器は、
第２通信装置と、
所定の機能を有する内部装置と、
前記内部装置を制御する制御部と、
前記内部装置の動作に対応する前記ＨＴＴＰリクエストを、前記第２通信装置を介して前記第１ウェブブラウザから受信し、前記内部装置の動作結果に対応する前記ＨＴＴＰリクエストの応答を、前記第２通信装置を介して前記第１ウェブブラウザへ送信するウェブサーバと、
前記ウェブサーバにより受信された前記ＨＴＴＰリクエストにより指定された動作を前記制御部により前記内部装置に実行させ、その動作結果を取得し前記ウェブサーバへ供給するインターフェースとを有すること、
を特徴とするソフトウェア開発システム。
【請求項２】
前記電子機器は、前記開発装置で開発された前記ウェブページデータを解釈し、そのウェブページデータに従って、前記スクリプト内で前記電子機器の内部装置を動作させる処理を実行するときにその処理に対応するＨＴＴＰリクエストを、前記ウェブサーバへ送信し、そのＨＴＴＰリクエストに対する応答を、前記ウェブサーバから受信する第２ウェブブラウザを有することを特徴とする請求項１記載のソフトウェア開発システム。
【請求項３】
前記ウェブサーバは、前記開発装置で開発された前記ウェブページデータの送信要求を、前記第２通信装置を介して受信すると、そのウェブページデータを送信し、そのウェブページデータの要求元から、前記内部装置の動作に対応する前記ＨＴＴＰリクエストを、前記第２通信装置を介して受信し、そのウェブページデータの要求元へ、前記内部装置の動作結果に対応する前記ＨＴＴＰリクエストの応答を、前記第２通信装置を介して送信することを特徴とする請求項１記載のソフトウェア開発システム。
【請求項４】
前記インターフェースは、ＣＧＩまたはＪＡＶＡサーブレットであることを特徴とする請求項１記載のソフトウェア開発システム。
【請求項５】
前記電子機器は、画像形成装置であり、
前記電子機器の内部装置は、表示装置、印刷装置、画像読取装置およびファクシミリ装置のいずれかであること、
を特徴とする請求項１から請求項４のいずれか１項記載のソフトウェア開発システム。
【請求項６】
電子機器で使用されるウェブページデータを、開発装置で開発するソフトウェア開発方法において、
前記開発装置において、第１ウェブブラウザで、ＨＴＭＬデータとスクリプトとを含むウェブページデータを解釈し、
前記開発装置において、前記第１ウェブブラウザで、そのウェブページデータに従って、前記スクリプト内で前記電子機器の内部装置を動作させる処理を実行するときにその処理に対応するＨＴＴＰリクエストを前記電子機器のウェブサーバへ送信し、
前記電子機器において、前記ウェブサーバで、前記電子機器の内部装置の動作に対応する前記ＨＴＴＰリクエストを前記第１ウェブブラウザから受信し、
前記電子機器において、前記ウェブサーバにより受信された前記ＨＴＴＰリクエストにより指定された動作を前記内部装置に実行させ、
前記電子機器において、前記内部装置の動作結果を取得し前記ウェブサーバへ供給し、
前記電子機器において、ウェブサーバで、前記内部装置の動作結果に対応する前記ＨＴＴＰリクエストの応答を前記第１ウェブブラウザへ送信し、
前記開発装置において、前記第１ウェブブラウザで、そのＨＴＴＰリクエストに対する応答を前記電子機器のウェブサーバから受信すること、
を特徴とするソフトウェア開発方法。
【請求項７】
前記電子機器において、第２ウェブブラウザで、前記開発装置で開発された前記ウェブページデータを解釈し、
前記電子機器において、前記第２ウェブブラウザで、そのウェブページデータに従って、前記スクリプト内で前記電子機器の内部装置を動作させる処理を実行するときにその処理に対応するＨＴＴＰリクエストを前記ウェブサーバへ送信し、
前記電子機器において、前記第２ウェブブラウザで、そのＨＴＴＰリクエストに対する応答を前記ウェブサーバから受信すること、
を特徴とする請求項６記載のソフトウェア開発方法。
【請求項８】
前記ウェブサーバは、前記開発装置で開発された前記ウェブページデータの送信要求を受信すると、そのウェブページデータを送信し、そのウェブページデータの要求元から、前記内部装置の動作に対応する前記ＨＴＴＰリクエストを受信し、そのウェブページデータの要求元へ、前記内部装置の動作結果に対応する前記ＨＴＴＰリクエストの応答を送信することを特徴とする請求項６記載のソフトウェア開発方法。
【請求項９】
前記電子機器において、ＣＧＩまたはＪＡＶＡサーブレットで、前記ウェブサーバにより受信された前記ＨＴＴＰリクエストにより指定された動作を前記内部装置に実行させ、
前記電子機器において、前記ＣＧＩまたは前記ＪＡＶＡサーブレットで、前記内部装置の動作結果を取得し前記ウェブサーバへ供給すること、
を特徴とする請求項６記載のソフトウェア開発方法。
【請求項１０】
前記電子機器は、画像形成装置であり、
前記電子機器の内部装置は、表示装置、印刷装置、画像読取装置およびファクシミリ装置のいずれかであること、
を特徴とする請求項６から請求項９のいずれか１項記載のソフトウェア開発方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトウェア開発システムおよびソフトウェア開発方法に関するものである。
【背景技術】
【０００２】
プリンタ、複写機などの電子機器において特定の機能を実現するために、ソフトウェアモジュールが記録媒体または通信媒体から導入される。このようなソフトウェアモジュールの開発は、通常、対象の電子機器内ではなく、開発装置で行われる。開発装置としては、例えば、開発環境を導入されたパーソナルコンピュータが使用される。
【０００３】
開発段階では、開発中のソフトウェアモジュールを対象の電子機器で使用した場合の動作を確認する必要がある。開発装置のプラットホームは、電子機器のプラットホームと異なるため、開発段階での動作確認には、（１）開発途中のソフトウェアモジュールを電子機器に導入して電子機器上で実行させたり（例えば特許文献１参照）、（２）開発装置のプラットホーム上で電子機器のプラットホームを模擬するシミュレータを開発装置に導入し、シミュレータ上で開発途中のソフトウェアモジュールを実行させたりする（例えば特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開昭６４−６５６４４号公報
【特許文献２】特開平４−３２９３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、開発途中のソフトウェアモジュールを電子機器に導入して電子機器上で実行させる方法では、ソフトウェアモジュールを変更するたびに、電子機器にソフトウェアモジュールを導入しなければならないため作業負担が大きく、効率的なソフトウェア開発を行うことが難しい。
【０００６】
また、シミュレータを開発装置に導入し、シミュレータ上で開発途中のソフトウェアモジュールを実行させる方法では、開発するソフトウェアモジュールの機能が特に限定されていない場合には、シミュレータは、対象の電子機器のすべての機能を模擬する必要があり、正確に電子機器の動作を模擬するシミュレータの開発が容易ではない。また、異なる複数の機種のそれぞれに対してシミュレータを開発しなければならず、さらに、電子機器のモデルチェンジ、バージョンチェンジなどの仕様変更があるたびに、シミュレータを変更しなければならない。したがって、シミュレータの開発負担が大きい。また、ソフトウェアモジュールの動作が正しくない場合、開発中のソフトウェアモジュールのバグではなく、シミュレータのバグが動作不良の原因となる可能性があり、動作不良の原因を特定する作業負担が大きくなる。
【０００７】
このように、上述の技術では、効率的なソフトウェア開発を行うことが難しい。
【０００８】
本発明は、上記の問題に鑑みてなされたものであり、効率的なソフトウェア開発を実現できるソフトウェア開発システムおよびソフトウェア開発方法を得ることを目的とする。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明では以下のようにした。
【００１０】
本発明に係るソフトウェア開発システムは、電子機器と、その電子機器で使用されるウェブページデータを開発する開発装置とを備える。開発装置は、第１通信装置と、ＨＴＭＬデータとスクリプトとを含むウェブページデータを解釈し、そのウェブページデータに従って、スクリプト内で電子機器の内部装置を動作させる処理を実行するときにその処理に対応するＨＴＴＰリクエストを、第１通信装置を介して電子機器のウェブサーバへ送信し、そのＨＴＴＰリクエストに対する応答を、第１通信装置を介して電子機器のウェブサーバから受信する第１ウェブブラウザとを有する。一方、電子機器は、第２通信装置と、所定の機能を有する内部装置と、内部装置を制御する制御部と、内部装置の動作に対応するＨＴＴＰリクエストを、第２通信装置を介して第１ウェブブラウザから受信し、内部装置の動作結果に対応するＨＴＴＰリクエストの応答を、第２通信装置を介して第１ウェブブラウザへ送信するウェブサーバと、ウェブサーバにより受信されたＨＴＴＰリクエストにより指定された動作を制御部により内部装置に実行させ、その動作結果を取得しウェブサーバへ供給するインターフェースとを有する。
【００１１】
これにより、開発途中のウェブページデータを電子機器に導入する必要がなく、かつ実機の内部装置を実際に動作させてウェブページデータによるウェブブラウザの動作確認を行うことができるため、開発装置において効率的なソフトウェア開発を実現できる。
【００１２】
また、本発明に係るソフトウェア開発システムは、上記のソフトウェア開発システムに加え、次のようにしてもよい。この場合、電子機器は、開発装置で開発されたウェブページデータを解釈し、そのウェブページデータに従って、スクリプト内で電子機器の内部装置を動作させる処理を実行するときにその処理に対応するＨＴＴＰリクエストを、ウェブサーバへ送信し、そのＨＴＴＰリクエストに対する応答を、ウェブサーバから受信する第２ウェブブラウザを有する。
【００１３】
これにより、開発途中の動作確認で使用されるインターフェースが、開発後にウェブページデータが電子機器で実行された後でも同様に使用されるため、開発環境が、実使用時にウェブブラウザがウェブページデータを実行するときの環境により近づく。
【００１４】
また、本発明に係るソフトウェア開発システムは、上記のソフトウェア開発システムのいずれかに加え、次のようにしてもよい。この場合、ウェブサーバは、開発装置で開発されたウェブページデータの送信要求を、第２通信装置を介して受信すると、そのウェブページデータを送信し、そのウェブページデータの要求元から、内部装置の動作に対応するＨＴＴＰリクエストを、第２通信装置を介して受信し、そのウェブページデータの要求元へ、内部装置の動作結果に対応するＨＴＴＰリクエストの応答を、第２通信装置を介して送信する。
【００１５】
これにより、ウェブページデータが電子機器以外の他の装置により処理される場合でも、開発途中の動作確認で使用されるインターフェースが、開発後にウェブページデータが電子機器で実行された後でも同様に使用されるため、開発環境が、実使用時にウェブブラウザがウェブページデータを実行するときの環境により近づく。
【００１６】
また、本発明に係るソフトウェア開発システムは、上記のソフトウェア開発システムのいずれかに加え、次のようにしてもよい。この場合、インターフェースは、ＣＧＩまたはＪＡＶＡサーブレットである。
【００１７】
また、本発明に係るソフトウェア開発システムは、上記のソフトウェア開発システムのいずれかに加え、次のようにしてもよい。この場合、電子機器は、画像形成装置であり、電子機器の内部装置は、表示装置、印刷装置、画像読取装置およびファクシミリ装置のいずれかである。
【００１８】
本発明に係るソフトウェア開発方法は、（ａ）開発装置において、第１ウェブブラウザで、ＨＴＭＬデータとスクリプトとを含むウェブページデータを解釈し、（ｂ）開発装置において、第１ウェブブラウザで、そのウェブページデータに従って、スクリプト内で電子機器の内部装置を動作させる処理を実行するときにその処理に対応するＨＴＴＰリクエストを電子機器のウェブサーバへ送信し、（ｃ）電子機器において、ウェブサーバで、電子機器の内部装置の動作に対応するＨＴＴＰリクエストを第１ウェブブラウザから受信し、（ｄ）電子機器において、ウェブサーバにより受信されたＨＴＴＰリクエストにより指定された動作を内部装置に実行させ、（ｅ）電子機器において、内部装置の動作結果を取得しウェブサーバへ供給し、（ｆ）電子機器において、ウェブサーバで、内部装置の動作結果に対応するＨＴＴＰリクエストの応答を第１ウェブブラウザへ送信し、（ｇ）開発装置において、第１ウェブブラウザで、そのＨＴＴＰリクエストに対する応答を電子機器のウェブサーバから受信する。
【００１９】
これにより、開発途中のウェブページデータを電子機器に導入する必要がなく、かつ実機の内部装置を実際に動作させてウェブページデータによるウェブブラウザの動作確認を行うことができるため、開発装置において効率的なソフトウェア開発を実現できる。
【００２０】
また、本発明に係るソフトウェア開発方法は、上記のソフトウェア開発方法に加え、次のようにしてもよい。この場合、ソフトウェア開発方法は、さらに、（ｈ）電子機器において、第２ウェブブラウザで、開発装置で開発されたウェブページデータを解釈し、（ｉ）電子機器において、第２ウェブブラウザで、そのウェブページデータに従って、スクリプト内で電子機器の内部装置を動作させる処理を実行するときにその処理に対応するＨＴＴＰリクエストをウェブサーバへ送信し、（ｊ）電子機器において、第２ウェブブラウザで、そのＨＴＴＰリクエストに対する応答をウェブサーバから受信する。
【００２１】
これにより、開発途中の動作確認時と同様にして内部装置の動作を制御するため、開発環境が、実使用時にウェブブラウザがウェブページデータを実行するときの環境により近づく。
【００２２】
また、本発明に係るソフトウェア開発方法は、上記のソフトウェア開発方法のいずれかに加え、次のようにしてもよい。この場合、ウェブサーバは、開発装置で開発されたウェブページデータの送信要求を受信すると、そのウェブページデータを送信し、そのウェブページデータの要求元から、内部装置の動作に対応するＨＴＴＰリクエストを受信し、そのウェブページデータの要求元へ、内部装置の動作結果に対応するＨＴＴＰリクエストの応答を送信する。
【００２３】
これにより、開発途中の動作確認時と同様にして内部装置の動作を制御するため、開発環境が、実使用時にウェブブラウザがウェブページデータを実行するときの環境により近づく。
【００２４】
また、本発明に係るソフトウェア開発方法は、上記のソフトウェア開発方法のいずれかに加え、次のようにしてもよい。この場合、電子機器において、ＣＧＩまたはサーブレットで、ＪＡＶＡウェブサーバにより受信されたＨＴＴＰリクエストにより指定された動作を内部装置に実行させ、電子機器において、ＣＧＩまたはＪＡＶＡサーブレットで、内部装置の動作結果を取得しウェブサーバへ供給する。
【００２５】
また、本発明に係るソフトウェア開発方法は、上記のソフトウェア開発方法のいずれかに加え、次のようにしてもよい。この場合、電子機器は、画像形成装置であり、電子機器の内部装置は、表示装置、印刷装置、画像読取装置およびファクシミリ装置のいずれかである。
【発明の効果】
【００２６】
本発明によれば、開発装置において効率的なソフトウェア開発を実現できるソフトウェア開発システムおよびソフトウェア開発方法を得ることができる。
【図面の簡単な説明】
【００２７】
【図１】図１は、本発明の実施の形態に係るソフトウェア開発システムの構成を示すブロック図である。
【図２】図２は、図１におけるソフトウェア開発システムにおける開発手順を示すフローチャートである。
【図３】図３は、図１に示すシステムにおいて、ソフトウェア開発段階での開発装置の動作を説明するフローチャートである。
【発明を実施するための形態】
【００２８】
以下、図に基づいて本発明の実施の形態を説明する。
【００２９】
図１は、本発明の実施の形態に係るソフトウェア開発システムの構成を示すブロック図である。図１に示すシステムは、開発装置１と、画像形成装置２とを備える。開発装置１は、画像形成装置２に導入されるウェブページデータを開発するための装置である。このウェブページデータは、ＨＴＭＬ（Hypertext Markup Language）データとスクリプトとを有する。スクリプトは、例えばJavaScriptといったスクリプト言語で、所定の処理が記述されたものであり、通常のウェブブラウザはそのスクリプト言語の処理系を有する。
【００３０】
開発装置１は、例えば、開発プラットホームソフトウェアをインストールされたパーソナルコンピュータである。画像形成装置２は、ウェブブラウザを有し、ウェブページデータを導入可能な電子機器であり、印刷などの所定の機能を有する内部装置を備える。画像形成装置２は、例えば印刷装置、複写機、スキャナ機、ファクシミリ機、複合機などである。開発装置１と画像形成装置２とは、コンピュータネットワークなどの通信路を介して接続されている。
【００３１】
なお、この画像形成装置２には、通信路を介してユーザ端末装置３を接続可能である。ユーザ端末装置３は、開発時には使用されず、開発されたウェブページデータに従って画像形成装置２を操作する際に使用される。
【００３２】
開発装置１は、通信装置１１と、記憶装置１２と、演算処理装置１３と、表示装置１４と、入力装置１５とを備える。
【００３３】
通信装置１１は、ネットワークなどを介して画像形成装置２とデータ通信が可能な装置である。通信装置１１としては、例えばネットワークインターフェースが使用される。
【００３４】
記憶装置１２は、各種プログラムおよび各種データを格納する装置である。記憶装置１２としては、例えば、ハードディスクドライブ、不揮発性の半導体メモリなどが使用される。記憶装置１２には、ＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）などといった所定のプロトコルでデータ通信を行うためのデータ通信プログラム（図示せず）、開発装置１における開発プラットホームを実現するための開発環境プログラム（図示せず）、ウェブブラウザプログラム２１、画像形成装置２で使用するために開発されているウェブページデータ２２などが格納される。
【００３５】
演算処理装置１３は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などを有するコンピュータであって、ＲＡＭにプログラムをロードして、ＣＰＵでそのプログラムを実行して各種処理部を実現する。上述のデータ通信プログラムが演算処理装置１３で実行されることにより、通信部３１が実現される。また、上述の開発環境プログラムが演算処理装置１３で実行されることにより、開発プラットホーム３２が実現される。また、ウェブブラウザプログラム２１が演算処理装置１３で実行されることにより、ウェブブラウザ３３が実現される。
【００３６】
通信部３１は、通信装置１１を制御して、所定のプロトコルに従って、画像形成装置２との間でデータ通信を行う処理部である。
【００３７】
開発プラットホーム３２は、コントローラ４１、ソースコードエディタ（図示せず）、デバッガ（図示せず）などの処理部を有する。
【００３８】
ウェブブラウザ３３は、ＨＴＴＰ（Hypertext Transfer Protocol）クライアントであって、ウェブページデータ２２を解釈し、そのウェブページデータに記述されている処理を実行する処理部である。ウェブブラウザ３３としては、例えばインターネットエクスプローラといったＰＣ用のウェブブラウザが使用される。
【００３９】
コントローラ４１は、図示せぬ入力装置に対するユーザ操作などに応じて、開発プラットホーム３２内の他の処理部の動作を制御する処理部である。
【００４０】
また、表示装置１４は、各種情報を表示する装置である。表示装置１４としては、例えば液晶ディスプレイが使用される。表示装置１４は、ウェブブラウザ３３によりウェブページデータ２２が解釈された結果に応じた画面を表示する。入力装置１５は、ユーザ操作を検出する装置である。入力装置１５としては、例えばキーボードおよびマウスが使用される。したがって、表示装置１４および入力装置１５により開発装置１のユーザインターフェースが構成される。
【００４１】
画像形成装置２は、表示装置５１と、入力装置５２と、通信装置５３と、記憶装置５４と、演算処理装置５５とを備える。
【００４２】
表示装置５１は、各種情報を表示する内部装置である。表示装置５１としては、例えば液晶ディスプレイが使用される。入力装置５２は、ユーザ操作を検出する装置である。入力装置５２としては、例えばタッチパネル、キースイッチなどが使用される。表示装置５１および入力装置５２は、画像形成装置２の筺体表面の操作パネルに配置される。この表示装置５１および入力装置５２により画像形成装置２のユーザインターフェースが構成される。
【００４３】
通信装置５３は、ネットワークなどを介して開発装置１とデータ通信が可能な装置である。通信装置５３としては、例えばネットワークインターフェースが使用される。
【００４４】
記憶装置５４は、各種プログラムおよび各種データを格納する装置である。記憶装置５４としては、例えば、ハードディスクドライブ、不揮発性の半導体メモリなどが使用される。記憶装置５４には、ＴＣＰ／ＩＰなどといった所定のプロトコルでデータ通信を行うためのデータ通信プログラム（図示せず）、印刷装置５２などの内部装置を制御するための制御プログラム６１、ウェブサーバ７３から呼び出し可能な、制御プログラム６１を実行させるためのインターフェースを提供するためのインターフェースコード６２、ウェブサーバプログラム６３、ウェブブラウザプログラム６４、ウェブページデータ６５などが格納される。
【００４５】
演算処理装置５５は、ＣＰＵ、ＲＯＭ、ＲＡＭなどを有するコンピュータであって、ＲＡＭにプログラムをロードして、ＣＰＵでそのプログラムを実行して各種処理部を実現する。上述のデータ通信プログラムが演算処理装置５５で実行されることにより、通信部７１が実現される。また、制御プログラム６１が演算処理装置５５で実行されることにより、制御部７２が実現される。また、インターフェースコード６２が演算処理装置５５で実行されることにより、インターフェース７４が実現される。また、ウェブサーバプログラム６３が演算処理装置５５で実行されることにより、ウェブサーバ７３が実現される。また、ウェブブラウザプログラム６４が演算処理装置５５で実行されることにより、ウェブブラウザ７５が実現される。
【００４６】
通信部７１は、通信装置５３を制御して、所定のプロトコルに従って、開発装置１との間でデータ通信を行う処理部である。
【００４７】
制御部７２は、表示装置５１、印刷装置（図示せず）などといった内部装置を制御する処理部である。
【００４８】
ウェブサーバ７３は、ＨＴＴＰサーバであって、ＨＴＴＰに従って、ＨＴＴＰリクエストを受信し、そのＨＴＴＰリクエストに対する応答を送信する処理部である。
【００４９】
インターフェース７４は、ＨＴＴＰリクエストに従ってウェブサーバ７３により呼び出され、ＨＴＴＰリクエストにより指定された、内部装置の動作を実行させるために、制御部７２を動作させる処理部である。インターフェース７４は、ＣＧＩ（Common Gateway Interface）またはＪＡＶＡサーブレットである。インターフェース７４として、内部装置の機能ごとにＣＧＩまたはＪＡＶＡサーブレットが用意されている。例えば、表示装置５１によるテキスト表示、印刷装置による印刷実行、印刷ジョブの制御、画像読取装置によるスキャン実行、ユーザ認証などのそれぞれに対してＣＧＩまたはＪＡＶＡサーブレットが用意される。
【００５０】
ウェブブラウザ７５は、ＨＴＴＰクライアントであって、ウェブページデータ６５を解釈し、そのウェブページデータ６５に記述されている処理（表示装置５１への画面表示など）を行う処理部である。ウェブブラウザ７５としては、組み込みシステム用のウェブブラウザが使用される。
【００５１】
また、ユーザ端末装置３は、例えばウェブブラウザ９２がインストールされているパーソナルコンピュータである。ユーザ端末装置３は、例えばネットワークインターフェースといった通信装置８１と、コンピュータを有する演算処理装置８２と、例えば液晶ディスプレイといった表示装置８３と、例えばキーボードおよびマウスといった入力装置８４とを有する。演算処理装置８２で通信プログラムおよびウェブブラウザプログラムが実行されると、ＴＣＰ／ＩＰで通信する通信部９１、およびＨＴＴＰで通信するウェブブラウザ９２が実現される。
【００５２】
次に、上記システムにおけるソフトウェアの開発について説明する。
【００５３】
図２は、図１におけるソフトウェア開発システムにおける開発手順を示すフローチャートである。
【００５４】
まず、開発装置１において、開発プラットホーム３２が起動される。
【００５５】
そして、入力装置１５に対するユーザ操作に従って、開発プラットホーム３２におけるテキストエディタによりウェブページデータ２２が編集される（ステップＳ１）。
【００５６】
次に、そのウェブページデータ２２をウェブブラウザ３３に解釈させるためのユーザ操作が入力装置１５により検出されると、コントローラ４１は、ウェブブラウザプログラム２１を呼び出し、ウェブブラウザ３３を起動し、そのウェブページデータ２２を解釈させる（ステップＳ２）。ウェブページデータ２２のスクリプトにおける、画像形成装置２の内部装置を動作させるコマンドが実行される場合、ウェブブラウザ３３は、そのスクリプトに従って、ＨＴＴＰリクエストを画像形成装置２のウェブサーバ７３へ送信し、その動作結果を含む応答を受信する。ウェブブラウザ３３は、そのウェブページデータ２２に従って、その動作結果を使用して、それ以降の処理を実行する。
【００５７】
このようにして、開発装置１において、ウェブページデータ２２が試験的にウェブブラウザ３３により解釈される。
【００５８】
その後、ユーザは、ウェブページデータ２２を画像形成装置２へインストールするか否かを判断する（ステップＳ３）。
【００５９】
ウェブページデータ２２が完成したとユーザが判断した場合には、ユーザは、ウェブページデータ２２を画像形成装置２へインストールするための操作を行う。コントローラ４１は、その操作を検出すると、ＨＴＴＰリクエストとともに、そのウェブページデータ２２を画像形成装置２に送信する（ステップＳ４）。画像形成装置２では、ウェブサーバ７３が、通信装置５３および通信部７２を介してそのウェブページデータ２２を受信し、記憶装置５４に格納する。
【００６０】
このようにして、完成したウェブページデータ６５が画像形成装置２に格納される。
【００６１】
このようにして記憶装置５４に格納されたウェブページデータ６５のスクリプトには、上述のように内部装置を動作させるためにウェブサーバ７３へＨＴＴＰリクエストを送信するためのコマンドが記述されている。このため、このウェブページデータ６５が、画像形成装置２のウェブブラウザ７５により解釈されると、そのウェブブラウザ７５からウェブサーバ７３へＨＴＴＰリクエストが送信され、そのＨＴＴＰリクエストに対応してインターフェース７４が制御部７２を起動し、制御部７２がそのＨＴＴＰリクエストにより指定された動作を内部装置に実行させる。その後、動作結果を含む応答が、ウェブサーバ７３からウェブブラウザ７５へ送信される。
【００６２】
また、ユーザ端末装置３のウェブブラウザ９２で画像形成装置２がアクセスされる場合、ウェブブラウザ９２は、ウェブページデータ６５の送信要求を、ウェブサーバ７３へ送信する。この送信要求はＨＴＴＰリクエストである。ウェブサーバ７３は、開発装置１で開発されたウェブページデータ６５の送信要求を、通信装置５３および通信部７１を介して受信すると、そのウェブページデータ６５を読み出してウェブブラウザ９２へ送信する。ユーザ端末装置３のウェブブラウザ９２は、そのウェブページデータ６５を受信すると、ウェブページデータ６５の解釈を開始する。そして、上述のように内部装置を動作させるためにウェブサーバ７３へＨＴＴＰリクエストを送信するためのコマンドが解釈されると、ウェブブラウザ９２は、そのＨＴＴＰリクエストをウェブサーバ７３へ送信する。これにより、そのＨＴＴＰリクエストに対応してインターフェース７４が制御部７２を起動し、制御部７２がそのＨＴＴＰリクエストにより指定された動作を内部装置に実行させる。その後、動作結果を含む応答が、ウェブサーバ７３からウェブブラウザ９２へ送信される。
【００６３】
このように、開発時と同様に、ウェブページデータ６５が画像形成装置２において使用されるときも、ウェブサーバ７３およびインターフェース７４が、内部装置を動作させるために使用される。
【００６４】
以上のようにして、スクリプトを含むウェブページデータ６５が、開発され、インストールされ、ウェブブラウザ７５，９２により解釈される。
【００６５】
ここで、上述のステップＳ２における、ソフトウェア開発段階での開発装置１の動作の詳細について説明する。図３は、図１に示すシステムにおいて、ソフトウェア開発段階での開発装置１の動作を説明するフローチャートである。
【００６６】
コントローラ４１は、ウェブブラウザ３３が起動していない場合には、ウェブブラウザ３３を起動し、入力装置１５に対するユーザ操作により指定されたウェブページデータ２２を記憶装置１２から読み込ませ（ステップＳ１１）、ウェブページデータ２２の解釈を開始させる（ステップＳ１２）。
【００６７】
このウェブページデータ２２のスクリプトには、画像形成装置２の内部装置の機能を使用するときにＨＴＴＰリクエストを送信するためのコマンドが記述されている。ウェブブラウザ３３がこのウェブページデータ２２を解釈しているときに、そのコマンドを検出し、そのコマンドに対応するＨＴＴＰリクエストを生成し、通信部３１および通信装置１１を介して画像形成装置２へ送信する（ステップＳ１３）。ＨＴＴＰリクエストとしては、ＧＥＴコマンドが使用される。このとき、ＨＴＴＰリクエストにおけるＵＲＬ（Uniform Resource Locator）により、使用するプロトコル（ＨＴＴＰ）、宛先となるウェブサーバ７３（つまり、画像形成装置）、起動させるインターフェース７４、および内部装置の動作を指定するパラメータが指定される。
【００６８】
例えば、ＵＲＬがhttp://192.168.0.5/display.cgi?command=display&text=hello&x=10&y=10である場合には、ＩＰアドレスが192.168.0.5である画像形成装置２のウェブサーバ７３が指定され、インターフェース７４としてdisplay.cgiというＣＧＩが、表示装置５１を動作させるために指定され、パラメータcommand=display&text=hello&x=10&y=10により、テキスト「hello」を座標値（10,10）に表示させる処理が指定される。なお、ホスト名で画像形成装置２を指定してもよい。
【００６９】
画像形成装置２におけるウェブサーバ７３がそのＨＴＴＰリクエストを受信すると、インターフェース７４が呼び出される。そのインターフェース７４は、そのＨＴＴＰリクエストにより指定された動作を内部装置に実行させるために、制御部７２を呼び出す。制御部７２は、インターフェース７４により指定された動作を、内部装置に実行させる。
【００７０】
そして、インターフェース７４は、制御部７２から内部装置の動作結果を受信すると、その動作結果をウェブサーバ７３へ供給する。ウェブサーバ７３は、動作結果を含む応答を生成し、開発装置１へ送信する。開発装置１のウェブブラウザ３３は、その応答を、通信装置１１および通信部３１を介して受信する（ステップＳ１４）。
【００７１】
このように、ウェブブラウザ３３が、ウェブページデータ２２における、画像形成装置２の内部装置の機能を使用するコマンドを実行するたびに、ステップＳ１３，Ｓ１４のように、ＨＴＴＰリクエストが送信され、そのＨＴＴＰリクエストに応じて画像形成装置２が動作し、その動作結果が応答として得られる。例えば、表示装置５１にある文字列を表示させるためのＨＴＴＰリクエストが送信され、その表示が成功したか否かを示す応答が受信される。また、所定の入力画面を表示させるＨＴＴＰリクエストが送信され、画像形成装置２における入力装置１５により検出されたその入力画面に対するユーザ操作を示す値を含む応答が得られる。
【００７２】
その後、ウェブブラウザ３３は、その応答を使用して、ウェブページデータ２２の処理を継続する。なお、そのようなコマンド以外の部分については、ウェブブラウザ３３により開発装置１内で処理される。
【００７３】
そして、ウェブページデータ２２が最後まで実行されると、ウェブブラウザ３３によるウェブページデータ２２の処理が終了する（ステップＳ１５）。
【００７４】
このようにして、開発装置１は、ウェブブラウザ３３で、開発途中のウェブページデータ２２を解釈させ、画像形成装置２の機能をＨＴＴＰリクエストで使用して、ウェブページデータ２２（すなわち、画像形成装置２におけるウェブページデータ６５）に記述されている処理を試験的に実行させることができる。
【００７５】
以上のように、上記実施の形態によれば、（ａ）開発装置１において、ウェブブラウザ３３で、ＨＴＭＬデータとスクリプトとを含むウェブページデータ２２が解釈され、（ｂ）開発装置１において、ウェブブラウザ３３で、そのウェブページデータ２２に従って、スクリプト内で画像形成装置２の内部装置を動作させる処理を実行するときにその処理に対応するＨＴＴＰリクエストが画像形成装置２のウェブサーバ７３へ送信され、（ｃ）画像形成装置２において、ウェブサーバ７３で、画像形成装置２の内部装置の動作に対応するＨＴＴＰリクエストがウェブブラウザ３３から受信され、（ｄ）画像形成装置２において、そのＨＴＴＰリクエストにより指定された動作を内部装置に実行させ、（ｅ）画像形成装置２において、内部装置の動作結果がウェブサーバ７３へ供給され、（ｆ）画像形成装置２において、ウェブサーバ７３で、内部装置の動作結果に対応するＨＴＴＰリクエストの応答がウェブブラウザ３３へ送信され、（ｇ）開発装置１において、ウェブブラウザ３３で、そのＨＴＴＰリクエストに対する応答が、画像形成装置２のウェブサーバ７３から受信される。
【００７６】
これにより、開発途中のウェブページデータ２２を電子機器に導入する必要がなく、かつ実機の内部装置を実際に動作させてウェブページデータによるウェブブラウザの動作確認を行うことができるため、開発装置１において効率的なソフトウェア開発を実現できる。
【００７７】
さらに、この技術は、画像形成装置２以外の組み込みシステム（特定の機能を実現する目的でコンピュータおよびプログラムを内蔵した電子機器）で使用されるウェブページデータの開発にも適用可能である。
【００７８】
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【００７９】
例えば、上記実施の形態において、画像形成装置２を、ウェブブラウザ７５を有さないものとしてもよい。その場合でも、ユーザは、ユーザ端末装置３のウェブブラウザ９２により表示装置８３に表示される画面を画像形成装置２のリモートパネルとして使用することができる。
【００８０】
なお、上記実施の形態において、ウェブブラウザ７５がウェブページデータ６５を取得するとき、ウェブブラウザ７５は、記憶装置５４のファイルシステムからウェブページデータ６５を取得してもよいし、ウェブサーバ７３へＨＴＴＰリクエストを送信して、ウェブサーバ７３からウェブページデータ６５を取得してもよい。
【００８１】
また、上記実施の形態において、ウェブブラウザ３３とウェブブラウザ７５は、同一のものでもよいし、異なるものでもよい。ただし、ウェブブラウザ３３には、ウェブブラウザ７５の解釈可能なＨＴＭＬのモードおよびバージョンに準拠しているものを使用するのが好ましい。
【産業上の利用可能性】
【００８２】
本発明は、例えば、複合機の操作パネルの画面制御に使用されるウェブページデータの開発に適用可能である。
【符号の説明】
【００８３】
１  開発装置
２  画像形成装置（電子機器の一例）
１１  通信装置（第１通信装置の一例）
２２  ウェブページデータ
３３  ウェブブラウザ（第１ウェブブラウザの一例）
５１  表示装置（内部装置の一例）
５３  通信装置（第２通信装置の一例）
７２  制御部
７３  ウェブサーバ
７４  インターフェース
７５  ウェブブラウザ（第２ウェブブラウザの一例）
【図１】
2010191579.tif 000003
【図２】
2010191579.tif 000004
【図３】
2010191579.tif 000005