JP5543645B2 - ソフトウェア開発システムおよびソフトウェア開発方法 - Google Patents

ソフトウェア開発システムおよびソフトウェア開発方法 Download PDF

Info

Publication number
JP5543645B2
JP5543645B2 JP2013144958A JP2013144958A JP5543645B2 JP 5543645 B2 JP5543645 B2 JP 5543645B2 JP 2013144958 A JP2013144958 A JP 2013144958A JP 2013144958 A JP2013144958 A JP 2013144958A JP 5543645 B2 JP5543645 B2 JP 5543645B2
Authority
JP
Japan
Prior art keywords
page data
web
http request
web page
web server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013144958A
Other languages
English (en)
Other versions
JP2013242894A (ja
Inventor
巧太郎 金子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2013144958A priority Critical patent/JP5543645B2/ja
Publication of JP2013242894A publication Critical patent/JP2013242894A/ja
Application granted granted Critical
Publication of JP5543645B2 publication Critical patent/JP5543645B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、ソフトウェア開発システムおよびソフトウェア開発方法に関するものである。
プリンタ、複写機などの電子機器において特定の機能を実現するために、ソフトウェアモジュールが記録媒体または通信媒体から導入される。このようなソフトウェアモジュールの開発は、通常、対象の電子機器内ではなく、開発装置で行われる。開発装置としては、例えば、開発環境を導入されたパーソナルコンピュータが使用される。
開発段階では、開発中のソフトウェアモジュールを対象の電子機器で使用した場合の動作を確認する必要がある。開発装置のプラットホームは、電子機器のプラットホームと異なるため、開発段階での動作確認には、(1)開発途中のソフトウェアモジュールを電子機器に導入して電子機器上で実行させたり(例えば特許文献1参照)、(2)開発装置のプラットホーム上で電子機器のプラットホームを模擬するシミュレータを開発装置に導入し、シミュレータ上で開発途中のソフトウェアモジュールを実行させたりする(例えば特許文献2参照)。
特開昭64−65644号公報 特開平4−32933号公報
しかしながら、開発途中のソフトウェアモジュールを電子機器に導入して電子機器上で実行させる方法では、ソフトウェアモジュールを変更するたびに、電子機器にソフトウェアモジュールを導入しなければならないため作業負担が大きく、効率的なソフトウェア開発を行うことが難しい。
また、シミュレータを開発装置に導入し、シミュレータ上で開発途中のソフトウェアモジュールを実行させる方法では、開発するソフトウェアモジュールの機能が特に限定されていない場合には、シミュレータは、対象の電子機器のすべての機能を模擬する必要があり、正確に電子機器の動作を模擬するシミュレータの開発が容易ではない。また、異なる複数の機種のそれぞれに対してシミュレータを開発しなければならず、さらに、電子機器のモデルチェンジ、バージョンチェンジなどの仕様変更があるたびに、シミュレータを変更しなければならない。したがって、シミュレータの開発負担が大きい。また、ソフトウェアモジュールの動作が正しくない場合、開発中のソフトウェアモジュールのバグではなく、シミュレータのバグが動作不良の原因となる可能性があり、動作不良の原因を特定する作業負担が大きくなる。
このように、上述の技術では、効率的なソフトウェア開発を行うことが難しい。
本発明は、上記の問題に鑑みてなされたものであり、効率的なソフトウェア開発を実現できるソフトウェア開発システムおよびソフトウェア開発方法を得ることを目的とする。
上記の課題を解決するために、本発明では以下のようにした。
本発明に係るソフトウェア開発システムは、電子機器と、その電子機器で使用されるウェブページデータを開発する開発装置と、ユーザ端末装置とを備える。開発装置は、第1通信装置と、開発対象である、HTMLデータとスクリプトとを含むウェブページデータを解釈し、そのウェブページデータに従って、スクリプト内で電子機器の内部装置を動作させる処理を実行するときに、スクリプト内に記述されているコマンドに対応して、その処理を指定するHTTPリクエストを生成し、第1通信装置を介して電子機器のウェブサーバへ送信し、そのHTTPリクエストに対する応答を、第1通信装置を介して電子機器のウェブサーバから受信する第1ウェブブラウザとを有する。電子機器は、第2通信装置と、所定の機能を有する内部装置と、内部装置を制御する制御部と、内部装置の動作を指定するHTTPリクエストを、第2通信装置を介して第1ウェブブラウザから受信し、内部装置の動作結果に対応するHTTPリクエストの応答を、第2通信装置を介して第1ウェブブラウザへ送信するウェブサーバと、ウェブサーバにより受信されたHTTPリクエストにより指定された動作を制御部により内部装置に実行させ、その動作結果を取得しウェブサーバへ供給するインターフェースとを有する。
そして、ユーザ端末装置は、開発装置で開発されたウェブページデータを解釈し、そのウェブページデータに従って、スクリプト内で電子機器の内部装置を動作させる処理を実行するときに、スクリプト内に記述されているコマンドに対応して、その処理を指定するHTTPリクエストを生成しウェブサーバへ送信し、そのHTTPリクエストに対する応答を、ウェブサーバから受信する第2ウェブブラウザを有する。
これにより、開発途中のウェブページデータを電子機器に導入する必要がなく、かつ実機の内部装置を実際に動作させてウェブページデータによるウェブブラウザの動作確認を行うことができるため、開発装置において効率的なソフトウェア開発を実現できる。
また、開発途中の動作確認で使用されるインターフェースが、開発後にウェブページデータが電子機器で実行された後でも同様に使用されるため、開発環境が、実使用時にウェブブラウザがウェブページデータを実行するときの環境により近づく。
また、本発明に係るソフトウェア開発システムは、上記のソフトウェア開発システムに加え、次のようにしてもよい。この場合、ウェブサーバは、開発装置で開発されたウェブページデータの送信要求を、第2通信装置を介して受信すると、そのウェブページデータを送信し、そのウェブページデータの要求元から、内部装置の動作を指定するHTTPリクエストを、第2通信装置を介して受信し、そのウェブページデータの要求元へ、内部装置の動作結果に対応するHTTPリクエストの応答を、第2通信装置を介して送信する。
これにより、ウェブページデータが電子機器以外の他の装置により処理される場合でも、開発途中の動作確認で使用されるインターフェースが、開発後にウェブページデータが電子機器で実行された後でも同様に使用されるため、開発環境が、実使用時にウェブブラウザがウェブページデータを実行するときの環境により近づく。
また、本発明に係るソフトウェア開発システムは、上記のソフトウェア開発システムのいずれかに加え、次のようにしてもよい。この場合、インターフェースは、CGIまたはJAVAサーブレットである。
また、本発明に係るソフトウェア開発システムは、上記のソフトウェア開発システムのいずれかに加え、次のようにしてもよい。この場合、電子機器は、画像形成装置であり、電子機器の内部装置は、表示装置、印刷装置、画像読取装置およびファクシミリ装置のいずれかである。
本発明に係るソフトウェア開発方法は、(a)開発装置において、第1ウェブブラウザで、開発対象である、HTMLデータとスクリプトとを含むウェブページデータを解釈し、(b)開発装置において、前記第1ウェブブラウザで、そのウェブページデータに従って、前記スクリプト内で電子機器の内部装置を動作させる処理を実行するときに、スクリプト内に記述されているコマンドに対応して、その処理を指定するHTTPリクエストを生成し電子機器のウェブサーバへ送信し、(c)電子機器において、ウェブサーバで、電子機器の内部装置の動作を指定するHTTPリクエストを第1ウェブブラウザから受信し、(d)電子機器において、前記ウェブサーバにより受信された前記HTTPリクエストにより指定された動作を前記内部装置に実行させ、(e)電子機器において、内部装置の動作結果を取得しウェブサーバへ供給し、(f)電子機器において、ウェブサーバで、内部装置の動作結果に対応するHTTPリクエストの応答を第1ウェブブラウザへ送信し、(g)開発装置において、第1ウェブブラウザで、そのHTTPリクエストに対する応答を電子機器のウェブサーバから受信する。
さらに、(h)ユーザ端末装置において、第2ウェブブラウザで、開発装置で開発されたウェブページデータを解釈し、(i)ユーザ端末装置において、第2ウェブブラウザで、そのウェブページデータに従って、スクリプト内で電子機器の内部装置を動作させる処理を実行するときに、スクリプト内に記述されているコマンドに対応して、その処理を指定するHTTPリクエストを生成しウェブサーバへ送信し、(j)ユーザ端末装置において、第2ウェブブラウザで、そのHTTPリクエストに対する応答を前記ウェブサーバから受信する。
これにより、開発途中のウェブページデータを電子機器に導入する必要がなく、かつ実機の内部装置を実際に動作させてウェブページデータによるウェブブラウザの動作確認を行うことができるため、開発装置において効率的なソフトウェア開発を実現できる。
また、開発途中の動作確認時と同様にして内部装置の動作を制御するため、開発環境が、実使用時にウェブブラウザがウェブページデータを実行するときの環境により近づく。
また、本発明に係るソフトウェア開発方法は、上記のソフトウェア開発方法に加え、次のようにしてもよい。この場合、ウェブサーバは、開発装置で開発されたウェブページデータの送信要求を受信すると、そのウェブページデータを送信し、そのウェブページデータの要求元から、内部装置の動作を指定するHTTPリクエストを受信し、そのウェブページデータの要求元へ、内部装置の動作結果に対応するHTTPリクエストの応答を送信する。
これにより、開発途中の動作確認時と同様にして内部装置の動作を制御するため、開発環境が、実使用時にウェブブラウザがウェブページデータを実行するときの環境により近づく。
また、本発明に係るソフトウェア開発方法は、上記のソフトウェア開発方法のいずれかに加え、次のようにしてもよい。この場合、電子機器において、CGIまたはサーブレットで、JAVAウェブサーバにより受信されたHTTPリクエストにより指定された動作を内部装置に実行させ、電子機器において、CGIまたはJAVAサーブレットで、内部装置の動作結果を取得しウェブサーバへ供給する。
また、本発明に係るソフトウェア開発方法は、上記のソフトウェア開発方法のいずれかに加え、次のようにしてもよい。この場合、電子機器は、画像形成装置であり、電子機器の内部装置は、表示装置、印刷装置、画像読取装置およびファクシミリ装置のいずれかである。
本発明によれば、開発装置において効率的なソフトウェア開発を実現できるソフトウェア開発システムおよびソフトウェア開発方法を得ることができる。
図1は、本発明の実施の形態に係るソフトウェア開発システムの構成を示すブロック図である。 図2は、図1におけるソフトウェア開発システムにおける開発手順を示すフローチャートである。 図3は、図1に示すシステムにおいて、ソフトウェア開発段階での開発装置の動作を説明するフローチャートである。
以下、図に基づいて本発明の実施の形態を説明する。
図1は、本発明の実施の形態に係るソフトウェア開発システムの構成を示すブロック図である。図1に示すシステムは、開発装置1と、画像形成装置2とを備える。開発装置1は、画像形成装置2に導入されるウェブページデータを開発するための装置である。このウェブページデータは、HTML(Hypertext Markup Language)データとスクリプトとを有する。スクリプトは、例えばJavaScriptといったスクリプト言語で、所定の処理が記述されたものであり、通常のウェブブラウザはそのスクリプト言語の処理系を有する。
開発装置1は、例えば、開発プラットホームソフトウェアをインストールされたパーソナルコンピュータである。画像形成装置2は、ウェブブラウザを有し、ウェブページデータを導入可能な電子機器であり、印刷などの所定の機能を有する内部装置を備える。画像形成装置2は、例えば印刷装置、複写機、スキャナ機、ファクシミリ機、複合機などである。開発装置1と画像形成装置2とは、コンピュータネットワークなどの通信路を介して接続されている。
なお、この画像形成装置2には、通信路を介してユーザ端末装置3を接続可能である。ユーザ端末装置3は、開発時には使用されず、開発されたウェブページデータに従って画像形成装置2を操作する際に使用される。
開発装置1は、通信装置11と、記憶装置12と、演算処理装置13と、表示装置14と、入力装置15とを備える。
通信装置11は、ネットワークなどを介して画像形成装置2とデータ通信が可能な装置である。通信装置11としては、例えばネットワークインターフェースが使用される。
記憶装置12は、各種プログラムおよび各種データを格納する装置である。記憶装置12としては、例えば、ハードディスクドライブ、不揮発性の半導体メモリなどが使用される。記憶装置12には、TCP/IP(Transmission Control Protocol / Internet Protocol)などといった所定のプロトコルでデータ通信を行うためのデータ通信プログラム(図示せず)、開発装置1における開発プラットホームを実現するための開発環境プログラム(図示せず)、ウェブブラウザプログラム21、画像形成装置2で使用するために開発されているウェブページデータ22などが格納される。
演算処理装置13は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)などを有するコンピュータであって、RAMにプログラムをロードして、CPUでそのプログラムを実行して各種処理部を実現する。上述のデータ通信プログラムが演算処理装置13で実行されることにより、通信部31が実現される。また、上述の開発環境プログラムが演算処理装置13で実行されることにより、開発プラットホーム32が実現される。また、ウェブブラウザプログラム21が演算処理装置13で実行されることにより、ウェブブラウザ33が実現される。
通信部31は、通信装置11を制御して、所定のプロトコルに従って、画像形成装置2との間でデータ通信を行う処理部である。
開発プラットホーム32は、コントローラ41、ソースコードエディタ(図示せず)、デバッガ(図示せず)などの処理部を有する。
ウェブブラウザ33は、HTTP(Hypertext Transfer Protocol)クライアントであって、ウェブページデータ22を解釈し、そのウェブページデータに記述されている処理を実行する処理部である。ウェブブラウザ33としては、例えばインターネットエクスプローラといったPC用のウェブブラウザが使用される。
コントローラ41は、図示せぬ入力装置に対するユーザ操作などに応じて、開発プラットホーム32内の他の処理部の動作を制御する処理部である。
また、表示装置14は、各種情報を表示する装置である。表示装置14としては、例えば液晶ディスプレイが使用される。表示装置14は、ウェブブラウザ33によりウェブページデータ22が解釈された結果に応じた画面を表示する。入力装置15は、ユーザ操作を検出する装置である。入力装置15としては、例えばキーボードおよびマウスが使用される。したがって、表示装置14および入力装置15により開発装置1のユーザインターフェースが構成される。
画像形成装置2は、表示装置51と、入力装置52と、通信装置53と、記憶装置54と、演算処理装置55とを備える。
表示装置51は、各種情報を表示する内部装置である。表示装置51としては、例えば液晶ディスプレイが使用される。入力装置52は、ユーザ操作を検出する装置である。入力装置52としては、例えばタッチパネル、キースイッチなどが使用される。表示装置51および入力装置52は、画像形成装置2の筺体表面の操作パネルに配置される。この表示装置51および入力装置52により画像形成装置2のユーザインターフェースが構成される。
通信装置53は、ネットワークなどを介して開発装置1とデータ通信が可能な装置である。通信装置53としては、例えばネットワークインターフェースが使用される。
記憶装置54は、各種プログラムおよび各種データを格納する装置である。記憶装置54としては、例えば、ハードディスクドライブ、不揮発性の半導体メモリなどが使用される。記憶装置54には、TCP/IPなどといった所定のプロトコルでデータ通信を行うためのデータ通信プログラム(図示せず)、印刷装置52などの内部装置を制御するための制御プログラム61、ウェブサーバ73から呼び出し可能な、制御プログラム61を実行させるためのインターフェースを提供するためのインターフェースコード62、ウェブサーバプログラム63、ウェブブラウザプログラム64、ウェブページデータ65などが格納される。
演算処理装置55は、CPU、ROM、RAMなどを有するコンピュータであって、RAMにプログラムをロードして、CPUでそのプログラムを実行して各種処理部を実現する。上述のデータ通信プログラムが演算処理装置55で実行されることにより、通信部71が実現される。また、制御プログラム61が演算処理装置55で実行されることにより、制御部72が実現される。また、インターフェースコード62が演算処理装置55で実行されることにより、インターフェース74が実現される。また、ウェブサーバプログラム63が演算処理装置55で実行されることにより、ウェブサーバ73が実現される。また、ウェブブラウザプログラム64が演算処理装置55で実行されることにより、ウェブブラウザ75が実現される。
通信部71は、通信装置53を制御して、所定のプロトコルに従って、開発装置1との間でデータ通信を行う処理部である。
制御部72は、表示装置51、印刷装置(図示せず)などといった内部装置を制御する処理部である。
ウェブサーバ73は、HTTPサーバであって、HTTPに従って、HTTPリクエストを受信し、そのHTTPリクエストに対する応答を送信する処理部である。
インターフェース74は、HTTPリクエストに従ってウェブサーバ73により呼び出され、HTTPリクエストにより指定された、内部装置の動作を実行させるために、制御部72を動作させる処理部である。インターフェース74は、CGI(Common Gateway Interface)またはJAVAサーブレットである。インターフェース74として、内部装置の機能ごとにCGIまたはJAVAサーブレットが用意されている。例えば、表示装置51によるテキスト表示、印刷装置による印刷実行、印刷ジョブの制御、画像読取装置によるスキャン実行、ユーザ認証などのそれぞれに対してCGIまたはJAVAサーブレットが用意される。
ウェブブラウザ75は、HTTPクライアントであって、ウェブページデータ65を解釈し、そのウェブページデータ65に記述されている処理(表示装置51への画面表示など)を行う処理部である。ウェブブラウザ75としては、組み込みシステム用のウェブブラウザが使用される。
また、ユーザ端末装置3は、例えばウェブブラウザ92がインストールされているパーソナルコンピュータである。ユーザ端末装置3は、例えばネットワークインターフェースといった通信装置81と、コンピュータを有する演算処理装置82と、例えば液晶ディスプレイといった表示装置83と、例えばキーボードおよびマウスといった入力装置84とを有する。演算処理装置82で通信プログラムおよびウェブブラウザプログラムが実行されると、TCP/IPで通信する通信部91、およびHTTPで通信するウェブブラウザ92が実現される。
次に、上記システムにおけるソフトウェアの開発について説明する。
図2は、図1におけるソフトウェア開発システムにおける開発手順を示すフローチャートである。
まず、開発装置1において、開発プラットホーム32が起動される。
そして、入力装置15に対するユーザ操作に従って、開発プラットホーム32におけるテキストエディタによりウェブページデータ22が編集される(ステップS1)。
次に、そのウェブページデータ22をウェブブラウザ33に解釈させるためのユーザ操作が入力装置15により検出されると、コントローラ41は、ウェブブラウザプログラム21を呼び出し、ウェブブラウザ33を起動し、そのウェブページデータ22を解釈させる(ステップS2)。ウェブページデータ22のスクリプトにおける、画像形成装置2の内部装置を動作させるコマンドが実行される場合、ウェブブラウザ33は、そのスクリプトに従って、HTTPリクエストを画像形成装置2のウェブサーバ73へ送信し、その動作結果を含む応答を受信する。ウェブブラウザ33は、そのウェブページデータ22に従って、その動作結果を使用して、それ以降の処理を実行する。
このようにして、開発装置1において、ウェブページデータ22が試験的にウェブブラウザ33により解釈される。
その後、ユーザは、ウェブページデータ22を画像形成装置2へインストールするか否かを判断する(ステップS3)。
ウェブページデータ22が完成したとユーザが判断した場合には、ユーザは、ウェブページデータ22を画像形成装置2へインストールするための操作を行う。コントローラ41は、その操作を検出すると、HTTPリクエストとともに、そのウェブページデータ22を画像形成装置2に送信する(ステップS4)。画像形成装置2では、ウェブサーバ73が、通信装置53および通信部72を介してそのウェブページデータ22を受信し、記憶装置54に格納する。
このようにして、完成したウェブページデータ65が画像形成装置2に格納される。
このようにして記憶装置54に格納されたウェブページデータ65のスクリプトには、上述のように内部装置を動作させるためにウェブサーバ73へHTTPリクエストを送信するためのコマンドが記述されている。このため、このウェブページデータ65が、画像形成装置2のウェブブラウザ75により解釈されると、そのウェブブラウザ75からウェブサーバ73へHTTPリクエストが送信され、そのHTTPリクエストに対応してインターフェース74が制御部72を起動し、制御部72がそのHTTPリクエストにより指定された動作を内部装置に実行させる。その後、動作結果を含む応答が、ウェブサーバ73からウェブブラウザ75へ送信される。
また、ユーザ端末装置3のウェブブラウザ92で画像形成装置2がアクセスされる場合、ウェブブラウザ92は、ウェブページデータ65の送信要求を、ウェブサーバ73へ送信する。この送信要求はHTTPリクエストである。ウェブサーバ73は、開発装置1で開発されたウェブページデータ65の送信要求を、通信装置53および通信部71を介して受信すると、そのウェブページデータ65を読み出してウェブブラウザ92へ送信する。ユーザ端末装置3のウェブブラウザ92は、そのウェブページデータ65を受信すると、ウェブページデータ65の解釈を開始する。そして、上述のように内部装置を動作させるためにウェブサーバ73へHTTPリクエストを送信するためのコマンドが解釈されると、ウェブブラウザ92は、そのHTTPリクエストをウェブサーバ73へ送信する。これにより、そのHTTPリクエストに対応してインターフェース74が制御部72を起動し、制御部72がそのHTTPリクエストにより指定された動作を内部装置に実行させる。その後、動作結果を含む応答が、ウェブサーバ73からウェブブラウザ92へ送信される。
このように、開発時と同様に、ウェブページデータ65が画像形成装置2において使用されるときも、ウェブサーバ73およびインターフェース74が、内部装置を動作させるために使用される。
以上のようにして、スクリプトを含むウェブページデータ65が、開発され、インストールされ、ウェブブラウザ75,92により解釈される。
ここで、上述のステップS2における、ソフトウェア開発段階での開発装置1の動作の詳細について説明する。図3は、図1に示すシステムにおいて、ソフトウェア開発段階での開発装置1の動作を説明するフローチャートである。
コントローラ41は、ウェブブラウザ33が起動していない場合には、ウェブブラウザ33を起動し、入力装置15に対するユーザ操作により指定されたウェブページデータ22を記憶装置12から読み込ませ(ステップS11)、ウェブページデータ22の解釈を開始させる(ステップS12)。
このウェブページデータ22のスクリプトには、画像形成装置2の内部装置の機能を使用するときにHTTPリクエストを送信するためのコマンドが記述されている。ウェブブラウザ33がこのウェブページデータ22を解釈しているときに、そのコマンドを検出し、そのコマンドに対応するHTTPリクエストを生成し、通信部31および通信装置11を介して画像形成装置2へ送信する(ステップS13)。HTTPリクエストとしては、GETコマンドが使用される。このとき、HTTPリクエストにおけるURL(Uniform Resource Locator)により、使用するプロトコル(HTTP)、宛先となるウェブサーバ73(つまり、画像形成装置)、起動させるインターフェース74、および内部装置の動作を指定するパラメータが指定される。
例えば、URLがhttp://192.168.0.5/display.cgi?command=display&text=hello&x=10&y=10である場合には、IPアドレスが192.168.0.5である画像形成装置2のウェブサーバ73が指定され、インターフェース74としてdisplay.cgiというCGIが、表示装置51を動作させるために指定され、パラメータcommand=display&text=hello&x=10&y=10により、テキスト「hello」を座標値(10,10)に表示させる処理が指定される。なお、ホスト名で画像形成装置2を指定してもよい。
画像形成装置2におけるウェブサーバ73がそのHTTPリクエストを受信すると、インターフェース74が呼び出される。そのインターフェース74は、そのHTTPリクエストにより指定された動作を内部装置に実行させるために、制御部72を呼び出す。制御部72は、インターフェース74により指定された動作を、内部装置に実行させる。
そして、インターフェース74は、制御部72から内部装置の動作結果を受信すると、その動作結果をウェブサーバ73へ供給する。ウェブサーバ73は、動作結果を含む応答を生成し、開発装置1へ送信する。開発装置1のウェブブラウザ33は、その応答を、通信装置11および通信部31を介して受信する(ステップS14)。
このように、ウェブブラウザ33が、ウェブページデータ22における、画像形成装置2の内部装置の機能を使用するコマンドを実行するたびに、ステップS13,S14のように、HTTPリクエストが送信され、そのHTTPリクエストに応じて画像形成装置2が動作し、その動作結果が応答として得られる。例えば、表示装置51にある文字列を表示させるためのHTTPリクエストが送信され、その表示が成功したか否かを示す応答が受信される。また、所定の入力画面を表示させるHTTPリクエストが送信され、画像形成装置2における入力装置15により検出されたその入力画面に対するユーザ操作を示す値を含む応答が得られる。
その後、ウェブブラウザ33は、その応答を使用して、ウェブページデータ22の処理を継続する。なお、そのようなコマンド以外の部分については、ウェブブラウザ33により開発装置1内で処理される。
そして、ウェブページデータ22が最後まで実行されると、ウェブブラウザ33によるウェブページデータ22の処理が終了する(ステップS15)。
このようにして、開発装置1は、ウェブブラウザ33で、開発途中のウェブページデータ22を解釈させ、画像形成装置2の機能をHTTPリクエストで使用して、ウェブページデータ22(すなわち、画像形成装置2におけるウェブページデータ65)に記述されている処理を試験的に実行させることができる。
以上のように、上記実施の形態によれば、(a)開発装置1において、ウェブブラウザ33で、HTMLデータとスクリプトとを含むウェブページデータ22が解釈され、(b)開発装置1において、ウェブブラウザ33で、そのウェブページデータ22に従って、スクリプト内で画像形成装置2の内部装置を動作させる処理を実行するときにその処理に対応するHTTPリクエストが画像形成装置2のウェブサーバ73へ送信され、(c)画像形成装置2において、ウェブサーバ73で、画像形成装置2の内部装置の動作に対応するHTTPリクエストがウェブブラウザ33から受信され、(d)画像形成装置2において、そのHTTPリクエストにより指定された動作を内部装置に実行させ、(e)画像形成装置2において、内部装置の動作結果がウェブサーバ73へ供給され、(f)画像形成装置2において、ウェブサーバ73で、内部装置の動作結果に対応するHTTPリクエストの応答がウェブブラウザ33へ送信され、(g)開発装置1において、ウェブブラウザ33で、そのHTTPリクエストに対する応答が、画像形成装置2のウェブサーバ73から受信される。
これにより、開発途中のウェブページデータ22を電子機器に導入する必要がなく、かつ実機の内部装置を実際に動作させてウェブページデータによるウェブブラウザの動作確認を行うことができるため、開発装置1において効率的なソフトウェア開発を実現できる。
さらに、この技術は、画像形成装置2以外の組み込みシステム(特定の機能を実現する目的でコンピュータおよびプログラムを内蔵した電子機器)で使用されるウェブページデータの開発にも適用可能である。
なお、上述の実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
例えば、上記実施の形態において、画像形成装置2を、ウェブブラウザ75を有さないものとしてもよい。その場合でも、ユーザは、ユーザ端末装置3のウェブブラウザ92により表示装置83に表示される画面を画像形成装置2のリモートパネルとして使用することができる。
なお、上記実施の形態において、ウェブブラウザ75がウェブページデータ65を取得するとき、ウェブブラウザ75は、記憶装置54のファイルシステムからウェブページデータ65を取得してもよいし、ウェブサーバ73へHTTPリクエストを送信して、ウェブサーバ73からウェブページデータ65を取得してもよい。
また、上記実施の形態において、ウェブブラウザ33とウェブブラウザ75は、同一のものでもよいし、異なるものでもよい。ただし、ウェブブラウザ33には、ウェブブラウザ75の解釈可能なHTMLのモードおよびバージョンに準拠しているものを使用するのが好ましい。
本発明は、例えば、複合機の操作パネルの画面制御に使用されるウェブページデータの開発に適用可能である。
1 開発装置
2 画像形成装置(電子機器の一例)
11 通信装置(第1通信装置の一例)
22 ウェブページデータ
33 ウェブブラウザ(第1ウェブブラウザの一例)
51 表示装置(内部装置の一例)
53 通信装置(第2通信装置の一例)
72 制御部
73 ウェブサーバ
74 インターフェース
92 ウェブブラウザ(第2ウェブブラウザの一例)

Claims (8)

  1. 電子機器と、
    その電子機器で使用されるウェブページデータを開発する開発装置と、
    ユーザ端末装置とを備え、
    前記開発装置は、
    第1通信装置と、
    開発対象である、HTMLデータとスクリプトとを含むウェブページデータを解釈し、そのウェブページデータに従って、前記スクリプト内で前記電子機器の内部装置を動作させる処理を実行するときに、前記スクリプト内に記述されているコマンドに対応して、その処理を指定するHTTPリクエストを生成し、前記第1通信装置を介して前記電子機器のウェブサーバへ送信し、そのHTTPリクエストに対する応答を、前記第1通信装置を介して前記電子機器のウェブサーバから受信する第1ウェブブラウザとを有し、
    前記電子機器は、
    第2通信装置と、
    所定の機能を有する内部装置と、
    前記内部装置を制御する制御部と、
    前記内部装置の動作を指定する前記HTTPリクエストを、前記第2通信装置を介して前記第1ウェブブラウザから受信し、前記内部装置の動作結果に対応する前記HTTPリクエストの応答を、前記第2通信装置を介して前記第1ウェブブラウザへ送信するウェブサーバと、
    前記ウェブサーバにより受信された前記HTTPリクエストにより指定された動作を前記制御部により前記内部装置に実行させ、その動作結果を取得し前記ウェブサーバへ供給するインターフェースとを有し、
    前記ユーザ端末装置は、前記開発装置で開発された前記ウェブページデータを解釈し、そのウェブページデータに従って、前記スクリプト内で前記電子機器の内部装置を動作させる処理を実行するときに、前記スクリプト内に記述されているコマンドに対応して、その処理を指定するHTTPリクエストを生成し前記ウェブサーバへ送信し、そのHTTPリクエストに対する応答を、前記ウェブサーバから受信する第2ウェブブラウザを有すること、
    を特徴とするソフトウェア開発システム。
  2. 前記ウェブサーバは、前記開発装置で開発された前記ウェブページデータの送信要求を、前記第2通信装置を介して受信すると、そのウェブページデータを送信し、そのウェブページデータの要求元から、前記内部装置の動作を指定する前記HTTPリクエストを、前記第2通信装置を介して受信し、そのウェブページデータの要求元へ、前記内部装置の動作結果に対応する前記HTTPリクエストの応答を、前記第2通信装置を介して送信することを特徴とする請求項1記載のソフトウェア開発システム。
  3. 前記インターフェースは、CGIまたはJAVAサーブレットであることを特徴とする請求項1記載のソフトウェア開発システム。
  4. 前記電子機器は、画像形成装置であり、
    前記電子機器の内部装置は、表示装置、印刷装置、画像読取装置およびファクシミリ装置のいずれかであること、
    を特徴とする請求項1から請求項3のいずれか1項記載のソフトウェア開発システム。
  5. 電子機器で使用されるウェブページデータを、開発装置で開発するソフトウェア開発方法において、
    前記開発装置において、第1ウェブブラウザで、開発対象である、HTMLデータとスクリプトとを含むウェブページデータを解釈し、
    前記開発装置において、前記第1ウェブブラウザで、そのウェブページデータに従って、前記スクリプト内で前記電子機器の内部装置を動作させる処理を実行するときに、前記スクリプト内に記述されているコマンドに対応して、その処理を指定するHTTPリクエストを生成し前記電子機器のウェブサーバへ送信し、
    前記電子機器において、前記ウェブサーバで、前記電子機器の内部装置の動作を指定する前記HTTPリクエストを前記第1ウェブブラウザから受信し、
    前記電子機器において、前記ウェブサーバにより受信された前記HTTPリクエストにより指定された動作を前記内部装置に実行させ、
    前記電子機器において、前記内部装置の動作結果を取得し前記ウェブサーバへ供給し、
    前記電子機器において、ウェブサーバで、前記内部装置の動作結果に対応する前記HTTPリクエストの応答を前記第1ウェブブラウザへ送信し、
    前記開発装置において、前記第1ウェブブラウザで、そのHTTPリクエストに対する応答を前記電子機器のウェブサーバから受信し、
    ーザ端末装置において、第2ウェブブラウザで、前記開発装置で開発された前記ウェブページデータを解釈し、
    前記ユーザ端末装置において、前記第2ウェブブラウザで、そのウェブページデータに従って、前記スクリプト内で前記電子機器の内部装置を動作させる処理を実行するときに、前記スクリプト内に記述されているコマンドに対応して、その処理を指定するHTTPリクエストを生成し前記ウェブサーバへ送信し、
    前記ユーザ端末装置において、前記第2ウェブブラウザで、そのHTTPリクエストに対する応答を前記ウェブサーバから受信すること、
    を特徴とするソフトウェア開発方法。

  6. 前記ウェブサーバは、前記開発装置で開発された前記ウェブページデータの送信要求を受信すると、そのウェブページデータを送信し、そのウェブページデータの要求元から、前記内部装置の動作を指定する前記HTTPリクエストを受信し、そのウェブページデータの要求元へ、前記内部装置の動作結果に対応する前記HTTPリクエストの応答を送信することを特徴とする請求項5記載のソフトウェア開発方法。
  7. 前記電子機器において、CGIまたはJAVAサーブレットで、前記ウェブサーバにより受信された前記HTTPリクエストにより指定された動作を前記内部装置に実行させ、
    前記電子機器において、前記CGIまたは前記JAVAサーブレットで、前記内部装置の動作結果を取得し前記ウェブサーバへ供給すること、
    を特徴とする請求項5記載のソフトウェア開発方法。
  8. 前記電子機器は、画像形成装置であり、
    前記電子機器の内部装置は、表示装置、印刷装置、画像読取装置およびファクシミリ装置のいずれかであること、
    を特徴とする請求項5から請求項7のいずれか1項記載のソフトウェア開発方法。
JP2013144958A 2013-07-10 2013-07-10 ソフトウェア開発システムおよびソフトウェア開発方法 Expired - Fee Related JP5543645B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013144958A JP5543645B2 (ja) 2013-07-10 2013-07-10 ソフトウェア開発システムおよびソフトウェア開発方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013144958A JP5543645B2 (ja) 2013-07-10 2013-07-10 ソフトウェア開発システムおよびソフトウェア開発方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009033729A Division JP5325601B2 (ja) 2009-02-17 2009-02-17 ソフトウェア開発システムおよびソフトウェア開発方法

Publications (2)

Publication Number Publication Date
JP2013242894A JP2013242894A (ja) 2013-12-05
JP5543645B2 true JP5543645B2 (ja) 2014-07-09

Family

ID=49843645

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013144958A Expired - Fee Related JP5543645B2 (ja) 2013-07-10 2013-07-10 ソフトウェア開発システムおよびソフトウェア開発方法

Country Status (1)

Country Link
JP (1) JP5543645B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4024441B2 (ja) * 1999-12-13 2007-12-19 ブラザー工業株式会社 印刷装置
JP4769515B2 (ja) * 2004-09-07 2011-09-07 株式会社リコー アプリケーション実行方法、情報処理装置、画像形成装置、アプリケーション実行プログラム、記録媒体、及び情報処理システム
JP4759436B2 (ja) * 2005-05-20 2011-08-31 株式会社リコー 画像取扱装置、画像処理システム、画像処理制御方法、及び画像処理制御プログラム
JP4830537B2 (ja) * 2006-02-27 2011-12-07 セイコーエプソン株式会社 情報処理装置、制御方法および制御プログラム
JP4774356B2 (ja) * 2006-11-21 2011-09-14 株式会社リコー 画像形成装置、表示制御方法、及び表示制御プログラム
JP2008191901A (ja) * 2007-02-05 2008-08-21 Kyocera Mita Corp 電子機器、制御プログラム及び電子機器の制御方法。

Also Published As

Publication number Publication date
JP2013242894A (ja) 2013-12-05

Similar Documents

Publication Publication Date Title
JP5884542B2 (ja) 機器、情報処理システム、情報処理方法、及び情報処理プログラム
JP2005531049A (ja) アプリケーションの自動インストール
JP5440252B2 (ja) 情報処理装置、外部装置、情報処理システム、情報処理方法、及びプログラム
JP5995602B2 (ja) 画像処理装置、情報処理方法及びプログラム
US10298800B2 (en) Information processing apparatus and control method thereof
WO2016099773A1 (en) Method for enabling communication between a user device browser and a local device
US20110010642A1 (en) Image processing apparatus, display control method, and computer-readable recording medium
JP5780115B2 (ja) エラー検知方法、情報処理回路及びエラー検知用プログラム
JP2011086142A (ja) 画像形成装置及びプログラム操作方法
JP5325601B2 (ja) ソフトウェア開発システムおよびソフトウェア開発方法
US20040239713A1 (en) Error-processing system and method for printers
JPH1174913A (ja) ディジタル複合装置及びその制御方法
JP5870490B2 (ja) 情報処理システム、画像形成装置、情報処理方法、及びプログラム
JP5543645B2 (ja) ソフトウェア開発システムおよびソフトウェア開発方法
US20180239570A1 (en) Printer and content display method
JP5060543B2 (ja) 画像形成システムおよび画像形成装置
JP5216624B2 (ja) ソフトウェア開発システムおよびソフトウェア開発方法
JP2014060665A (ja) 複合機およびシステム
JP2021064318A (ja) 画像形成装置、アプリケーションプログラム及びテスト方法
JP2011053729A (ja) プログラム開発支援装置及びシステム
JP2016134117A (ja) 画像形成装置、情報処理装置及び構成情報更新システム
JP2021117638A (ja) 画像形成装置、画面描画方法及び画面描画システム
JP5250518B2 (ja) 動作確認システムおよび対象装置
JP6188659B2 (ja) 電子機器
JP6215033B2 (ja) テスト制御装置、通信システム、テスト制御方法、及びテスト制御プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140312

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140410

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140508

R150 Certificate of patent or registration of utility model

Ref document number: 5543645

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees