(58)【調査した分野】(Int.Cl.,DB名)
前記ウェブアプリケーション実行手段、前記ウェブサーバ用記憶領域、前記非ウェブアプリケーション実行手段、前記第一の要求手段、および前記識別情報書込手段は、画像形成装置に設けられている、
請求項1ないし請求項4のいずれかに記載のアプリケーションシステム。
前記ウェブアプリケーション実行手段、前記ウェブサーバ用記憶領域、前記非ウェブアプリケーション実行手段、前記第一の要求手段、前記識別情報書込手段、前記コード付与手段、および前記第二の要求手段は、画像形成装置に設けられている、
請求項2または請求項3に記載のアプリケーションシステム。
複数のウェブアプリケーションを実行するウェブアプリケーション実行手段と、前記ウェブアプリケーション実行手段が実行することのできない非ウェブアプリケーションを実行する非ウェブアプリケーション実行手段と、を有するアプリケーションシステムにおけるアプリケーション起動方法であって、
前記ウェブアプリケーション実行手段が参照することができる記憶領域であって、前記複数のウェブアプリケーションそれぞれを表わす第一の識別情報を記憶するウェブサーバ用記憶領域を用意しておき、
前記非ウェブアプリケーションがインストールされる際に、当該非ウェブアプリケーションを表わす第二の識別情報を前記ウェブサーバ用記憶領域に記憶させ、
前記複数のウェブアプリケーションのうちの1つとして、前記第一の識別情報および前記第二の識別情報を提示するウェブページをウェブブラウザへ提供するメニューアプリケーションを前記ウェブアプリケーション実行手段に実行させ、
前記第二の識別情報が選択された場合に、前記非ウェブアプリケーションのうちの当該第二の識別情報に対応する指定非ウェブアプリケーションを起動するように前記非ウェブアプリケーション実行手段に対して第一の要求を行い、
前記第一の識別情報が選択された場合に、前記複数のウェブアプリケーションのうちの当該第一の識別情報に対応する指定ウェブアプリケーションを起動するように前記非ウェブアプリケーション実行手段に対して第二の要求を行い、
前記第一の要求に応じて前記指定非ウェブアプリケーションを起動させる第一の起動処理を前記非ウェブアプリケーション実行手段に実行させ、
前記指定ウェブアプリケーションを起動するように前記第二の要求が行われた場合に、前記ウェブブラウザを終了させ、当該指定ウェブアプリケーションのウェブページをスタートページとして当該ウェブブラウザを起動させる第二の起動処理を前記非ウェブアプリケーション実行手段に実行させる、
ことを特徴とするアプリケーション起動方法。
【発明を実施するための形態】
【0017】
図1は、アプリケーションシステム100の全体的な構成の例を示す図である。
図2は、画像形成装置1のハードウェア構成の例を示す図である。
図3は、画像形成装置1のプラットフォームの例を示す図である。
図4は、メニュー画面50の例を示す図である。
【0018】
図1に示すように、アプリケーションシステム100は、画像形成装置1、サーバ装置2SA、2SB、および通信回線4などによって構成される。
【0019】
画像形成装置1とサーバ装置2SA、2SBとは、通信回線4を介して通信を行うことができる。通信回線4として、いわゆるLAN(Local Area Network)回線、インターネット、公衆回線、または専用線などが用いられる。
【0020】
画像形成装置1は、コピー、PCプリント、ファックス、スキャナ、およびボックスなどの機能を集約した装置である。一般に、「複合機」または「MFP(Multi Function Peripherals)」などと呼ばれることがある。
【0021】
PCプリント機能は、パーソナルコンピュータまたはスマートフォンなどの端末装置から受信した画像データに基づいて画像を用紙に印刷する機能である。「ネットワークプリンティング」または「ネットワークプリント」などと呼ばれることもある。
【0022】
ボックス機能は、ユーザごとに「ボックス」または「パーソナルボックス」などと呼ばれる記憶領域を与えておき、各ユーザが自分の記憶領域によって画像データなどを保存し管理するための機能である。ボックスは、パーソナルコンピュータにおける「フォルダ」または「ディレクトリ」に相当する。
【0023】
画像形成装置1は、
図2に示すように、CPU(Central Processing Unit)10a、RAM(Random Access Memory)10b、ROM(Read Only Memory)10c、大容量記憶装置10d、タッチパネルディスプレイ10e、操作キーパネル10f、NIC(Network Interface Card)10g、モデム10h、スキャンユニット10i、およびプリントユニット10jなどによって構成される。
【0024】
タッチパネルディスプレイ10eは、ユーザに対するメッセージを示す画面、ユーザがコマンドまたは情報を入力するための画面、およびCPU10aが実行した処理の結果を示す画面などを表示する。また、タッチパネルディスプレイ10eは、タッチされた位置を示す信号をCPU10aへ送る。
【0025】
操作キーパネル10fは、いわゆるハードウェアキーボードであって、テンキー、スタートキー、ストップキー、およびファンクションキーなどによって構成される。
【0026】
NIC10gは、TCP/IP(Transmission Control Protocol/Internet Protocol)などのプロトコルで他の装置との通信を行う。
【0027】
モデム10hは、ファクシミリ端末との間でG3などのプロトコルで画像データをやり取りする。
【0028】
スキャンユニット10iは、プラテンガラスの上にセットされたシートに記されている画像を読み取って画像データを生成する。
【0029】
プリントユニット10jは、スキャンユニット10iによって読み取られた画像のほか、NIC10gまたはモデム10hによって他の装置から受信した画像を用紙に印刷する。
【0030】
ROM10cまたは大容量記憶装置10dには、画像形成装置1の全体的な管理または基本的な処理を行ったりユーザインタフェースを提供したりするソフトウェアとして、
図3に示すオペレーティングシステム(OS)1BS1およびMFPシステム302が記憶されている。さらに、オペレーティングシステム301またはMFPシステム302の機能をアプリケーションに提供するために、ネイティブアプリケーショプラットフォーム303が用意されている。
【0031】
さらに、大容量記憶装置10dには、コピーアプリケーション1NP1、スキャンアプリケーション1NP2、およびボックスアプリケーション1NP3のほか、ブラウザアプリケーション1NP4、およびメニューアプリケーション1NP5などが記憶されている。コピーアプリケーション1NP1ないしメニューアプリケーション1NP5は、ネイティブアプリケーショプラットフォーム303を介して動作する。
【0032】
また、大容量記憶装置10dには、IWS(Internal Web Server)用のソフトウェアであるウェブサーバシステム321が記憶されている。さらに、掲示板アプリケーション1WP1および翻訳アプリケーション1WP2のほか、ウェブメニューアプリケーション1WP3などが記憶されている。掲示板アプリケーション1WP1ないしウェブメニューアプリケーション1WP3は、ウェブサーバシステム321を介して動作する。
【0033】
このように、アプリケーションには、ネイティブアプリケーショプラットフォーム303を介して動作するものもあれば、ウェブサーバシステム321を介して動作するものもある。以下、両アプリケーションを区別するために、前者を「ネイティブアプリケーション1NP」と記載し、後者を「ウェブアプリケーション1WP」と記載する。
【0034】
コピーアプリケーション1NP1、スキャンアプリケーション1NP2、およびボックスアプリケーション1NP3は、それぞれ、上述のコピー、スキャン、およびボックスの各機能を実現するためのアプリケーションである。ブラウザアプリケーション1NP4は、ウェブブラウザである。メニューアプリケーション1NP5は、選択肢としてネイティブアプリケーション1NPを含むメニュー画面を表示し、ユーザが選択したネイティブアプリケーション1NPを起動するアプリケーションである。そのほか、ファックスおよびPCプリントなどの機能を実現するためのアプリケーションがネイティブアプリケーション1NPとして大容量記憶装置10dに記憶されている。
【0035】
掲示板アプリケーション1WP1は、電子掲示板のアプリケーションである。翻訳アプリケーション1WP2は、ある言語のテキストを他の言語のテキストに翻訳するアプリケーションである。ウェブメニューアプリケーション1WP3は、
図4のような、選択肢としてウェブアプリケーション1WPを含むメニュー画面50を表示し、ユーザが選択したウェブアプリケーション1WPを起動するアプリケーションである。さらに、ウェブメニューアプリケーション1WP3によると、選択肢としてネイティブアプリケーション1NPをメニュー画面50に含め、ネイティブアプリケーション1NPをユーザが選択した場合にこれを起動することができる。この仕組みについては、後述する。
【0036】
これらのソフトウェアを構成するモジュールまたはプログラムファイルは、必要に応じてRAM10bにロードされ、CPU10aによって実行される。大容量記憶装置10dとして、ハードディスクドライブまたはSSD(Solid State Drive)などが用いられる。
【0037】
オペレーティングシステム301、MFPシステム302、およびネイティブアプリケーショプラットフォーム303は、一般的な画像形成装置の従来のプラットフォームの要素の一部である。一方、ウェブサーバシステム321は、ウェブアプリケーションを実行するために拡張した要素である。
【0038】
図1に戻って、サーバ装置2SAは、OpenAPI(Application Program Interface)によって画像形成装置1へサービスを提供する。通信プロトコルとしてSOAP(Simple Object Access Protocol)が用いられる。サーバ装置2SBは、WebAPIによって画像形成装置1へサービスを提供する。
【0039】
次に、画像形成装置1に新たにネイティブアプリケーション1NPXおよびウェブアプリケーション1WPXをインストールし起動する場合を例に、メニュー画面50を表示する仕組みおよびメニュー画面50から各アプリケーションを起動する仕組みを説明する。
【0040】
〔データの準備〕
図5は、インストーラ351によって実現される機能的構成の例を示す図である。
図6は、インストーラ361によって実現される機能的構成の例を示す図である。
図7は、アプリケーション情報テーブル341の例を示す図である。
【0041】
ネイティブアプリケーション情報格納領域141(
図5および
図6参照)が、ネイティブアプリケーション1NP用のハードウェアリソース(特に、大容量記憶装置10dの一部分)に予め設けられている。
【0042】
さらに、ウェブアプリケーション情報格納領域142が、ウェブアプリケーション1WP用のハードウェアリソース(特に、大容量記憶装置10dの一部分)に予め設けられている。
【0043】
ネイティブアプリケーション情報格納領域141およびウェブアプリケーション情報格納領域142ともに、従来の画像形成装置1において設けられるものと同様の役割を有する。
【0044】
すなわち、ネイティブアプリケーション情報格納領域141には、ネイティブアプリケーション1NPに関する情報を示す種々のデータが記憶される。具体的には、ネイティブアプリケーション1NPのアイコンの画像ファイル61A、アプリケーション名を示すテキストファイル61B、1つまたは複数のプログラムファイル61C、および起動方法(最初に実行すべきプログラムを起動するためのコードおよび必要なパラメータなど)を示す起動属性データ61Dなどが、互いに対応付けられて記憶される。
【0045】
ウェブアプリケーション情報格納領域142には、ウェブアプリケーション1WPに関するデータを示す種々のデータが記憶される。具体的には、ウェブアプリケーション1WPのアイコンの画像ファイル62A、アプリケーション名およびトップページのURL(Uniform Resource Locator)などを示すテキストファイル62B、ウェブページのウェブページファイル62C、および演算用のプログラムファイル62Dなどが、互いに対応付けられて記憶される。
【0046】
ウェブページファイル62Cは、マークアップ言語(例えば、HTML(Hypertext Markup Language)またはXML(Extensible Markup Language)またはスクリプト言語(例えば、PythonまたはJavaScript)によって記述される。プログラムファイル62Dは、CGI(Common Gateway Interface)、例えば、PythonのWSGI(Web Server Gateway Interface)によって記述される。1つのウェブアプリケーション1WPにウェブページファイル62Cまたはプログラムファイル62Dが複数用意されていることもある。また、ウェブページファイル62Cが予め用意されておらず、ウェブブラウザからアクセスがあるごとに新たに生成することも、ある。
【0047】
さらに、本実施形態においては、ネイティブアプリケーション情報格納領域141には、ウェブアプリケーション1WPに関する情報を示す幾つかのデータが記憶される。また、ウェブアプリケーション情報格納領域142には、ネイティブアプリケーション1NPに関する情報を示す幾つかのデータが記憶される。
【0048】
これらのデータは、各アプリケーションのインストーラによってネイティブアプリケーション情報格納領域141およびウェブアプリケーション情報格納領域142に格納される。以下、ネイティブアプリケーション情報格納領域141およびウェブアプリケーション情報格納領域142にこれらのデータを格納する方法の例を説明する。
【0049】
ネイティブアプリケーション1NPXのインストーラ351は、
図5に示すように、主にデータ領域352およびプログラム領域353によって構成される。
【0050】
データ領域352には、ネイティブアプリケーション1NPXの画像ファイル61A、テキストファイル61B、プログラムファイル61C、および起動属性データ61Dなどが格納されている。
【0051】
プログラム領域353には、データ変換部101、ウェブサーバ用ファイル書込部102、ネイティブインタフェース用ファイル書込部103、およびネイティブインタフェース用レコード書込部104などの機能を実現するためのプログラムが記述されている。
【0052】
データ変換部101は、画像ファイル61Aおよびテキストファイル61Bを、ウェブサーバシステム321に対応するフォーマット(形式)のファイルに変換する。
【0053】
例えば、画像ファイル61Aのフォーマットがビットマップフォーマットであり、ウェブサーバシステム321に対応するフォーマットがGIF(Graphics Interchange Format)である場合は、画像ファイル61AをGIFのファイルに変換する。また、テキストファイル61Bの文字コードがJIS(Japanese Industrial Standards)コードであり、ウェブサーバシステム321に対応する文字コードがEUC(Extended Unix Code)である場合は、テキストファイル61BをEUCのファイルに変換する。以下、変換された画像ファイルおよびテキストファイルをそれぞれ「画像ファイル63A」および「テキストファイル63B」と記載する。なお、Unixは登録商標である。
【0054】
ウェブサーバ用ファイル書込部102は、ウェブアプリケーション情報格納領域142に、ネイティブアプリケーション1NPX用のディレクトリを設ける。そして、画像ファイル63Aおよびテキストファイル63Bを、このディレクトリに書き込む。
【0055】
ネイティブインタフェース用ファイル書込部103は、ネイティブアプリケーション情報格納領域141にネイティブアプリケーション1NPX用のディレクトリを設ける。そして、データ領域352の中の画像ファイル61A、テキストファイル61B、プログラムファイル61Cを、このディレクトリに書き込む。
【0056】
ところで、ネイティブアプリケーション情報格納領域141には、
図7に示すアプリケーション情報テーブル341が予め用意されている。
【0057】
ネイティブインタフェース用レコード書込部104は、ネイティブアプリケーション1NPXのためのレコード8として、識別番号、アプリケーション名、種別、配置順、起動方法、ネイティブ用アイコンファイル名、およびウェブサーバ用アイコンファイル名を示すレコードをアプリケーション情報テーブル341に書き込む。これらの情報の意味は、後述する。
【0058】
ウェブアプリケーション1WPXのインストーラ361は、
図6に示すように、主にデータ領域362およびプログラム領域363によって構成される。
【0059】
データ領域362には、ウェブアプリケーション1WPXの画像ファイル62A、テキストファイル62B、ウェブページファイル62C、およびプログラムファイル62Dなどが格納されている。
【0060】
プログラム領域363には、データ変換部121、ウェブサーバ用ファイル書込部122、ネイティブインタフェース用ファイル書込部123、およびネイティブインタフェース用レコード書込部124などの機能を実現するためのプログラムが格納されている。
【0061】
データ変換部121は、画像ファイル62Aおよびテキストファイル62Bを、ネイティブアプリケーショプラットフォーム303に対応するフォーマットのファイルに変換する。変換の方法は、データ変換部101(
図5参照)による変換の方法と同様である。以下、変換によって得られた画像ファイル62Aおよびテキストファイル62Bをそれぞれ「画像ファイル64A」および「テキストファイル64B」と記載する。
【0062】
ウェブサーバ用ファイル書込部122は、ウェブアプリケーション情報格納領域142に、ウェブアプリケーション1WPX用のディレクトリを設ける。そして、データ領域362の中の画像ファイル62A、テキストファイル62B、ウェブページファイル62C、およびプログラムファイル62Dを、このディレクトリに書き込む。
【0063】
ネイティブインタフェース用ファイル書込部123は、ネイティブアプリケーション情報格納領域141にウェブアプリケーション1WPX用のディレクトリを設ける。そして、データ変換部121によって得られた画像ファイル64Aおよびテキストファイル64Bをこのディレクトリに書き込む。
【0064】
ネイティブインタフェース用レコード書込部124は、ウェブアプリケーション1WPXのためのレコード8を生成しアプリケーション情報テーブル341(
図7参照)に書き込む。
【0065】
ここで、アプリケーション情報テーブル341に格納される各レコードの情報の意味について説明する。「識別番号」は、アプリケーションを識別するためのID(identification)である。
【0066】
「アプリケーション名」は、アプリケーションの名称である。ネイティブアプリケーション1NPの場合は、テキストファイル61Bに示されるアプリケーション名が用いられる。ウェブアプリケーション1WPの場合は、テキストファイル62Bに示されるアプリケーション名が用いられる。
【0067】
「種別」は、アプリケーションの種類である。ネイティブアプリケーション1NPの場合は「Native」が示され、ウェブアプリケーション1WPの場合は「Web」が示される。
【0068】
「配置順」は、メニュー画面50(
図4参照)における、アプリケーションのボタンの配置順である。デフォルトでは画像形成装置1にインストールされた順に配置順が決まるが、ユーザが任意に変更することができる。
【0069】
「起動方法」は、アプリケーションを起動する方法である。ネイティブアプリケーション1NPの場合は、起動属性データ61Dに示される起動方法が用いられる。ウェブアプリケーション1WPの場合は、起動時に実行するプログラムファイルとしてブラウザアプリケーション1NP4のメインプログラムを起動するためのコード(コマンドまたはリンク)を示し、スタートページのパラメータとしてトップページのURLを示す情報が、用いられる。なお、このURLは、テキストファイル62Bに示されている。
【0070】
「ネイティブ用アイコンファイル名」は、メニューアプリケーション1NP5が表示するメニュー画面に用いられるアイコンのファイル名である。ネイティブアプリケーション1NPの場合は画像ファイル61Aのファイル名が示され、ウェブアプリケーション1WPの場合は画像ファイル63Aのファイル名が示される。
【0071】
「ウェブサーバ用アイコンファイル名」は、ウェブメニューアプリケーション1WP3が表示するメニュー画面50に用いられるアイコンのファイル名である。ネイティブアプリケーション1NPの場合は画像ファイル64Aのファイル名が示され、ウェブアプリケーション1WPの場合は画像ファイル62Aのファイル名が示される。
【0072】
なお、画像ファイル61A、63Aは、ネイティブアプリケーション情報格納領域141に格納されたものであり、画像ファイル62A、63Aは、ウェブアプリケーション情報格納領域142に格納されたものである。ファイル名が重複することがあるので、ネイティブ用アイコンファイル名として、ファイル名だけでなく格納先のディレクトリ名をも示すようにしてもよい。ウェブ用アイコンファイル名も、同様である。
【0073】
〔メニュー画面50の表示およびアプリケーションの起動〕
図8は、アプリケーションマネージャ371およびメニューマネージャ372によって実現される機能的構成の例を示す図である。
【0074】
図3に示すように、ネイティブアプリケーショプラットフォーム303には、アプリケーションマネージャ371が備わっている。ウェブサーバシステム321には、メニューマネージャ372が備わっている。
【0075】
アプリケーションマネージャ371の基本的な役割は、従来のアプリケーションマネージャと同様であり、ネイティブアプリケーショプラットフォーム303に用意されている機能をネイティブアプリケーション1NPへ仲介することである。アプリケーションマネージャ371は、さらに、メニュー画面50を表示するために必要なデータをメニューマネージャ372へ仲介する。また、メニューマネージャ372からの要求に基づいてアプリケーションを起動させる。
【0076】
メニューマネージャ372は、オペレーティングシステム301に拡張されたプログラムであって、メニュー画面50を表示するための処理およびメニュー画面50からアプリケーションを起動するための処理をサポートする。
【0077】
このように、アプリケーションマネージャ371およびメニューマネージャ372は、メニュー画面50の表示のサポートおよびメニュー画面50からのアプリケーションの起動のサポートを連携して行う。
【0078】
アプリケーションマネージャ371は、メニューマネージャ372と連携するための機能として、
図8に示すメニュー用データ付与部131、ネイティブアプリケーション起動部132、およびウェブアプリケーション起動部133を備える。
【0079】
メニューマネージャ372は、アプリケーションマネージャ371と連携するための機能として、メニュー用データ要求部151、素材ファイル取得部152、メニュースクリプト生成部153、起動情報記憶部154、ネイティブアプリケーション起動要求部155、およびウェブアプリケーション起動要求部156を備える。
【0080】
なお、アプリケーションマネージャ371の各部とメニューマネージャ372の各部とは、MFPシステム302(
図3参照)を介してデータのやり取りを行う。
【0081】
以下、アプリケーションマネージャ371およびメニューマネージャ372の各部の処理を、メニュー画面50の表示のための処理、ネイティブアプリケーション1NPの起動のための処理、およびウェブアプリケーション1WPの起動のための処理に大別して説明する。
【0082】
〔メニュー画面50の表示のための処理〕
ブラウザアプリケーション1NP4は、ウェブメニューアプリケーション1WP3のURLが指定されると、ウェブメニューアプリケーション1WP3へアクセスする。
【0083】
すると、ウェブメニューアプリケーション1WP3は、トップページのウェブページファイル62Cをメニューマネージャ372に対して要求する。
【0084】
メニューマネージャ372において、メニュー用データ要求部151は、アプリケーション情報テーブル341(
図7参照)をアプリケーションマネージャ371に対して要求する。
【0085】
アプリケーションマネージャ371において、メニュー用データ付与部131は、ネイティブアプリケーション情報格納領域141からアプリケーション情報テーブル341を読み出し、メニュー用データ要求部151へ与える。
【0086】
メニューマネージャ372において、素材ファイル取得部152は、アプリケーション情報テーブル341に示されるアプリケーションごとの画像ファイル62Aまたは画像ファイル63Aを、アプリケーション情報テーブル341に示されるウェブサーバ用アイコンファイル名に基づいてウェブアプリケーション情報格納領域142から取得する。具体的には、ネイティブアプリケーション1NPごとの画像ファイル63Aを取得し、ウェブアプリケーション1WPごとの画像ファイル62Aを取得する。さらに、画像ファイル62Aと同じディレクトリに記憶されているテキストファイル62Bと、画像ファイル63Aと同じディレクトリに記憶されているテキストファイル63Bとを取得する。
【0087】
メニュースクリプト生成部153は、取得された画像ファイル62A、63Aおよびテキストファイル62B、63B、とアプリケーション情報テーブル341に示される配置順とに基づいて、ウェブメニューアプリケーション1WP3のトップページのウェブページファイル62Cとしてメニュー画面50を表示するためのメニュースクリプト65を生成する。
図4に示すように、メニュー画面50には、アプリケーションごとのアイコン501が配置されている。アイコン501のイラストの部分は、画像ファイル62A、63Aに基づいている。アイコン501のテキスト(アプリケーション名)の部分は、テキストファイル62B、63Bに基づいている。アイコン501の配置は、アプリケーション情報テーブル341に示される配置順に基づいている。
【0088】
そして、メニュースクリプト生成部153は、メニュースクリプト65をウェブメニューアプリケーション1WP3に与える。
【0089】
ウェブメニューアプリケーション1WP3は、要求されたウェブページファイル62Cとしてメニュースクリプト65をブラウザアプリケーション1NP4へ与える。
【0090】
そして、ブラウザアプリケーション1NP4は、メニュースクリプト65に基づいてメニュー画面50をタッチパネルディスプレイ10eに表示させる。なお、アイコン501の個数が所定の数を超える場合は、所定の個数ずつ複数のページに分けて表示する。または、スクロールさせながら一部分ずつ表示する。
【0091】
起動情報記憶部154は、アプリケーション情報テーブル341を記憶する。アプリケーション情報テーブル341は、アプリケーションの起動の要求のために用いられる。起動情報記憶部154を、ウェブアプリケーション情報格納領域142に設けてもよい。
【0092】
〔ネイティブアプリケーション1NPの起動のための処理〕
ユーザは、メニュー画面50が表示されると、起動したいアプリケーションのアイコン501をタッチして選択する。
【0093】
すると、ブラウザアプリケーション1NP4は、アイコン501に対応するアプリケーションをウェブメニューアプリケーション1WP3へ通知する。
【0094】
アイコン501がネイティブアプリケーション1NPのものである場合は、ネイティブアプリケーション起動要求部155およびネイティブアプリケーション起動部132によって、このネイティブアプリケーション1NPの起動のための処理が行われる。以下、ネイティブアプリケーション1NPXのアイコン501が選択され、ネイティブアプリケーション1NPXのアプリケーション名が「E−FAX」である場合を例に説明する。
【0095】
ウェブメニューアプリケーション1WP3は、アイコン501に対応するアプリケーションつまりネイティブアプリケーション1NPXを起動するようにメニューマネージャ372に要求する。
【0096】
すると、ネイティブアプリケーション起動要求部155は、起動情報記憶部154に記憶されているアプリケーション情報テーブル341の中から、ネイティブアプリケーション1NPXに対応するレコード8つまりレコード809を読み出す。そして、レコード809に示される起動方法をアプリケーションマネージャ371へ通知することによって、ネイティブアプリケーション1NPXの起動を要求する。この際に、起動方法を示すデータを、必要に応じて、アプリケーションマネージャ371が解釈することができる形式に変換して、アプリケーションマネージャ371へ与える。
【0097】
アプリケーションマネージャ371において、ネイティブアプリケーション起動部132は、起動方法を通知されると、この起動方法の通りにネイティブアプリケーション1NPXを起動させる。これ以降の起動の仕組みは、従来と同様である。
【0098】
すると、ネイティブアプリケーション1NPXが起動し、ネイティブアプリケーション1NPXつまりE−FAXの画面がタッチパネルディスプレイ10eに表示される。
【0099】
〔ウェブアプリケーション1WPの起動のための処理〕
ユーザが選択したアイコン501がウェブアプリケーション1WPのものである場合は、ウェブアプリケーション起動要求部156およびウェブアプリケーション起動部133によって、このウェブアプリケーション1WPの起動のための処理が行われる。以下、ウェブアプリケーション1WPXのアイコン501が選択され、ウェブアプリケーション1WPXのアプリケーション名が「WebMail」である場合を例に説明する。
【0100】
ウェブメニューアプリケーション1WP3は、ネイティブアプリケーション1NPXの場合と同様、アイコン501に対応するアプリケーションつまりウェブアプリケーション1WPXを起動するようにメニューマネージャ372に要求する。
【0101】
すると、ウェブアプリケーション起動要求部156は、起動情報記憶部154に記憶されているアプリケーション情報テーブル341の中から、ウェブアプリケーション1WPXに対応するレコード8つまりレコード810を読み出す。そして、レコード810に示される起動方法をアプリケーションマネージャ371へ通知することによって、ウェブアプリケーション1WPXの起動を要求する。
【0102】
アプリケーションマネージャ371において、ネイティブアプリケーション起動部132は、起動方法を通知されると、この起動方法の通りにウェブアプリケーション1WPXを起動させる。
【0103】
ところで、通知された起動方法には、起動するプログラムとしてウェブアプリケーション1WPXが記述されておらず、ブラウザアプリケーション1NP4のメインプログラムを起動するためのコードが記述されている。このようなコードが記述されている場合は、ネイティブアプリケーション起動部132は、次のようにウェブアプリケーション1WPXを起動させる。
【0104】
ネイティブアプリケーション起動部132は、現在動作しているブラウザアプリケーション1NP4を終了させる。そして、ブラウザアプリケーション1NP4を再び起動させる。この際に、起動方法に記述されるURLのページをスタートページとして起動させる。本例の場合は、ウェブアプリケーション1WPXのトップページのURLが記述されている。したがって、ブラウザアプリケーション1NP4は、起動後、最初に、このURLに基づいてウェブサーバシステム321へアクセスしてウェブアプリケーション1WPX(WebMail)のトップページのデータを取得し、トップページをタッチパネルディスプレイ10eに表示させる。
【0105】
図9は、インストーラ351、361による全体的な処理の流れの例を説明するフローチャートである。
図10は、アプリケーションマネージャ371の全体的な処理の流れの例を説明するフローチャートである。
図11は、メニューマネージャ372の全体的な処理の流れの例を説明するフローチャートである。
【0106】
次に、インストーラ351、361、アプリケーションマネージャ371、およびメニューマネージャ372による全体的な処理の流れを、
図9〜
図11のフローチャートを参照しながら説明する。
【0107】
画像形成装置1は、インストーラ351を実行することによって、
図9(A)に示す手順でネイティブアプリケーション1NPをインストールする。
【0108】
画像形成装置1は、このネイティブアプリケーション1NPの種々のファイル(画像ファイル61A、テキストファイル61B、プログラムファイル61Cなど)をネイティブアプリケーション情報格納領域141に格納する(#701)。
【0109】
さらに、画像形成装置1は、メニュー画面50の表示およびアプリケーションの起動の準備のために、次の処理を行う。画像ファイル61Aおよびテキストファイル61Bをそれぞれ画像ファイル63Aおよびテキストファイル63Bに変換し(#702)、ウェブアプリケーション情報格納領域142に格納する(#703)。そして、このネイティブアプリケーション1NPに関する情報を示すレコード8を生成しアプリケーション情報テーブル341に格納する(#704)。
【0110】
画像形成装置1は、インストーラ361を実行することによって、
図9(B)に示す手順でウェブアプリケーション1WPをインストールする。
【0111】
画像形成装置1は、このインストーラ361の種々のファイル(画像ファイル62A、テキストファイル62B、ウェブページファイル62C、プログラムファイル62Dなど)をウェブアプリケーション情報格納領域142に格納する(#711)。
【0112】
さらに、画像形成装置1は、アプリケーションの起動の準備のために次の処理を行う。画像ファイル62Aおよびテキストファイル62Bをそれぞれ画像ファイル64Aおよびテキストファイル64Bに変換し(#712)、ネイティブアプリケーション情報格納領域141に格納する(#713)。そして、このウェブアプリケーション1WPに関する情報を示すレコード8を生成しアプリケーション情報テーブル341に格納する(#714)。
【0113】
画像形成装置1は、アプリケーションマネージャ371およびメニューマネージャ372を実行することによって、選択肢としてウェブアプリケーション1WPだけでなくネイティブアプリケーション1NPをメニュー画面50に配置し、メニュー画面50から両種のアプリケーションを起動することができる。
【0114】
画像形成装置1は、アプリケーションマネージャ371に基づいて、
図10に示す手順で処理を行う。
【0115】
メニューマネージャ372からアプリケーション情報テーブル341を要求された場合は(
図10の#721でYes)、ネイティブアプリケーション情報格納領域141からアプリケーション情報テーブル341を読み出してメニューマネージャ372に与える(#722)。
【0116】
メニューマネージャ372から起動方法を通知された場合は(#723でYes)、画像形成装置1は、この起動方法に従って次のようにアプリケーションを起動する。
【0117】
起動方法がウェブアプリケーション1WPに関するものである場合は(#724でYes)、画像形成装置1は、ブラウザアプリケーション1NP4を終了させる(#725)。そして、この通知方法に示されるURLのウェブページ(通常は、このウェブアプリケーション1WPのトップページ)をスタートページとして、再度、ブラウザアプリケーション1NP4を起動する(#726)。
【0118】
一方、起動方法がネイティブアプリケーション1NPに関するものである場合は(#724でNo)、この起動方法に従って、このネイティブアプリケーション1NPを起動する(#727)。
【0119】
また、画像形成装置1は、メニューマネージャ372に基づいて、
図11に示す手順で処理を行う。
【0120】
ウェブメニューアプリケーション1WP3からトップページのファイルを要求された場合は(
図11の#731でYes)、画像形成装置1は、アプリケーションマネージャ371にアプリケーション情報テーブル341を要求し、取得する(#732)。さらに、ウェブアプリケーション情報格納領域142から、各ウェブアプリケーション1WPの画像ファイル62Aおよびテキストファイル62Bと、各ネイティブアプリケーション1NPの画像ファイル63Aおよびテキストファイル63Bとを、取得する(#733)。そして、取得したこれらのデータに基づいてメニュースクリプト65を生成し、ウェブメニューアプリケーション1WP3に与える(#734)。
【0121】
ウェブメニューアプリケーション1WP3からアプリケーションの起動を要求された場合は(#735でYes)、このアプリケーションの起動方法をアプリケーションマネージャ371へ通知することによって、このアプリケーションの起動を要求する(#736)。
【0122】
本実施形態によると、ネイティブアプリケーション1NPをウェブメニューアプリケーション1WP3から起動することができる。
【0123】
本実施形態では、メニューマネージャ372は、ウェブメニューアプリケーション1WP3からの要求があったタイミングで、つまり、ブラウザアプリケーション1NP4がメニュー画面50を表示する際に、アプリケーション情報テーブル341を取得した。これ以外のタイミングで取得してもよい。例えば、画像形成装置1の電源がオンになったタイミングで取得してもよい。または、スリープモードを解除したタイミングで取得してもよい。または、スクリーンセーバの動作を解除したタイミングで取得してもよい。または、ネイティブアプリケーション1NPが新たにインストールされ、このネイティブアプリケーション1NPのレコード8が追加されたタイミングで取得してもよい。または、レコード8が追加されるごとに、アプリケーションマネージャ371がメニューマネージャ372へ与えるようにしてもよい。
【0124】
アプリケーション(ネイティブアプリケーション1NPまたはウェブアプリケーション1WP)がアンインストールされた場合は、このアプリケーションのレコード8をアプリケーション情報テーブル341から削除するのが望ましい。この際に、残りのレコード8に示される配置順を適宜、繰り上げるのが望ましい。また、ブラウザアプリケーション1NP4がメニュー画面50を表示しているときにアプリケーションがアンインストールされた場合は、メニューマネージャ372は、メニュースクリプト65を生成し直し、ウェブメニューアプリケーション1WP3はこれをブラウザアプリケーション1NP4へ提供し直すのが、望ましい。そして、ブラウザアプリケーション1NP4は、新たなメニュースクリプト65に基づいてメニュー画面50を表示し直す。
【0125】
本実施形態では、メニューマネージャ372は、アプリケーション情報テーブル341に示される起動方法をアプリケーションマネージャ371へ通知したが、識別番号を通知してもよい。この場合は、アプリケーションマネージャ371は、通知された識別番号に対応する通知方法を、ネイティブアプリケーション情報格納領域141に記憶されているアプリケーション情報テーブル341から検索する。そして、検索した通知方法に基づいてアプリケーションの起動の処理を行う。
【0126】
メニューマネージャ372は、メニュースクリプト65を生成するに際して新たに取得したアプリケーション情報テーブル341と、過去に取得したアプリケーション情報テーブル341との内容が一致する場合は、過去に取得したアプリケーション情報テーブル341に基づいて生成したメニュースクリプト65を使い回してもよい。一致しない場合に、新たに取得したアプリケーション情報テーブル341に基づいてメニュースクリプト65を生成すればよい。
【0127】
図12および
図13は、アプリケーションシステム100のプラットフォームの変形例を示す図である。
【0128】
本実施形態では、
図3に示したように、ウェブサーバシステム321としてIWSのシステムを用いた。つまり、ウェブブラウザとウェブサーバとを1台の画像形成装置1に設けた。ウェブサーバを他の装置に設けた場合にも、本発明を適用することができる。以下、この場合の実施例を説明する。
【0129】
サーバ装置2SA、つまり、OpenAPIのウェブサーバを用いる場合は、
図12に示すように、メニューマネージャ372をサーバ装置2SAに設ける。なお、ウェブサーバのリソース(例えば、ウェブアプリケーション情報格納領域142)も、サーバ装置2SAに設ける。
【0130】
一方、サーバ装置2SB、つまり、WebAPIのウェブサーバを用いる場合は、
図13に示すように、メニューマネージャ372を画像形成装置1に設ける。ウェブサーバのリソース(例えば、ウェブアプリケーション情報格納領域142)は、サーバ装置2SBに設ける。
【0131】
メニューマネージャ372をはじめ各部が行う処理は、基本的に、IWSの場合と同様である。ただし、サーバ装置2SA、2SBは、複数台の画像形成装置1と連携することがある。そこで、サーバ装置2SA、2SBは、画像形成装置1ごとにウェブアプリケーション情報格納領域142を用意し、使い分ける。また、画像形成装置1ごとに通信セッションを確立し、データのやり取りを画像形成装置1ごとに独立して行う。
【0132】
その他、アプリケーションシステム100、画像形成装置1、サーバ装置2SA、2SBの全体または各部の構成、処理内容、処理順序、データの構成などは、本発明の趣旨に沿って適宜変更することができる。