説明

画像形成装置、情報処理方法、及びプログラム

【課題】複数のWebアプリケーションを適切に統合することのできる画像形成装置の提供を目的とする。
【解決手段】複数のプログラム実行手段を有する画像形成装置であって、プログラム実行手段ごとに、HTTPリクエストに応じたWebページを生成する複数のWebページ生成手段と、複数のWebページ生成手段のそれぞれより、当該Webページ生成手段を利用させるためのメニュー項目の表示情報及び当該Webページ生成手段のURLを取得し、取得された情報を統合してプログラム実行手段ごとのファイルに保存すると共に、第一のファイルに他のプログラム実行手段に係るファイルより取得された情報をマージするメニュー情報統合手段と、ファイルに保存されている情報に基づいて、複数のWebページ生成手段を利用させるためのメニュー項目を含むWebページを生成するメニューページ生成手段とを有することにより上記課題を解決する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像形成装置、情報処理方法、及びプログラムに関し、特にWebサイトを提供する画像形成装置、情報処理方法、及びプログラムに関する。
【背景技術】
【0002】
従来、ネットワークを介してアプリケーションを利用するためのインフラとしてWebシステムが広く用いられている。Webシステムにおいて、アプリケーションは、Webサーバ又はアプリケーションサーバと呼ばれるサーバコンピュータ上にWebアプリケーションとして実装される。各Webアプリケーションには一意なURL(Uniform Resource Locator)が割り当てられている。クライアント(Webブラウザ等)は、所望のWebアプリケーションに対するURLを指定してHTTPリクエストを送信することにより、当該Webアプリケーションのユーザインタフェース(Webページ)を表示させたり、当該Webアプリケーションに実装されたビジネスロジックを実行させたりすることができる。
【0003】
ところで、近年ではコピー機、プリンタ、ファクシミリ、又は複合機等の画像形成装置においてもその機能をWebアプリケーションによって提供可能なものが存在する。このような画像形成装置によれば、利用者は、利用したい機能(Webアプリケーション)のURLをWebブラウザ等に入力することにより、当該機能を遠隔的に利用することができる。
【特許文献1】特開2004−318842号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、利用者から見て画像形成装置は1台の機器である。したがって、複数のWebアプリケーションの集合としてではなく、一つのWebサイトとして利用者から認識されるような環境の構築が望ましい。
【0005】
但し、他方において、近年のソフトウェア部品化技術の進歩により各Webアプリケーションの独立度は高くなっている。したがって、画像形成装置の機能強化に伴って、新たなWebアプリケーションを柔軟に追加可能な状態となっている。
【0006】
したがって、単に複数のWebアプリケーションを一つのWebサイトとして統合的に見せるだけでなく、Webアプリケーションの構成の変化に柔軟に対応可能なWebサイトの構築が望まれる。
【0007】
本発明は、上記の点に鑑みてなされたものであって、複数のWebアプリケーションを適切に統合することのできる画像形成装置、情報処理方法、及びプログラムの提供を目的とする。
【課題を解決するための手段】
【0008】
そこで上記課題を解決するため、本発明は、複数のプログラム実行手段を有する画像形成装置であって、前記プログラム実行手段ごとに、HTTPリクエストに応じた処理を実行し、処理結果を示す情報を表示させるWebページを生成する複数のWebページ生成手段と、複数の前記Webページ生成手段のそれぞれより、当該Webページ生成手段を利用させるためのメニュー項目の表示情報及び当該Webページ生成手段のURLを取得し、取得された情報を統合して前記プログラム実行手段ごとの第一のファイルに保存すると共に、前記第一のファイルに他の前記プログラム実行手段に係る前記第一のファイルより取得された情報をマージするメニュー情報統合手段と、前記第一のファイルに保存されている情報に基づいて、複数の前記Webページ生成手段を利用させるためのメニュー項目を含むWebページを生成するメニューページ生成手段とを有することを特徴とする。
【0009】
このような画像形成装置では、複数のWebアプリケーションを適切に統合することができる。
【発明の効果】
【0010】
本発明によれば、複数のWebアプリケーションを適切に統合することのできる画像形成装置、情報処理方法、及びプログラムを提供することができる。
【発明を実施するための最良の形態】
【0011】
以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、複合機を画像形成装置の一例として説明する。複合機は、プリンタ、コピー、スキャナ、又は、ファクス等の複数の機能を一台の筐体において実現する画像形成装置である。
【0012】
図1は、第一の実施の形態における複合機のプログラムの実行環境の構成例を説明するための図である。
【0013】
図1では、複合機1が有するハードウェア資源の一部として、プロッタエンジン11及びスキャナエンジン12と、ソフトウェア資源の一部として、エンジン制御ボード101、OS102、JVM(Java(登録商標) Virtual Machine)103、OSGi(Open Services Gateway Initiative)プラットフォーム104、バンドル105、及びネイティブコードサービス106等とが示されている。当該ソフトウェア資源は、複合機1が備える非図示の記憶装置に記録され、実装された処理手順を複合機1が備える非図示のCPUに実行させることによりその機能を実現する。
【0014】
エンジン制御ボード101は、プロッタエンジン11及びスキャナエンジン12等の複合機1の個別機能を制御し、エンジンI/F(インタフェース)を通して、エンジン制御ボード101の機能をOS102等に提供する。
【0015】
OS102は、いわゆるオペレーティング・システムであり、JVM103や各ネイティブコードサービス106等をプロセスとして並列的に起動させる。JVM103は、Java(登録商標)言語に固有のバイトコードをOS102上で動作可能なネイティブコードに変換して実行する。OSGiプラットフォーム104は、OSGiアライアンスによる標準化技術であり、Java(登録商標)言語に基づいたオープンなソフトウェア部品化技術に基づいて作成されたソフトウェア部品の実行環境を提供するソフトウェアプラットフォームである。OSGiプラットフォーム104上において、Java(登録商標)言語のソフトウェアは「バンドル」と呼ばれるソフトウェア部品の形で実装される。一つのバンドルは、一つのJAR(Java(登録商標) ARchive)ファイルによって構成され、それぞれ独立して動的に(装置の再起動を要することなく)インストール可能である。バンドル105は、斯かるバンドルを示す。図示されるように、バンドル105は複数存在し得る。ネイティブコードサービス106は、例えば、C言語等によって作成された、OS101上において直接動作するネイティブコードによるプログラムであり、図示されるように複数存在しうる。各ネイティブコードサービス106は、例えば、複数のバンドル105より共通的に利用される各種の機能を実現する。JVM103上でスレッドとして起動されるバンドル105によるネイティブコードサービス106の呼び出し(利用)は、例えば、JNI(Java(登録商標) Native Interface)等を用いればよい。
【0016】
以上のようなソフトウェア資源のうち、複合機1では、複数のバンドル105によって、Webサイトが実現される。図2は、第一の実施の形態において統合的なWebサイトを実現するための複数のバンドルの構成例を示す図である。
【0017】
同図には、HTTPサービスバンドル105−1と、WebUIフレームワークバンドル105−2と、WebUIコンテンツバンドル105−3a、3b、及び3c等の複数のWebUIコンテンツバンドル105−3とが示されている。これらはそれぞれ図1に示される一つのバンドル105に相当する。すなわち、図2では、図1のバンドル105のうち、Webサイトを実現するためのバンドル105の関係(階層関係)が示されている。
【0018】
HTTPサービスバンドル105−1は、いわゆるHTTPサーバ(HTTPデーモン)として機能するバンドル105である。すなわち、HTTPサービスバンドル105−1は、クライアント(Webブラウザ等)からのHTTPリクエストの受信、クライアントへのHTTPレスポンスの送信等、HTTP通信を制御する。
【0019】
各WebUIコンテンツバンドル105−3は、いわゆるWebアプリケーションとして機能するバンドル105である。すなわち、各WebUIコンテンツバンドル105−3には一意なURL(Uniform Resource Locator)が割り当てられている。各WebUIコンテンツバンドル105−3は、自らに割り当てられたURLが指定されたHTTPリクエストに応じて固有のビジネスロジックを実行し、その処理結果を表示させるWebUIコンテンツ(HTMLデータ等のWebページ)を生成する。
【0020】
WebUIフレームワークバンドル105−2は、それぞれ独立している複数のWebUIコンテンツバンドル105−3を統合し、一つのWebサイトを実現するための処理を実行するバンドル105である。複数のWebUIコンテンツバンドル105−3の統合の具体的な内容としては、複数のWebUIコンテンツバンドル105−3に対する共通の情報(セッション情報、認証情報、言語(表示言語)情報等)の管理や、HTTPリクエストに指定されたURLに応じたWebUIコンテンツバンドル105−3の呼び分け(すなわち、HTTPリクエストの分配)や、複数のWebUIコンテンツバンドル105−3のメニュー構成情報の管理等が挙げられる。
【0021】
HTTPリクエストの分配は、統合設定ファイル110に基づいて行われる。統合設定ファイルには、各URLと各WebUIコンテンツバンドル105−3との対応関係を示す情報(以下、「URL対応情報」という。)が含まれている。すなわち、WebUIフレームワークバンドル105−2は、HTTPリクエストに指定されたURLに対応するWebUIコンテンツバンドル105−3を統合設定ファイル110に基づいて判断し、当該WebUIコンテンツバンドル105−3を呼び出してHTTPリクエストに応じた処理を実行させる。
【0022】
また、メニュー構成情報は、メニューの階層構造や、メニューごとに表示情報(表示文字列等)及びURL(WebUIコンテンツバンドル105−3)との対応関係が定義された情報であり、統合メニューファイル120内に格納される。ここで、メニューとは、各WebUIコンテンツバンドル105−3を利用させるためのメニューが表示されるWebページ(メニューページ)上におけるメニューをいう。
【0023】
図3は、第一の実施の形態のメニューページの表示例を示す図である。同図のメニューページ500において、メニュー510に含まれるメニュー項目(「ホーム」、「リモート操作」、「カスタマイズ」、「ジョブ/ログ」、及び「設定/管理」)は、WebUIコンテンツバンドル105−3を呼び出すためのメニュー項目ではなく、メニューの階層構造を辿るためのメニュー項目である。一方、メニュー511、512、513、514、及び515は、WebUIコンテンツバンドル105−3を呼び出すためのメニュー項目の集合(グループ)であり、その表示内容はメニュー510において選択されるメニュー項目に応じて変化する。すなわち、メニュー510のメニュー項目と、メニュー511、512、513、514、及び515との間には階層関係(親子関係)が存在する。また、メニュー511、512、513、514、及び515とそれぞれに含まれるメニュー項目との間にも階層関係(親子関係)が存在する。なお、同図では、メニュー510において「設定/管理」が選択されている状態が示されている。
【0024】
したがって、図3の例に基づけば、メニュー構成情報には、メニュー510に含まれる各メニュー項目と他のメニューとの階層関係や、階層関係において末端のメニュー項目に対応するURL等が定義されている。
【0025】
メニューページ500は、メニューページ500のURLに対応したWebUIコンテンツバンドル105−3(例えば、WebUIコンテンツバンドル105−3a)によって生成される。したがって、統合メニューファイル120は、当該WebUIコンテンツバンドル105−3によってメニューページ500を生成するために利用される。
【0026】
なお、統合設定ファイル110及び統合メニューファイル120は、例えば、複合機1のHDD(Hard Disk Drive)に保存される。
【0027】
ところで、統合設定ファイル110及び統合メニューファイル120は、WebUIフレームワークバンドル105−2によって自動的に生成又は更新される。図4は、統合設定ファイル及び統合メニューファイルの生成処理を説明するための図である。前提として、各WebUIコンテンツバンドル105−3は、設定ファイル及びメニューファイルを有する(関連付けられている)。設定ファイルは、当該WebUIコンテンツバンドル105−3(の識別名)とURLとの対応関係を示す情報(URL対応情報)が記録されたファイルである。メニューファイルは、当該WebUIコンテンツバンドル105−3のメニュー項目の表示内容及び配置位置を示す情報が記録されたファイルである。ここで、配置位置とは、メニューページ500におけるメニューの階層構造上における配置位置をいう。
【0028】
まず、各WebUIコンテンツバンドル105−3は、それぞれが有しているメニューファイル及び設定ファイルを、WebUIフレームワークバンドル105−2のファイル統合部105−21に出力する(S11、S12、S13)。但し、ファイル統合部105−21が能動的に各WebUIコンテンツバンドル105−3よりメニューファイル及び設定ファイルを取得してもよい。
【0029】
続いて、ファイル統合部105−21は、各WebUIコンテンツバンドル105−3より収集されたメニューファイルを統合することにより統合メニューファイル120を生成する(S14)。また、ファイル統合部105−21は、各WebUIコンテンツバンドル105−3より収集された設定ファイルを統合することにより統合設定ファイル110を生成又は更新する(S15)。この際、ファイル統合部105−21は、WebUIコンテンツバンドル105−3間におけるURLの重複チェック等を行う。URLが重複している場合、ファイル統合部105−21は、統合設定ファイル110等の生成を中止する。なお、メニューファイルの統合及び設定ファイルの統合は、各メニューファイル又は設定ファイルの記述内容を直列的に並べることにより行えばよい。
【0030】
続いて、WebUIフレームワークバンドル105−2のリクエスト分配部105−22は、生成又は更新された統合設定ファイル110よりURL対応情報を取得し(S16)、当該URL対応情報に含まれているURLの一覧(すなわち、WebUIフレームワークバンドル105−2によって統合されるWebUIコンテンツバンドル105−3のURLの一覧)をHTTPサービスバンドル105−1に登録(通知)する(S17)。
【0031】
なお、HTTPサービスバンドル105−1は、HTTPリクエスト(例えば、メニューページ500においてメニュー項目が選択されることにより送信されるHTTPリクエスト)の受信に応じ、当該HTTPリクエストにおいて指定されているURLがWebUIフレームワークバンドル105−2より通知された一覧に含まれている場合は、当該HTTPリクエストをWebUIフレームワークバンドル105−2のリクエスト分配部105−22に通知する。リクエスト分配部105−22は、当該HTTPリクエストのURLに対応するWebUIコンテンツバンドル105−3を統合設定ファイル110に基づいて判定し、当該WebUIコンテンツバンドル105−3を呼び出す。
【0032】
続いて、複合機1の動作中に、新たなWebUIコンテンツバンドル105−3がインストール(追加)された場合の処理について説明する。図5は、第一の実施の形態においてWebUIコンテンツバンドルが追加された際の処理手順を説明するためのシーケンス図である。
【0033】
例えば、新たにWebUIコンテンツバンドル105−3dがインストールされたとする。この場合、WebUIコンテンツバンドル105−3dはインストールに応じて自らのメニューファイル及び設定ファイルの追加登録をWebUIフレームワークバンドル105−2のファイル統合部105−21に要求する(S21)。続いて、ファイル統合部105−21は、新たに追加されたWebUIコンテンツバンドル105−3dの設定ファイルと統合設定ファイル110とに基づいてURLの重複の有無をチェックする(S22)。URLが重複している場合、ファイル統合部105は処理を中止し、URLの変更等を促すメッセージ等を操作パネルに表示させる。
【0034】
URLが重複していない場合、ファイル統合部105−21は、HTTPサービスバンドル105−1に対してURLの一覧の登録の解除を要求する(S23)。これにより、図4のステップS17等において登録されているURLの一覧がHTTPサービスバンドル105−1において無効とされ、当該一覧に含まれるURLに係るHTTPリクエストの通知は中断される。
【0035】
続いて、ファイル統合部105−21は、WebUIコンテンツバンドル105−3dのメニューファイル及び設定ファイルの内容を、統合メニューファイル120又は統合設定ファイル110に追加する(S24)。続いて、WebUIフレームワークバンドル105−2のリクエスト分配部105−22は、更新された統合設定ファイル110に基づくURLの一覧をHTTPサービスバンドル105−1に登録する(S25)。これにより、WebUIフレームワークバンドル105−2上のWebUIコンテンツバンドル105−3に対するHTTPリクエストは有効なものとして扱われる。
【0036】
上述したように、第一の実施の形態における複合機1によれば、それぞれ独立度の非常に高い各WebUIコンテンツバンドル105−3を適切に統合し、一つのWebサイトを構築することができる。
【0037】
次に、第二の実施の形態について説明する。第二の実施の形態では第一の実施の形態と異なる点について説明する。
【0038】
図6は、第二の実施の形態における複合機のプログラムの実行環境の構成例を説明するための図である。図6中、図1と同一部分には同一符号を付し、その説明は適宜省略する。
【0039】
同図に示されるように、複合機2は、コアJVM103a、アプリJVM103b、及拡張JVM103c等の3つのJVM103を有し、JVM103ごとに、図1において説明した構成(OSGiプラットフォーム104、バンドル105)を有する。各JVM103上におけるOSGiプラットフォーム104及びバンドル105は、それぞれの参照番号の末尾に「a」、「b」、又は「c」が付されることによって区別される。
【0040】
基本的に、各JVM103自体の機能(実装内容)は同じである。但し、JVM103ごとに他のJVM環境又はネイティブ環境に対するアクセス権限が異なる。具体的には、コアJVM103aは、例えば、複合機2のメーカー等によって作成されたバンドル105等、最も信頼度が高いバンドル105に対する実行環境を提供する。コアJVM103a上で動作するバンドル105を、便宜上「コアバンドル105a」という。コアバンドル105aは、例えば、ネイティブコードサービス106及びエンジン制御ボード102によって提供される全ての機能を直接呼び出す(利用する)ことができる。但し、コアバンドル105aによるネイティブコードサービス106又はエンジン制御ボード102の利用に関して制限を設けてもよい。
【0041】
アプリJVM103bは、コアバンドル105aより信頼度の低い、又は複合機2の資源に対するアクセス制限が厳しくされるべきバンドル105に対する実行環境を提供する。アプリJVM103b上で動作するバンドル105を、便宜上「アプリバンドル105b」という。アプリバンドル105bは、ネイティブコードサービス10が提供する機能を直接利用することができる。但し、アプリバンドル105bによるネイティブコードサービス106の利用には、コアバンドル105aに対して相対的に厳しい制限が設けられる。また、アプリバンドル105bは、コアバンドル105aの全て又は一部の機能を直接利用することができる。なお、異なるJVM環境間の呼び出しは、RMI(Remote Method Invocation)等を用いた公知の記述に従えばよい。
【0042】
拡張JVM103cは、アプリバンドル105bより信頼度の低い、又は複合機2の資源に対するアクセス制限が厳しくされるべきバンドル105に対する実行環境を提供する。拡張JVM103c上で動作するバンドル105を、便宜上「拡張バンドル105c」という。拡張バンドル105cは、予め設定された制限の範囲内でコアバンドル105a及びアプリバンドル105bの機能を直接利用することができる。但し、拡張バンドル105cは、ネイティブコードサービス10が提供する機能の直接的な利用は許可されない。
【0043】
このように、複合機2では、JVM環境単位でバンドル105のアクセス権限が制御される。図6では、3つのJVM103を備えた例が示されているため、各バンドル105のセキュリティレベルをどのJVM103で動作させるかによって3段階に分類することができる。したがって、バンドル105ごとにアクセス権限を制御する場合に比べて、より簡便に各アプリケーションのアクセス制御を行うことができる。なお、JVM103は、2つであってもよいし、複合機2のハードウェア資源のスペックに応じて4つ以上であってもよい。2つの場合は、2段階のセキュリティレベルを形成することができ、4つ以上の場合は4つ以上のセキュリティレベルを形成することができる。
【0044】
以上のような環境において、第二の実施の形態では次のようなバンドル構成によってWebサイトが実現される。図7は、第二の実施の形態において統合的なWebサイトを実現するためのバンドルの構成例を示す図である。
【0045】
同図において、コアJVM103a上には、HTTPサービスバンドル105a−1がコアバンドル105aによって実装される。一方、アプリJVM103b及び拡張JVM103c上のそれぞれの構成は、第一の実施の形態と同様である。すなわち、アプリJVM103b上には、HTTPサービスバンドル105b−1、WebUIフレームワークバンドル105b−2、及び一つ以上のWebUIコンテンツバンドル105b−3がアプリバンドル105によって実装される。また、拡張JVM103c上には、HTTPサービスバンドル105c−1、WebUIフレームワークバンドル105c−2、及び一つ以上のWebUIコンテンツバンドル105c−3が拡張バンドル105によって実装される。
【0046】
各バンドル105の機能は、第一の実施の形態において説明した通りである。なお、HTTPサービスバンドル105a−1、105b−1、及び105c−1のそれぞれにおいて、HTTPリクエストを受信するためのポート番号は異なっており、HTTPサービスバンドル105a−1のポートのみが外部に(ネットワーク上に)公開される。
【0047】
ところで、第二の実施の形態では、WebUIフレームワークバンドル105b−2及び105c−2といった二つのWebUIフレームワークバンドル105−2が存在する。したがって、第二の実施の形態では、二つのWebUIフレームワーク105−2を統合するための仕組みが必要とされる。以下、斯かる仕組みの実現例について説明する。
【0048】
まず、引き続き図6を用いて、統合設定ファイル110及び統合メニューファイル120の生成の際に実行される処理について説明する。
【0049】
アプリJVM103b上の各WebUIコンテンツバンドル105b−3は、それぞれが有しているメニューファイル及び設定ファイルを、WebUIフレームワークバンドル105b−2(のファイル統合部)に出力する(S31)。同様に、拡張JVM103c上の各WebUIコンテンツバンドル105c−3は、それぞれが有しているメニューファイル及び設定ファイルを、WebUIフレームワークバンドル105c−2(のファイル統合部)に出力する(S41)。
【0050】
続いて、WebUIフレームワークバンドル105b−2は、収集されたメニューファイルを統合することにより統合メニューファイル120bを生成する(S32)。また、フWebUIフレームワークバンドル105b−2は、収集された設定ファイルを統合することにより統合設定ファイル110bを生成又は更新する(S33)。同様に、WebUIフレームワークバンドル105c−2は、収集されたメニューファイルを統合することにより統合メニューファイル120cを生成する(S42)。また、フWebUIフレームワークバンドル105c−2は、収集された設定ファイルを統合することにより統合設定ファイル110cを生成又は更新する(S43)。なお、設定ファイルの統合に際し、URLの重複がチェックされるのは第一の実施の形態と同様である。
【0051】
続いて、WebUIフレームワークバンドル105b−2は、統合設定ファイル110bに基づくURLの一覧をHTTPサービスバンドル105b−1に登録する(S34)。同様に、WebUIフレームワークバンドル105c−2は、統合設定ファイル110cに基づくURLの一覧をHTTPサービスバンドル105c−1に登録する(S44)。
【0052】
続いて、HTTPサービスバンドル105b−1は、登録されたURLの一覧をコアJVM105a−1上のHTTPサービスバンドル105a−1に通知し、当該一覧(以下、「アプリURL一覧」という。)に含まれるURLが指定されたHTTPリクエストの振り分けを要求する(S35)。同様に、HTTPサービスバンドル105c−1は、登録されたURLの一覧をHTTPサービスバンドル105a−1に通知し、当該一覧(以下、「拡張URL一覧」という。)に含まれるURLが指定されたHTTPリクエストの振り分けを要求する(S45)。
【0053】
なお、上記では、アプリJVM103b上の処理と拡張JVM103c上の処理とを並列的に記載したが、それぞれのJVM103上における処理は同期がとられていなくてもよい。但し、図8に示されるように、所定のタイミング(例えば、WebUIフレームワークバンドル105b−2又は105c−2によって統合設定ファイル110又は統合メニューファイル120が生成又は更新されたとき)において、WebUIフレームワークバンドル105b−2とWebUIフレームワークバンドル105c−2とは、それぞれの管理情報(統合設定ファイル110又は統合メニューファイル120に格納されている情報)をRMI(Remote Method Invocation)等によって交換し合う。
【0054】
これにより、各WebUIフレームワークバンドル105−2は、他方のWebUIフレームワークバンドル105−2によって管理される統合メニューファイル120の内容(メニュー構成情報)と、自らが管理する統合メニューファイル120の内容とをマージして新たな統合メニューファイル120を生成する。したがって、各WebUIフレームワークバンドル105−2間で同じ内容の統合メニューファイル120が管理される(メニュー構成情報が共有される)。その結果、双方のWebUIフレームワークバンドル105−2上に、メニューページ500を生成するWebUIコンテンツバンドル105−3が実装されている場合であっても、双方のWebUIコンテンツバンドル105−3によって生成されるメニューページ500のメニューの構成は同じとなる。
【0055】
また、各WebUIフレームワークバンドル105−2は、他方のWebUIフレームワークバンドル105−2によって管理される統合設定ファイル110に登録されているURLと、自らが管理する統合設定ファイル110に登録されているURLとの重複チェックを行う。重複が検出された場合、重複しているURLを操作パネル等に表示させることにより操作者に対して修正を促す。これにより、WebUIフレームワークバンドル105−2を跨いだ(JVM103を跨いだ)URLの重複が回避される。
【0056】
続いて、HTTPリクエスト受信時の処理について説明する。図9は、第二の実施の形態におけるHTTPリクエスト受信時の処理手順を説明するための図である。
【0057】
Webブラウザ51からのHTTPリクエストは、コアJVM103a上のHTTPサービスバンドル105a−1によって受信される(S51)。上述したように、HTTPサービスバンドル105a−1のみのポートが外部に公開されているため、各JVM103のWebUIコンテンツバンドル105−3に対するHTTPリクエストは、HTTPサービスバンドル105a−1によって統合的に受信される。HTTPサービスバンドル105a−1は、受信されたHTTPリクエストにおいて指定されているURLと、アプリURL一覧又は拡張URL一覧とに基づいて当該HTTPリクエストの振り分け先を判定する。すなわち、受信されたURLがアプリURL一覧に含まれている場合、HTTPサービスバンドル105a−1は、当該HTTPリクエストをHTTPサービスバンドル105b−1に転送する(S52)。一方、受信されたURLが拡張URL一覧に含まれている場合、HTTPサービスバンドル105a−1は、当該HTTPリクエストをHTTPサービスバンドル105c−1に転送する(S53)。その後に実行される処理手順については、第一の実施の形態において説明した通りであるため、ここでの説明は省略する。
【0058】
続いて、複合機2の動作中に、新たなWebUIコンテンツバンドル105c−3に係る拡張バンドル105cがインストール(追加)された場合の処理について説明する。図10は、第二の実施の形態においてWebUIコンテンツバンドルが追加された際の処理手順を説明するためのシーケンス図である。
【0059】
例えば、新たにWebUIコンテンツバンドル105c−3cが拡張JVM103c上にインストールされたとする。この場合、WebUIコンテンツバンドル105c−3cはインストールに応じて自らのメニューファイル及び設定ファイルの追加登録をWebUIフレームワークバンドル105c−2に要求する(S71)。続いて、WebUIフレームワークバンドル105c−2は、新たに追加されたWebUIコンテンツバンドル105c−3cの設定ファイルと統合設定ファイル110cとに基づいてURLの重複の有無をチェックする(S72)。また、WebUIフレームワークバンドル105c−2は、WebUIコンテンツバンドル105c−3cの設定ファイルを、WebUIフレームワークバンドル105b−2に送信し、URLの重複のチェックを要求する(S73)。URLが重複している場合、WebUIフレームワークバンドル105c−2は処理を中止し、URLの変更等を促すメッセージ等を操作パネルに表示させる。
【0060】
続いて、WebUIフレームワークバンドル105c−2は、WebUIコンテンツバンドル105c−3cの設定ファイル及びメニューファイルの内容を、統合設定ファイル110c又は統合メニューファイル120c又に追加する(S74、S75)。なお、統合設定ファイル110c及び統合メニューファイル120cの更新の前後において、第一の実施の形態と同様に、HTTPサービスバンドル105c−1に対するURLの一覧の登録の解除及び再登録が行われる。
【0061】
続いて、WebUIフレームワークバンドル105c−2は、メニュー構成情報が更新されたことをWebUIフレームワークバンドル105b−2に通知する(S76)。当該通知を受けて、WebUIフレームワークバンドル105b−2は、WebUIフレームワークバンドル105c−2よりメニュー構成情報(更新されたメニューファイル120cに格納されているメニュー構成情報)を取得し(S77)、取得されたメニュー構成情報を、統合メニューファイル120bにマージする(S78)。
【0062】
上述したように、第二の実施の形態における複合機2によれば、複数のJVM103にWebUIフレームワークバンドル105−2が分散されて実装されている形態あっても、複合機2全体として統合されたWebサイトを構築することができる。
【0063】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【0064】
【図1】第一の実施の形態における複合機のプログラムの実行環境の構成例を説明するための図である。
【図2】第一の実施の形態において統合的なWebサイトを実現するためのバンドルの構成例を示す図である。
【図3】第一の実施の形態のメニューページの表示例を示す図である。
【図4】統合設定ファイル及び統合メニューファイルの生成処理を説明するための図である。
【図5】第一の実施の形態においてWebUIコンテンツバンドルが追加された際の処理手順を説明するためのシーケンス図である。
【図6】第二の実施の形態における複合機のプログラムの実行環境の構成例を説明するための図である。
【図7】第二の実施の形態において統合的なWebサイトを実現するためのバンドルの構成例を示す図である。
【図8】WebUIフレームワークバンドル間における情報交換を説明するための図である。
【図9】第二の実施の形態におけるHTTPリクエスト受信時の処理手順を説明するための図である。
【図10】第二の実施の形態においてWebUIコンテンツバンドルが追加された際の処理手順を説明するためのシーケンス図である。
【符号の説明】
【0065】
1、2 複合機
11 プロッタエンジン
12 スキャナエンジン
101 エンジン制御ボード
102 OS
103 JVM
104 OSGiプラットフォーム
105 バンドル
105−1、105a−1、105b−1、105c−1 HTTPサービスバンドル
105−2、105a−2、105b−2、105c−2 WebUIフレームワークバンドル
105−21 ファイル統合部
105−22 リクエスト分配部
105−3、3a、3b、3c WebUIコンテンツバンドル
106 ネイティブコードサービス
110、110a、110b 統合設定ファイル
120、120a、120b 統合メニューファイル

【特許請求の範囲】
【請求項1】
複数のプログラム実行手段を有する画像形成装置であって、
前記プログラム実行手段ごとに、
HTTPリクエストに応じた処理を実行し、処理結果を示す情報を表示させるWebページを生成する複数のWebページ生成手段と、
複数の前記Webページ生成手段のそれぞれより、当該Webページ生成手段を利用させるためのメニュー項目の表示情報及び当該Webページ生成手段のURLを取得し、取得された情報を統合して前記プログラム実行手段ごとの第一のファイルに保存すると共に、前記第一のファイルに他の前記プログラム実行手段に係る前記第一のファイルより取得された情報をマージするメニュー情報統合手段と、
前記第一のファイルに保存されている情報に基づいて、複数の前記Webページ手段を利用させるためのメニュー項目を含むWebページを生成するメニューページ生成手段とを有する画像形成装置。
【請求項2】
前記プログラム実行手段ごとに、
複数の前記Webページ生成手段のそれぞれより、URLとの対応情報を取得し、取得された前記対応情報を統合して前記プログラム実行手段ごとの第二のファイルに保存するURL情報統合手段と、
受信されるHTTPリクエストにおいて指定されたURLに対応する前記Webページ生成手段を前記第二のファイルに基づいて判定し、判定された前記Webページ生成手段に当該HTTPリクエストに対応した処理を実行させるリクエスト分配手段とを有する請求項1記載の画像形成装置。
【請求項3】
前記URL情報統合手段は、取得された前記対応情報に基づいてURLの重複の有無を判定し、URLが重複していない場合に前記対応情報を統合する請求項2記載の画像形成装置。
【請求項4】
前記URL情報統合手段は、前記第二のファイルに保存された前記対応情報に含まれるURLと他の前記プログラム実行手段の前記第二のファイルより取得された前記対応情報に含まれるURLとの重複の有無を判定し、重複が検出されたことを操作パネルに表示させる請求項3記載の画像形成装置。
【請求項5】
前記複数のプログラム実行手段の前記Webページ生成手段に対するHTTPリクエストを統合的に受信するリクエスト受信手段を有し、
前記リクエスト受信手段は、前記第二のファイルに保存された情報を前記各プログラム実行手段より取得し、取得された情報に基づいて前記HTTPリクエストに対応する前記Webページ生成手段が属する前記プログラム実行手段の前記リクエスト分配手段へ、該HTTPリクエストを通知することを特徴とする請求項1乃至4いずれか一項記載の画像形成装置。
【請求項6】
複数のプログラム実行手段を有する画像形成装置が実行する情報処理方法であって、
前記プログラム実行手段ごとに、
HTTPリクエストに応じた処理を実行し、処理結果を示す情報を表示させるWebページを生成する複数のWebページ生成手手段のそれぞれより、当該Webページ生成手段を利用させるためのメニュー項目の表示情報及び当該Webページ生成手段のURLを取得し、取得された情報を統合して前記プログラム実行手段ごとの第一のファイルに保存すると共に、前記第一のファイルに他の前記プログラム実行手段に係る前記第一のファイルより取得された情報をマージするメニュー情報統合手順と、
前記第一のファイルに保存されている情報に基づいて、複数の前記Webページ生成手段を利用させるためのメニュー項目を含むWebページを生成するメニューページ生成手順とを有する情報処理方法。
【請求項7】
前記プログラム実行手段ごとに、
複数の前記Webページ生成手段のそれぞれより、URLとの対応情報を取得し、取得された前記対応情報を統合して前記プログラム実行手段ごとの第二のファイルに保存するURL情報統合手順と、
受信されるHTTPリクエストにおいて指定されたURLに対応する前記Webページ生成手段を前記第二のファイルに基づいて判定し、判定された前記Webページ生成手段に当該HTTPリクエストに対応した処理を実行させるリクエスト分配手順とを有する請求項6記載の情報処理方法。
【請求項8】
前記URL情報統合手順は、取得された前記対応情報に基づいてURLの重複の有無を判定し、URLが重複していない場合に前記対応情報を統合する請求項7記載の情報処理方法。
【請求項9】
前記URL情報統合手順は、前記第二のファイルに保存された前記対応情報に含まれるURLと他の前記プログラム実行手段の前記第二のファイルより取得された前記対応情報に含まれるURLとの重複の有無を判定し、重複が検出されたことを操作パネルに表示させる請求項8記載の情報処理方法。
【請求項10】
前記複数のプログラム実行手段の前記Webページ生成手段に対するHTTPリクエストを統合的に受信するリクエスト受信手順を有し、
前記リクエスト受信手順は、前記第二のファイルに保存された情報を前記各プログラム実行手段より取得し、取得された情報に基づいて前記HTTPリクエストに対応する前記Webページ生成手段が属する前記プログラム実行手段の前記リクエスト分配手順へ、該HTTPリクエストを通知することを特徴とする請求項6乃至9いずれか一項記載の情報処理方法。
【請求項11】
複数のプログラム実行手段を有する画像形成装置に、
HTTPリクエストに応じた処理を実行し、処理結果を示す情報を表示させるWebページを生成する複数のWebページ生成手段のそれぞれより、当該Webページ生成手段を利用させるためのメニュー項目の表示情報及び当該Webページ生成手段のURLを取得し、取得された情報を統合して前記プログラム実行手段ごとの第一のファイルに保存すると共に、前記第一のファイルに他の前記プログラム実行手段に係る前記第一のファイルより取得された情報をマージするメニュー情報統合手順と、
前記第一のファイルに保存されている情報に基づいて、複数の前記Webページ生成手段を利用させるためのメニュー項目を含むWebページを生成するメニューページ生成手順とを前記プログラム実行手段ごとに実行させるプログラム。
【請求項12】
複数の前記Webページ生成手段のそれぞれより、URLとの対応情報を取得し、取得された前記対応情報を統合して前記プログラム実行手段ごとの第二のファイルに保存するURL情報統合手順と、
受信されるHTTPリクエストにおいて指定されたURLに対応する前記Webページ生成手段を前記第二のファイルに基づいて判定し、判定された前記Webページ生成手段に当該HTTPリクエストに対応した処理を実行させるリクエスト分配手順とを前記プログラム実行手段ごとに実行させる請求項11記載のプログラム。
【請求項13】
前記URL情報統合手順は、取得された前記対応情報に基づいてURLの重複の有無を判定し、URLが重複していない場合に前記対応情報を統合する請求項12記載のプログラム。
【請求項14】
前記URL情報統合手順は、前記第二のファイルに保存された前記対応情報に含まれるURLと他の前記プログラム実行手段の前記第二のファイルより取得された前記対応情報に含まれるURLとの重複の有無を判定し、重複が検出されたことを操作パネルに表示させる請求項13記載のプログラム。
【請求項15】
前記複数のプログラム実行手段の前記Webページ生成手段に対するHTTPリクエストを統合的に受信するリクエスト受信手順を実行させ、
前記リクエスト受信手順は、前記第二のファイルに保存された情報を前記各プログラム実行手段より取得し、取得された情報に基づいて前記HTTPリクエストに対応する前記Webページ生成手段が属する前記プログラム実行手段の前記リクエスト分配手順へ、該HTTPリクエストを通知することを特徴とする請求項11乃至14いずれか一項記載のプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2009−290729(P2009−290729A)
【公開日】平成21年12月10日(2009.12.10)
【国際特許分類】
【出願番号】特願2008−143132(P2008−143132)
【出願日】平成20年5月30日(2008.5.30)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】