(57)【要約】【課題】既存のシステム上で動作するインストール済のアプリケーションをウェブブラウザから起動する。【解決手段】インストール済の非ウェブアプリケーションのアイコン用の画像を、ウェブサーバが参照可能な情報格納領域１７２に記憶させる。情報格納領域１７２には、ウェブアプリケーションのアイコン用の画像も、記憶される。ウェブメニューアプリケーション１ＷＰ３は、情報格納領域１７２に記憶されている各画像を配置したメニュー画面５０を生成し、ブラウザアプリケーション１ＮＰ４へ提供する。ブラウザアプリケーション１ＮＰ４において非ウェブアプリケーションが選択された場合に、ウェブメニューアプリケーション１ＷＰ３は、この非ウェブアプリケーションを起動するようにアプリケーションマネージャ３７１へ要求する。【選択図】図３
2015106195.tif 000002
【特許請求の範囲】
【請求項１】
インストール済の複数のウェブアプリケーションを実行するウェブアプリケーション実行手段と、
前記ウェブアプリケーション実行手段が参照することができる記憶領域であって、前記複数のウェブアプリケーションそれぞれを表わす第一の識別情報を記憶するウェブ用記憶領域と、
インストール済の、前記ウェブアプリケーション実行手段が実行することのできない非ウェブアプリケーションを実行する、非ウェブアプリケーション実行手段と、
前記非ウェブアプリケーションを表わす第二の識別情報を前記ウェブ用記憶領域に記憶させる識別情報書込手段と、
前記非ウェブアプリケーションを起動するように前記非ウェブアプリケーション実行手段へ要求する要求手段と、
を有し、
前記ウェブアプリケーション実行手段は、前記複数のウェブアプリケーションのうちの１つとして、前記第一の識別情報および前記第二の識別情報を提示するウェブページをウェブブラウザへ提供するメニューアプリケーションを実行し、
前記要求手段は、前記ウェブブラウザにおいて前記第二の識別情報が選択された場合に、前記非ウェブアプリケーションのうちの当該第二の識別情報に対応する指定非ウェブアプリケーションを起動するように要求し、
前記非ウェブアプリケーション実行手段は、前記要求手段からの要求に応じて前記指定非ウェブアプリケーションを起動する、
ことを特徴とするアプリケーションシステム。
【請求項２】
前記識別情報書込手段は、前記ウェブアプリケーション実行手段が前記メニューアプリケーションを実行する際に、前記第二の識別情報を前記ウェブ用記憶領域に記憶させる、
請求項１に記載のアプリケーションシステム。
【請求項３】
前記非ウェブアプリケーション実行手段が参照することができる記憶領域であって、前記非ウェブアプリケーションを表わす第三の識別情報を記憶する非ウェブ用記憶領域と、
前記第三の識別情報を提示する画面を表示する表示手段と、を有し、
前記識別情報書込手段は、前記第三の識別情報が前記非ウェブ用記憶領域に記憶されているが前記第二の識別情報が未だ前記ウェブ用記憶領域に記憶されていない場合に、当該第二の識別情報を前記ウェブ用記憶領域に記憶させる、
請求項１または請求項２に記載のアプリケーションシステム。
【請求項４】
前記第一の識別情報および前記第二の識別情報は、画像であり、
前記識別情報書込手段は、前記第二の識別情報として、前記ウェブアプリケーション実行手段が解釈することができる形式の画像を前記ウェブ用記憶領域に記憶させる、
請求項１ないし請求項３のいずれかに記載のアプリケーションシステム。
【請求項５】
前記第一の識別情報が選択された場合に、前記複数のウェブアプリケーションのうちの当該第一の識別情報に対応する指定ウェブアプリケーションを起動するように前記非ウェブアプリケーション実行手段へ要求する第二の要求手段、を有し、
前記非ウェブアプリケーション実行手段は、
前記指定ウェブアプリケーションを起動するように要求された場合に、前記ウェブブラウザを終了させ、当該指定ウェブアプリケーションのウェブページをスタートページとして当該ウェブブラウザを起動させる、第二の起動手段、を有する、
請求項１ないし請求項４のいずれかに記載のアプリケーションシステム。
【請求項６】
前記非ウェブアプリケーションがアンインストールされた場合に、当該非ウェブアプリケーションの前記第二の識別情報が前記ウェブ用記憶領域から削除される、
請求項１ないし請求項５のいずれかに記載のアプリケーションシステム。
【請求項７】
前記ウェブアプリケーション実行手段、前記ウェブ用記憶領域、前記非ウェブアプリケーション実行手段、前記要求手段、および前記識別情報書込手段は、画像形成装置に設けられている、
請求項１ないし請求項６のいずれかに記載のアプリケーションシステム。
【請求項８】
前記ウェブアプリケーション実行手段、前記ウェブ用記憶領域、および前記要求手段は、サーバ装置に設けられており、
前記非ウェブアプリケーション実行手段および前記識別情報書込手段は、画像形成装置に設けられている、
請求項１ないし請求項６のいずれかに記載のアプリケーションシステム。
【請求項９】
ウェブサーバに複数のウェブアプリケーションを実行させるためのウェブブラウザと、
前記ウェブサーバが実行することのできない非ウェブアプリケーションと、
前記ウェブサーバが参照することができる記憶領域であって、前記複数のウェブアプリケーションそれぞれを表わす第一の識別情報を記憶するウェブ用記憶領域へ、前記非ウェブアプリケーションを表わす第二の識別子を記憶させる識別情報書込手段と、
前記非ウェブアプリケーションを実行する非ウェブアプリケーション実行手段と、
を有し、
前記ウェブブラウザは、前記複数のウェブアプリケーションのうちの１つとして前記第一の識別情報および前記第二の識別情報を提示するウェブページをウェブブラウザへ提供するメニューアプリケーションを前記ウェブサーバに実行させ、前記第二の識別情報が選択された場合に当該選択された第二の識別情報を前記ウェブサーバへ通知し、
前記非ウェブアプリケーション実行手段は、前記ウェブサーバからの要求に応じて前記選択された第二の識別情報に対応する前記非ウェブアプリケーションを実行する、
ことを特徴とする画像形成装置。
【請求項１０】
インストール済の複数のウェブアプリケーションを実行するウェブアプリケーション実行手段と、
前記ウェブアプリケーション実行手段が実行することのできないインストール済の非ウェブアプリケーションを実行する画像形成装置に対して、前記非ウェブアプリケーションを起動するように要求する、要求手段と、
前記ウェブアプリケーション実行手段が参照することができる記憶領域であって、前記複数のウェブアプリケーションそれぞれを表わす第一の識別情報および前記非ウェブアプリケーションを表わす第二の識別情報を記憶するウェブ用記憶領域と、
を有し、
前記ウェブアプリケーション実行手段は、前記複数のウェブアプリケーションのうちの１つとして、前記第一の識別情報および前記第二の識別情報を提示するウェブページを前記画像形成装置のウェブブラウザへ提供するメニューアプリケーションを実行し、
前記要求手段は、前記第二の識別情報が選択された場合に、前記非ウェブアプリケーションのうちの当該第二の識別情報に対応する指定非ウェブアプリケーションを起動するように要求する、
ことを特徴とするウェブサーバ。
【請求項１１】
インストール済の複数のウェブアプリケーションを実行するウェブアプリケーション実行手段と、インストール済の、前記ウェブアプリケーション実行手段が実行することのできない非ウェブアプリケーションを実行する非ウェブアプリケーション実行手段と、を有するアプリケーションシステムにおけるアプリケーション起動方法であって、
前記ウェブアプリケーション実行手段が参照することができる記憶領域であって、前記複数のウェブアプリケーションそれぞれを表わす第一の識別情報を記憶するウェブ用記憶領域を用意しておき、
前記非ウェブアプリケーションを表わす第二の識別情報を前記ウェブ用記憶領域に記憶させ、
前記複数のウェブアプリケーションのうちの１つとして、前記第一の識別情報および前記第二の識別情報を提示するウェブページをウェブブラウザへ提供するメニューアプリケーションを前記ウェブアプリケーション実行手段に実行させ、
前記第二の識別情報が選択された場合に、前記非ウェブアプリケーションのうちの当該第二の識別情報に対応する指定非ウェブアプリケーションを起動するように前記非ウェブアプリケーション実行手段へ要求し、
要求に応じて前記指定非ウェブアプリケーションを起動する処理を前記非ウェブアプリケーション実行手段に実行させる、
ことを特徴とするアプリケーション起動方法。
【請求項１２】
複数のウェブアプリケーションを実行するウェブサーバが実行することのできない非ウェブアプリケーションとウェブブラウザとがインストールされている画像形成装置に用いられるコンピュータプログラムであって、
前記画像形成装置に、
前記ウェブサーバが参照することができる記憶領域であって、前記複数のウェブアプリケーションそれぞれを表わす第一の識別情報を記憶するウェブ用記憶領域へ、前記非ウェブアプリケーションを表わす第二の識別子を記憶させる処理を実行させ、
前記複数のウェブアプリケーションのうちの１つであるメニューアプリケーションによって前記第一の識別情報および前記第二の識別情報を提示するウェブページが前記ウェブサーバから前記ウェブブラウザへ提供され、前記ウェブブラウザにおいて前記第二の識別情報が選択された後、当該選択された第二の識別情報が前記ウェブサーバから通知された場合に、当該選択された第二の識別情報に対応する前記非ウェブアプリケーションを起動させる、
ことを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションを起動する技術に関する。
【背景技術】
【０００２】
近年、コピー、スキャン、ファックス、ドキュメント管理など様々な機能が備わった画像形成装置が普及している。このような画像形成装置は、「複合機」または「ＭＦＰ（Multi Function Peripherals）」と呼ばれることもある。
【０００３】
さらに、画像形成装置にウェブブラウザが備えられるようになった。ウェブブラウザでウェブサーバへアクセスし、ウェブアプリケーションをウェブサーバに実行させることによって、様々なサービスを受けることができるようになった（特許文献１）。
【０００４】
また、「ＩＷＳ（Internal Web Server）」というウェブサーバを画像形成装置に設ける技術が、提案されている（非特許文献１）。これにより、画像形成装置の拡張性を従来よりも容易に向上させることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−２９２３号公報
【非特許文献１】「新しい働き方をデザインしたい」，コニカミノルタ株式会社ウェブサイト，http://www.konicaminolta.jp/tech_info/02/，２０１３年１１月１２日検索
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ウェブアプリケーションは、上述の通り、ウェブブラウザを介して起動させることができる。よって、ウェブページの技術（例えば、ＨＴＭＬ（Hypertext Markup Language）またはＪａｖａＳｃｒｉｐｔ（登録商標）など）によってウェブアプリケーションのメニューを容易に提供することができる。以下、このメニューを「ウェブメニュー」と記載する。
【０００７】
しかし、画像形成装置には、既存のシステム上で動作するアプリケーション（いわゆるネイティブアプリケーション）も、備わっている。
【０００８】
ウェブメニューに、選択肢としてウェブアプリケーションおよびネイティブアプリケーションの両方が含まれていれば、ユーザにとって便利である。
【０００９】
しかし、従来の技術では、インストール済のネイティブアプリケーションをウェブメニューから起動することができない。
【００１０】
本発明は、このような問題点に鑑み、既存のシステム上で動作するインストール済のアプリケーションをウェブブラウザから起動することを、目的とする。
【課題を解決するための手段】
【００１１】
本発明の一形態に係るアプリケーションシステムは、インストール済の複数のウェブアプリケーションを実行するウェブアプリケーション実行手段と、前記ウェブアプリケーション実行手段が参照することができる記憶領域であって、前記複数のウェブアプリケーションそれぞれを表わす第一の識別情報を記憶するウェブ用記憶領域と、インストール済の、前記ウェブアプリケーション実行手段が実行することのできない非ウェブアプリケーションを実行する、非ウェブアプリケーション実行手段と、前記非ウェブアプリケーションを表わす第二の識別情報を前記ウェブ用記憶領域に記憶させる識別情報書込手段と、前記非ウェブアプリケーションを起動するように前記非ウェブアプリケーション実行手段へ要求する要求手段と、を有し、前記ウェブアプリケーション実行手段は、前記複数のウェブアプリケーションのうちの１つとして、前記第一の識別情報および前記第二の識別情報を提示するウェブページをウェブブラウザへ提供するメニューアプリケーションを実行し、前記要求手段は、前記ウェブブラウザにおいて前記第二の識別情報が選択された場合に、前記非ウェブアプリケーションのうちの当該第二の識別情報に対応する指定非ウェブアプリケーションを起動するように要求し、前記非ウェブアプリケーション実行手段は、前記要求手段からの要求に応じて前記指定非ウェブアプリケーションを起動する。
【００１２】
好ましくは、前記識別情報書込手段は、前記ウェブアプリケーション実行手段が前記メニューアプリケーションを実行する際に、前記第二の識別情報を前記ウェブ用記憶領域に記憶させる。
【００１３】
または、前記非ウェブアプリケーション実行手段が参照することができる記憶領域であって、前記非ウェブアプリケーションを表わす第三の識別情報を記憶する非ウェブ用記憶領域と、前記第三の識別情報を提示する画面を表示する表示手段と、を有し、前記識別情報書込手段は、前記第三の識別情報が前記非ウェブ用記憶領域に記憶されているが前記第二の識別情報が未だ前記ウェブ用記憶領域に記憶されていない場合に、当該第二の識別情報を前記ウェブ用記憶領域に記憶させる。
【００１４】
または、前記第一の識別情報および前記第二の識別情報は、画像であり、前記識別情報書込手段は、前記第二の識別情報として、前記ウェブサーバが解釈することができる形式の画像を前記ウェブ用記憶領域に記憶させる。
【００１５】
または、前記第一の識別情報が選択された場合に、前記複数のウェブアプリケーションのうちの当該第一の識別情報に対応する指定ウェブアプリケーションを起動するように前記非ウェブアプリケーション実行手段へ要求する第二の要求手段、を有し、前記非ウェブアプリケーション実行手段は、前記指定ウェブアプリケーションを起動するように要求された場合に、前記ウェブブラウザを終了させ、当該指定ウェブアプリケーションのウェブページをスタートページとして当該ウェブブラウザを起動させる、第二の起動手段、を有する。
【００１６】
または、前記非ウェブアプリケーションがアンインストールされた場合に、当該非ウェブアプリケーションの前記第二の識別情報が前記ウェブ用記憶領域から削除される。
【発明の効果】
【００１７】
本発明によると、既存のシステム上で動作するインストール済のアプリケーションをウェブブラウザから起動することができる。
【図面の簡単な説明】
【００１８】
【図１】アプリケーションシステムの全体的な構成の例を示す図である。
【図２】画像形成装置のハードウェア構成の例を示す図である。
【図３】画像形成装置のプラットフォームの例を示す図である。
【図４】メニュー画面の例を示す図である。
【図５】インストーラによって実現される機能的構成の例を示す図である。
【図６】アプリケーション情報テーブルの例を示す図である。
【図７】インストーラによって実現される機能的構成の例を示す図である。
【図８】既存アプリケーション登録部の構成の例を示す図である。
【図９】アプリケーションマネージャおよびメニューマネージャによって実現される機能的構成の例を示す図である。
【図１０】インストーラによる全体的な処理の流れの例を説明するフローチャートである。
【図１１】既存アプリケーション登録部による全体的な処理の流れの例を説明するフローチャートである。
【図１２】アプリケーションマネージャの全体的な処理の流れの例を説明するフローチャートである。
【図１３】メニューマネージャの全体的な処理の流れの例を説明するフローチャートである。
【図１４】メニュー画面の表示中におけるメニューマネージャの処理の流れの例を説明するフローチャートである。
【図１５】アプリケーションシステムのプラットフォームの変形例を示す図である。
【発明を実施するための形態】
【００１９】
図１は、アプリケーションシステム１００の全体的な構成の例を示す図である。図２は、画像形成装置１のハードウェア構成の例を示す図である。図３は、画像形成装置１のプラットフォームの例を示す図である。図４は、メニュー画面５０の例を示す図である。
【００２０】
図１に示すように、アプリケーションシステム１００は、画像形成装置１、サーバ装置２、および通信回線４などによって構成される。
【００２１】
画像形成装置１とサーバ装置２とは、通信回線４を介して通信を行うことができる。通信回線４として、いわゆるＬＡＮ（Local Area Network）回線、インターネット、公衆回線、または専用線などが用いられる。
【００２２】
画像形成装置１は、コピー、ＰＣプリント、ファックス、スキャナ、およびボックスなどの機能を集約した装置である。一般に、「複合機」または「ＭＦＰ（Multi Function Peripherals）」などと呼ばれることがある。
【００２３】
ＰＣプリント機能は、パーソナルコンピュータまたはスマートフォンなどの端末装置から受信した画像データに基づいて画像を用紙に印刷する機能である。「ネットワークプリンティング」または「ネットワークプリント」などと呼ばれることもある。
【００２４】
ボックス機能は、ユーザごとに「ボックス」または「パーソナルボックス」などと呼ばれる記憶領域を与えておき、各ユーザが自分の記憶領域によって画像データなどを保存し管理するための機能である。ボックスは、パーソナルコンピュータにおける「フォルダ」または「ディレクトリ」に相当する。
【００２５】
画像形成装置１は、図２に示すように、ＣＰＵ（Central Processing Unit）１０ａ、ＲＡＭ（Random Access Memory）１０ｂ、ＲＯＭ（Read Only Memory）１０ｃ、大容量記憶装置１０ｄ、タッチパネルディスプレイ１０ｅ、操作キーパネル１０ｆ、ＮＩＣ（Network Interface Card）１０ｇ、モデム１０ｈ、スキャンユニット１０ｉ、およびプリントユニット１０ｊなどによって構成される。
【００２６】
タッチパネルディスプレイ１０ｅは、ユーザに対するメッセージを示す画面、ユーザがコマンドまたは情報を入力するための画面、およびＣＰＵ１０ａが実行した処理の結果を示す画面などを表示する。また、タッチパネルディスプレイ１０ｅは、タッチされた位置を示す信号をＣＰＵ１０ａへ送る。
【００２７】
操作キーパネル１０ｆは、いわゆるハードウェアキーボードであって、テンキー、スタートキー、ストップキー、およびファンクションキーなどによって構成される。
【００２８】
ＮＩＣ１０ｇは、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）などのプロトコルで他の装置との通信を行う。
【００２９】
モデム１０ｈは、ファクシミリ端末との間でＧ３などのプロトコルで画像データをやり取りする。
【００３０】
スキャンユニット１０ｉは、プラテンガラスの上にセットされたシートに記されている画像を読み取って画像データを生成する。
【００３１】
プリントユニット１０ｊは、スキャンユニット１０ｉによって読み取られた画像のほか、ＮＩＣ１０ｇまたはモデム１０ｈによって他の装置から受信した画像を用紙に印刷する。
【００３２】
ＲＯＭ１０ｃまたは大容量記憶装置１０ｄには、画像形成装置１の全体的な管理または基本的な処理を行ったりユーザインタフェースを提供したりするソフトウェアとして、図３に示すオペレーティングシステム（ＯＳ）１ＢＳ１およびＭＦＰシステム３０２が記憶されている。さらに、オペレーティングシステム３０１またはＭＦＰシステム３０２の機能をアプリケーションに提供するために、ネイティブアプリケーショプラットフォーム３０３が用意されている。
【００３３】
さらに、大容量記憶装置１０ｄには、コピーアプリケーション１ＮＰ１、スキャンアプリケーション１ＮＰ２、およびボックスアプリケーション１ＮＰ３のほか、ブラウザアプリケーション１ＮＰ４、およびメニューアプリケーション１ＮＰ５などが記憶されている。コピーアプリケーション１ＮＰ１ないしメニューアプリケーション１ＮＰ５は、ネイティブアプリケーショプラットフォーム３０３を介して動作する。
【００３４】
また、大容量記憶装置１０ｄには、ＩＷＳ（Internal Web Server）用のソフトウェアであるウェブサーバシステム３２１が記憶されている。さらに、掲示板アプリケーション１ＷＰ１および翻訳アプリケーション１ＷＰ２のほか、ウェブメニューアプリケーション１ＷＰ３などが記憶されている。掲示板アプリケーション１ＷＰ１ないしウェブメニューアプリケーション１ＷＰ３は、ウェブサーバシステム３２１を介して動作する。
【００３５】
このように、アプリケーションには、ネイティブアプリケーショプラットフォーム３０３を介して動作するものもあれば、ウェブサーバシステム３２１を介して動作するものもある。以下、両アプリケーションを区別するために、前者を「ネイティブアプリケーション１ＮＰ」と記載し、後者を「ウェブアプリケーション１ＷＰ」と記載する。
【００３６】
コピーアプリケーション１ＮＰ１、スキャンアプリケーション１ＮＰ２、およびボックスアプリケーション１ＮＰ３は、それぞれ、上述のコピー、スキャン、およびボックスの各機能を実現するためのアプリケーションである。ブラウザアプリケーション１ＮＰ４は、ウェブブラウザである。メニューアプリケーション１ＮＰ５は、選択肢としてネイティブアプリケーション１ＮＰを含むメニュー画面を表示し、ユーザが選択したネイティブアプリケーション１ＮＰを起動するアプリケーションである。そのほか、ファックスおよびＰＣプリントなどの機能を実現するためのアプリケーションがネイティブアプリケーション１ＮＰとして大容量記憶装置１０ｄに記憶されている。
【００３７】
掲示板アプリケーション１ＷＰ１は、電子掲示板のアプリケーションである。翻訳アプリケーション１ＷＰ２は、ある言語のテキストを他の言語のテキストに翻訳するアプリケーションである。ウェブメニューアプリケーション１ＷＰ３は、図４のような、選択肢としてウェブアプリケーション１ＷＰを含むメニュー画面５０を表示し、ユーザが選択したウェブアプリケーション１ＷＰを起動するアプリケーションである。さらに、ウェブメニューアプリケーション１ＷＰ３によると、選択肢としてネイティブアプリケーション１ＮＰをメニュー画面５０に含め、ネイティブアプリケーション１ＮＰをユーザが選択した場合にこれを起動することができる。この仕組みについては、後述する。
【００３８】
そのほか、既存アプリケーション登録部３３１などを実現するためのソフトウェアが記憶されている。
【００３９】
これらのソフトウェアを構成するモジュールまたはプログラムファイルは、必要に応じてＲＡＭ１０ｂにロードされ、ＣＰＵ１０ａによって実行される。大容量記憶装置１０ｄとして、ハードディスクドライブまたはＳＳＤ（Solid State Drive）などが用いられる。
【００４０】
オペレーティングシステム３０１、ＭＦＰシステム３０２、およびネイティブアプリケーショプラットフォーム３０３は、一般的な画像形成装置の従来のプラットフォームを構成する要素の一部である。一方、ウェブサーバシステム３２１は、ウェブアプリケーションを実行するために拡張した要素である。
【００４１】
図１に戻って、サーバ装置２は、ＷｅｂＡＰＩ（Application Program Interface）によって画像形成装置１へサービスを提供する。
【００４２】
次に、画像形成装置１に既にインストールされているネイティブアプリケーション１ＮＰＸおよびウェブアプリケーション１ＷＰＸを起動する場合を例に、メニュー画面５０を表示する仕組みおよびメニュー画面５０から各アプリケーションを起動する仕組みを説明する。
【００４３】
〔データの準備〕
ネイティブアプリケーション情報格納領域１７１（図５および図７参照）が、ネイティブアプリケーション１ＮＰ用のハードウェアリソース（特に、大容量記憶装置１０ｄの一部分）に予め設けられている。
【００４４】
さらに、ウェブアプリケーション情報格納領域１７２が、ウェブアプリケーション１ＷＰ用のハードウェアリソース（特に、大容量記憶装置１０ｄの一部分）に予め設けられている。
【００４５】
ネイティブアプリケーション情報格納領域１７１およびウェブアプリケーション情報格納領域１７２ともに、従来の画像形成装置１において設けられるものと同様の役割を有する。
【００４６】
すなわち、ネイティブアプリケーション情報格納領域１７１には、ネイティブアプリケーション１ＮＰに関する情報を示す種々のデータが記憶される。具体的には、ネイティブアプリケーション１ＮＰを表わすイラスト（例えば、アイコン用の画像）の画像ファイル６１Ａ、アプリケーション名を示すテキストファイル６１Ｂ、１つまたは複数のプログラムファイル６１Ｃ、および起動方法（最初に実行すべきプログラムを起動するためのコードおよび必要なパラメータなど）を示す起動属性データ６１Ｄなどが、互いに対応付けられて記憶される。
【００４７】
ウェブアプリケーション情報格納領域１７２には、ウェブアプリケーション１ＷＰに関するデータを示す種々のデータが記憶される。具体的には、ウェブアプリケーション１ＷＰを表わすイラストの画像ファイル６２Ａ、アプリケーション名およびトップページのＵＲＬ（Uniform Resource Locator）などを示すテキストファイル６２Ｂ、ウェブページのウェブページファイル６２Ｃ、および演算用のプログラムファイル６２Ｄなどが、互いに対応付けられて記憶される。
【００４８】
ウェブページファイル６２Ｃは、マークアップ言語（例えば、ＨＴＭＬ（Hypertext Markup Language）またはＸＭＬ（Extensible Markup Language）またはスクリプト言語（例えば、ＰｙｔｈｏｎまたはＪａｖａＳｃｒｉｐｔ）によって記述される。プログラムファイル６２Ｄは、ＣＧＩ（Common Gateway Interface）、例えば、ＰｙｔｈｏｎのＷＳＧＩ（Web Server Gateway Interface）によって記述される。１つのウェブアプリケーション１ＷＰにウェブページファイル６２Ｃまたはプログラムファイル６２Ｄが複数用意されていることもある。また、ウェブページファイル６２Ｃが予め用意されておらず、ウェブブラウザからアクセスがあるごとに新たに生成することも、ある。
【００４９】
さらに、本実施形態においては、ネイティブアプリケーション情報格納領域１７１には、ウェブアプリケーション１ＷＰに関する情報を示す幾つかのデータが記憶される。また、ウェブアプリケーション情報格納領域１７２には、ネイティブアプリケーション１ＮＰに関する情報を示す幾つかのデータが記憶される。
【００５０】
これらのデータは、アプリケーションのインストーラによってネイティブアプリケーション情報格納領域１７１およびウェブアプリケーション情報格納領域１７２に格納される。または、既にインストールされているアプリケーションについては、既存アプリケーション登録部３３１によって格納される。
【００５１】
以下、ネイティブアプリケーション情報格納領域１７１およびウェブアプリケーション情報格納領域１７２にこれらのデータを格納する方法の例を説明する。
【００５２】
〔インストーラによる格納〕
図５は、インストーラ３５１によって実現される機能的構成の例を示す図である。図６は、アプリケーション情報テーブル３４１の例を示す図である。図７は、インストーラ３６１によって実現される機能的構成の例を示す図である。
【００５３】
まずは、インストーラによるデータの格納方法を、ネイティブアプリケーション１ＮＰＸおよびウェブアプリケーション１ＷＰＸを新たにインストールする場合を例に説明する。
【００５４】
ネイティブアプリケーション１ＮＰＸのインストーラ３５１は、図５に示すように、主にデータ領域３５２およびプログラム領域３５３によって構成される。
【００５５】
データ領域３５２には、ネイティブアプリケーション１ＮＰＸの画像ファイル６１Ａ、テキストファイル６１Ｂ、プログラムファイル６１Ｃ、および起動属性データ６１Ｄなどが格納されている。
【００５６】
プログラム領域３５３には、データ変換部１０１、ウェブサーバ用ファイル書込部１０２、ネイティブインタフェース用ファイル書込部１０３、およびネイティブアプリケーションレコード書込部１０４などの機能を実現するためのプログラムが記述されている。
【００５７】
データ変換部１０１は、画像ファイル６１Ａおよびテキストファイル６１Ｂを、ウェブサーバシステム３２１に対応するフォーマット（形式）のファイルに変換する。
【００５８】
例えば、画像ファイル６１Ａのフォーマットがビットマップフォーマットであり、ウェブサーバシステム３２１に対応するフォーマットがＧＩＦ（Graphics Interchange Format）である場合は、画像ファイル６１ＡをＧＩＦのファイルに変換する。また、テキストファイル６１Ｂの文字コードがＪＩＳ（Japanese Industrial Standards）コードであり、ウェブサーバシステム３２１に対応する文字コードがＥＵＣ（Extended Unix Code）である場合は、テキストファイル６１ＢをＥＵＣのファイルに変換する。以下、変換された画像ファイルおよびテキストファイルをそれぞれ「画像ファイル６３Ａ」および「テキストファイル６３Ｂ」と記載する。なお、Unixは登録商標である。
【００５９】
ウェブサーバ用ファイル書込部１０２は、ウェブアプリケーション情報格納領域１７２に、ネイティブアプリケーション１ＮＰＸ用のディレクトリを設ける。そして、画像ファイル６３Ａおよびテキストファイル６３Ｂを、このディレクトリに書き込む。
【００６０】
ネイティブインタフェース用ファイル書込部１０３は、ネイティブアプリケーション情報格納領域１７１にネイティブアプリケーション１ＮＰＸ用のディレクトリを設ける。そして、データ領域３５２の中の画像ファイル６１Ａ、テキストファイル６１Ｂ、プログラムファイル６１Ｃを、このディレクトリに書き込む。
【００６１】
なお、画像ファイル６１Ａおよびテキストファイル６１Ｂは、ネイティブアプリケーション１ＮＰの一覧を示すメニュー画面をメニューアプリケーション１ＮＰ５によって表示する際に用いられる。
【００６２】
ところで、ネイティブアプリケーション情報格納領域１７１には、図６に示すアプリケーション情報テーブル３４１が予め用意されている。
【００６３】
ネイティブアプリケーションレコード書込部１０４は、ネイティブアプリケーション１ＮＰＸのためのレコード８として、識別番号、アプリケーション名、種別、配置順、起動方法、ネイティブ用アイコンファイル名、およびウェブサーバ用アイコンファイル名を示すレコードをアプリケーション情報テーブル３４１に書き込む。これらの情報の意味は、後述する。
【００６４】
ウェブアプリケーション１ＷＰＸのインストーラ３６１は、図７に示すように、主にデータ領域３６２およびプログラム領域３６３によって構成される。
【００６５】
データ領域３６２には、ウェブアプリケーション１ＷＰＸの画像ファイル６２Ａ、テキストファイル６２Ｂ、ウェブページファイル６２Ｃ、およびプログラムファイル６２Ｄなどが格納されている。
【００６６】
プログラム領域３６３には、データ変換部１２１、ウェブサーバ用ファイル書込部１２２、ネイティブインタフェース用ファイル書込部１２３、およびウェブアプリケーションレコード書込部１２４などの機能を実現するためのプログラムが格納されている。
【００６７】
データ変換部１２１は、画像ファイル６２Ａおよびテキストファイル６２Ｂを、ネイティブアプリケーショプラットフォーム３０３に対応するフォーマットのファイルに変換する。変換の方法は、データ変換部１０１（図５参照）による変換の方法と同様である。以下、変換によって得られた画像ファイル６２Ａおよびテキストファイル６２Ｂをそれぞれ「画像ファイル６４Ａ」および「テキストファイル６４Ｂ」と記載する。
【００６８】
ウェブサーバ用ファイル書込部１２２は、ウェブアプリケーション情報格納領域１７２に、ウェブアプリケーション１ＷＰＸ用のディレクトリを設ける。そして、データ領域３６２の中の画像ファイル６２Ａ、テキストファイル６２Ｂ、ウェブページファイル６２Ｃ、およびプログラムファイル６２Ｄを、このディレクトリに書き込む。
【００６９】
ネイティブインタフェース用ファイル書込部１２３は、ネイティブアプリケーション情報格納領域１７１にウェブアプリケーション１ＷＰＸ用のディレクトリを設ける。そして、データ変換部１２１によって得られた画像ファイル６４Ａおよびテキストファイル６４Ｂをこのディレクトリに書き込む。
【００７０】
ウェブアプリケーションレコード書込部１２４は、ウェブアプリケーション１ＷＰＸのためのレコード８を生成しアプリケーション情報テーブル３４１（図６参照）に書き込む。
【００７１】
ここで、アプリケーション情報テーブル３４１に格納される各レコードの情報の意味について説明する。「識別番号」は、アプリケーションを識別するためのＩＤ（identification）である。
【００７２】
「アプリケーション名」は、アプリケーションの名称である。ネイティブアプリケーション１ＮＰの場合は、テキストファイル６１Ｂに示されるアプリケーション名が用いられる。ウェブアプリケーション１ＷＰの場合は、テキストファイル６２Ｂに示されるアプリケーション名が用いられる。
【００７３】
「種別」は、アプリケーションの種類である。ネイティブアプリケーション１ＮＰの場合は「Ｎａｔｉｖｅ」が示され、ウェブアプリケーション１ＷＰの場合は「Ｗｅｂ」が示される。
【００７４】
「配置順」は、メニュー画面５０（図４参照）における、アプリケーションのボタンの配置順である。デフォルトでは画像形成装置１にインストールされた順に配置順が決まるが、ユーザが任意に変更することができる。
【００７５】
「起動方法」は、アプリケーションを起動する方法である。ネイティブアプリケーション１ＮＰの場合は、起動属性データ６１Ｄに示される起動方法が用いられる。ウェブアプリケーション１ＷＰの場合は、起動時に実行するプログラムファイルとしてブラウザアプリケーション１ＮＰ４のメインプログラムを起動するためのコード（コマンドまたはリンク）を示し、スタートページのパラメータとしてトップページのＵＲＬを示す情報が、用いられる。なお、このＵＲＬは、テキストファイル６２Ｂに示されている。
【００７６】
「ネイティブ用アイコンファイル名」は、メニューアプリケーション１ＮＰ５が表示するメニュー画面に用いられるアイコンのファイル名である。ネイティブアプリケーション１ＮＰの場合は画像ファイル６１Ａのファイル名が示され、ウェブアプリケーション１ＷＰの場合は画像ファイル６３Ａのファイル名が示される。
【００７７】
「ウェブサーバ用アイコンファイル名」は、ウェブメニューアプリケーション１ＷＰ３が表示するメニュー画面５０に用いられるアイコンのファイル名である。ネイティブアプリケーション１ＮＰの場合は画像ファイル６４Ａのファイル名が示され、ウェブアプリケーション１ＷＰの場合は画像ファイル６２Ａのファイル名が示される。
【００７８】
なお、画像ファイル６１Ａ、６３Ａは、ネイティブアプリケーション情報格納領域１７１に格納されたものであり、画像ファイル６２Ａ、６３Ａは、ウェブアプリケーション情報格納領域１７２に格納されたものである。ファイル名が重複することがあるので、ネイティブ用アイコンファイル名として、ファイル名だけでなく格納先のディレクトリ名をも示すようにしてもよい。ウェブ用アイコンファイル名も、同様である。
【００７９】
〔既存アプリケーション登録部３３１による格納〕
図８は、既存アプリケーション登録部３３１の構成の例を示す図である。
【００８０】
既存アプリケーション登録部３３１は、図５または図７に示した機能を有しないインストーラによって画像形成装置１に既にインストールされたアプリケーションの画像ファイル、テキストファイル、およびレコード８などをネイティブアプリケーション情報格納領域１７１またはウェブアプリケーション情報格納領域１７２へ格納するための機能を有する。
【００８１】
具体的には、既存アプリケーション登録部３３１は、図８に示す第一のデータ変換部１３１、ネイティブインタフェース用ファイル書込部１３２、ウェブアプリケーションレコード書込部１３３、第二のデータ変換部１３４、ウェブサーバ用ファイル書込部１３５、およびネイティブアプリケーションレコード書込部１３６などによって構成される。
【００８２】
以下、インストール済のコピーアプリケーション１ＮＰ１および掲示板アプリケーション１ＷＰ１の画像ファイル、テキストファイル、およびレコード８などを格納する場合を例に、図８の各部の処理を説明する。
【００８３】
コピーアプリケーション１ＮＰ１は、既に画像形成装置１にインストールされている。したがって、コピーアプリケーション１ＮＰ１の画像ファイル６１Ａ、テキストファイル６１Ｂ、およびプログラムファイル６１Ｃが、既にネイティブアプリケーション情報格納領域１７１の所定のディレクトリに記憶されている。同様の理由で、掲示板アプリケーション１ＷＰ１の画像ファイル６２Ａ、テキストファイル６２Ｂ、ウェブページファイル６２Ｃ、およびプログラムファイル６２Ｄが、ウェブアプリケーション情報格納領域１７２の所定のディレクトリに記憶されている。
【００８４】
第一のデータ変換部１３１は、掲示板アプリケーション１ＷＰ１の画像ファイル６２Ａおよびテキストファイル６２Ｂをウェブアプリケーション情報格納領域１７２から読み出す。そして、ネイティブアプリケーショプラットフォーム３０３に対応するフォーマットのファイルに変換することによって、画像ファイル６４Ａおよびテキストファイル６４Ｂを生成する。変換の方法は、データ変換部１０１（図５参照）による変換の方法と同様である。後述する第二のデータ変換部１３４においても、同様である。
【００８５】
ネイティブインタフェース用ファイル書込部１３２は、ネイティブアプリケーション情報格納領域１７１に、掲示板アプリケーション１ＷＰ１用のディレクトリを設ける。そして、第一のデータ変換部１３１によって得られた画像ファイル６４Ａおよびテキストファイル６４Ｂを、このディレクトリに書き込む。
【００８６】
ウェブアプリケーションレコード書込部１３３は、掲示板アプリケーション１ＷＰ１のレコード８を生成し、アプリケーション情報テーブル３４１（図６参照）に書き込む。レコード８の内容は、前に説明した通りである。
【００８７】
第二のデータ変換部１３４は、コピーアプリケーション１ＮＰ１の画像ファイル６１Ａおよびテキストファイル６１Ｂをネイティブアプリケーション情報格納領域１７１から読み出す。そして、ウェブサーバシステム３２１に対応するフォーマットのファイルに変換することによって、画像ファイル６３Ａおよびテキストファイル６３Ｂを生成する。
【００８８】
ウェブサーバ用ファイル書込部１３５は、ウェブアプリケーション情報格納領域１７２に、コピーアプリケーション１ＮＰ１用のディレクトリを設ける。そして、第二のデータ変換部１３４によって得られた画像ファイル６３Ａおよびテキストファイル６３Ｂを、このディレクトリに書き込む。
【００８９】
ネイティブアプリケーションレコード書込部１３６は、コピーアプリケーション１ＮＰ１のレコード８を生成し、アプリケーション情報テーブル３４１に書き込む。レコード８の内容は、前に説明した通りである。
【００９０】
既存アプリケーション登録部３３１は、インストール済のアプリケーションのうちのレコード８の登録が未だである各アプリケーションについて、上に説明した処理を実行する。
【００９１】
未登録であるか否かは、アプリケーション情報テーブル３４１を参照すれば分かる。または、ネイティブアプリケーション１ＮＰの場合は、そのネイティブアプリケーション１ＮＰの画像ファイル６１Ａがネイティブアプリケーション情報格納領域１７１に記憶されているが、そのネイティブアプリケーション１ＮＰの画像ファイル６３Ａがウェブアプリケーション情報格納領域１７２に未だ記憶されていなければ、未登録であると、判断することができる。ウェブアプリケーション１ＷＰの場合は、そのウェブアプリケーション１ＷＰの画像ファイル６２Ａがウェブアプリケーション情報格納領域１７２に記憶されているが、そのウェブアプリケーション１ＷＰの画像ファイル６４Ａがネイティブアプリケーション情報格納領域１７１に未だ記憶されていなければ、未登録であると、判断することができる。
【００９２】
また、既存アプリケーション登録部３３１による登録のタイミングは、例えば、次の通りである。
【００９３】
画像形成装置１の電源をオンにしたときに、既存アプリケーション登録部３３１による処理を実行すればよい。または、画像形成装置１を初期化したときに、実行してもよい。または、メニュー画面５０を表示する際に、実行してもよい。そのほか、予め設定された任意のタイミングで実行することができる。
【００９４】
〔メニュー画面５０の表示およびアプリケーションの起動〕
図９は、アプリケーションマネージャ３７１およびメニューマネージャ３７２によって実現される機能的構成の例を示す図である。
【００９５】
図３に示したように、ネイティブアプリケーショプラットフォーム３０３には、アプリケーションマネージャ３７１が備わっている。ウェブサーバシステム３２１には、メニューマネージャ３７２が備わっている。
【００９６】
アプリケーションマネージャ３７１の基本的な役割は、従来のアプリケーションマネージャと同様であり、ネイティブアプリケーショプラットフォーム３０３に用意されている機能をネイティブアプリケーション１ＮＰへ仲介することである。アプリケーションマネージャ３７１は、さらに、メニュー画面５０を表示するために必要なデータをメニューマネージャ３７２へ仲介する。また、メニューマネージャ３７２からの要求に基づいてアプリケーションを起動させる。
【００９７】
メニューマネージャ３７２は、オペレーティングシステム３０１に拡張されたプログラムであって、メニュー画面５０を表示するための処理およびメニュー画面５０からアプリケーションを起動するための処理をサポートする。
【００９８】
このように、アプリケーションマネージャ３７１およびメニューマネージャ３７２は、メニュー画面５０の表示のサポートおよびメニュー画面５０からのアプリケーションの起動のサポートを連携して行う。
【００９９】
アプリケーションマネージャ３７１は、メニューマネージャ３７２と連携するための機能として、図９に示すメニュー用データ付与部１４１、ネイティブアプリケーション起動部１４２、およびウェブアプリケーション起動部１４３を備える。
【０１００】
メニューマネージャ３７２は、アプリケーションマネージャ３７１と連携するための機能として、メニュー用データ要求部１５１、素材ファイル取得部１５２、メニュースクリプト生成部１５３、起動情報記憶部１５４、ネイティブアプリケーション起動要求部１５５、およびウェブアプリケーション起動要求部１５６を備える。
【０１０１】
なお、アプリケーションマネージャ３７１の各部とメニューマネージャ３７２の各部とは、ＭＦＰシステム３０２（図３参照）を介してデータのやり取りを行う。
【０１０２】
以下、アプリケーションマネージャ３７１およびメニューマネージャ３７２の各部の処理を、メニュー画面５０の表示のための処理、ネイティブアプリケーション１ＮＰの起動のための処理、およびウェブアプリケーション１ＷＰの起動のための処理に大別して説明する。
【０１０３】
〔メニュー画面５０の表示のための処理〕
ブラウザアプリケーション１ＮＰ４は、ウェブメニューアプリケーション１ＷＰ３のＵＲＬが指定されると、ウェブメニューアプリケーション１ＷＰ３へアクセスする。
【０１０４】
すると、ウェブメニューアプリケーション１ＷＰ３は、トップページのウェブページファイル６２Ｃをメニューマネージャ３７２に対して要求する。
【０１０５】
メニューマネージャ３７２において、メニュー用データ要求部１５１は、アプリケーション情報テーブル３４１（図６参照）をアプリケーションマネージャ３７１に対して要求する。
【０１０６】
アプリケーションマネージャ３７１において、メニュー用データ付与部１４１は、ネイティブアプリケーション情報格納領域１７１からアプリケーション情報テーブル３４１を読み出し、メニュー用データ要求部１５１へ与える。
【０１０７】
メニューマネージャ３７２において、素材ファイル取得部１５２は、アプリケーション情報テーブル３４１に示されるアプリケーションごとの画像ファイル６２Ａまたは画像ファイル６３Ａを、アプリケーション情報テーブル３４１に示されるウェブサーバ用アイコンファイル名に基づいてウェブアプリケーション情報格納領域１７２から取得する。具体的には、ネイティブアプリケーション１ＮＰごとの画像ファイル６３Ａを取得し、ウェブアプリケーション１ＷＰごとの画像ファイル６２Ａを取得する。さらに、画像ファイル６２Ａと同じディレクトリに記憶されているテキストファイル６２Ｂと、画像ファイル６３Ａと同じディレクトリに記憶されているテキストファイル６３Ｂとを取得する。
【０１０８】
メニュースクリプト生成部１５３は、取得された画像ファイル６２Ａ、６３Ａおよびテキストファイル６２Ｂ、６３Ｂ、とアプリケーション情報テーブル３４１に示される配置順とに基づいて、ウェブメニューアプリケーション１ＷＰ３のトップページのウェブページファイル６２Ｃとしてメニュー画面５０を表示するためのメニュースクリプト６５を生成する。図４に示したように、メニュー画面５０には、アプリケーションごとのアイコン５０１が配置されている。アイコン５０１のイラストの部分は、画像ファイル６２Ａ、６３Ａに基づいている。アイコン５０１のテキスト（アプリケーション名）の部分は、テキストファイル６２Ｂ、６３Ｂに基づいている。アイコン５０１の配置は、アプリケーション情報テーブル３４１に示される配置順に基づいている。
【０１０９】
そして、メニュースクリプト生成部１５３は、メニュースクリプト６５をウェブメニューアプリケーション１ＷＰ３に与える。
【０１１０】
ウェブメニューアプリケーション１ＷＰ３は、要求されたウェブページファイル６２Ｃとしてメニュースクリプト６５をブラウザアプリケーション１ＮＰ４へ与える。
【０１１１】
そして、ブラウザアプリケーション１ＮＰ４は、メニュースクリプト６５に基づいてメニュー画面５０をタッチパネルディスプレイ１０ｅに表示させる。なお、アイコン５０１の個数が所定の数を超える場合は、所定の個数ずつ複数のページに分けて表示する。または、スクロールさせながら一部分ずつ表示する。
【０１１２】
起動情報記憶部１５４は、アプリケーション情報テーブル３４１を記憶する。アプリケーション情報テーブル３４１は、アプリケーションの起動の要求のために用いられる。起動情報記憶部１５４を、ウェブアプリケーション情報格納領域１７２に設けてもよい。
【０１１３】
〔ネイティブアプリケーション１ＮＰの起動のための処理〕
ユーザは、メニュー画面５０が表示されると、起動したいアプリケーションのアイコン５０１をタッチして選択する。
【０１１４】
すると、ブラウザアプリケーション１ＮＰ４は、アイコン５０１に対応するアプリケーションをウェブメニューアプリケーション１ＷＰ３へ通知する。
【０１１５】
アイコン５０１がネイティブアプリケーション１ＮＰのものである場合は、ネイティブアプリケーション起動要求部１５５およびネイティブアプリケーション起動部１４２によって、このネイティブアプリケーション１ＮＰの起動のための処理が行われる。
【０１１６】
以下、コピーアプリケーション１ＮＰ１のアイコン５０１が選択された場合を例に各部の処理を説明する。
【０１１７】
ウェブメニューアプリケーション１ＷＰ３は、アイコン５０１に対応するアプリケーションつまりコピーアプリケーション１ＮＰ１を起動するようにメニューマネージャ３７２に要求する。
【０１１８】
すると、ネイティブアプリケーション起動要求部１５５は、起動情報記憶部１５４に記憶されているアプリケーション情報テーブル３４１の中から、コピーアプリケーション１ＮＰ１に対応するレコード８つまりレコード８０２を読み出す。そして、レコード８０２に示される起動方法をアプリケーションマネージャ３７１へ通知することによって、コピーアプリケーション１ＮＰ１の起動を要求する。この際に、起動方法を示すデータを、必要に応じて、アプリケーションマネージャ３７１が解釈することができる形式に変換して、アプリケーションマネージャ３７１へ与える。
【０１１９】
アプリケーションマネージャ３７１において、ネイティブアプリケーション起動部１４２は、起動方法を通知されると、この起動方法の通りにコピーアプリケーション１ＮＰ１を起動させる。これ以降の起動の仕組みは、従来と同様である。
【０１２０】
すると、コピーアプリケーション１ＮＰ１が起動し、コピーアプリケーション１ＮＰ１の画面がタッチパネルディスプレイ１０ｅに表示される。
【０１２１】
〔ウェブアプリケーション１ＷＰの起動のための処理〕
ユーザが選択したアイコン５０１がウェブアプリケーション１ＷＰのものである場合は、ウェブアプリケーション起動要求部１５６およびウェブアプリケーション起動部１４３によって、このウェブアプリケーション１ＷＰの起動のための処理が行われる。以下、掲示板アプリケーション１ＷＰ１のアイコン５０１が選択された場合を例に説明する。
【０１２２】
ウェブメニューアプリケーション１ＷＰ３は、ネイティブアプリケーション１ＮＰの場合と同様、アイコン５０１に対応するアプリケーションつまり掲示板アプリケーション１ＷＰ１を起動するようにメニューマネージャ３７２に要求する。
【０１２３】
すると、ウェブアプリケーション起動要求部１５６は、起動情報記憶部１５４に記憶されているアプリケーション情報テーブル３４１の中から、掲示板アプリケーション１ＷＰ１に対応するレコード８つまりレコード８０７を読み出す。そして、レコード８０７に示される起動方法をアプリケーションマネージャ３７１へ通知することによって、掲示板アプリケーション１ＷＰ１の起動を要求する。
【０１２４】
アプリケーションマネージャ３７１において、ネイティブアプリケーション起動部１４２は、起動方法を通知されると、この起動方法の通りに掲示板アプリケーション１ＷＰ１を起動させる。
【０１２５】
ところで、通知された起動方法には、起動するプログラムとして掲示板アプリケーション１ＷＰ１が記述されておらず、ブラウザアプリケーション１ＮＰ４のメインプログラムを起動するためのコードが記述されている。このようなコードが記述されている場合は、ネイティブアプリケーション起動部１４２は、次のように掲示板アプリケーション１ＷＰ１を起動させる。
【０１２６】
ネイティブアプリケーション起動部１４２は、現在動作しているブラウザアプリケーション１ＮＰ４を終了させる。そして、ブラウザアプリケーション１ＮＰ４を再び起動させる。この際に、起動方法に記述されるＵＲＬのページをスタートページとして起動させる。本例の場合は、掲示板アプリケーション１ＷＰ１のトップページのＵＲＬが記述されている。したがって、ブラウザアプリケーション１ＮＰ４は、起動後、最初に、このＵＲＬに基づいてウェブサーバシステム３２１へアクセスして掲示板アプリケーション１ＷＰ１のトップページのデータを取得し、トップページをタッチパネルディスプレイ１０ｅに表示させる。
【０１２７】
図１０は、インストーラ３５１、３６１による全体的な処理の流れの例を説明するフローチャートである。図１１は、既存アプリケーション登録部３３１による全体的な処理の流れの例を説明するフローチャートである。図１２は、アプリケーションマネージャ３７１の全体的な処理の流れの例を説明するフローチャートである。図１３は、メニューマネージャ３７２の全体的な処理の流れの例を説明するフローチャートである。
【０１２８】
次に、インストーラ３５１、３６１、既存アプリケーション登録部３３１、アプリケーションマネージャ３７１、およびメニューマネージャ３７２による全体的な処理の流れを、図１０〜図１３のフローチャートを参照しながら説明する。
【０１２９】
画像形成装置１は、インストーラ３５１を実行することによって、図１０（Ａ）に示す手順で新たなネイティブアプリケーション１ＮＰをインストールする。
【０１３０】
画像形成装置１は、このネイティブアプリケーション１ＮＰの種々のファイル（画像ファイル６１Ａ、テキストファイル６１Ｂ、プログラムファイル６１Ｃなど）をネイティブアプリケーション情報格納領域１７１に格納する（＃７０１）。
【０１３１】
さらに、画像形成装置１は、メニュー画面５０の表示およびアプリケーションの起動の準備のために、次の処理を行う。画像ファイル６１Ａおよびテキストファイル６１Ｂをそれぞれ画像ファイル６３Ａおよびテキストファイル６３Ｂに変換し（＃７０２）、ウェブアプリケーション情報格納領域１７２に格納する（＃７０３）。そして、このネイティブアプリケーション１ＮＰに関する情報を示すレコード８を生成しアプリケーション情報テーブル３４１に格納する（＃７０４）。
【０１３２】
画像形成装置１は、インストーラ３６１を実行することによって、図１０（Ｂ）に示す手順で新たなウェブアプリケーション１ＷＰをインストールする。
【０１３３】
画像形成装置１は、このインストーラ３６１の種々のファイル（画像ファイル６２Ａ、テキストファイル６２Ｂ、ウェブページファイル６２Ｃ、プログラムファイル６２Ｄなど）をウェブアプリケーション情報格納領域１７２に格納する（＃７１１）。
【０１３４】
さらに、画像形成装置１は、アプリケーションの起動の準備のために次の処理を行う。画像ファイル６２Ａおよびテキストファイル６２Ｂをそれぞれ画像ファイル６４Ａおよびテキストファイル６４Ｂに変換し（＃７１２）、ネイティブアプリケーション情報格納領域１７１に格納する（＃７１３）。そして、このウェブアプリケーション１ＷＰに関する情報を示すレコード８を生成しアプリケーション情報テーブル３４１に格納する（＃７１４）。
【０１３５】
画像形成装置１は、既存アプリケーション登録部３３１によって、図１１に示す手順で既存のアプリケーションのレコード８などの登録の処理を行う。
【０１３６】
画像形成装置１は、レコード８が未だアプリケーション情報テーブル３４１に登録されていないアプリケーションのうちの、１つ目のアプリケーションに注目する。
【０１３７】
注目したアプリケーション（以下、「注目アプリケーション」と記載する。）がウェブアプリケーション１ＷＰである場合は（図１１のステップ＃７２１でＹｅｓ）、画像形成装置１は、注目アプリケーションの画像ファイル６２Ａおよびテキストファイル６２Ｂをそれぞれ、ネイティブアプリケーショプラットフォーム３０３で解釈可能なフォーマットに変換することによって、画像ファイル６４Ａおよびテキストファイル６４Ｂを生成する（＃７２２）。注目アプリケーション用のディレクトリをネイティブアプリケーション情報格納領域１７１に生成し、画像ファイル６４Ａおよびテキストファイル６４Ｂを格納する（＃７２３）。そして、注目アプリケーションのレコード８を生成しアプリケーション情報テーブル３４１に格納する（＃７２４）。
【０１３８】
一方、注目アプリケーションがネイティブアプリケーション１ＮＰである場合は（＃７２１でＮｏ）、画像形成装置１は、注目アプリケーションの画像ファイル６１Ａおよびテキストファイル６１Ｂをそれぞれ、ウェブサーバシステム３２１で解釈可能なフォーマットに変換することによって、画像ファイル６３Ａおよびテキストファイル６３Ｂを生成する（＃７２５）。注目アプリケーション用のディレクトリをウェブアプリケーション情報格納領域１７２に生成し、画像ファイル６３Ａおよびテキストファイル６３Ｂを格納する（＃７２６）。そして、注目アプリケーションのレコード８を生成しアプリケーション情報テーブル３４１に格納する（＃７２７）。
【０１３９】
未登録のアプリケーションが残っている場合は（＃７２８でＹｅｓ）、画像形成装置１は、それぞれを順に注目し、ステップ＃７２１〜＃７２７の処理を適宜、実行する。
【０１４０】
画像形成装置１は、アプリケーションマネージャ３７１およびメニューマネージャ３７２を実行することによって、選択肢としてウェブアプリケーション１ＷＰだけでなくネイティブアプリケーション１ＮＰをメニュー画面５０に配置し、メニュー画面５０から両種のアプリケーションを起動することができる。
【０１４１】
画像形成装置１は、アプリケーションマネージャ３７１に基づいて、図１２に示す手順で処理を行う。
【０１４２】
メニューマネージャ３７２からアプリケーション情報テーブル３４１を要求された場合は（図１２の＃７３１でＹｅｓ）、ネイティブアプリケーション情報格納領域１７１からアプリケーション情報テーブル３４１を読み出してメニューマネージャ３７２に与える（＃７３２）。
【０１４３】
メニューマネージャ３７２から起動方法を通知された場合は（＃７３３でＹｅｓ）、画像形成装置１は、この起動方法に従って次のようにアプリケーションを起動する。
【０１４４】
起動方法がウェブアプリケーション１ＷＰに関するものである場合は（＃７３４でＹｅｓ）、画像形成装置１は、ブラウザアプリケーション１ＮＰ４を終了させる（＃７３５）。そして、この通知方法に示されるＵＲＬのウェブページ（通常は、このウェブアプリケーション１ＷＰのトップページ）をスタートページとして、再度、ブラウザアプリケーション１ＮＰ４を起動する（＃７３６）。
【０１４５】
一方、起動方法がネイティブアプリケーション１ＮＰに関するものである場合は（＃７３４でＮｏ）、この起動方法に従って、このネイティブアプリケーション１ＮＰを起動する（＃７３７）。
【０１４６】
また、画像形成装置１は、メニューマネージャ３７２に基づいて、図１３に示す手順で処理を行う。
【０１４７】
ウェブメニューアプリケーション１ＷＰ３からトップページのファイルを要求された場合は（図１３の＃７４１でＹｅｓ）、画像形成装置１は、アプリケーションマネージャ３７１にアプリケーション情報テーブル３４１を要求し、取得する（＃７４２）。さらに、ウェブアプリケーション情報格納領域１７２から、各ウェブアプリケーション１ＷＰの画像ファイル６２Ａおよびテキストファイル６２Ｂと、各ネイティブアプリケーション１ＮＰの画像ファイル６３Ａおよびテキストファイル６３Ｂとを、取得する（＃７４３）。そして、取得したこれらのデータに基づいてメニュースクリプト６５を生成し、ウェブメニューアプリケーション１ＷＰ３に与える（＃７４４）。
【０１４８】
ウェブメニューアプリケーション１ＷＰ３からアプリケーションの起動を要求された場合は（＃７４５でＹｅｓ）、このアプリケーションの起動方法をアプリケーションマネージャ３７１へ通知することによって、このアプリケーションの起動を要求する（＃７４６）。
【０１４９】
本実施形態によると、既にインストールされているネイティブアプリケーション１ＮＰをウェブメニューアプリケーション１ＷＰ３から起動することができる。
【０１５０】
図１４は、メニュー画面５０の表示中におけるメニューマネージャ３７２の処理の流れの例を説明するフローチャートである。図１５は、アプリケーションシステム１００のプラットフォームの変形例を示す図である。
【０１５１】
本実施形態では、既存アプリケーション登録部３３１およびアプリケーションマネージャ３７１を別々のソフトウェアによって実現したが、これらを１つのソフトウェアまたはプログラムによって実現してもよい。この場合は、このソフトウェアまたはプログラムによると、画像形成装置１は、既存のアプリケーションのレコード８などの登録の際は、図１１に示した手順で処理を実行し、メニュー画面５０の表示またはアプリケーションの起動の際は、図１２に示した手順で処理を実行する。
【０１５２】
本実施形態では、メニューマネージャ３７２は、ウェブメニューアプリケーション１ＷＰ３からの要求があったタイミングで、つまり、ブラウザアプリケーション１ＮＰ４がメニュー画面５０を表示する際に、アプリケーション情報テーブル３４１を取得した。これ以外のタイミングで取得してもよい。例えば、画像形成装置１の電源がオンになったタイミングで取得してもよい。または、メニュー画面５０がアクティブウィンドウになったタイミングで取得してもよい。または、スリープモードを解除したタイミングで取得してもよい。または、スクリーンセーバの動作を解除したタイミングで取得してもよい。または、ネイティブアプリケーション１ＮＰが新たにインストールされ、このネイティブアプリケーション１ＮＰのレコード８が追加されたタイミングで取得してもよい。または、レコード８が追加されるごとに、アプリケーションマネージャ３７１がこのレコード８をメニューマネージャ３７２へ与えるようにしてもよい。
【０１５３】
アプリケーション（ネイティブアプリケーション１ＮＰまたはウェブアプリケーション１ＷＰ）がアンインストールされた場合は、このアプリケーションのレコード８をアプリケーション情報テーブル３４１から削除するのが望ましい。この際に、残りのレコード８に示される配置順を適宜、繰り上げるのが望ましい。ブラウザアプリケーション１ＮＰ４がメニュー画面５０を表示しているときにアプリケーションがアンインストールされた場合は、メニューマネージャ３７２は、メニュースクリプト６５を生成し直し、ウェブメニューアプリケーション１ＷＰ３はこれをブラウザアプリケーション１ＮＰ４へ提供し直すのが、望ましい。そして、ブラウザアプリケーション１ＮＰ４は、新たなメニュースクリプト６５に基づいてメニュー画面５０を表示し直す。
【０１５４】
ネイティブアプリケーション１ＮＰがアンインストールされた場合は、さらに、ウェブアプリケーション情報格納領域１７２から、このネイティブアプリケーション１ＮＰの画像ファイル６３Ａおよびテキストファイル６３Ｂを削除する。ウェブアプリケーション１ＷＰがアンインストールされた場合は、さらに、ネイティブアプリケーション情報格納領域１７１から、このウェブアプリケーション１ＷＰの画像ファイル６４Ａおよびテキストファイル６４Ｂを削除する。
【０１５５】
または、ブラウザアプリケーション１ＮＰ４によるメニュー画面５０の表示中、メニューマネージャ３７２は、図１４のように、アプリケーションのインストールおよびアンインストールを監視しメニュースクリプト６５を生成し直してもよい。
【０１５６】
メニューマネージャ３７２は、定期的に、例えば、所定の時間が経過するごとに（図１４の＃７５１でＹｅｓ）、アプリケーション情報テーブル３４１へのレコード８の追加または削除をアプリケーションマネージャ３７１に対して問い合わせる（＃７５２）。
【０１５７】
新たにインストールされたアプリケーションまたはアンインストールされたアプリケーションがある場合は、レコード８の追加または削除がある。この場合は（＃７５３でＹｅｓ）、メニューマネージャ３７２は、最新のアプリケーション情報テーブル３４１を取得する（＃７５４）。そして、メニュースクリプト６５を生成し直し、ウェブメニューアプリケーション１ＷＰ３に与える（＃７５５）。なお、配置順に変更があった場合も、これらの処理を行ってもよい。
【０１５８】
メニュースクリプト６５は、ウェブメニューアプリケーション１ＷＰ３からブラウザアプリケーション１ＮＰ４へ与えられ、これに基づいてメニュー画面５０が表示し直される。以上の処理により、画像形成装置１にインストールされている最新の状況に応じたメニュー画面５０が表示し直される。
【０１５９】
ウェブメニューアプリケーション１ＷＰ３が終了するまで、ステップ＃７５１〜＃７５６の処理が適宜実行される。
【０１６０】
本実施形態では、メニューマネージャ３７２は、アプリケーション情報テーブル３４１に示される起動方法をアプリケーションマネージャ３７１へ通知したが、識別番号を通知してもよい。この場合は、アプリケーションマネージャ３７１は、通知された識別番号に対応する通知方法を、ネイティブアプリケーション情報格納領域１７１に記憶されているアプリケーション情報テーブル３４１から検索する。そして、検索した通知方法に基づいてアプリケーションの起動の処理を行う。
【０１６１】
メニューマネージャ３７２は、メニュースクリプト６５を生成するに際して新たに取得したアプリケーション情報テーブル３４１と、過去に取得したアプリケーション情報テーブル３４１との内容が一致する場合は、過去に取得したアプリケーション情報テーブル３４１に基づいて生成したメニュースクリプト６５を使い回してもよい。一致しない場合は、新たに取得したアプリケーション情報テーブル３４１に基づいてメニュースクリプト６５を生成すればよい。
【０１６２】
本実施形態では、図３に示したように、ウェブサーバシステム３２１としてＩＷＳのシステムを用いた。つまり、ウェブブラウザとウェブサーバとを１台の画像形成装置１に設けた。ウェブサーバを他の装置に設けた場合にも、本発明を適用することができる。以下、この場合の例を説明する。
【０１６３】
図１５に示すように、メニューマネージャ３７２をサーバ装置２に設ける。なお、ウェブサーバのリソース（例えば、ウェブアプリケーション情報格納領域１７２）も、サーバ装置２に設ける。
【０１６４】
メニューマネージャ３７２をはじめ各部が行う処理は、基本的に、ＩＷＳの場合と同様である。ただし、サーバ装置２は、複数台の画像形成装置１と連携することがある。そこで、サーバ装置は、画像形成装置１ごとにウェブアプリケーション情報格納領域１７２を用意し、使い分ける。また、画像形成装置１ごとに通信セッションを確立し、データのやり取りを画像形成装置１ごとに独立して行う。
【０１６５】
サーバ装置２のウェブサーバのシステムにおいてＷｅｂＡＰＩの代わりにＯｐｅｎＡＰＩが用いられている場合にも本発明を適用することができる。
【０１６６】
その他、アプリケーションシステム１００、画像形成装置１、サーバ装置２の全体または各部の構成、処理内容、処理順序、データの構成などは、本発明の趣旨に沿って適宜変更することができる。
【符号の説明】
【０１６７】
１００  アプリケーションシステム
１  画像形成装置
１０２  ウェブサーバ用ファイル書込部
１０３  ネイティブインタフェース用ファイル書込部
１０４  ネイティブアプリケーションレコード書込部
１５５  ネイティブアプリケーション起動要求部
１５６  ウェブアプリケーション起動要求部
１７２  ウェブアプリケーション情報格納領域
３０３  ネイティブアプリケーショプラットフォーム
３２１  ウェブサーバシステム
３７２  メニューマネージャ
１ＮＰ  ネイティブアプリケーション
１ＮＰ５  メニューアプリケーション
１ＷＰ  ウェブアプリケーション
１ＷＰ３  ウェブメニューアプリケーション
２  サーバ装置
６３Ａ  画像ファイル
【図１】
2015106195.tif 000003
【図２】
2015106195.tif 000004
【図３】
2015106195.tif 000005
【図４】
2015106195.tif 000006
【図５】
2015106195.tif 000007
【図６】
2015106195.tif 000008
【図７】
2015106195.tif 000009
【図８】
2015106195.tif 000010
【図９】
2015106195.tif 000011
【図１０】
2015106195.tif 000012
【図１１】
2015106195.tif 000013
【図１２】
2015106195.tif 000014
【図１３】
2015106195.tif 000015
【図１４】
2015106195.tif 000016
【図１５】
2015106195.tif 000017