図1は、本発明の実施例に該当する融合機101を表す。図1の融合機101は、種々のハードウェア111と、種々のソフトウェア112と等より構成される。
融合機101のハードウェア111としては、撮像部121と、印刷部122と、その他のハードウェア123が存在する。撮像部121は、読取原稿から画像(画像データ)を読み取るためのハードウェアである。印刷部122は、画像(画像データ)を印刷用紙に印刷するためのハードウェアである。
ソフトウェア112としては、標準アプリ141、Webイメージモニタ(WIM)184、CSDKアプリ146、JSDKアプリ147、JSDKプラットフォーム148、SDKアプリケーションサービス(SAS)183、仮想アプリケーションサービス(VAS)135、コントロールサービス151、及びOS(Operating System)136等が存在する。
標準アプリ141は、融合機101に標準的に(出荷時に予め)実装されている各種アプリケーションの集合であり、例えば、コピー機能、プリンタ機能、スキャナ機能、及びファクシミリ機能等、融合機101の基本的な機能を実現するためのアプリケーションによって構成される。
WIM184は、機器制御用のWebサービスとして機能するソフトウェアである。
融合機101は、専用のSDK(ソフトウェア開発キット)を使用して開発されたアプリケーケーションを実行させることができる。SDKを使用して開発したアプリケーションをSDKアプリと呼ぶ。専用のSDKとしては、C言語でアプリケーションを開発するための「CSDK」や、Java(登録商標)言語でアプリケーションを開発するための「JSDK」が提供される。CSDKを使用して開発したアプリケーションを「CSDKアプリ」と呼び、JSDKを使用して開発したアプリケーションを「JSDKアプリ」と呼ぶ。図1の融合機101にも、CSDKアプリ146と、JSDKアプリ147が存在する。図1の融合機101にはさらに、Java(登録商標)言語で記述されたJSDKアプリ147の実行環境を実現するソフトウェアとしてJSDKプラットフォーム148が存在する。
SAS183は、CSDKアプリ146の起動制御,起動解除制御,インストール制御,アンインストール制御,アップデート制御等を行うソフトウェアである。すなわち、従来、Windows(登録商標)アプリケーション等においては、インストーラは、各アプリケーションに付随したものであった。しかし、融合機101では、各アプリケーションのインストール及びアンインストール等は、SAS183によって統合的に行われる。アプリケーションのインストール及びアンインストール等がSAS183によって統合されていることにより、ユーザは、アプリケーションごとに異なるインストール作業を要求されることはなく、インストール作業に対する作業負担が軽減される。
融合機101には、JSDKプラットフォーム148の一部として、他のJSDKアプリ147の起動制御,起動解除制御,インストール制御,アンインストール制御,アップデート制御等を行うSAS Manager(SDKアプリケーションサービスマネージャ)1481が実装されている。CSDKアプリ146の方はプロセスとして実行されてJSDKアプリ147の方はスレッドとして実行されるので、CSDKアプリ146用のアプリケーション管理機構とJSDKアプリ147用のアプリケーション管理機構が別個に存在するのである。SAS Manager1481も、SAS183と同様に、各アプリケーションのインストール及びアンインストール等を統合的に行う。
なお、SAS183は、CSDKアプリ146の制御を行う事ができるだけではなく、SAS Manager1481を介してJSDKアプリ147の制御を行う事もできる。SAS183は、CSDKアプリ146については直接的にその制御を行う事ができると共に、JSDKアプリ147についてはSAS Manager1481を介して間接的にその制御を行う事ができるのである。このように、CSDKアプリ146用のアプリケーション管理機構とJSDKアプリ147用のアプリケーション管理機構は、SAS Manager1481を制御できる機能をSAS183に具備させると言う形で統合的に構成されている。融合機101のソフトウェアの根幹部分はC言語によるので、SDKアプリを制御する機能を同じくC言語によるSAS183に集中しておくのが好適なのである。したがって、以下の説明においては、便宜上、SAS Manager1481が行うJSDKアプリ147の制御に関しても、SAS183が行うものとして説明する。
コントロールサービス151は、各種のハードウェアリソース等を制御するためのサービスを上位アプリケーション等に対して提供するソフトウェアモジュール群であり、例えば、ネットワーク通信に関するサービスを提供するためのプロセスとして起動されるネットワークコントロールサービス(NCS)161等を含む。
VAS135は、上位JSDKアプリ147とコントロールサービス151との仲介を行う。VAS135は、アプリケーション131をクライアントとするサーバプロセスとして動作すると共に、コントロールサービス151をサーバとするクライアントプロセスとして動作する。VAS135は、コントロールサービス151を隠蔽するラッピング機能を備え、コントロールサービス151のバージョンアップに伴うバージョン差を吸収する役割等を担う。
OS136は、UNIX(登録商標)等のいわゆるOSであり、上記各種ソフトウェアをプロセス単位で並列的に起動する。
図2は、図1の融合機101に係るハードウェア構成図である。融合機101のハードウェア111としては、コントローラ201と、オペレーションパネル202と、ファクシミリコントロールユニット(FCU)203と、撮像部121と、印刷部122が存在する。
コントローラ201は、CPU211、ASIC212、NB221、SB222、MEM−P231、MEM−C232、HDD(ハードディスクドライブ)233、メモリカードスロット234、NIC(ネットワークインタフェースコントローラ)241、USBデバイス242、IEEE1394デバイス243、セントロニクスデバイス244により構成される。
CPU211は、種々の情報処理用のICである。ASIC212は、種々の画像処理用のICである。NB221は、コントローラ201のノースブリッジである。SB222は、コントローラ201のサウスブリッジである。MEM−P231は、融合機101のシステムメモリである。MEM−C232は、融合機101のローカルメモリである。HDD233は、融合機101のストレージである。メモリカードスロット234は、メモリカード235をセットするためのスロットである。NIC241は、MACアドレスによるネットワーク通信用のコントローラである。USBデバイス242は、USB規格の接続端子を提供するためのデバイスである。IEEE1394デバイス243は、IEEE1394規格の接続端子を提供するためのデバイスである。セントロニクスデバイス244は、セントロニクス仕様の接続端子を提供するためのデバイスである。
オペレーションパネル202は、オペレータが融合機101に入力を行うためのハードウェア(操作部)であると共に、オペレータが融合機101から出力を得るためのハードウェア(表示部)である。
図3は、図1の融合機101に係る外観図である。図3には、撮像部121の位置と、印刷部122の位置と、オペレーションパネル202の位置が図示されている。図3には更に、読取原稿のセット先となる原稿セット部301と、印刷用紙の給紙先となる給紙部302と、印刷用紙の排紙先となる排紙部303が図示されている。
オペレーションパネル202は、図4のように、タッチパネル311と、テンキー312と、スタートボタン313と、リセットボタン314と、機能キー315と、初期設定ボタン316により構成される。タッチパネル311は、タッチ操作で入力を行うためのハードウェア(タッチ操作部)であると共に、画面表示で出力を得るためのハードウェア(画面表示部)である。テンキー312は、キー(ボタン)操作で数字入力を行うためのハードウェアである。スタートボタン313は、ボタン操作でスタート操作を行うためのハードウェアである。リセットボタン314は、ボタン操作でリセット操作を行うためのハードウェアである。機能キー315は、キー(ボタン)操作でCSDKアプリ146やJSDKアプリ147による操作画面を表示させるためのハードウェアである。初期設定ボタン316は、ボタン操作で初期設定画面を表示させるためのハードウェアである。
原稿セット部301は、ADF(自動原稿搬送装置)321と、フラットベッド322と、フラットベッドカバー323により構成される。給紙部302は、4個の給紙トレイと1個の手差用トレイにより構成される。排紙部303は、1個の排紙トレイにより構成される。
(SAS)
図5は、図1の融合機101が接続されているネットワークに係るネットワーク構成図である。図1の融合機101は、PC(パーソナルコンピュータ)401とネットワークで接続されている。PC401は、PC本体411、キーボード412、マウス413、ディスプレイ414で構成されている。PC本体411には、CPUやROMやRAMやHDDやMODEMやNICが実装されている。PC本体411のHDDやROMには、Webブラウザ421やOS422が実装されている。
図6は、図1の融合機101のSAS183について説明するための図である。
SAS183は、CSDKアプリ146やJSDKアプリ147の制御設定に従って、CSDKアプリ146やJSDKアプリ147の制御を行う事ができる。CSDKアプリ146については直接的に制御する事になり、JSDKアプリ147についてはJSDKプラットフォーム148を介して間接的に制御する事になる。
SAS183は例えば、図6Aや図6Bのように、CSDKアプリ146やJSDKアプリ147の起動条件の設定に従って、CSDKアプリ146やJSDKアプリ147の起動や起動解除を行う事ができる。すなわち、本実施の形態において起動条件には、CSDKアプリ146やJSDKアプリ147の起動のための条件だけでなく、起動解除のための条件も含まれる。起動条件の設定のうち、起動のための条件の設定を「起動設定」といい、起動解除のための条件の設定を「起動解除設定」という。
例えば、ある所定時刻にあるCSDKアプリ146の起動を行う旨の起動設定に従って、その所定時刻にそのCSDKアプリ146の起動を行う事ができる。例えば、ある所定時刻にあるJSDKアプリ147の起動解除を行う旨の起動解除設定に従って、その所定時刻にそのJSDKアプリ147の起動解除を行う事ができる。なお、起動解除設定は、CSDKアプリ146やJSDKアプリ147を起動期間の有効期限付きで起動する旨の起動設定として設定する事もできる。
SAS183は例えば、図6Cや図6Dのように、CSDKアプリ146やJSDKアプリ147のインストール条件の設定に従って、CSDKアプリ146やJSDKアプリ147に相当するプログラムやCSDKアプリ146やJSDKアプリ147が利用するデータ(ライブラリ等)のインストールやアンインストールを行う事ができる。すなわち、本実施の形態においてインストール条件には、CDKアプリ146やJSDKアプリ147のインストールの条件だけでなく、アンインストールの条件も含まれる。インストール条件の設定のうち、インストールの条件の設定を「インストール設定」といい、アンインストールの条件の設定を「アンインストール設定」という。
例えば、ある所定日時にあるCSDKアプリ146のプログラムのインストールを行う旨のインストール設定に従って、その所定日時にそのプログラムのインストールを行う事ができる。例えば、ある所定日時にあるJSDKアプリ147のライブラリのアンインストールを行う旨のアンインストール設定に従って、その所定日時にそのライブラリのアンインストールを行う事ができる。なお、アンインストール設定は、CSDKアプリ146やJSDKアプリ147のプログラムやライブラリをインストール状態の維持期間の有効期限付きでインストールする旨のインストール設定として設定する事もできる。
なお、CSDKアプリ146やJSDKアプリ147に係る起動処理や起動解除処理やインストール処理やアンインストール処理のほかには、CSDKアプリ146やJSDKアプリ147に係る認証処理や利用制限処理をSAS183の制御対象としてもよい。
SAS183は例えば、JSDKアプリ147の設定管理用の設定ファイル501内に設定されているJSDKアプリ147の制御設定に従って、JSDKアプリ147の制御を行う事ができる。設定ファイル501は、JSDKアプリ147の実行ファイルであるJARファイルに1対1で対応するJNLPファイルである。設定ファイル501には、JSDKアプリ147の制御設定がXML(eXtensible Markup Language)で記述されて設定されている。JNLPファイルはXMLファイルであるところ、XMLでは独自のタグを定義する事ができるので、JSDKアプリ147の制御設定は独自のタグが使用されて記述されている。なお、設定ファイル501は、対応するJSDKアプリ147が格納されているSDメモリカード内に当該JSDKアプリ147と共に記録されている。但し、後述されるように、ネットワーク上のコンピュータ等において管理されていてもよい。
SAS183は例えば、CSDKアプリ146やJSDKアプリ147の設定操作用の設定画面502上で設定されたCSDKアプリ146やJSDKアプリ147の制御設定に従って、CSDKアプリ146やJSDKアプリ147の制御を行う事ができる。設定画面502は、ローカル設定操作用に融合機101の画面(融合機101のタッチパネル311)に表示される場合、リモート設定操作用に融合機101の端末装置の画面(PC401のディスプレイ414等)にWeb画面(Webページ)として表示される場合、の両方がある。設定画面502の提供主体はSAS183である。なお、設定画面502の提供主体がWIM184である変形実施例についても後述する。
以上のように、SAS183は、CSDKアプリ146やJSDKアプリ147の制御設定に従って、CSDKアプリ146やJSDKアプリ147の制御を行う事ができる。このSAS183の存在によって、融合機101の利用先に応じてCSDKアプリ146やJSDKアプリ147の設定を「アプリ主導」ではなく「システム主導」で変更できるような仕組みが実現されている。融合機101の利用先に応じてCSDKアプリ146やJSDKアプリ147を作り変える必要はない。CSDKアプリ146やJSDKアプリ147の設定変更の実施者は、融合機101のユーザでもベンダでもメーカでもよい。
例えば、図6Aや図6Bのような起動設定や起動解除設定によれば、常時起動しておく必要のないCSDKアプリ146やJSDKアプリ147を適宜起動させるようにする事ができる。例えば、図6Cや図6Dのようなインストール設定やアンインストール設定によれば、一定期間だけインストールしておきたいCSDKアプリ146やJSDKアプリ147を一定期間だけインストールしておくようにする事ができる。例えば、制御設定の種類を増やしたい場合には、独自のタグを定義する事ができると言うXMLの特性が重宝するだろう。例えば、融合機101の画面で直に設定操作を実施したい場合にはローカル設定操作用の画面が便利だろうし、PC401の画面で複雑な設定操作を実施したい場合にはリモート設定操作用の画面が便利だろう。
図7は、設定ファイル501を利用した制御処理に係るシーケンス図である。
融合機101のベンダが、あるJSDKアプリ147のオプションライブラリ511のインストールを開始する旨の操作を融合機101に入力(S11)すると、SAS183は、そのJSDKアプリ147の設定ファイル501からそのJSDKアプリ147のインストール設定を取得(S12)する。次に、SAS183は、取得したインストール設定の正否をそのJSDKアプリ147にアクセスして確認(S13)する。次に、SAS183は、そのJSDKアプリ147のオプションライブラリ511をオプションライブラリサーバ512からダウンロード(S14)する。次に、SAS183は、取得したインストール設定の正否をダウンロードしたオプションライブラリ511にアクセスして確認(S15)する。次に、SAS183は、取得したインストール設定に従って、ダウンロードしたオプションライブラリ511をHDD233やSDメモリカード235にインストール(S16)する。
図8は、設定ファイル501による設定の具体例を表す。
例1の記述Aは、JSDKアプリ147のオプションライブラリ511のインストールを行う旨のインストール設定である事を表す。例1の記述Bは更に、バージョン1.3のオプションライブラリ511をインストール対象とする旨を表す。例1の記述Cは更に、アプリ固有エリアをオプションライブラリ511のインストール先とする旨を表す。例1の記述Dは更に、http://www.r.com/jsdk/option/option.jarをオプションライブラリ511のダウンロード先とする旨を表す。
例2の記述Aは、JSDKアプリ147のオプションライブラリ511のインストールを行う旨のインストール設定である事を表す。例2の記述Bは更に、最新のバージョンのオプションライブラリ511をインストール対象とする旨を表す。例2の記述Cは更に、システム共通エリアをオプションライブラリ511のインストール先とする旨を表す。例2の記述Dは更に、http://www.r.com/jsdk/option/option.jarをオプションライブラリ511のダウンロード先とする旨を表す。
例3の記述Aは、JSDKアプリ147のオプションライブラリ511のインストールを行う旨のインストール設定である事を表す。例3の記述Bは更に、任意のバージョンのオプションライブラリ511をインストール対象とする旨を表す。この場合には、インストール対象は画面で選択する。例3の記述Cは更に、システム共通エリアをオプションライブラリ511のインストール先とする旨を表す。例3の記述Dは更に、http://www.r.com/jsdk/option/option.jarをオプションライブラリ511のダウンロード先とする旨を表す。例3の記述Eは更に、2010年12月31日をオプションライブラリ511のインストール状態の維持期間の有効期限とする旨を表す。
図9は、設定画面502を利用した制御処理に係るシーケンス図である。
融合機101のユーザーが、あるJSDKアプリ147のインストールを開始する旨の操作をインストール操作用の設定画面502で入力(S21)すると、SAS183は、そのJSDKアプリ147の設定ファイル501からそのJSDKアプリ147のインストール設定を取得(S22)する。次に、SAS183は、そのJSDKアプリ147のインストール状態の維持期間の有効期限設定用の設定画面502を表示(S23)する。
続いて、融合機101のユーザーが、そのJSDKアプリ147のインストール状態の維持期間の有効期限を有効期限設定用の設定画面502で入力(S24)すると、SAS183は、入力されたインストール設定(有効期限設定)の正否をそのJSDKアプリ147にアクセスして確認(S25)する。次に、SAS183は、入力されたインストール設定に従って、入力されたインストール設定の設定内容を融合機101の不揮発性メモリ521に保存(S26)して、そのJSDKアプリ147をHDD233やSDメモリカード235にインストール(S27)する。次に、SAS183は、有効期限設定用の設定画面502の表示を解除(S28)する。
図10は、設定画面502による設定の具体例を表す。図10には、インストール操作用の設定画面502Aの上に、インストール状態の維持期間の有効期限設定用の設定画面502Bが表示されている様子が示されている。図10には、2010年12月31日をインストール状態の維持期間の有効期限とする旨が入力されている様子が示されている。
図11,図12,図13は、ローカル設定操作用の設定画面502を表す。図11の設定画面502は、CSDKアプリ146やJSDKアプリ147のインストール操作用の設定画面である。図12の設定画面502は、CSDKアプリ146やJSDKアプリ147のアンインストール操作用の設定画面である。図13の設定画面502は、CSDKアプリ146やJSDKアプリ147の起動操作用・起動解除操作用の設定画面である。
図11Aの設定画面502と図11Bの設定画面502は、インストール操作用の一連の設定画面である。図11Bには、インストール操作用の設定画面502上に、CSDKアプリ146やJSDKアプリ147の自動起動設定用の設定画面502’が表示されている様子が示されている。このように、インストール操作用の設定画面502では、CSDKアプリ146やJSDKアプリ147の起動設定や起動解除設定の設定操作が可能である。同様に、インストール操作用の設定画面502では、CSDKアプリ146やJSDKアプリ147のインストール設定やアンインストール設定の設定操作が可能である。図10の設定画面の通りである。
図14,図15,図16,図17は、リモート設定操作用の設定画面502を表す。図14の設定画面502は、CSDKアプリ146(タイプ1アプリ)のインストール操作用の設定画面である。図15の設定画面502は、JSDKアプリ147(タイプ2アプリ)のインストール操作用の設定画面である。図16の設定画面502は、CSDKアプリ146やJSDKアプリ147のアンインストール操作用の設定画面である。図17の設定画面502は、CSDKアプリ146やJSDKアプリ147の起動操作用・起動解除操作用の設定画面である。
図14Aの設定画面502と図14Bの設定画面502は、CSDKアプリ146のインストール操作用の一連の設定画面である。図14Aには、CSDKアプリ146の機能キーの割当先を指定させるためのラジオボタン531がインストール操作用の設定画面502に表示されている様子が示されている。
また、図15Aの設定画面502と図15Bの設定画面502は、JSDKアプリ147のインストール操作用の一連の設定画面である。図15Aには、JSDKアプリ147の自動起動設定用のラジオボタン532や、JSDKアプリ147を実行させるJava(登録商標)仮想マシン(VM)のバージョンの選択用のコンボボックス533が、インストール操作用の設定画面502に表示されている様子が示されている。このように、インストール操作用の設定画面502では、CSDKアプリ146やJSDKアプリ147等、起動条件の異なるアプリケーションのタイプに応じたの起動設定や起動解除設定の設定操作が可能である。同様に、インストール操作用の設定画面502では、CSDKアプリ146やJSDKアプリ147のインストール設定やアンインストール設定の設定操作が可能である。図10のような設定画面が図14のようなラジオボタンに置き換わる。
図18は、SAS183による設定画面502の提供方法について説明するための図である。
設定画面502を表示すべく、PC401のWebブラウザ421からSAS183のWebサービスにリクエストが発信(S31)されると、NCS161のhttpdからSAS183のWebサービスにリクエストが転送(S32)される。続いて、SAS183は、設定画面502の表示項目となる項目を項目格納先から取得(S33)して、項目格納先から取得した項目に基づいて設定画面502を作成(S34)する。続いて、設定画面502を表示すべく、SAS183のWebサービスからPC401のWebブラウザ421にレスポンスが返信(S35)されると、NCS161のhttpdからPC401のWebブラウザ421にレスポンスが転送(S36)される。このようにして、SAS183は、CSDKアプリ146やJSDKアプリ147の設定操作用の設定画面502を提供する。
設定画面502の表示項目となる項目は、アプリ別ファイル601、タイプ別ファイル602、基本ファイル603から取得される。アプリ別ファイル601には、各CSDKアプリ146や各JSDKアプリ147と言ったアプリケーション毎に固有な項目が格納されている。タイプ別ファイル602には、タイプ1アプリ(CSDKアプリ146)やタイプ2アプリ(JSDKアプリ147)と言ったアプリケーションのタイプ毎に固有な項目が格納されている。なお、本実施の形態において、アプリケーションのタイプは、主に、当該アプリケーションの実装に用いられているプログラム言語や、起動条件の相違に基づいて分類される。例えば、タイプ2アプリであれば、Java(登録商標)言語でコーディングされており、また、自動起動の有無の選択が可能である。一方、タイプ1アプリは、C言語でコーディングされており、また、自動起動の有無の選択はできない。
基本ファイル603には、各タイプのアプリケーションに共通な項目が格納されている。SAS183は、アプリ別ファイル601から取得した項目と、タイプ別ファイル602から取得した項目と、基本ファイル603から取得した項目とに基づいて設定画面502を作成して表示する。設定画面502の表示項目となる項目の各言語による表記内容は、言語リソースファイル611から取得される。
アプリ別ファイル601、タイプ別ファイル602、基本ファイル603は、図18のように、融合機101の内部に格納されている。なお、アプリ別ファイル601については、図19のように、融合機101の外部に格納しておいてもよい。その場合、アプリ別ファイル601の所在情報(URL等)を、融合機101の内部に格納しておく。アプリ別ファイル601は、図18ではSDメモリカード235に格納されており、図19ではWebサーバ621に格納されている。アプリ別ファイル601は、アプリケーションの実行ファイルとは別個のファイルでもよいし、アプリケーションの実行ファイルそのものでもよい。
図20は、SAS183による設定画面502の作成方法について説明するための図である。
設定画面502の表示項目となる項目は、アプリ別ファイル601、タイプ別ファイル602、基本ファイル603にXMLにより記述されて格納されている。XMLでは独自のタグを定義することができるので、設定画面502の表示項目となる項目は独自のタグが使用されて記述されている。SAS183は、アプリ別ファイル601から取得したXMLデータと、タイプ別ファイル602から取得したXMLデータと、基本ファイル603から取得したXMLデータとに基づいて設定画面502の表示項目に係るXMLデータを作成(S41)する。
なお、PC401からSAS183へのリクエスト(S31)やSAS183からPC401へのレスポンス(S35)は、HTMLデータである。よって、SAS183は、準備しておいたXSLT631を使用して、XSLTプロセッサ632により、設定画面502の表示項目に係るXMLデータを設定画面502に係るHTMLデータに変換(S42)する。
図21及び図22は、SAS183により作成される設定画面502を表す。図21は、タイプ1アプリ用の設定画面502を表し、図22は、タイプ2アプリ用の設定画面502を表す。いずれの設定画面502も、アプリ別領域641、タイプ別領域642、基本領域643により構成される。
アプリ別領域641には、起動可能回数や印刷可能枚数と言ったアプリケーション毎に固有な項目が表示される。印刷処理を実行するコピー用アプリケーションであれば、印刷可能枚数等の項目が表示されるが、送信処理を実行するファクシミリ用アプリケーションであれば、送信可能枚数等の項目が表示される。
タイプ別領域642には、機能キー割当先や自動起動設定と言ったアプリケーションのタイプ毎に固有な項目が表示される。1プロセス1アプリで実行されて1機能キー315に1アプリが割り当てられるようなタイプ1アプリであれば、機能キー割当先等の項目が表示される(図21参照)。一方、1プロセス複数アプリで実行されて1機能キー315に複数アプリが割り当てられるようなタイプ2アプリであれば、自動起動設定等の項目が表示される(図22参照)。
基本領域643には、プロダクトIDやアプリ名称やインストール元やインストール先と言った各タイプのアプリケーションに共通な項目が表示される。
図18,図19,図20,図21の説明では、リモート設定操作用の設定画面502を適用対象としたが、当該説明内容は、ローカル設定操作用の設定画面502も適用対象となる。SAS183は、アプリ別ファイル601から取得した項目と、タイプ別ファイル602から取得した項目と、基本ファイル603から取得した項目とに基づいてローカル設定操作用の設定画面502やリモート設定操作用の設定画面502を作成して表示することになる。
図18,図19,図20,図21の説明では、アプリケーションをアプリケーションのプログラム言語によりタイプ分けしている。タイプ1アプリ(CSDKアプリ146)はC言語によるアプリケーションであり、タイプ2アプリ(JSDKアプリ147)はJava(登録商標)言語によるアプリケーションである。なお、アプリケーションをアプリケーションのプログラム言語以外によりタイプ分けしてもよい。また、アプリケーションを2種類にタイプ分けするだけではなく3種類以上にタイプ分けしてもよい。
以上のように、SAS183は、様々なCSDKアプリ146やJSDKアプリ147を設定対象とする統合的な設定画面502を提供することができる。この設定画面502の存在によって、CSDKアプリ146やJSDKアプリ147の設定を「アプリ主導」ではなく「システム主導」で変更するためのユーザフレンドリなユーザインタフェースが実現されている。
なお、表示項目の種類を増やしたい場合には、独自のタグを定義する事ができると言うXMLの特性が重宝するだろう。また、融合機101の画面で直に設定操作を実施したい場合にはローカル設定操作用の画面が便利だろうし、PC401の画面で複雑な設定操作を実施したい場合にはリモート設定操作用の画面が便利だろう。
図23は、アプリ別ファイル601の記述内容の具体例を表す。図中の記述21Aは、項目「起動可能回数」をアプリ別領域641の表示項目とする旨の記述に相当する。図中の記述21Bは、項目「印刷可能回数」をアプリ別領域641の表示項目とする旨の記述に相当する。
図24は、タイプ別ファイル602(タイプ1アプリ用)の記述内容の具体例を表す。図中の記述22Aは、項目「機能キー割当先」をタイプ別領域642の表示項目とする旨の記述に相当する。
図25は、タイプ別ファイル602(タイプ2アプリ用)の記述内容の具体例を表す。図中の記述23Aは、項目「自動起動設定」をタイプ別領域642の表示項目とする旨の記述に相当する。
図26は、基本ファイル603の記述内容の具体例を表す。図中の記述24Aは、項目「プロダクトID」を基本領域643の表示項目とする旨の記述に相当する。図中の記述24Bは、項目「アプリ名称」を基本領域643の表示項目とする旨の記述に相当する。図中の記述24Cは、項目「インストール元」を基本領域643の表示項目とする旨の記述に相当する。図中の記述24Cは、項目「インストール先」を基本領域643の表示項目とする旨の記述に相当する。
図27は、言語リソースファイル611(日本語用)の記述内容の具体例を表す。図中の記述25Aは、アプリ別領域641の表示項目となる項目の日本語表記を指定する記述である。図中の記述25Bは、タイプ別領域642の表示項目となる項目の日本語表記を指定する記述である。図中の記述25Cは、基本領域643の表示項目となる項目の日本語表記を指定する記述である。
図28は、言語リソースファイル611(英語用)の記述内容の具体例を表す。図中の記述26Aは、アプリ別領域641の表示項目となる項目の英語表記を指定する記述である。図中の記述26Bは、タイプ別領域642の表示項目となる項目の英語表記を指定する記述である。図中の記述26Cは、基本領域643の表示項目となる項目の英語表記を指定する記述である。
図29は、SAS183による設定画面502の提供処理に係るシーケンス図である。
PC401のユーザーにより、SAS183のWebサービスにアクセスする旨の操作が実施(S101)されると、PC401からNCS161に、さらにNCS161からSAS183に、SAS183のWebサービスにアクセスする旨のリクエストが発信・転送(S102・S103)される。次に、SAS183は、アプリ一覧表示用の設定画面502に係るHTMLデータを作成(S104)する。次に、SAS183からNCS161に、さらにNCS161からPC401に、アプリ一覧表示用の設定画面502を表示する旨のレスポンスが返信・転送(S105・S106)される。
続いて、アプリ一覧表示用の設定画面502でアプリケーションの選択操作が実施(S111)されると、PC401からNCS161に、更にNCS161からSAS183に、アプリケーションの選択操作に伴うリクエストが発信・転送(S112・S113)される。次に、SAS183は、項目入力用の設定画面502(図21の設定画面)の表示項目となる項目を、基本ファイル603・タイプ別ファイル602・アプリ別ファイル601から取得(S114A・S114B・S114C)する。次に、SAS183は、項目入力用の設定画面502の表示項目となる項目の表記内容を、言語リソースファイル611から取得(S115)する。次に、SAS183は、基本ファイル603から取得した項目と、タイプ別ファイル602から取得した項目と、アプリ別ファイル601から取得した項目と、言語リソースファイル611から取得した表記内容に基づいて項目入力用の設定画面502に係るHTMLデータを作成(S116)する。次に、SAS183からNCS161に、更にNCS161からPC401に、項目入力用の設定画面502を表示する旨のレスポンスが返信・転送(S117・S118)される。
続いて、項目入力用の設定画面502で項目の入力操作が実施(S121)されると、PC401からNCS161に、更にNCS161からSAS183に、項目の入力操作に伴うリクエストが発信・転送(S122・S123)される。次に、SAS183は、インストール前の確認画面に係るHTMLデータを作成(S124)する。次に、SAS183からNCS161に、更にNCS161からPC401に、インストール前の確認画面を表示する旨のレスポンスが返信・転送(S125・S126)される。
続いて、インストール前の確認画面でインストールの意思確認操作が実施(S131)されると、PC401からNCS161に、更にNCS161からSAS183に、インストールの意思確認操作に伴うリクエストが発信・転送(S132・S133)される。次に、SAS183は、アプリケーションのインストール処理を実行(S134)して、インストール後の通知画面に係るHTMLデータを作成(S135)する。次に、SAS183からNCS161に、更にNCS161からPC401に、インストール後の通知画面を表示する旨のレスポンスが返信・転送(S136・S137)される。
(WIM)
以上、設定画面502の提供主体が「SAS183」であるような実施例について説明したが、以下、設定画面502の提供主体が「WIM184」であるような変形実施例について説明する。前者と後者の共通事項については説明を省略する。
図30は、WIM184による設定画面502の提供方法について説明するための図である。
設定画面502を表示すべく、PC401のWebブラウザ421からWIM184のWebサービスにリクエストが発信(S51)されると、NCS161のhttpdからWIM184のWebサービスにリクエストが転送(S52)される。続いて、WIM184からSAS183に設定画面502の表示項目に係るXMLデータがリクエスト(S53)される。次に、SAS183は、設定画面502の表示項目となる項目を項目格納先から取得(S54)し、項目格納先から取得した項目に基づいて設定画面502の表示項目に係るXMLデータを作成(S55)する。続いて、SAS183からWIM184に設定画面502の表示項目に係るXMLデータがレスポンス(S56)される。次に、WIM184は、SAS183から取得したXMLデータに基づいて設定画面502を作成(S57)する。続いて、設定画面502を表示すべく、WIM184のWebサービスからPC401のWebブラウザ421にレスポンスが返信(S58)されると、NCS161のhttpdからPC401のWebブラウザ421にレスポンスが転送(S59)される。このようにして、WIM184は、CSDKアプリ146やJSDKアプリ147の設定操作用の設定画面502を提供する。
設定画面502の表示項目となる項目は、アプリ別ファイル601、タイプ別ファイル602、基本ファイル603から取得される。SAS183は、アプリ別ファイル601から取得した項目と、タイプ別ファイル602から取得した項目と、基本ファイル603から取得した項目とを、当該項目に基づいて設定画面502を作成して表示するWIM184に提供する。詳細には、SAS183は、アプリ別ファイル601から取得した項目と、タイプ別ファイル602から取得した項目と、基本ファイル603から取得した項目とに基づいて設定画面502の表示項目に係るXMLデータを作成して、当該XMLデータを当該XMLデータに基づいて設定画面502を作成して表示するWIM184に提供する。設定画面502の表示項目となる項目の各言語による表記内容は、言語リソースファイル611から取得される。設定画面502のヘッダエリアの表示項目となる項目は、ヘッダエリアファイル612から取得される。設定画面502のメニュエリアの表示項目となる項目は、メニュエリアファイル613から取得される。
アプリ別ファイル601、タイプ別ファイル602、基本ファイル603は、図30のように、融合機101の内部に格納されている。なお、アプリ別ファイル601については、図31のように、融合機101の外部に格納しておいてもよい。
図32は、WIM184による設定画面502の作成方法について説明するための図である。
設定画面502の表示項目となる項目は、アプリ別ファイル601、タイプ別ファイル602、基本ファイル603にXMLにより記述されて格納されている。XMLでは独自のタグを定義することができるので、設定画面502の表示項目となる項目は独自のタグが使用されて記述されている。SAS183は、アプリ別ファイル601から取得したXMLデータと、タイプ別ファイル602から取得したXMLデータと、基本ファイル603から取得したXMLデータとに基づいて設定画面502の表示項目に係るXMLデータを作成してWIM184に提供(S61)する。
なお、PC401からWIM184へのリクエスト(S51)やWIM184からPC401へのレスポンス(S58)は、HTMLデータである。よって、WIM184は、準備しておいたXSLT631を使用して、XSLTプロセッサ632により、設定画面502の表示項目に係るXMLデータを設定画面502に係るHTMLデータに変換(S62)する。
図33及び図34は、WIM184により作成される設定画面502を表す。図33は、タイプ1アプリ用の設定画面502を表し、図34は、タイプ2アプリ用の設定画面502を表す。いずれの設定画面502も、アプリ別領域641、タイプ別領域642、基本領域643、ヘッダエリア644、メニュエリア645により構成される。なお、タイプ別領域642の表示内容がタイプ1用アプリ設定画面502とタイプ2用アプリ設定画面502とで異なるのは、図21及び図22において示した場合と同様である。
図30,図31,図32,図33の説明では、リモート設定操作用の設定画面502を適用対象としたが、当該説明内容は、ローカル設定操作用の設定画面502も適用対象となる。SAS183は、アプリ別ファイル601から取得した項目と、タイプ別ファイル602から取得した項目と、基本ファイル603から取得した項目とを、当該項目に基づいてローカル設定操作用の設定画面502やリモート設定操作用の設定画面502を作成して表示するWIM184に提供することになる。
以上のように、WIM184は、設定画面502を提供する機能をサポートしており、SAS183は、設定画面502の表示項目となる項目をWIM184に提供する機能をサポートしている。この実装には、画面を提供する役割をSAS183が担う必要がないというメリットがある。画面を提供する機能をSAS183がサポートしていない場合等に有用である。
図35は、言語リソースファイル611(日本語用)の記述内容の具体例を表す。図中の記述32Aは、アプリ別領域641の表示項目となる項目の日本語表記を指定する記述である。図中の記述32Bは、タイプ別領域642の表示項目となる項目の日本語表記を指定する記述である。図中の記述32Cは、基本領域643の表示項目となる項目の日本語表記を指定する記述である。図中の記述32Dは、ヘッダエリア644の表示項目となる項目の日本語表記を指定する記述である。図中の記述32Eは、メニュエリア645の表示項目となる項目の日本語表記を指定する記述である。
図36は、言語リソースファイル611(英語用)の記述内容の具体例を表す。図中の記述33Aは、アプリ別領域641の表示項目となる項目の英語表記を指定する記述である。図中の記述33Bは、タイプ別領域642の表示項目となる項目の英語表記を指定する記述である。図中の記述33Cは、基本領域643の表示項目となる項目の英語表記を指定する記述である。図中の記述33Dは、ヘッダエリア644の表示項目となる項目の英語表記を指定する記述である。図中の記述33Eは、メニュエリア645の表示項目となる項目の英語表記を指定する記述である。
図37は、ヘッダエリアファイル612の記述内容の具体例を表す。図に示すように、ヘッダエリアファイル612には、設定画面502のヘッダエリアの表示項目とする項目が記述されている。
図38は、メニュエリアファイル613の記述内容の具体例を表す。図に示すように、メニュエリアファイル613には、設定画面502のメニュエリアの表示項目とする項目が記述されている。
図39は、WIM184による設定画面502の提供処理に係るシーケンス図である。
PC401のユーザーにより、WIM184のWebサービスにアクセスする旨の操作が実施(S201)されると、PC401からNCS161に、さらにNCS161からWIM184に、WIM184のWebサービスにアクセスする旨のリクエストが発信・転送(S202・S203A)される。次に、WIM184からSAS183に、アプリ一覧表示用の設定画面502の表示項目に係るXMLデータがリクエスト(S203B)される。次に、SAS183は、アプリ一覧表示用の設定画面502の表示項目に係るXMLデータを作成(S204A)する。次に、SAS183からWIM184に、アプリ一覧表示用の設定画面502の表示項目に係るXMLデータがレスポンス(S205A)される。次に、WIM184は、アプリ一覧表示用の設定画面502に係るHTMLデータを作成(S204B)する。次に、WIM184からNCS161に、さらにNCS161からPC401に、アプリ一覧表示用の設定画面502を表示する旨のレスポンスが返信・転送(S205B・S206)される。
続いて、アプリ一覧表示用の設定画面502でアプリケーションの選択操作が実施(S211)されると、PC401からNCS161に、さらにNCS161からWIM184に、アプリケーションの選択操作に伴うリクエストが発信・転送(S212・S213A)される。次に、WIM184からSAS183に、項目入力用の設定画面502の表示項目に係るXMLデータがリクエスト(S213B)される。次に、SAS183は、項目入力用の設定画面502(図33の設定画面)の表示項目となる項目を、基本ファイル603・タイプ別ファイル602・アプリ別ファイル601から取得(S214A・S214B・S214C)する。次に、SAS183は、項目入力用の設定画面502の表示項目に係るXMLデータを作成(S216A)する。次に、SAS183からWIM184に、項目入力用の設定画面502の表示項目に係るXMLデータがレスポンス(S217A)される。次に、WIM184は、項目入力用の設定画面502のヘッダエリアの表示項目となる項目をヘッダエリアファイル612から取得(S215A)し、項目入力用の設定画面502のメニュエリアの表示項目となる項目をメニュエリアファイル613から取得(S215B)し、項目入力用の設定画面502の表示項目となる項目の表記内容を言語リソースファイル611から取得(S215C)する。次に、WIM184は、基本ファイル603から取得された項目と、タイプ別ファイル602から取得された項目と、アプリ別ファイル601から取得された項目と、ヘッダエリアファイル612から取得した項目と、メニュエリアファイル613から取得した項目と、言語リソースファイル611から取得した表記内容に基づいて項目入力用の設定画面502に係るHTMLデータを作成(S216B)する。次に、WIM184からNCS161に、さらにNCS161からPC401に、項目入力用の設定画面502を表示する旨のレスポンスが返信・転送(S217B・S218)される。
続いて、項目入力用の設定画面502で項目の入力操作が実施(S221)されると、PC401からNCS161に、さらにNCS161からWIM184に、項目の入力操作に伴うリクエストが発信・転送(S222・S223A)される。次に、WIM184からSAS183に、インストール前の確認画面の表示項目に係るXMLデータがリクエスト(S223B)される。次に、SAS183は、インストール前の確認画面の表示項目に係るXMLデータを作成(S224A)する。次に、SAS183からWIM184に、インストール前の確認画面の表示項目に係るXMLデータがレスポンス(S225A)される。次に、WIM184は、インストール前の確認画面に係るHTMLデータを作成(S224B)する。次に、WIM184からNCS161に、さらにNCS161からPC401に、インストール前の確認画面を表示する旨のレスポンスが返信・転送(S225B・S226)される。
続いて、インストール前の確認画面でインストールの意思確認操作が実施(S231)されると、PC401からNCS161に、さらにNCS161からWIM184に、インストールの意思確認操作に伴うリクエストが発信・転送(S232・S233A)される。次に、WIM184からSAS183に、インストール後の通知画面の表示項目に係るXMLデータがリクエスト(S233B)される。次に、SAS183は、アプリケーションのインストール処理を実行(S234)して、インストール後の通知画面の表示項目に係るXMLデータを作成(S235A)する。次に、SAS183からWIM184に、インストール後の通知画面の表示項目に係るXMLデータがレスポンス(S236A)される。次に、WIM184は、インストール後の通知画面に係るHTMLデータを作成(S235B)する。次に、WIM184からNCS161に、さらにNCS161からPC401に、インストール後の通知画面を表示する旨のレスポンスが返信・転送(S236B・S237)される。