(57)【要約】【課題】カスタマイズプログラムのデバッグ作業を効率的に行うこと。【解決手段】ハードウェア資源と、アプリケーション１３０と、アプリケーションとハードウェア資源との間に介在し、ユーザサービスを提供する際に、アプリケーションの少なくとも２つが共通的に必要とするハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービスと、オペレーションパネル９１０とを備えた画像形成装置であって、ネットワーク２２０に接続されたＰＣ２００（クライアント端末）からの要求によって、画像形成装置で動作するプログラムのカスタマイズプログラムを実行し、カスタマイズプログラムの実行に伴って操作表示部９１１に出力されるオペパネ画像情報を、ＰＣ２００に表示するＷＥＢアプリ１１７を備えた。【選択図】　　　図１
2004062828.tif 000002
【特許請求の範囲】
【請求項１】
画像形成処理で使用されるハードウェア資源と、画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーションと、前記アプリケーションと前記ハードウェア資源との間に介在し、前記ユーザサービスを提供する際に、アプリケーションの少なくとも２つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービスと、画面表示および操作入力を行う操作表示部を有するオペレーションパネルとを備えた画像形成装置であって、
ネットワークに接続されたクライアント端末からの要求によって、画像形成装置で動作するプログラムのカスタマイズプログラムを実行し、前記カスタマイズプログラムの実行に伴って前記操作表示部に出力されるオペパネ画像情報を、前記クライアント端末に表示する試験実行手段
を備えたことを特徴とする画像形成装置。
【請求項２】
前記試験実行手段は、インターネットに接続されたクライアント端末に表示されたＷＥＢページを介して前記カスタマイズプログラムの実行要求を受信し、前記オペパネ画像情報を、前記クライアント端末に表示されるＷＥＢページに表示することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記カスタマイズプログラムをステップごとに逐次実行するプログラム実行手段をさらに備え、
前記試験実行手段は、前記プログラム実行手段を呼び出して、インタプリタ用言語で記述したカスタマイズプログラムを実行することを特徴とする請求項１または２に記載の画像形成装置。
【請求項４】
前記試験実行手段は、前記操作表示部からの入力に対する実行処理を記述したカスタマイズプログラムを実行することを特徴とする請求項１〜３のいずれか一つに記載の画像形成装置。
【請求項５】
前記コントロールサービスとして搭載され、ネットワークの制御を行うネットワークコントロールサービスをさらに備え、
前記ネットワークコントロールサービスは、前記操作表示部に出力されるオペパネ画像情報を取得して、取得したオペパネ画像情報を前記クライアント端末に送信することを特徴とする請求項１〜４のいずれか一つに記載の画像形成装置。
【請求項６】
前記クライアント端末に表示された前記オペパネ画像情報に対する入力操作によるイベント情報を取得して、取得したイベント情報に対応する前記操作表示部からの入力イベントを前記アプリケーションまたは前記コントロールサービスに通知するイベント処理手段と、
をさらに備えたことを特徴とする請求項１〜５のいずれか一つに記載の画像形成装置。
【請求項７】
前記コントロールサービスとして搭載され、前記オペレーションパネルの操作表示部からの入力による入力イベントを取得して前記アプリケーションまたは前記コントロールサービスに通知するオペパネコントロールサービスをさらに備え、
前記イベント処理手段は、前記取得したイベント情報に対応する前記操作表示部からの入力イベントを、前記オペパネコントロールサービスに通知することを特徴とする請求項６に記載の画像形成装置。
【請求項８】
前記カスタマイズプログラムを、前記クライアント端末からＷＥＢページを介して入力させるプログラム入力手段をさらに備えたことを特徴とする請求項１〜７のいずれか一つに記載の画像形成装置。
【請求項９】
前記試験実行手段は、前記アプリケーションとして搭載されたＷＥＢアプリであることを特徴とする請求項１〜８のいずれか一つに記載の画像形成装置。
【請求項１０】
前記試験実行手段は、前記コントロールサービスとして搭載されたプログラミングサービスであることを特徴とする請求項１〜８のいずれか一つに記載の画像形成装置。
【請求項１１】
画像形成処理で使用されるハードウェア資源と、画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーションと、前記アプリケーションと前記ハードウェア資源との間に介在し、前記ユーザサービスを提供する際に、アプリケーションの少なくとも２つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービスと、画面表示および操作入力を行う操作表示部を有するオペレーションパネルとを備えた画像形成装置で動作するプログラムのカスタマイズプログラムを検証するカスタマイズプログラム試験方法であって、
ネットワークに接続されたクライアント端末からの要求によって、画像形成装置で動作するプログラムのカスタマイズプログラムを実行し、前記カスタマイズプログラムの実行に伴って前記操作表示部に出力されるオペパネ画像情報を、前記クライアント端末に表示する試験実行ステップ
を含むことを特徴とするカスタマイズプログラム試験方法。
【請求項１２】
前記試験実行ステップは、インターネットに接続されたクライアント端末に表示されたＷＥＢページを介して前記カスタマイズプログラムの実行要求を受信し、前記オペパネ画像情報を、前記クライアント端末に表示されるＷＥＢページに表示することを特徴とする請求項１１に記載のカスタマイズプログラム試験方法。
【請求項１３】
前記試験実行ステップは、インタプリタ用言語で記述したカスタマイズプログラムをステップごとに逐次実行することを特徴とする請求項１１または１２に記載のカスタマイズプログラム試験方法。
【請求項１４】
前記試験実行ステップは、前記操作表示部からの入力に対する実行処理を記述したカスタマイズプログラムを実行することを特徴とする請求項１１〜１３のいずれか一つに記載のカスタマイズプログラム試験方法。
【請求項１５】
前記クライアント端末に表示された前記オペパネ画像情報に対する入力操作によるイベント情報を取得して、取得したイベント情報に対応する前記操作表示部からの入力イベントを前記アプリケーションまたは前記コントロールサービスに通知するイベント処理ステップをさらに含むことを特徴とする請求項１１〜１４のいずれか一つに記載のカスタマイズプログラム試験方法。
【請求項１６】
前記イベント処理ステップは、前記取得したイベント情報に対応する前記操作表示部からの入力イベントを、前記コントロールサービスとして搭載され、前記オペレーションパネルの操作表示部からの入力による入力イベントを取得して前記アプリケーションまたは前記コントロールサービスに通知するオペパネコントロールサービスに通知することを特徴とする請求項１５に記載のカスタマイズプログラム試験方法。
【請求項１７】
前記カスタマイズプログラムを、前記クライアント端末からＷＥＢページを介して入力させるプログラム入力ステップをさらに含むことを特徴とする請求項１１〜１６のいずれか一つに記載のカスタマイズプログラム試験方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コピー、プリンタ、スキャナおよびファクシミリなどの画像形成処理にかかるユーザサービスを提供するとともに、インターネットに接続されたクライアント端末からＷＥＢを介してカスタマイズプログラムのデバッグを行うことができる画像形成装置およびカスタマイズプログラム試験方法に関するものである。
【０００２】
【従来の技術】
近年では、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を１つの筐体内に収納した画像形成装置（以下、「複合機」という。）が知られている。この複合機は、１つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応した３種類のソフトウェアを設け、これらのソフトウェアを切り替えることによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
【０００３】
このような従来の複合機では、複合機の出荷後にサードベンダなどの第三者が新たなアプリケーションプログラムを開発して搭載したり、複合機で動作するアプリケーションプログラムをカスタマイズすることは想定されていない。
【０００４】
また、従来の複合機は、ネットワークに接続することは可能ではあるが、プリンタサーバなどの管理サーバを利用してネットワーク機能を利用しており、複合機それ自体がＰＣ（Ｐｅｒｓｏｎａｌ　Ｃｏｍｐｕｔｅｒ）などのように直接ネットワークの諸機能を実現可能とするものではない。
【０００５】
【発明が解決しようとする課題】
ところで、このような従来の複合機では、プリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェアをそれぞれ別個に設けているため、各ソフトウェアの開発に多大の時間を要する。このため、出願人は、表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも２つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを備えた画像形成装置（複合機）を発明した。
【０００６】
このような新規な複合機では、アプリケーションと、ハードウェア資源にアクセスするような開発が難しい処理を行うコントロールサービスとを別個に設けているため、複合機の出荷後にユーザもしくは第三者であるサードベンダが画像形成処理などにかかるアプリケーションとして新規な外部アプリケーションを開発して複合機に搭載可能な構成となっている。
【０００７】
このため、新規な複合機では、新たな機能を備えた外部アプリケーションを開発し、その外部アプリケーションを複合機に搭載したり、出荷当初から搭載されている既存の機能をカスタマイズし、そのカスタマイズプログラムをデバッグする必要性が生じてくる。
【０００８】
ここで、複合機には、利用者に対する各種画面の表示や、複合機のシステムに対する操作入力のインタフェースとして、オペレーションパネルの操作表示部が用意されている。しかしながら、このオペレーションパネルの操作表示部は、ＰＣなどのコンピュータのディスプレイ画面などの表示装置と異なり、画面サイズが非常に狭いものとなっている。また、操作表示部に各種ボタンを描画したり、ソフトウェアキーボードを表示することによって、利用者による操作表示部からの入力操作が可能となっているが、コンピュータにおけるキーボード、マウスなどの入力装置に比べれば、自由な入力操作には限界がある。
【０００９】
このように、新規な複合機には、カスタマイズプログラムのデバッグを容易な操作で行う必要性が生じるという従来の複合機では問題とならなかった新規な課題が生じてくる。
【００１０】
この発明は上記に鑑みてなされたもので、カスタマイズプログラムのデバッグ作業を効率的に行うことができる画像形成装置およびカスタマイズプログラム試験方法を得ることを目的とする。
【００１１】
【課題を解決するための手段】
上記目的を達成するため、請求項１にかかる発明は、画像形成処理で使用されるハードウェア資源と、画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーションと、前記アプリケーションと前記ハードウェア資源との間に介在し、前記ユーザサービスを提供する際に、アプリケーションの少なくとも２つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービスと、画面表示および操作入力を行う操作表示部を有するオペレーションパネルとを備えた画像形成装置であって、ネットワークに接続されたクライアント端末からの要求によって、画像形成装置で動作するプログラムのカスタマイズプログラムを実行し、前記カスタマイズプログラムの実行に伴って前記操作表示部に出力されるオペパネ画像情報を、前記クライアント端末に表示する試験実行手段とを備えたことを特徴とする。
【００１２】
この請求項１にかかる発明によれば、試験実行手段によって、ネットワークに接続されたクライアント端末からの要求により、画像形成装置で動作するプログラムのカスタマイズプログラムを実行し、その実行に伴ってオペレーションパネルの操作表示部に出力されるオペパネ画像情報をクライアント端末に表示することで、クライアント端末からの容易な操作でカスタマイズプログラムのデバッグ作業を行うことができ、カスタマイズプログラムの開発を効率的に行え、容易に多種多様な機能を画像形成装置に実現させることができる。
【００１３】
また、請求項２にかかる発明は、請求項１に記載の画像形成装置において、前記試験実行手段は、インターネットに接続されたクライアント端末に表示されたＷＥＢページを介して前記カスタマイズプログラムの実行要求を受信し、前記オペパネ画像情報を、前記クライアント端末に表示されるＷＥＢページに表示することを特徴とする。
【００１４】
この請求項２にかかる発明によれば、試験実行手段によって、インターネットに接続されたクライアント端末に表示されたＷＥＢページを介してカスタマイズプログラムの実行要求を受信し、オペパネ画像情報をＷＥＢページに表示することで、クライアント端末からの操作および動作確認をＷＥＢページを利用して容易に行うことができ、カスタマイズプログラムのデバッグ作業を効率的に行うことができる。
【００１５】
また、請求項３にかかる発明は、請求項１または２に記載の画像形成装置において、前記カスタマイズプログラムをステップごとに逐次実行するプログラム実行手段をさらに備え、前記試験実行手段は、前記プログラム実行手段を呼び出して、インタプリタ用言語で記述したカスタマイズプログラムを実行することを特徴とする。
【００１６】
この請求項３にかかる発明によれば、試験実行手段によって、カスタマイズプログラムをステップごとに逐次実行するプログラム実行手段を呼び出して、インタプリタ用言語で記述したカスタマイズプログラムを実行することで、カスタマイズプログラムのコンパイル、リンクなしに動作確認を行えるので、クライアント端末からのデバッグ作業をより効率的に行うことができる。
【００１７】
また、請求項４にかかる発明は、請求項１〜３のいずれか一つに記載の画像形成装置において、前記試験実行手段は、前記操作表示部からの入力に対する実行処理を記述したカスタマイズプログラムを実行することを特徴とする。
【００１８】
この請求項４にかかる発明によれば、試験実行手段によって、操作表示部からの入力に対する実行処理を記述したカスタマイズプログラムを実行することで、クライアント端末からの容易な操作でオペレーションパネルの操作表示部用のカスタマイズプログラムをデバッグして動作確認を行えるので、カスタマイズを利用した操作表示部に関する機能のデバッグ作業を効率的に行うことができる。
【００１９】
また、請求項５にかかる発明は、請求項１〜４のいずれか一つに記載の画像形成装置において、前記コントロールサービスとして搭載され、ネットワークの制御を行うネットワークコントロールサービスをさらに備え、前記ネットワークコントロールサービスは、前記操作表示部に出力されるオペパネ画像情報を取得して、取得したオペパネ画像情報を前記クライアント端末に送信することを特徴とする。
【００２０】
この請求項５にかかる発明によれば、試験実行手段ではなくネットワークコントロールサービスによって、操作表示部に出力されるオペパネ画像情報を取得してクライアント端末に送信しているので、試験実行手段はオペパネ画像の送信処理を行う必要がなく、試験実行手段のプログラム開発を効率的に行うことができる。
【００２１】
また、請求項６にかかる発明は、請求項１〜５のいずれか一つに記載の画像形成装置において、前記クライアント端末に表示された前記オペパネ画像情報に対する入力操作によるイベント情報を取得して、取得した入力イベントに対応する前記操作表示部からの入力イベントを前記アプリケーションまたは前記コントロールサービスに通知するイベント処理手段と、をさらに備えたことを特徴とする。
【００２２】
この請求項６にかかる発明によれば、イベント処理手段によって、クライアント端末に表示されたオペパネ画像情報に対する入力操作によるイベント情報を取得して、このイベント情報に対応する操作表示部からの入力イベントをアプリケーションまたはコントロールサービスに通知することで、クライアント端末に表示されたオペパネ画像情報に対する入力操作による実行処理を、実際のオペレーションパネルの操作表示部からの入力操作の場合と同様に実現することができ、カスタマイズプログラムのデバッグ作業を正確に行うことができる。
【００２３】
また、請求項７にかかる発明は、請求項６に記載の画像形成装置において、前記コントロールサービスとして搭載され、前記オペレーションパネルの操作表示部からの入力による入力イベントを取得して前記アプリケーションまたは前記コントロールサービスに通知するオペパネコントロールサービスをさらに備え、前記イベント処理手段は、前記取得したイベント情報に対応する前記操作表示部からの入力イベントを、前記オペパネコントロールサービスに通知することを特徴とする。
【００２４】
この請求項７にかかる発明によれば、イベント処理手段によって、オペパネ画像情報に対する入力操作として取得したイベント情報に対応する前記操作表示部からの入力イベントをオペパネコントロールサービスに通知し、オペパネコントロールサービスによって入力イベントをアプリケーションまたはコントロールサービスに通知することで、クライアント端末に表示されたオペパネ画像情報に対する入力操作によるイベントの処理を、実際のオペレーションパネルの操作表示部から入力操作があった場合と同様に実現することができ、カスタマイズプログラムのデバッグ作業をより正確に行うことができる。
【００２５】
また、請求項８にかかる発明は、請求項１〜７のいずれか一つに記載の画像形成装置において、前記カスタマイズプログラムを、前記クライアント端末からＷＥＢページを介して入力させるプログラム入力手段をさらに備えたことを特徴とする。
【００２６】
この請求項８にかかる発明によれば、プログラム入力手段によって、カスタマイズプログラムをクライアント端末からＷＥＢページを介して入力させることで、カスタマイズプログラムの入力も操作の容易なクライアント端末を利用してカスタマイズプログラムの開発およびデバッグ作業を効率的に行うことができる。
【００２７】
また、請求項９にかかる発明は、請求項１〜８のいずれか一つに記載の画像形成装置において、前記試験実行手段は、前記アプリケーションとして搭載されたＷＥＢアプリであることを特徴とする。
【００２８】
この請求項９にかかる発明によれば、試験実行手段はアプリケーションとして搭載されたＷＥＢアプリであるので、クライアント端末に対するＷＥＢサーバとしての機能のみをＷＥＢアプリに含め、ハードウェア資源に対するアクセスをコントロールサービスに委ねることができ、ＷＥＢアプリの開発を効率的に行うことができる。
【００２９】
また、請求項１０にかかる発明は、請求項１〜８のいずれか一つに記載の画像形成装置において、前記試験実行手段は、前記コントロールサービスとして搭載されたプログラミングサービスであることを特徴とする。
【００３０】
この請求項１０にかかる発明によれば、試験実行手段がコントロールサービスとして搭載されたプログラミングサービスであるので、プログラミングサービスはネットワーク上のクライアント端末のサーバプロセスとして動作するだけでなく、画像形成装置に搭載されたアプリケーションをクライアントとしたサーバプロセスとしても動作可能となり、アプリケーションに対して種々の機能を提供することにより、画像形成装置にさらなる多種多様な機能を実現させることができる。
【００３１】
また、請求項１１にかかる発明は、画像形成処理で使用されるハードウェア資源と、画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーションと、前記アプリケーションと前記ハードウェア資源との間に介在し、前記ユーザサービスを提供する際に、アプリケーションの少なくとも２つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービスと、画面表示および操作入力を行う操作表示部を有するオペレーションパネルとを備えた画像形成装置で動作するプログラムのカスタマイズプログラムを検証するカスタマイズプログラム試験方法であって、ネットワークに接続されたクライアント端末からの要求によって、画像形成装置で動作するプログラムのカスタマイズプログラムを実行し、前記カスタマイズプログラムの実行に伴って前記操作表示部に出力されるオペパネ画像情報を、前記クライアント端末に表示する試験実行ステップを含むことを特徴とする。
【００３２】
この請求項１１にかかる発明によれば、試験実行ステップによって、ネットワークに接続されたクライアント端末からの要求により、画像形成装置で動作するプログラムのカスタマイズプログラムを実行し、その実行に伴ってオペレーションパネルの操作表示部に出力されるオペパネ画像情報をクライアント端末に表示することで、クライアント端末からの容易な操作でカスタマイズプログラムのデバッグ作業を行うことができ、カスタマイズプログラムの開発を効率的に行え、容易に多種多様な機能を画像形成装置に実現させることができる。
【００３３】
また、請求項１２にかかる発明は、請求項１１に記載のカスタマイズプログラム試験方法において、前記試験実行ステップは、インターネットに接続されたクライアント端末に表示されたＷＥＢページを介して前記カスタマイズプログラムの実行要求を受信し、前記オペパネ画像情報を、前記クライアント端末に表示されるＷＥＢページに表示することを特徴とする。
【００３４】
この請求項１２にかかる発明によれば、試験実行ステップによって、インターネットに接続されたクライアント端末に表示されたＷＥＢページを介してカスタマイズプログラムの実行要求を受信し、オペパネ画像情報をＷＥＢページに表示することで、クライアント端末からの操作および動作確認をＷＥＢページを利用して容易に行うことができ、カスタマイズプログラムのデバッグ作業を効率的に行うことができる。
【００３５】
また、請求項１３にかかる発明は、請求項１１または１２に記載のカスタマイズプログラム試験方法において、前記試験実行ステップは、インタプリタ用言語で記述したカスタマイズプログラムをステップごとに逐次実行することを特徴とする。
【００３６】
この請求項１３にかかる発明によれば、試験実行ステップによって、インタプリタ用言語で記述したカスタマイズプログラムをステップごとに逐次実行することで、カスタマイズプログラムのコンパイル、リンクなしに動作確認を行えるので、クライアント端末からのデバッグ作業をより効率的に行うことができる。
【００３７】
また、請求項１４にかかる発明は、請求項１１〜１３のいずれか一つに記載のカスタマイズプログラム試験方法において、前記試験実行ステップは、前記操作表示部からの入力に対する実行処理を記述したカスタマイズプログラムを実行することを特徴とする。
【００３８】
この請求項１４にかかる発明によれば、試験実行ステップによって、操作表示部からの入力に対する実行処理を記述したカスタマイズプログラムを実行することで、クライアント端末からの容易な操作でオペレーションパネルの操作表示部用のカスタマイズプログラムをデバッグして動作確認を行えるので、カスタマイズを利用した操作表示部に関する機能のデバッグ作業を効率的に行うことができる。
【００３９】
また、請求項１５にかかる発明は、請求項１１〜１４のいずれか一つに記載のカスタマイズプログラム試験方法において、前記クライアント端末に表示された前記オペパネ画像情報に対する入力操作によるイベント情報を取得して、取得したイベント情報に対応する前記操作表示部からの入力イベントを前記アプリケーションまたは前記コントロールサービスに通知するイベント処理ステップをさらに含むことを特徴とする。
【００４０】
この請求項１５にかかる発明によれば、イベント処理ステップによって、クライアント端末に表示されたオペパネ画像情報に対する入力操作によるイベント情報を取得して、このイベント情報に対応する操作表示部からの入力イベントをアプリケーションまたはコントロールサービスに通知することで、クライアント端末に表示されたオペパネ画像情報に対する入力操作による実行処理を、実際のオペレーションパネルの操作表示部からの入力操作の場合と同様に実現することができ、カスタマイズプログラムのデバッグ作業を正確に行うことができる。
【００４１】
また、請求項１６にかかる発明は、請求項１５に記載のカスタマイズプログラム試験方法において、前記イベント処理ステップは、前記取得したイベント情報に対応する前記操作表示部からの入力イベントを、前記コントロールサービスとして搭載され、前記オペレーションパネルの操作表示部からの入力による入力イベントを取得して前記アプリケーションまたは前記コントロールサービスに通知するオペパネコントロールサービスに通知することを特徴とする。
【００４２】
この請求項１６にかかる発明によれば、イベント処理ステップによって、オペパネ画像情報に対する入力操作として取得したイベント情報に対応する前記操作表示部からの入力イベントをオペパネコントロールサービスに通知し、オペパネコントロールサービスによって入力イベントをアプリケーションまたはコントロールサービスに通知することで、クライアント端末に表示されたオペパネ画像情報に対する入力操作によるイベントの処理を、実際のオペレーションパネルの操作表示部から入力操作があった場合と同様に実現することができ、カスタマイズプログラムのデバッグ作業をより正確に行うことができる。
【００４３】
また、請求項１７にかかる発明は、請求項１１〜１６のいずれか一つに記載のカスタマイズプログラム試験方法において、前記カスタマイズプログラムを、前記クライアント端末からＷＥＢページを介して入力させるプログラム入力ステップをさらに含むことを特徴とする。
【００４４】
この請求項１７にかかる発明によれば、プログラム入力ステップによって、カスタマイズプログラムをクライアント端末からＷＥＢページを介して入力させることで、カスタマイズプログラムの入力も操作の容易なクライアント端末を利用してカスタマイズプログラムの開発およびデバッグ作業を効率的に行うことができる。
【００４５】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる画像形成装置およびカスタマイズプログラム試験方法の好適な実施の形態を詳細に説明する。
【００４６】
（実施の形態１）
実施の形態１にかかる複合機は、ＷＥＢアプリによって複合機で動作するプログラムのカスタマイズをインターネットに接続されたＰＣから行い、そのデバッグ作業を当該ＰＣから行うものである。
【００４７】
図１は、実施の形態１にかかる複合機の主要構成およびネットワーク構成を示すブロック図である。図１に示すように、本実施の形態では、複合機１００と、ＰＣ（ｐｅｒｓｏｎａｌ　Ｃｏｍｐｕｔｅｒ）２００とがインターネット２２０に接続されている。複合機１００およびＰＣ２００の間の通信プロトコルはＴＣＰ／ＩＰを利用している。
【００４８】
複合機１００は、図１に示すように、ＷＥＢアプリ１１７と、ＶＡＳ（Ｖｉｒｔｕａｌ　Ａｐｐｌｉｃａｔｉｏｎ　Ｓｅｒｖｉｃｅ：仮想アプリケーションサービス）１１８と、ＮＣＳ１２８と、ＯＣＳ１２６と、ＳＣＳ１２２と、ｈｔｔｐｄ１０６と、複合機初期化部１２９と、プログラム起動部１３１と、汎用ＯＳ１２１内のインタプリタ（シェル）１３４と、共有メモリ１０５と、ＨＤＤ１０３とを主に備えた構成となっている。ここで、シェル１３４は、本発明におけるプログラム実行手段を構成する。
【００４９】
ＷＥＢアプリ１１７は、インターネット２２０に接続されたクライアント端末としてのＰＣ２００に対してＷＥＢサーバ（ｈｔｔｐサーバ）として動作し、ＰＣ２００上で動作するＷＥＢブラウザに後述するプログラミング画面２０１を表示し、このプログラミング画面２０１からオペレーションパネル９１０の操作表示部９１１のカスタマイズプログラムを入力させるものである。また、ＷＥＢアプリ１１７は、ＰＣ２００から入力されたカスタマイズプログラムをＨＤＤ１０３のカスタマイズ領域として作成されたカスタマイズディレクトリ２１２に保存する。さらに、ＷＥＢアプリ１１７は、複合機１００上でカスタマイズプログラムが実行されるように、起動設定ファイルにカスタマイズプログラムを登録する。また、ＷＥＢアプリ１１７は、ＰＣ２００のプログラミング画面２０１からの指示により、複合機１００上でカスタマイズプログラムを動作確認のために試験実行し、その実行の際に操作表示部９１１に表示されるオペパネ画像データをＰＣ２００のＷＥＢブラウザに表示する。
【００５０】
ここで、プログラミング画面２０１は、本発明におけるＷＥＢページを構成し、ｈｔｍｌ形式（Ｈｙｐｅｒ　Ｔｅｘｔ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）で記述されたファイル（ｄｅｂｕｇ．ｈｔｍ）である。当該ファイルをＰＣ２００上でＷＥＢブラウザによって表示することにより、プログラミング画面２０１がＰＣ２００で表示される。
【００５１】
また、ＷＥＢアプリ１１７は、プログラミング画面（ｄｅｂｕｇ．ｈｔｍ）からの操作入力や要求に応じたカスタマイズプログラムの入力に関する処理およびカスタマイズプログラムのテスト実行処理を、ＣＧＩスクリプト（Ｃｏｍｍｏｎ　Ｇａｔｅｗａｙ　Ｉｎｔｅｒｆａｃｅ）によって実行し、その処理結果をプログラミング画面（ｄｅｂｕｇ．ｈｔｍ）に反映して、ＰＣ２００のＷＥＢブラウザに返すようになっている。具体的には、ＷＥＢアプリ１１７は、カスタマイズプログラムの入力に関する処理の要求（ボタンのクリック操作等）があった場合には、ｄｅｂｕｇ．ｃｇｉのスクリプトを実行し、テスト実行処理の要求（ボタンのクリック操作）があった場合にはｔｅｓｔｅｘｅ．ｃｇｉのスクリプトを実行する。また、テスト実行によってＷＥＢブラウザに表示されるオペパネ画面上のボタン、キーなどをに対しクリック操作を行った場合には、ｃｌｉｃｋ．ｃｇｉのスクリプトが実行される。
【００５２】
なお、本実施の形態では、ＣＧＩスクリプトを実行することにより、ＷＥＢアプリ１１７による各処理を実行しているが、ＣＧＩスクリプトから呼び出される別のプログラムで実行するように構成しても良い。また、プログラミング画面を、ＸＭＬ形式（ｅＸｔｅｎｓｉｂｌｅ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）で記述するように構成することも可能である。
【００５３】
また、プログラミング画面２０１から入力するカスタマイズプログラムは、インタプリタで解釈可能な言語で記述され、具体的には、汎用ＯＳはＵＮＩＸ（登録商標）の場合、シェルスクリプトなどである。
【００５４】
ＶＡＳ１１８は、コントロールサービスとアプリケーションとの間に配置され、アプリケーションからのコントロールサービスに対するアクセス、またはコントロールサービスからのアプリケーションに対するアクセスを仲介するものである。また、ＶＡＳ１１８は、ＮＣＳ１２８から通知されたインターネット２２０経由のリクエストメッセージ受信の旨をＷＥＢアプリ１１７に通知することも行う。
【００５５】
ＮＣＳ１２８は、ネットワークを制御するものであり、ｈｔｔｐｄ１０６から通知されたリクエストメッセージ受信の旨をＶＡＳ１１８に通知することも行う。また、ＮＳＣ１２８は、カスタマイズプログラムの試験実行によりオペレーションパネル９１０のの操作表示部９１１に表示されるオペパネ画像データを、ＯＣＳ１２６経由で取得し、取得したオペパネ画像データをｈｔｔｐｄ１０６に受け渡して、インターネット経由でＰＣ２００のＷＥＢブラウザに表示（送信）する処理も行う。
【００５６】
ＯＣＳ１２６は、オペレーションパネル９１０に対する画面表示の制御および操作入力の受付を行うものであり、オペレーションパネル９１０の操作表示部９１１にオペパネ画像データを表示するＯＣＳ描画関数ライブラリと、操作表示部９１１またはハードキーからのキーイベントを取得してＳＣＳ１２２に取得したキーイベントを送信するＯＣＳプロセスの部分から構成される。
【００５７】
ＳＣＳ１２２は、複合機１００のシステム制御を行ったり、オペレーションパネル９１０の操作表示部９１１にシステム画面を表示するものである。また、ＳＣＳ１２２は、操作表示部９１１からのキーイベントをＯＣＳ１２６から受信して、アプリケーションまたはコントロールサービスに受信したキーイベントを送信する処理を行う。
【００５８】
ｈｔｔｐｄ１０６は、ＯＳに含まれるプロセス（デーモン）であり、ポート８０番を常時監視してリクエストメッセージの受信を行うとともに、レスポンスメッセージの送信を行うものである。なお、リクエストメッセージおよびレスポンスメッセージの構造は、通常のｈｔｔｐプロトコルにおける各メッセージの構造と同様であり、各メッセージには、ｈｔｍｌ形式で記述されたメッセージボディが含まれている。また、ｈｔｔｐｄ１０６は、インターネット２２０経由で受信したリクエストメッセージ受信の旨をＮＣＳ１２８に通知するとともに、リクエストメッセージを共有メモリ１０５に格納する。
【００５９】
共有メモリ１０５は、ｈｔｔｐｄ１０６とＷＥＢアプリ１１７とのプロセス間通信に利用されるものであり、共有メモリ１０５を介してリクエストメッセージ、レスポンスメッセージなどの受け渡しを行う。
【００６０】
インタプリタ１３４は、カスタマイズプログラムをステップごとに解析し逐次実行するものであり、本実施の形態では、シェルスクリプトを実行するシェル（ｂｓｈ，ｃｓｈなど）である。このシェル１３４は、汎用ＯＳ１２１としてのＵＮＩＸ（登録商標）に、ＯＳのカーネル１３５とは別個に存在するものである。
【００６１】
プログラム起動部１３１は、ＨＤＤ１０３の診断結果が正常である場合に、ＨＤＤ１０３にインストールされている外部アプリを起動するものである。また、プログラム起動部１３１は、ＩＣカードなどの記憶媒体に保存された外部アプリを起動する。
【００６２】
複合機初期化部１２９は、汎用ＯＳ１２１の上で最初に起動されるプロセスであり、コントロールサービスやアプリケーション１３０（外部アプリを除く）の起動およびプログラム起動部１３１の起動を行うものである。
【００６３】
ＨＤＤ１０３のカスタマイズディレクトリ２１２にカスタマイズプログラムが格納されるようになっている。
【００６４】
ＰＣ２００は、複合機１００のＷＥＢアプリ１１７をサーバとして、ＷＥＢアプリ１１７からのサービスの提供を受けるクライアント端末であり、ＰＣ２００で実行されるＷＥＢブラウザ上でプログラミング画面２０１やその他画面を表示し、操作入力を行うようになっている。
【００６５】
次に、本実施の形態にかかる複合機１００の全体の機能的構成について説明する。図２は、実施の形態１の複合機１００の構成を示すブロック図である。図１に示すように、複合機１００は、白黒レーザプリンタ（Ｂ＆Ｗ　ＬＰ）１０１と、カラーレーザプリンタ（Ｃｏｌｏｒ　ＬＰ）１０２と、ハードディスク装置（ＨＤＤ）１０３と、スキャナ、ファクシミリ、メモリ、ネットワークインタフェースなどのハードウェアリソース１０４を有するとともに、プラットホーム１２０と、アプリケーション１３０とから構成されるソフトウェア群１１０とを備えている。
【００６６】
プラットホーム１２０は、アプリケーションからの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ（ＳＲＭ）１２３と、汎用ＯＳ１２１とを有する。
【００６７】
コントロールサービスは、複数のサービスモジュールから形成され、ＳＣＳ（システムコントロールサービス）１２２と、ＥＣＳ（エンジンコントロールサービス）１２４と、ＭＣＳ（メモリコントロールサービス）１２５と、ＯＣＳ（オペレーションパネルコントロールサービス）１２６と、ＦＣＳ（ファックスコントロールサービス）１２７と、ＮＣＳ（ネットワークコントロールサービス）１２８とから構成される。このプラットホーム１２０は、あらかじめ定義された関数により前記アプリケーション１３０から処理要求を受信可能とするアプリケーションプログラムインタフェース（ＡＰＩ）を有する。
【００６８】
汎用ＯＳ１２１は、ＵＮＩＸ（登録商標）などの汎用オペレーティングシステムであり、プラットホーム１２０並びにアプリケーション１３０の各ソフトウェアをそれぞれプロセスとして並列実行する。
【００６９】
ＳＲＭ１２３のプロセスは、ＳＣＳ１２２とともにシステムの制御およびリソースの管理を行うものである。ＳＲＭ１２３のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、ＨＤＤファイル、ホストＩ／Ｏ（セントロＩ／Ｆ、ネットワークＩ／Ｆ、ＩＥＥＥ１３９４　Ｉ／Ｆ、ＲＳ２３２Ｃ　Ｉ／Ｆなど）のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。
【００７０】
具体的には、このＳＲＭ１２３は、要求されたハードウェア資源が利用可能であるか（他の要求により利用されていないかどうか）を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、ＳＲＭ１２３は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容（例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など）を直接実施している。
【００７１】
ＳＣＳ１２２のプロセスは、アプリ管理、操作部制御、システム画面表示、ＬＥＤ表示、リソース管理、割り込みアプリ制御などを行う。
【００７２】
ＥＣＳ１２４のプロセスは、白黒レーザプリンタ（Ｂ＆Ｗ　ＬＰ）１０１、カラーレーザプリンタ（Ｃｏｌｏｒ　ＬＰ）１０２、スキャナ、ファクシミリなどからなるハードウェアリソース１０４のエンジンの制御を行う。
【００７３】
ＭＣＳ１２５のプロセスは、画像メモリの取得および解放、ハードディスク装置（ＨＤＤ）の利用、画像データの圧縮および伸張などを行う。
【００７４】
ＦＣＳ１２７のプロセスは、システムコントローラの各アプリ層からＰＳＴＮ／ＩＳＤＮ網を利用したファクシミリ送受信、ＢＫＭ（バックアップＳＲＡＭ）で管理されている各種ファクシミリデータの登録／引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのＡＰＩを提供する。
【００７５】
ＮＣＳ１２８のプロセスは、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。
【００７６】
ＯＣＳ１２６のプロセスは、オペレータ（ユーザ）と本体制御間の情報伝達手段となるオペレーションパネル（操作パネル）９１０の制御を行う。ＯＣＳ１２６は、オペレーションパネルからキー押下（またはタッチ操作）をキーイベントとして取得し、取得したキーに対応したキーイベント関数をＳＣＳ１２２に送信するＯＣＳプロセスの部分と、アプリケーション１３０またはコントロールサービスからの要求によりオペレーションパネルに各種画面を描画出力する描画関数やその他オペレーションパネルに対する制御を行う関数などがあらかじめ登録されたＯＣＳライブラリの部分とから構成される。このＯＣＳライブラリは、アプリケーション１３０およびコントロールサービスの各モジュールにリンクされて実装されている。なお、ＯＣＳ１２６のすべてをプロセスとして動作させるように構成しても良く、あるいはＯＣＳ１２６のすべてをＯＣＳライブラリとして構成しても良い。
【００７７】
アプリケーション１３０は、ページ記述言語（ＰＤＬ）、ＰＣＬおよびポストスクリプト（ＰＳ）を有するプリンタ用のアプリケーションであるプリンタアプリ１１１と、コピー用アプリケーションであるコピーアプリ１１２と、ファクシミリ用アプリケーションであるファックスアプリ１１３と、スキャナ用アプリケーションであるスキャナアプリ１１４と、ネットワークファイル用アプリケーションであるネットファイルアプリ１１５と、工程検査用アプリケーションである工程検査アプリ１１６と、上述のＷＥＢアプリ１１７、ＶＡＳ１１８とを有している。
【００７８】
アプリケーション１３０の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
【００７９】
このように、実施の形態１にかかる複合機１００には、複数のアプリケーション１３０および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション１３０に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。
【００８０】
また、複合機１００には、複合機１００の顧客、サードベンダなどの第三者がコントロールサービス層の上のアプリケーション層に外部アプリを開発して搭載することが可能となっている。
【００８１】
なお、実施の形態１にかかる複合機１００では、複数のアプリケーション１３０のプロセスと複数のコントロールサービスのプロセスとが動作しているが、アプリケーション１３０とコントロールサービスのプロセスがそれぞれ単一の構成とすることも可能である。また、各アプリケーション１３０は、アプリケーションごとに追加または削除することができる。
【００８２】
次に、ＷＥＢアプリ１１７の構成について説明する。図３は、ＷＥＢアプリ１１７の機能的構成を示すブロック図である。図３に示すとおり、ＷＥＢアプリ１１７は、プログラム入力部３０１と、試験実行部３０２と、イベント処理部３０３とから構成される。
【００８３】
プログラム入力部３０１は、ＰＣ２００上で動作するＷＥＢブラウザに後述するプログラミング画面２０１を表示し、このプログラミング画面２０１からオペレーションパネル９１０の操作表示部９１１のカスタマイズプログラムの入力処理、入力されたカスタマイズプログラムのカスタマイズディレクトリ２１２への保存処理およびカスタマイズプログラムとキーとの対応付けおよび起動設定ファイルへの登録などの実行設定処理を行うものである。
【００８４】
試験実行部３０２は、入力されたカスタマイズプログラムを複合機１００上で実行し、実行に伴ってオペレーションパネル９１０の操作表示部９１１に表示されるオペパネ画像データをＰＣ２００のＷＥＢブラウザに表示することにより、カスタマイズプログラムの検証を可能とするものである。
【００８５】
イベント処理部３０３は、ＰＣ２００のＷＥＢブラウザに表示されたオペパネ画像のボタン、キーなどを利用者がクリック操作した場合、当該クリック操作によるキーイベントに対応する操作表示部９１１からのキーイベントをＯＣＳ１２６に通知するものである。
【００８６】
ここで、上記各部は、上述のＣＧＩスクリプトによって実現されている。すなわち、プログラム入力部３０１はｄｅｂｕｇ．ｃｇｉの実行によって、試験実行部３０２はｔｅｓｔｅｘｅ．ｃｇｉの実行によって、イベント処理部３０３はｃｌｉｃｋ．ｃｇｉの実行によって実現される。
【００８７】
次に、このように構成された複合機１００のＷＥＢアプリ１１７を利用したＰＣ２００からのオペレーションパネル９１０の操作表示部９１１のカスタマイズ方法について説明する。まず、利用者は、ＰＣ２００でＷＥＢブラウザを起動し、複合機１００のＵＲＬを指定して複合機１００のＷＥＢアプリ１１７にアクセスする。ＷＥＢブラウザからのアクセスを受けたＷＥＢアプリ１１７は、プログラミング画面２０１（ｄｅｂｕｇ．ｈｔｍ）をＰＣ２００のＷＥＢブラウザに表示させる。
【００８８】
図４は、プログラミング画面２０１の内容の一例を示す説明図である。図４に示すように、プログラミング画面２０１には、プログラム入力フィールドと、参照ボタンと、アップロードボタンと、保存ボタンと、消去ボタンと、テスト実行ボタンと、実行設定ボタンが表示される。
【００８９】
参照ボタンは、ブラウザが動作しているＰＣ２００の記憶領域に格納されたカスタマイズプログラムを参照するためのボタンであり、この参照ボタンを押下すると、ＰＣ２００上のディレクトリが表示され、所望のディレクトリに存在するカスタマイズプログラムを指定すると、ファイル名フィールドに指定されたカスタマイズプログラムのファイル名が表示される。なお、参照ボタンを押下したときに、複合機１００のＨＤＤ１０３などの記憶媒体のディレクトリを参照するように構成しても良い。
【００９０】
アップロードボタンは、参照ボタンで指定したカスタマイズプログラムあるいは入力フィールドに入力したカスタマイズプログラムを、複合機１００に転送（アップロード）するためにクリック操作するものである。
【００９１】
プログラム入力フィールドは、カスタマイズプログラムを入力する領域である。このプログラム入力フィールドには、ＰＣ２００のキーボードなどの入力装置からカスタマイズプログラムを直接入力する他、上述のように参照ボタンをクリック操作することによってＰＣ２００の所望のディレクトリに存在する既存のプログラムファイルを指定することによってカスタマイズプログラムを入力する。ｄｅｂｕｇ．ｈｔｍにおいて、このプログラム入力フィールドに相当するすべての行の先頭には、「ｐｒｏｇｒａｍ＿ｌｉｓｔ：」の文字列が記述されている。
【００９２】
保存ボタンは、入力したカスタマイズプログラムを複合機１００にアップロードした後に、カスタマイズディレクトリに格納する場合にクリック操作するものである。消去ボタンは、入力フィールドに入力されたカスタマイズプログラムを消去する際にクリック操作するものである。
【００９３】
実行設定ボタンは、カスタマイズディレクトリに保存されたカスタマイズプログラムを複合機１００で実行できるように、カスタマイズプログラムとカスタマイズプログラムを実行させるボタンを対応づける際にクリック操作するものである。この実行設定ボタンが押下されると、ＷＥＢアプリ１１７は、カスタマイズプログラム中で指定されたボタン（キー）を、カスタマイズディレクトリに存在する画面ファイル中のボタン（キー）からキーコードに基づいて検索し、カスタマイズプログラムとボタン（キー）との対応付けを行い、カスタマイズプログラムの名称とボタン（キー）のキーコードのキー対応付けテーブルを生成してＨＤＤ１０３またはフラッシュメモリなどに当該テーブルを格納する。
【００９４】
テスト実行ボタンは、入力されたカスタマイズプログラムを試験的に実行し、オペレーションパネル９１０の操作表示部９１１に表示されるオペパネ画面を、ＰＣ２００のＷＥＢブラウザに表示させてカスタマイズプログラムの検証を行うためにクリック操作するものである。
【００９５】
ここで、プログラミング画面のｄｅｂｕｇ．ｈｔｍには、参照ボタン、アップロードボタン、保存ボタンおよび実行設定ボタンがクリック操作された場合に、ＷＥＢアプリ１１７にｄｅｂｕｇ．ｃｇｉの起動を行う旨の記述がなされている。また、プログラミング画面のｄｅｂｕｇ．ｈｔｍには、テスト実行ボタンがクリック操作された場合に、ＷＥＢアプリ１１７にｔｅｓｔｅｘｅ．ｃｇｉの起動を行う旨の記述がなされている。
【００９６】
図５は、プログラム入力フィールドに入力されるカスタマイズプログラムの内容の一例を示す説明図である。図５に示すように、本実施の形態では、ＵＮＩＸ（登録商標）のシェルスクリプトを入力するようになっている。入力されたシェルスクリプトは、汎用ＯＳ１２１（ＵＮＩＸ（登録商標））のコマンド・インタプリタであるシェルによってステップごとに逐次実行され、このため、入力したカスタマイズプログラムのコンパイルおよびリンクは不要となっている。
【００９７】
また、シェルスクリプトには、開発ライブラリで提供される複合機専用コマンドを指定できるようになっている。図５のスクリプトは、原稿をスキャナで読み込み（ｓｃａｎｉｍａｇｅ）、読み込み時にＴＩＦ形式に圧縮された画像データを伸長し（ｄｅｃｏｍｐ）、伸長した画像データに対し文字認識処理を行う（ｏｃｒ）。そして、文字認識処理による認識結果をテキストデータとしてメール送信（ｍａｉｌ）する例を示している。このスクリプトの中では、ｓｃａｎｉｍａｇｅ、ｄｅｃｏｍｐ、ｏｃｒの各コマンドが開発ライブラリで提供されるコマンドである。また、これらのコマンドの実行処理において、オペレーションパネル９１０の操作表示部９１１に画像を表示する場合には、ＯＣＳ関数ライブラリに登録されている描画関数が内部的に呼び出されるようになっている。このため、図５に示すカスタマイズプログラムを実行した場合、各コマンドの実行の際に操作表示部９１１に各種パラメータの入力や実行結果の表示が行われるようになっている。
【００９８】
ＰＣ２００のＷＥＢブラウザに表示されているプログラミング画面２０１（ｄｅｂｕｇ．ｈｔｍ）において、参照ボタンをクリックしてＰＣ２００に格納されているカスタマイズプログラムを指定し、あるいはプログラム入力フィールドに直接カスタマイズプログラムを入力し、アップロードボタンをクリック操作した場合、ＷＥＢブラウザから複合機１００のＷＥＢアプリ１１７に対しリクエストメッセージが送信される。このリクエストメッセージのメッセージボディにはｄｅｂｕｇ．ｈｔｍが含められており、このｄｅｂｕｇ．ｈｔｍには、アップロードボタンをクリック操作したときにｄｅｂｕｇ．ｃｇｉを呼び出す旨が記述されている。このためリクエストメッセージを受信して解析を行ったＷＥＢアプリ１１７は、ｄｅｂｕｇ．ｃｇｉを実行する。
【００９９】
ここで、リクエストメッセージを受信した複合機１００における処理について説明する。図６は、リクエストメッセージを受信した複合機１００における処理の手順を示すフローチャートである。
【０１００】
ｈｔｔｐｄ１０６は、ポート８０番を常時監視しており、ＰＣ２００からリクエストメッセージをポート８０番で受信する（ステップＳ６０１）。そして、ｈｔｔｐｄ１０６は、受信したリクエストメッセージを読み出し、リクエストメッセージを共有メモリ１０５に書き込む（ステップＳ６０２）。次に、ｈｔｔｐｄ１０６は、リクエストメッセージ受信の旨をＮＣＳ１２８に通知する（ステップＳ６０３）。
【０１０１】
通知を受けたＮＣＳ１２８は、さらにリクエストメッセージ受信の旨をＶＡＳ１１８に通知する（ステップＳ６０４）。通知を受けたＶＡＳ１１８は、さらにリクエストメッセージ受信の旨をＷＥＢアプリ１１７に通知する（ステップＳ６０５）。ＷＥＢアプリ１１７は、リクエストメッセージ受信の旨の通知を受けたことをトリガとして、共有メモリ１０５を参照して、リクエストメッセージを読み出す（ステップＳ６０６）。そして、リクエストメッセージの内容を解析して（ステップＳ６０７）、リクエストメッセージのメッセージボディに記述された内容に応じた処理を実行する（ステップＳ６０８）。このとき、メッセージボディにＣＧＩを実行する旨が記述されていれば、対応するＣＧＩを実行する。
【０１０２】
そして、ＷＥＢアプリ１１７は、処理の実行結果をレスポンスメッセージとして、ｈｔｔｐｄ１０６経由でリクエストメッセージの送信元であるＰＣ２００に返信する（ステップＳ６０９）。
【０１０３】
なお、本実施の形態では、リクエストメッセージ受信の旨の通知を受けたＮＣＳ１２８は、ＶＡＳ１１８に当該受信の旨を通知し、ＶＡＳ１１８からＷＥＢアプリ１１７にリクエストメッセージ受信の旨の通知を行っているが、ＮＣＳ１２８からＷＥＢアプリ１１７に直接リクエストメッセージ受信の旨の通知を行うように構成しても良い。
【０１０４】
次に、ＷＥＢアプリ１１７によるカスタマイズプログラムの試験実行処理について説明する。図７は、ＷＥＢアプリ１１７の試験実行部３０２によるカスタマイズプログラムの試験実行処理の手順を示すフローチャートである。試験実行部３０２は、ＰＣ２００のＷＥＢブラウザに表示されたプログラミング画面２０１において、利用者がテスト実行ボタンをクリック操作したときに、ｔｅｓｔｅｘｅ．ｃｇｉがＷＥＢアプリ１１７によって起動されることによって実行される。
【０１０５】
試験実行部３０２は、まず、現在オペレーションパネル９１０の操作表示部９１１に表示されている画面のオペパネ画像データを、ＨＤＤ１０３に退避する（ステップＳ７０１）。そして、インタプリタ（シェル）１３４を呼び出して、ｄｅｂｕｇ．ｈｔｍに含まれているカスタマイズプログラム（入力されたカスタマイズプログラム）をインタプリタ（シェル）１３４によって実行する（ステップＳ７０２）。インタプリタ１３４によるカスタマイズプログラムの実行が完了すると、試験実行部３０２は、ＨＤＤ１０３に格納されたオペパネ画像データを復元する（ステップＳ７０３）。すなわち、試験実行部３０２は、ＯＣＳ関数ライブラリの描画関数を呼び出すことにより、ＨＤＤ１０３に退避されたオペパネ画像データが操作表示部９１１に表示されることになる。
【０１０６】
カスタマイズプログラムのインタプリタ（シェル）１３４による実行によって、オペレーションパネル９１０の操作表示部９１１にオペパネ画像が表示される場合、そのオペパネ画像データは、操作表示部９１１の他、ＰＣ２００のＷＥＢブラウザにも表示される。この場合におけるオペパネ画像データのＷＥＢブラウザへの表示処理およびＷＥＢブラウザに表示されたオペパネ画像からの入力処理について説明する。
【０１０７】
図８は、オペパネ画像データのＷＥＢブラウザへの表示処理およびＷＥＢブラウザに表示されたオペパネ画像からの入力処理におけるデータの流れを示す説明図である。
【０１０８】
インタプリタ（シェル）１３４によってカスタマイズプログラムが実行され、カスタマイズプログラムの中からＯＣＳ関数ライブラリの描画関数呼び出しが行われたとき（ステップＳ８０１）、ＯＣＳ１２６（関数ライブラリ）経由でオペレーションパネル９１０の操作表示部９１１にオペパネ画像が描画される（ステップＳ８０２）。この後、ＮＣＳ１２８は、特定のｓｏｃｋｅｔから操作表示部９１１に表示されたオペパネ画像データを取り出し（ステップＳ８０３）、ｈｔｔｐｄ１０６に受け渡して（ステップＳ８０４）、ｈｔｔｐｄ１０６は、オペパネ画像データをインターネット２２０に接続されたＰＣ２００に送信し、ＰＣ２００のＷＥＢブラウザに表示させる（ステップＳ８０５）。これによって、オペレーションパネル９１０の操作表示部９１１に表示されたオペパネ画像と同じオペパネ画像データがＰＣ２００のＷＥＢブラウザに表示される。
【０１０９】
図９（ａ）および（ｂ）は、ＰＣ２００のＷＥＢブラウザに表示されたオペパネ画像データの一例を示す説明図である。図９（ａ）は、オペパネ画像データとして、ボタン表示がなされている例を示し、図９（ｂ）は、ソフトキーボードが表示されている例（但し各キーの表示は省略）を示す。
【０１１０】
図９（ａ）および図９（ｂ）に示すオペパネ画像データは、いずれもｈｔｍｌ形式のファイルであり、各ボタンおよび各キーをクリック操作すると、各キーおよび各ボタンに固有のキーイベントとともにｃｌｉｃｋ．ｃｇｉの起動のリクエストメッセージがＷＥＢアプリ１１７に送信されるようにｈｔｍｌ形式で記述されている。
【０１１１】
各キーイベントは、実際のオペレーションパネル９１０の操作表示部９１１に表示されたボタンまたはキーをタッチ操作したときに発生するキーイベントに対応付けられている。具体的には、ＷＥＢブラウザ上におけるボタンまやはキーのクリック操作によるキーイベントと操作表示部９１１上における該当ボタンまたはキーのタッチ操作によるキーイベントは同一のものとなっている。
【０１１２】
利用者がＰＣ２００上で、図９（ａ）または（ｂ）に示すようなＷＥＢブラウザに表示されているオペパネ画像データからボタンまたはキーのクリック操作を行った場合、クリック操作を行ったボタンまたはキーのキーイベントとｃｌｉｃｋ．ｃｇｉの起動要求をメッセージボディに含むリクエストメッセージが複合機１００に送信される（ステップＳ８０６）。
【０１１３】
複合機１００では、ｈｔｔｐｄ１０６によってＰＣ２００からリクエストメッセージをポート８０番で受信し、受信したリクエストメッセージを読み出し、リクエストメッセージを共有メモリ１０５に書き込む（ステップＳ８０７）。また、ｈｔｔｐｄ１０６は、リクエストメッセージ受信の旨をＮＣＳ１２８に通知する（ステップＳ８０８）。
【０１１４】
通知を受けたＮＣＳ１２８は、前述のように、リクエストメッセージ受信の旨をＶＡＳ１１８に通知し（ステップＳ８０９）、通知を受けたＶＡＳ１１８は、さらにリクエストメッセージ受信の旨をＷＥＢアプリ１１７に通知する（ステップＳ８１０）。ＷＥＢアプリ１１７は、リクエストメッセージ受信の旨の通知を受けると、共有メモリ１０５を参照して、リクエストメッセージを読み込み（ステップＳ８１１）、メッセージボディの内容を解析して、ｃｌｉｃｋ．ｃｇｉを起動しする。ｃｌｉｃｋ．ｃｇｉでは、メッセージボディの中からキーイベントを取得して、取得したキーイベントをＯＣＳ１２６にメッセージ送信する処理を行う（ステップＳ８１２）。ＯＣＳ１２６は、キーイベントのメッセージを受信して、ＳＣＳ１２２に送信する（ステップＳ８１３）。ＳＣＳ１２２は、受信したキーイベントをカスタマイズプログラムを実行中のインタプリタ（シェル）１３４に受け渡す（ステップＳ８１４）。このキーイベントのＯＣＳ１２６からＳＣＳ１２２、インタプリタ（シェル）１３４への送信の一連の処理は、オペレーションパネル９１０の操作表示部９１１からのタッチ操作によるキーイベントをＯＣＳ１２６が取得した後の処理と同様である。すなわち、実際の複合機１００でカスタマイズプログラムが動作した場合に操作表示部９１１に表示されるオペパネ画像に対するタッチ操作に対する処理と同様の処理を、ＰＣ２００のＷＥＢブラウザからのカスタマイズプログラムのテスト実行によってブラウザに表示されたオペパネ画像に対するクリック操作によって実現することができる。
【０１１５】
なお、本実施の形態では、ＷＥＢブラウザ上におけるボタンまたはキーのクリック操作によるキーイベントと操作表示部９１１上における該当ボタンまたはキーのタッチ操作によるキーイベントを同一のイベントとしているが、両イベントを異なるものとして、両イベントをテーブル情報などによって予め対応付けておき、イベント処理部３０３によって、ＷＥＢブラウザ上でのクリック操作によるキーイベントを受けたときに、当該テーブル情報を参照して、対応する操作表示部９１１上でのタッチ操作によるキーイベントに変換するように構成しても良い。
【０１１６】
以上、プログラミング画面２０１において、プログラム入力フィールドに入力されたカスタマイズプログラムのテスト実行の処理について説明したが、次にこのカスタマイズプログラムの入力処理について説明する。
【０１１７】
ＰＣ２００のＷＥＢブラウザに表示されているプログラミング画面２０１（ｄｅｂｕｇ．ｈｔｍ）において、参照ボタンをクリックしてＰＣ２００に格納されているカスタマイズプログラムを指定し、あるいはプログラム入力フィールドに直接カスタマイズプログラムを入力し、アップロードボタンをクリック操作した場合、ＷＥＢブラウザから複合機１００のＷＥＢアプリ１１７に対しリクエストメッセージが送信される。このリクエストメッセージのメッセージボディにはｄｅｂｕｇ．ｈｔｍが含められており、このｄｅｂｕｇ．ｈｔｍには、アップロードボタンをクリック操作したときにｄｅｂｕｇ．ｃｇｉを呼び出す旨が記述されている。このためリクエストメッセージを受信して解析を行ったＷＥＢアプリ１１７は、プログラム入力部３０１によって、ｄｅｂｕｇ．ｃｇｉを実行してカスタマイズプログラム入力処理を行う。
【０１１８】
図１０は、ＷＥＢアプリ１１７のプログラム入力部３０１によるカスタマイズプログラム入力処理（ｄｅｂｕｇ．ｃｇｉの処理）の手順を示すフローチャートである。ＷＥＢアプリ１１７のプログラム入力部３０１は、指定されたカスタマイズプログラムのプログラムファイルを複合機１００にアップロードする。あるいは受信したリクエストメッセージの中のｄｅｂｕｇ．ｈｔｍのプログラム入力フィールドに直接入力されたカスタマイズプログラムをプログラムファイルにした後、このプログラムファイルを複合機１００にアップロードする（ステップＳ１００１）。
【０１１９】
次に、プログラム入力部３０１は、ｄｅｂｕｇ．ｈｔｍを先頭から一行づつ読み込む（ステップＳ１００２）。そして、読み込んだ行が「ｐｒｏｇｒａｍ＿ｌｉｓｔ：」の文字列を含むか否かを調べることにより、プログラム入力フィールドか否かを判断する（ステップＳ１００３）。
【０１２０】
そして、プログラム入力フィールドであると判断した場合には、アップロードされたプログラムファイルを読み込んで（ステップＳ１００４）、プログラムファイルの内容、すなわちカスタマイズプログラムをＰＣ２００に送信する（ステップＳ１００５）。
【０１２１】
一方、ステップＳ１００３において、プログラム入力フィールドでないと判断した場合には、ステップＳ１００２で読み込んだ一行をそのままＰＣ２００に送信する（ステップＳ１００６）。
【０１２２】
そして、ステップＳ１００２からＳ１００６までの処理を、ｄｅｂｕｇ．ｈｔｍのすべての行について繰り返し行う（ステップＳ１００７）。これにより、ＰＣ２００のＷＥＢブラウザには、ｄｅｂｕｇ．ｃｇｉによる処理結果のｄｅｂｕｇ．ｈｔｍが順次表示されることになる。
【０１２３】
このようにプログラミング画面２０１から入力されたカスタマイズプログラムが複合機１００にアップロードされ、プログラム入力フィールドにアップロード後のカスタマイズプログラムが表示された後、上述した保存ボタン、実行設定ボタン、テスト実行ボタンのクリック操作が可能となる。
【０１２４】
次に、本実施の形態の複合機１００のハードウェア構成について説明する。図１１は、図２に示した実施の形態１の複合機１００のハードウェア構成図である。図１１に示すように、この複合機１００は、ＣＰＵ９０２、ＳＤＲＡＭ９０３、ＳＲＡＭ９０８、フラッシュメモリ（フラッシュＲＯＭ）２１０、ＩＣカードインタフェース部２３０およびＨＤＤ１０３などをＡＳＩＣ９０１に接続したコントローラボード９００と、オペレーションパネル９１０と、ファックスコントロールユニット（ＦＣＵ）９２０と、ＵＳＢ９３０と、ＩＥＥＥ１３９４　９４０と、プリンタ９５０とから構成されている。オペレーションパネル９１０はＡＳＩＣ９０１に直接接続され、ＦＣＵ９２０、ＵＳＢ９３０、ＩＥＥＥ１３９４　９４０およびプリンタ９５０はＰＣＩバスを介してＡＳＩＣ９０１に接続されている。
【０１２５】
ＩＣカードインタフェース部２３０は、ＩＣカード２４０を挿入して、ＩＣカード２４０とデータのやりとりを行うインタフェースである。ＩＣカード２４０は、インストール記憶媒体として使用することもでき、この場合には開発された外部アプリをＩＣカード２４０に格納する。
【０１２６】
このように実施の形態１にかかる複合機１００では、ＷＥＢアプリ１１７の試験実行部３０２によって、インターネットに接続されたＰＣ２００からの要求により、複合機１００の操作表示部９１１のカスタマイズプログラムを実行し、その実行に伴って操作表示部９１１に出力されるオペパネ画像データをＰＣ２００のＷＥＢブラウザに順次表示しているので、ＰＣ２００からの容易な操作でカスタマイズプログラムのデバッグ作業を行うことができ、カスタマイズプログラムの開発を効率的に行える。この結果、複合機１００に多種多様な機能を容易に実現させることができる。
【０１２７】
（実施の形態２）
実施の形態１にかかる複合機１００では、カスタマイズプログラムのカスタマイズプログラムの入力処理および試験実行処理をアプリケーション層に設けたＷＥＢアプリ１１７によって実現していたが、この実施の形態２にかかる複合機は、カスタマイズプログラムの入力処理および試験実行処理をコントロールサービス層に設けたプログラミングサービスによって実現するものである。
【０１２８】
図１２は、実施の形態２にかかる複合機１２００の機能的構成を示すブロック図である。本実施の形態の複合機１２００は、実施の形態１の複合機１００と異なり、ＷＥＢアプリ１１７の代わりにプログラミングサービス１３３をコントロールサービス層に設けており、その他の構成は実施の形態１の複合機１００と同様である。
【０１２９】
プログラミングサービス１３３は、実施の形態１のＷＥＢアプリ１１７と同様に、インターネット２２０に接続されたクライアント端末としてのＰＣ２００に対してＷＥＢサーバ（ｈｔｔｐサーバ）として動作し、ＰＣ２００上で動作するＷＥＢブラウザに後述するプログラミング画面２０１を表示し、このプログラミング画面２０１からオペレーションパネル９１０の操作表示部９１１のカスタマイズプログラムを入力させるものである。また、プログラミングサービス１３３は、ＰＣ２００から入力されたカスタマイズプログラムをＨＤＤ１０３のカスタマイズ領域として作成されたカスタマイズディレクトリに保存する。さらに、プログラミングサービス１３３は、複合機１２００上でカスタマイズプログラムが実行されるように、起動設定ファイルにカスタマイズプログラムを登録する。また、プログラミングサービス１３３は、ＰＣ２００のプログラミング画面２０１からの指示により、複合機１２００上でカスタマイズプログラムを動作確認のために試験実行し、その実行の際に操作表示部９１１に表示されるオペパネ画像データをＰＣ２００のＷＥＢブラウザに表示する。
【０１３０】
プログラミングサービス１３３によるＰＣ２００からのカスタマイズプログラムの入力および試験実行の具体的な処理は、実施の形態１のＷＥＢアプリ１１７と同様の処理が行われる。
【０１３１】
このように実施の形態２にかかる複合機１２００では、コントロールサービスとして搭載されたプログラミングサービス１３３によって、カスタマイズプログラムの入力処理とテスト実行処理を行っているので、プログラミングサービスはネットワーク上のクライアント端末のサーバプロセスとして動作するだけでなく、複合機１２００に搭載されたアプリケーション１３０をクライアントとしたサーバプロセスとしても動作することになり、複合機１２００にさらなる多種多様な機能を実現させることができる。
【０１３２】
なお、実施の形態１および２にかかる複合機１００、１２００では、インターネット２２０に接続されたクライアント端末としてのＰＣ２００の要求により、カスタマイズプログラムのテスト実行処理を行っているが、インターネット以外のネットワーク、例えばＬＡＮなどに接続されたクライアント端末からの要求によりテスト実行を行うように構成することも可能である。また、通信プロトコルとしては、ＴＣＰ／ＩＰ以外のプロトコルを利用しても良い。
【０１３３】
また、実施の形態１および２にかかる複合機１００、１２００では、オペレーションパネル９１０の操作表示部９１１のカスタマイズプログラムのテスト実行の処理を行っているが、複合機１００、１２００で動作するプログラムであって、かつ操作表示部９１１に画像を出力するプログラムであればいずれのコンポーネントのカスタマイズについても本発明を適用することができる。
【０１３４】
また、実施の形態１および２にかかる複合機１００、１２００では、カスタマイズプログラムとしてシェルスクリプトを利用しているが、この他、Ｖｉｓｕａｌ　Ｂａｓｉｃ（登録商標）やＪａｖａ（登録商標）言語を使用してもよい。この場合には、インタプリタは、汎用ＯＳ１２１に含めず、汎用ＯＳ１２１の配下で動作するように構成する必要がある。
【０１３５】
【発明の効果】
以上説明したように、請求項１にかかる発明によれば、クライアント端末からの容易な操作でカスタマイズプログラムのデバッグ作業を行うことができ、カスタマイズプログラムの開発を効率的に行って、容易に多種多様な機能を画像形成装置に実現させることができるという効果を奏する。
【０１３６】
また、請求項２にかかる発明によれば、クライアント端末からの操作および動作確認をＷＥＢページを利用して容易に行うことができ、カスタマイズプログラムのデバッグ作業を効率的に行うことができるという効果を奏する。
【０１３７】
また、請求項３にかかる発明によれば、カスタマイズプログラムのコンパイル、リンクなしに動作確認を行え、クライアント端末からのデバッグ作業をより効率的に行うことができるという効果を奏する。
【０１３８】
また、請求項４にかかる発明によれば、クライアント端末からの容易な操作でオペレーションパネルの操作表示部用のカスタマイズプログラムをデバッグして動作確認を行え、カスタマイズを利用した操作表示部に関する機能のデバッグ作業を効率的に行うことができるという効果を奏する。
【０１３９】
また、請求項５にかかる発明によれば、試験実行手段のプログラム開発を効率的に行うことができるという効果を奏する。
【０１４０】
また、請求項６にかかる発明によれば、クライアント端末に表示されたオペパネ画像情報に対する入力操作による実行処理を、実際のオペレーションパネルの操作表示部からの入力操作の場合と同様に実現することができ、カスタマイズプログラムのデバッグ作業を正確に行うことができるという効果を奏する。
【０１４１】
また、請求項７にかかる発明によれば、クライアント端末に表示されたオペパネ画像情報に対する入力操作によるイベントの処理を、実際のオペレーションパネルの操作表示部から入力操作があった場合と同様に実現することができ、カスタマイズプログラムのデバッグ作業をより正確に行うことができるという効果を奏する。
【０１４２】
また、請求項８にかかる発明によれば、カスタマイズプログラムの入力も操作の容易なクライアント端末を利用してカスタマイズプログラムの開発およびデバッグ作業を効率的に行うことができるという効果を奏する。
【０１４３】
また、請求項９にかかる発明によれば、クライアント端末に対するＷＥＢサーバとしての機能のみをＷＥＢアプリに含め、ハードウェア資源に対するアクセスをコントロールサービスに委ねることができ、ＷＥＢアプリの開発を効率的に行うことができるという効果を奏する。
【０１４４】
また、請求項１０にかかる発明によれば、プログラミングサービスはネットワーク上のクライアント端末のサーバプロセスとして動作するだけでなく、画像形成装置に搭載されたアプリケーションをクライアントとしたサーバプロセスとしても動作可能となり、アプリケーションに対して種々の機能を提供することにより、画像形成装置にさらなる多種多様な機能を実現させることができるという効果を奏する。
【０１４５】
また、請求項１１にかかる発明によれば、クライアント端末からの容易な操作でカスタマイズプログラムのデバッグ作業を行うことができ、カスタマイズプログラムの開発を効率的に行って、容易に多種多様な機能を画像形成装置に実現させることができるという効果を奏する。
【０１４６】
また、請求項１２にかかる発明によれば、クライアント端末からの操作および動作確認をＷＥＢページを利用して容易に行うことができ、カスタマイズプログラムのデバッグ作業を効率的に行うことができるという効果を奏する。
【０１４７】
また、請求項１３にかかる発明によれば、カスタマイズプログラムのコンパイル、リンクなしに動作確認を行え、クライアント端末からのデバッグ作業をより効率的に行うことができるという効果を奏する。
【０１４８】
また、請求項１４にかかる発明によれば、クライアント端末からの容易な操作でオペレーションパネルの操作表示部用のカスタマイズプログラムをデバッグして動作確認を行え、カスタマイズを利用した操作表示部に関する機能のデバッグ作業を効率的に行うことができるという効果を奏する。
【０１４９】
また、請求項１５にかかる発明によれば、クライアント端末に表示されたオペパネ画像情報に対する入力操作による実行処理を、実際のオペレーションパネルの操作表示部からの入力操作の場合と同様に実現することができ、カスタマイズプログラムのデバッグ作業を正確に行うことができるという効果を奏する。
【０１５０】
また、請求項１６にかかる発明によれば、クライアント端末に表示されたオペパネ画像情報に対する入力操作によるイベントの処理を、実際のオペレーションパネルの操作表示部から入力操作があった場合と同様に実現することができ、カスタマイズプログラムのデバッグ作業をより正確に行うことができるという効果を奏する。
【０１５１】
また、請求項１７にかかる発明によれば、カスタマイズプログラムの入力も操作の容易なクライアント端末を利用してカスタマイズプログラムの開発およびデバッグ作業を効率的に行うことができるという効果を奏する。
【図面の簡単な説明】
【図１】実施の形態１にかかる複合機の主要構成およびネットワーク構成を示すブロック図である。
【図２】実施の形態１の複合機の機能的構成を示すブロック図である。
【図３】ＷＥＢアプリの機能的構成を示すブロック図である。
【図４】プログラミング画面の内容の一例を示す説明図である。
【図５】プログラム入力フィールドに入力されるカスタマイズプログラムの内容の一例を示す説明図である。
【図６】リクエストメッセージを受信した複合機における処理の手順を示すフローチャートである。
【図７】ＷＥＢアプリの試験実行部によるカスタマイズプログラムの試験実行処理の手順を示すフローチャートである。
【図８】オペパネ画像データのＷＥＢブラウザへの表示処理およびＷＥＢブラウザに表示されたオペパネ画像からの入力処理におけるデータの流れを示す説明図である。
【図９】図９（ａ）は、ＰＣのＷＥＢブラウザに表示されたオペパネ画像データのボタン表示がなされている例を示す説明図であり、図９（ｂ）は、オペパネ画像データのソフトキーボード表示がなされている例を示す説明図である。
【図１０】ＷＥＢアプリのプログラム入力部によるカスタマイズプログラム入力処理の手順を示すフローチャートである。
【図１１】実施の形態１の複合機のハードウェア構成図である。
【図１２】実施の形態２にかかる複合機の機能的構成を示すブロック図である。
【符号の説明】
１００，１２００　複合機
１０１　白黒レーザプリンタ
１０２　カラーレーザプリンタ
１０３　ＨＤＤ
１０５　共有メモリ
１０６　ｈｔｔｐｄ
１０４　ハードウェアリソース
１１０　ソフトウェア群
１１１　プリンタアプリ
１１２　コピーアプリ
１１３　ファックスアプリ
１１４　スキャナアプリ
１１５　ネットファイルアプリ
１１６　工程検査アプリ
１１７　ＷＥＢアプリ
１１８　ＶＡＳ
１２０　プラットホーム
１２１　汎用ＯＳ
１２２　ＳＣＳ
１２３　ＳＲＭ
１２４　ＥＣＳ
１２５　ＭＣＳ
１２６　ＯＣＳ
１２７　ＦＣＳ
１２８　ＮＣＳ
１２９　複合機初期化部
１３０　アプリケーション
１３１　プログラム起動部
１３３　プログラミングサービス
１３４　インタプリタ（シェル）
１３５　カーネル
２００　ＰＣ
２０１　プログラミング画面
２１０　フラッシュメモリ（フラッシュＲＯＭ）
２１２　カスタマイズ領域（カスタマイズディレクトリ）
２２０　インターネット
２３０　ＩＣカードインタフェース部
２４０　ＩＣカード
３０１　プログラム入力部
３０２　試験実行部
３０３　イベント処理部
９００　コントローラボード
９０１　ＡＳＩＣ
９０２　ＣＰＵ
９０３　ＳＤＲＡＭ（ＲＡＭ）
９０８　ＳＲＡＭ
９１０　オペレーションパネル
９１１　操作表示部
９３０　ＵＳＢ
９４０　ＩＥＥＥ１３９４
９５０　プリンタ
【図１】
2004062828.tif 000003
【図２】
2004062828.tif 000004
【図３】
2004062828.tif 000005
【図４】
2004062828.tif 000006
【図５】
2004062828.tif 000007
【図６】
2004062828.tif 000008
【図７】
2004062828.tif 000009
【図８】
2004062828.tif 000010
【図９】
2004062828.tif 000011
【図１０】
2004062828.tif 000012
【図１１】
2004062828.tif 000013
【図１２】
2004062828.tif 000014