(57)【要約】【課題】既に稼働している組み込み機器と同じ状態での置き換え又は増設が容易な組み込み機器を提供すること。【解決手段】Ｗｅｂブラウザと、Ｗｅｂブラウザで動作するＷｅｂアプリケーションから呼び出すことのできないソフトウェアインタフェースと、ソフトウェアインタフェースを呼び出すことで利用される機能部と、を有する組み込み機器であって、Ｗｅｂアプリケーションとソフトウェアインタフェースとを仲介し、Ｗｅｂアプリケーションに替わってソフトウェアインタフェースを呼び出すことでＷｅｂアプリケーションが機能部を利用できるようにする仲介手段を有することにより上記課題を解決する。【選択図】図８
2018128760.tif 000002
【特許請求の範囲】
【請求項１】
Ｗｅｂブラウザと、前記Ｗｅｂブラウザで動作するＷｅｂアプリケーションから呼び出すことのできないソフトウェアインタフェースと、前記ソフトウェアインタフェースを呼び出すことで利用される機能部と、を有する組み込み機器であって、
前記Ｗｅｂアプリケーションと前記ソフトウェアインタフェースとを仲介し、前記Ｗｅｂアプリケーションに替わって前記ソフトウェアインタフェースを呼び出すことで前記Ｗｅｂアプリケーションが前記機能部を利用できるようにする仲介手段
を有することを特徴とする組み込み機器。
【請求項２】
前記仲介手段は、
前記Ｗｅｂアプリケーションから前記機能部の利用を指定したリクエストを受信する受信手段と、
前記機能部の利用を指定したリクエストに従い、前記ソフトウェアインタフェースを呼び出すリクエストを生成する生成手段と、
生成した前記リクエストにより前記ソフトウェアインタフェースを呼び出し、その呼び出しに応じたレスポンスを受信する通信手段と、
受信したレスポンスを解析する解析手段と、
解析した結果を前記Ｗｅｂアプリケーションに通知する通知手段と、
を有することを特徴とする請求項１記載の組み込み機器。
【請求項３】
前記仲介手段は、
前記Ｗｅｂアプリケーションから受信した前記ソフトウェアインタフェースを呼び出すリクエストを転送して前記ソフトウェアインタフェースを呼び出し、その呼び出しに応じて受信したレスポンスを前記Ｗｅｂアプリケーションに転送する転送手段
を有することを特徴とする請求項１記載の組み込み機器。
【請求項４】
前記仲介手段は、前記Ｗｅｂブラウザから受信したクロスドメイン通信のリクエストに対して、クロスドメイン通信を許可するレスポンスを返す許可手段
を更に有することを特徴とする請求項３記載の組み込み機器。
【請求項５】
クライアント装置のＷｅｂブラウザで動作するＷｅｂアプリケーションから読み出すことのできないソフトウェアインタフェースと、前記ソフトウェアインタフェースを呼び出すことで利用される機能部と、を有する組み込み機器であって、
前記Ｗｅｂアプリケーションと前記ソフトウェアインタフェースとを仲介し、前記Ｗｅｂアプリケーションに替わって前記ソフトウェアインタフェースを呼び出すことで前記Ｗｅｂアプリケーションが前記機能部を利用できるようにする仲介手段
を有することを特徴とする組み込み機器。
【請求項６】
前記仲介手段は、
前記Ｗｅｂアプリケーションから受信した前記ソフトウェアインタフェースを呼び出すリクエストを転送して前記ソフトウェアインタフェースを呼び出し、その呼び出しに応じて受信したレスポンスを前記Ｗｅｂアプリケーションに転送する転送手段
を有することを特徴とする請求項５記載の組み込み機器。
【請求項７】
前記仲介手段は、後からインストールが可能なモジュールにより実現されること
を特徴とする請求項１乃至５何れか一項記載の組み込み機器。
【請求項８】
Ｗｅｂブラウザと、前記Ｗｅｂブラウザで動作するＷｅｂアプリケーションから呼び出すことのできないソフトウェアインタフェースと、前記ソフトウェアインタフェースを呼び出すことで利用される機能部と、を有する組み込み機器のソフトウェアインタフェース利用方法であって、
前記Ｗｅｂアプリケーションと前記ソフトウェアインタフェースとを仲介する仲介手段が前記Ｗｅｂアプリケーションから呼び出されるステップと、
前記仲介手段が前記ソフトウェアインタフェースを呼び出すことで、前記Ｗｅｂアプリケーションが前記機能部を利用するステップと
を有することを特徴とするソフトウェアインタフェース利用方法。
【請求項９】
クライアント装置のＷｅｂブラウザで動作するＷｅｂアプリケーションから読み出すことのできないソフトウェアインタフェースと、前記ソフトウェアインタフェースを呼び出すことで利用される機能部と、を有する組み込み機器のソフトウェアインタフェース利用方法であって、
前記Ｗｅｂアプリケーションと前記ソフトウェアインタフェースとを仲介する仲介手段が前記Ｗｅｂアプリケーションから呼び出されるステップと、
前記仲介手段が前記ソフトウェアインタフェースを呼び出すことで、前記Ｗｅｂアプリケーションが前記機能部を利用するステップと
を有することを特徴とするソフトウェアインタフェース利用方法。
【請求項１０】
Ｗｅｂブラウザと、前記Ｗｅｂブラウザで動作するＷｅｂアプリケーションから呼び出すことのできないソフトウェアインタフェースと、前記ソフトウェアインタフェースを呼び出すことで利用される機能部と、を有する組み込み機器に、
前記Ｗｅｂアプリケーションと前記ソフトウェアインタフェースとを仲介する仲介手段が前記Ｗｅｂアプリケーションから呼び出される手順と、
前記仲介手段が前記ソフトウェアインタフェースを呼び出すことで、前記Ｗｅｂアプリケーションが前記機能部を利用する手順と
を実行させるためのプログラム。
【請求項１１】
クライアント装置のＷｅｂブラウザで動作するＷｅｂアプリケーションから読み出すことのできないソフトウェアインタフェースと、前記ソフトウェアインタフェースを呼び出すことで利用される機能部と、を有する組み込み機器に、
前記Ｗｅｂアプリケーションと前記ソフトウェアインタフェースとを仲介する仲介手段が前記Ｗｅｂアプリケーションから呼び出される手順と、
前記仲介手段が前記ソフトウェアインタフェースを呼び出すことで、前記Ｗｅｂアプリケーションが前記機能部を利用する手順と
を実行させるためのプログラム。
【請求項１２】
Ｗｅｂブラウザと、前記Ｗｅｂブラウザで動作するＷｅｂアプリケーションから呼び出すことのできないソフトウェアインタフェースと、前記ソフトウェアインタフェースを呼び出すことで利用される機能部と、を有する組み込み機器と、前記組み込み機器にＷｅｂアプリケーションを提供するサーバ装置と、を有する情報処理システムであって、
前記Ｗｅｂアプリケーションと前記ソフトウェアインタフェースとを仲介し、前記Ｗｅｂアプリケーションに替わって前記ソフトウェアインタフェースを呼び出すことで前記Ｗｅｂアプリケーションが前記機能部を利用できるようにする仲介手段
を有することを特徴とする情報処理システム。
【請求項１３】
クライアント装置のＷｅｂブラウザで動作するＷｅｂアプリケーションから読み出すことのできないソフトウェアインタフェースと、前記ソフトウェアインタフェースを呼び出すことで利用される機能部と、を有する組み込み機器と、前記クライアント装置にＷｅｂアプリケーションを提供するサーバ装置と、を有する情報処理システムであって、
前記Ｗｅｂアプリケーションと前記ソフトウェアインタフェースとを仲介し、前記Ｗｅｂアプリケーションに替わって前記ソフトウェアインタフェースを呼び出すことで前記Ｗｅｂアプリケーションが前記機能部を利用できるようにする仲介手段
を有することを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、組み込み機器、ソフトウェアインタフェース利用方法、プログラム及び情報処理システムに関する。
【背景技術】
【０００２】
近年、画像形成装置などの電子機器においても、電子機器に搭載するアプリケーションをアプリマーケットからダウンロードして利用できるようになった。アプリマーケットはアプリケーションの流通を目的として構築されたオンラインサービスの総称である。
【０００３】
例えば画像形成装置を顧客先に設置する際、設置当日にサービスマンが顧客先でアプリケーションのインストール作業を行う場合があるが、ライセンスに関する作業なども必要であることが従来から知られている（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
例えばソリューション製品の場合は、顧客の要求を満たすことのできる電子機器とアプリケーションとをセットで提案・販売することが多い。ソリューション製品のケース等のように、使用するアプリケーションが事前に決まっている場合であっても、従来のアプリケーションのインストール作業では、アプリマーケットからのアプリケーションのダウンロードを手作業で行っていた。したがって、画像形成装置などの電子機器に対する従来のアプリケーションのインストール作業は利便性が悪かった。
【０００５】
また、電子機器の置き換えや増設時は、既に稼働している電子機器と同じ状態で新しい電子機器を設置することが求められる場合がある。新しい電子機器に、既に稼働している電子機器と同じアプリケーションの導入及び設定値の移行を行う作業は、既に稼働している電子機器の状態の確認が必要である。
【０００６】
例えば新しい電子機器に、既に稼働している電子機器と同じアプリケーションの導入及び設定値の移行を行う作業を容易に行うため、Ｗｅｂアプリケーションを利用することも考えられる。しかしながら、新しい電子機器及び既に稼働している電子機器の両方がＷｅｂアプリケーションから読み出せるアプリケーションプログラミングインタフェースなどのソフトウェアインタフェースを備えていなければならなかった。
【０００７】
本発明の一実施形態は、既に稼働している組み込み機器と同じ状態での置き換え又は増設が容易な組み込み機器を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の一実施形態は、Ｗｅｂブラウザと、前記Ｗｅｂブラウザで動作するＷｅｂアプリケーションから呼び出すことのできないソフトウェアインタフェースと、前記ソフトウェアインタフェースを呼び出すことで利用される機能部と、を有する組み込み機器であって、前記Ｗｅｂアプリケーションと前記ソフトウェアインタフェースとを仲介し、前記Ｗｅｂアプリケーションに替わって前記ソフトウェアインタフェースを呼び出すことで前記Ｗｅｂアプリケーションが前記機能部を利用できるようにする仲介手段を有することを特徴とする。
【発明の効果】
【０００９】
本発明の一実施形態によれば、既に稼働している組み込み機器と同じ状態での置き換え又は増設が容易な組み込み機器を提供できる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係る情報処理システムの一例のシステム構成図である。
【図２】本実施形態に係るコンピュータの一例のハードウェア構成図である。
【図３】本実施形態に係るＭＦＰの一例のハードウェア構成図である。
【図４】本実施形態に係るサーバ装置の一例の機能構成図である。
【図５】機器構成情報テーブルの一例の構成図である。
【図６】アプリ構成情報テーブルの一例の構成図である。
【図７】本実施形態に係るクライアント装置及び電子機器の一例の構成図である。
【図８】Ｗｅｂアプリから呼び出せるＷｅｂＡＰＩを有さない電子機器の構成例について説明する図である。
【図９】本実施形態に係るクライアント装置及び電子機器の他の例の構成図である。
【図１０】仲介アプリの一例の構成図である。
【図１１】本実施形態に係るクライアント装置及び電子機器の他の例の構成図である。
【図１２】仲介アプリの一例の構成図である。
【図１３】リソースへのアクセスを許可するヘッダの一例の構成図である。
【図１４】Ｗｅｂアプリから読み出せるＷｅｂＡＰＩとＷｅｂブラウザとを有さない電子機器の構成例について説明する図である。
【図１５】本実施形態に係るクライアント装置及び電子機器の他の例の構成図である。
【図１６】機器構成情報を利用して電子機器にアプリケーションを導入する動作シナリオの一例を示す説明図である。
【図１７】アプリの導入作業の一例を示すシーケンス図である。
【図１８】機器管理アプリのログイン画面の一例のイメージ図である。
【図１９】機器構成情報を検索するリクエストとレスポンスの例を示す図である。
【図２０】機器構成情報選択画面の一例のイメージ図である。
【図２１】複数の機器構成情報を含むレスポンスの例を示す図である。
【図２２】機器構成情報選択画面の一例のイメージ図である。
【図２３】アプリ導入中の機器構成情報の一例の構成図である。
【図２４】アプリの導入作業の他の例を示すシーケンス図である。
【図２５】アプリの導入作業の他の例を示すシーケンス図である。
【図２６】アプリの導入作業の他の例を示すシーケンス図である。
【図２７】機器構成情報を利用して置き換え又は増設用の電子機器にアプリケーションを導入する動作シナリオの一例を示す説明図である。
【図２８】アプリケーションの導入が完了した機器構成情報の一例の構成図である。
【図２９】複製元の電子機器でのデータ移行作業の一例を示すシーケンス図である。
【図３０】エクスポート開始確認画面の一例のイメージ図である。
【図３１】設定ファイルのファイルパスが登録された機器構成情報テーブルのレコードの一例の構成図である。
【図３２】アンインストール開始確認画面の一例のイメージ図である。
【図３３】「アンインストール済み」であることを示すデータが保存されたアプリ構成情報の一例の構成図である。
【図３４】複製元の電子機器でのデータ移行作業の他の例を示すシーケンス図である。
【図３５】複製元の電子機器でのデータ移行作業の他の例を示すシーケンス図である。
【図３６】複製元の電子機器でのデータ移行作業の他の例を示すシーケンス図である。
【図３７】機番が登録された機器構成情報テーブルのレコードの一例の構成図である。
【図３８】ライセンスキーが更新されたアプリ構成情報の一例の構成図である。
【図３９】設定ファイルが更新された機器構成情報の一例の構成図である。
【図４０】電子機器の処理の一例のフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面を参照しながら詳細に説明する。
【００１２】
［第一の実施形態］
＜システム構成＞
まず、本実施形態に係る情報処理システム１のシステム構成について、図１を参照しながら説明する。図１は、本実施形態に係る情報処理システムの一例のシステム構成図である。
【００１３】
図１に示す情報処理システム１は、サーバ装置１０と、電子機器１２と、クライアント装置１４とを含み、インターネット等の広域的なネットワーク１６を介して通信可能に接続されている。
【００１４】
サーバ装置１０はネットワーク１６を介してクラウドサービス等の各種サービスを電子機器１２やクライアント装置１４に提供する。なお、本実施形態は、クラウドサービスの他、ＡＳＰ（Application Service Provider）によって提供されるサービスやＷｅｂサービス等、ネットワーク１６を介して提供される各種サービスに適用できる。サーバ装置１０は一台以上の情報処理装置で実現される。
【００１５】
電子機器１２は、サーバ装置１０からダウンロードしたアプリケーション（以下、単にアプリと呼ぶ）を導入（インストール）する画像形成装置などの機器である。画像形成装置は複合機、スキャナ、プリンタ、ファクシミリ、電子黒板やプロジェクタなどの組み込み機器である。本実施形態では電子機器１２がユーザ企業等の組織に納品（設置）された後、サーバ装置１０からダウンロードしたアプリを電子機器１２にインストールする。情報処理システム１には一台以上の電子機器１２が含まれる。
【００１６】
クライアント装置１４は例えば販売企業などの業務担当者、保守担当者又は管理者などが操作する装置である。本実施形態では、業務担当者がクライアント装置１４から後述の機器構成情報やアプリ構成情報をサーバ装置１０に登録する。また、業務担当者はクライアント装置１４から機器構成情報やアプリ構成情報を複製する。
【００１７】
業務担当者がクライアント装置１４から後述の機器構成情報やアプリ構成情報をサーバ装置１０に登録しておくことで、図１の情報処理システム１では電子機器１２に対するアプリのインストール作業を容易化している。
【００１８】
また、業務担当者がクライアント装置１４から後述の機器構成情報やアプリ構成情報を複製することで、図１の情報処理システム１では置き換え又は増設用の電子機器１２に対するアプリのインストール作業を後述のように容易化している。
【００１９】
＜ハードウェア構成＞
《コンピュータ》
サーバ装置１０及びクライアント装置１４は例えば図２に示すハードウェア構成のコンピュータにより実現される。図２は本実施形態に係るコンピュータの一例のハードウェア構成図である。
【００２０】
図２のコンピュータ５００は入力装置５０１、表示装置５０２、外部Ｉ／Ｆ５０３、ＲＡＭ５０４、ＲＯＭ５０５、ＣＰＵ５０６、通信Ｉ／Ｆ５０７及びＨＤＤ５０８などを備え、それぞれがバスＢで相互に接続されている。なお、入力装置５０１及び表示装置５０２は必要なときに接続して利用する形態であってもよい。
【００２１】
入力装置５０１はキーボードやマウス、タッチパネルなどを含み、ユーザが各操作信号を入力するのに用いられる。表示装置５０２はディスプレイ等を含み、コンピュータ５００による処理結果を表示する。
【００２２】
通信Ｉ／Ｆ５０７はコンピュータ５００を各種ネットワークに接続するインタフェースである。これにより、コンピュータ５００は通信Ｉ／Ｆ５０７を介してデータ通信を行うことができる。
【００２３】
また、ＨＤＤ５０８は、プログラムやデータを格納している不揮発性の記憶装置の一例である。格納されるプログラムやデータには、コンピュータ５００全体を制御する基本ソフトウェアであるＯＳ、及びＯＳ上において各種機能を提供するアプリなどがある。コンピュータ５００はＨＤＤ５０８に替え、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を利用するものであってもよい。
【００２４】
外部Ｉ／Ｆ５０３は、外部装置とのインタフェースである。外部装置には、記録媒体５０３ａなどがある。これにより、コンピュータ５００は外部Ｉ／Ｆ５０３を介して記録媒体５０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体５０３ａにはフレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリなどがある。
【００２５】
ＲＯＭ５０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）の一例である。ＲＯＭ５０５にはコンピュータ５００の起動時に実行されるＢＩＯＳ、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ５０４はプログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）の一例である。
【００２６】
ＣＰＵ５０６は、ＲＯＭ５０５やＨＤＤ５０８などの記憶装置からプログラムやデータをＲＡＭ５０４上に読み出し、処理を実行することで、コンピュータ５００全体の制御や機能を実現する演算装置である。
【００２７】
サーバ装置１０及びクライアント装置１４は例えば図２のコンピュータ５００のハードウェア構成により、後述するような各種処理を実現できる。
【００２８】
《ＭＦＰ》
図１の電子機器１２の一例であるＭＦＰ６００は、例えば図３に示すハードウェア構成のコンピュータにより実現される。図３は本実施形態に係るＭＦＰの一例のハードウェア構成図である。
【００２９】
図３のＭＦＰ６００は、コントローラ６０１、操作パネル６０２、外部Ｉ／Ｆ６０３、通信Ｉ／Ｆ６０４、プリンタ６０５及びスキャナ６０６などを備える。コントローラ６０１はＣＰＵ６１１、ＲＡＭ６１２、ＲＯＭ６１３、ＮＶＲＡＭ６１４及びＨＤＤ６１５などを備える。ＲＯＭ６１３は、各種プログラムやデータが格納されている。ＲＡＭ６１２はプログラムやデータを一時保持する。ＮＶＲＡＭ６１４は、例えば設定情報等が格納されている。また、ＨＤＤ６１５は各種プログラムやデータが格納されている。
【００３０】
ＣＰＵ６１１は、ＲＯＭ６１３やＮＶＲＡＭ６１４、ＨＤＤ６１５などからプログラムやデータ、設定情報等をＲＡＭ６１２上に読み出し、処理を実行することで、ＭＦＰ６００全体の制御や機能を実現する。
【００３１】
操作パネル６０２はユーザからの入力を受け付ける入力部と、表示を行う表示部とを備えている。外部Ｉ／Ｆ６０３は外部装置とのインタフェースである。外部装置には、記録媒体６０３ａなどがある。これにより、ＭＦＰ６００は外部Ｉ／Ｆ６０３を介して記録媒体６０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体６０３ａにはＩＣカード、フレキシブルディスク、ＣＤ、ＤＶＤ、ＳＤメモリカード、ＵＳＢメモリ等がある。
【００３２】
通信Ｉ／Ｆ６０４はＭＦＰ６００をネットワーク１６に接続させる為のインタフェースである。これにより、ＭＦＰ６００は通信Ｉ／Ｆ６０４を介してデータ通信を行うことができる。プリンタ６０５は印刷データを被搬送物に印刷するための印刷装置である。例えば被搬送物は紙、コート紙、厚紙、ＯＨＰ、プラスチックフィルム、プリプレグ、銅箔など、紙に限定されない。また、スキャナ６０６は原稿から画像データ（電子データ）を読み取り、画像ファイル（電子ファイル）を生成するための読取装置である。
【００３３】
第１の実施形態に係る電子機器１２は、上記したようなハードウェア構成を有することにより、後述するような各種処理を実現できる。
【００３４】
＜機能構成＞
次に、本実施形態に係る情報処理システム１の機能構成について説明する。
【００３５】
《サーバ装置》
図４は本実施形態に係るサーバ装置の一例の機能構成図である。図４のサーバ装置１０は通信部２１、ユーザ管理部２２、機器構成管理部２３、アプリ情報管理部２４、ファイル管理部２５、ライセンス管理部２６、アプリストレージ部２７、機器構成情報テーブル２８及びアプリ構成情報テーブル２９を有する。
【００３６】
通信部２１は電子機器１２やクライアント装置１４と通信を行う。ユーザ管理部２２はユーザ認証に必要なテナント情報、ユーザ情報を管理する。また、ユーザ管理部２２はユーザ認証を行う。
【００３７】
機器構成管理部２３は後述の機器構成情報、アプリ構成情報を管理する。また、機器構成管理部２３は機器認証を行う。アプリ情報管理部２４はアプリ情報を管理する。アプリ情報には、名称、説明、無償アプリのライセンスキー、公開する地域、動作する機種などの情報が含まれている。
【００３８】
ファイル管理部２５は後述の設定ファイルを管理する。ライセンス管理部２６はアプリのライセンスの発行、有効化、無効化などのライセンス管理を行う。アプリストレージ部２７はアプリの実行ファイルを保管する。
【００３９】
機器構成情報テーブル２８は図５に示す機器構成情報を記憶している。図５は機器構成情報テーブルの一例の構成図である。図５の機器構成情報はテナントＩＤ、機器構成情報ＩＤ、機番、状態、説明、設定ファイルを項目として有する。
【００４０】
項目「テナントＩＤ」はユーザ企業、学校、病院等の組織を一意に識別する情報の一例である。項目「機器構成情報ＩＤ」は機器構成情報テーブルのレコードである機器構成情報を一意に識別する情報の一例である。項目「機番」は登録された電子機器１２を一意に識別する情報の一例である。電子機器１２が登録される前の項目「機番」は電子機器１２の機番が保存されていない空の状態である。電子機器１２の登録により、項目「機番」には電子機器１２の機番が保存される。
【００４１】
項目「状態」は、未登録、アプリ導入中、設定中、完了などの電子機器１２に対するアプリの導入の状態が保存される。項目「説明」は後述の機器構成情報選択画面において各機器構成情報の説明として表示される情報である。項目「設定ファイル」は機器構成情報に対して登録された設定ファイルを一意に識別する情報の一例である。図５の機器構成情報に示したように、一つの機器構成情報は機器の登録により一つの機番（一つの電子機器１２）と対応付けられる。
【００４２】
また、図４のアプリ構成情報テーブル２９は例えば図６に示すアプリ構成情報を記憶している。図６はアプリ構成情報テーブルの一例の構成図である。図６のアプリ構成情報は機器構成情報ＩＤ、アプリＩＤ、ライセンスキーを項目として有する。
【００４３】
項目「機器構成情報ＩＤ」は機器構成情報テーブルのレコードである機器構成情報を一意に識別する情報の一例である。項目「アプリＩＤ」は、アプリを一意に識別する情報の一例である。項目「ライセンスキー」は、アプリＩＤにより識別されるアプリのライセンスキーを一意に識別する情報である。アプリの登録によりアプリ構成情報テーブル２９には、機器構成情報ＩＤと対応付けられた新しいアプリ構成情報が登録される。なお、図６のアプリ構成情報テーブルに示したように、一つの機器構成情報ＩＤには複数のアプリが登録される場合がある。
【００４４】
ここでは、図５の機器構成情報及び図６のアプリ構成情報について説明する。例えば図５及び図６は機番「Ｄｅｖ＿０００００１」の電子機器１２と機番「Ｄｅｖ＿０００００２」の電子機器１２とにアプリＩＤ「ＦｒｅｅＡｐｐ＿００１」のアプリがインストール済みであることを示している。図５及び図６は、機番が登録されていない機器構成情報ＩＤ「Ｃｏｎｆ＿００００００３」の機器構成情報が登録済みであることを示している。機器構成情報ＩＤ「Ｃｏｎｆ＿００００００３」の機器構成情報に機番を登録した電子機器１２には、アプリＩＤ「ＦｒｅｅＡｐｐ＿００１」及び「ＰａｉｄＡｐｐ＿００２」のアプリがインストールされる。
【００４５】
また、図５及び図６は機番が登録されていない機器構成情報ＩＤ「Ｃｏｎｆ＿００００００４」の機器構成情報が登録済みであることを示している。機器構成情報ＩＤ「Ｃｏｎｆ＿００００００４」の機器構成情報に機番を登録した電子機器１２にはアプリＩＤ「ＦｒｅｅＡｐｐ＿００１」のアプリがインストールされる。また、図５及び図６は機番が登録されていない機器構成情報ＩＤ「Ｃｏｎｆ＿００００００５」の機器構成情報が登録済みであることを示している。例えば機器構成情報ＩＤ「Ｃｏｎｆ＿００００００５」の機器構成情報に機番を登録した電子機器１２は、アプリＩＤ「ＦｒｅｅＡｐｐ＿００１」及び「ＰａｉｄＡｐｐ＿００２」のアプリがインストールされる。
【００４６】
《クライアント装置及び電子機器》
図７は本実施形態に係るクライアント装置及び電子機器の一例の構成図である。図７の電子機器１２はアプリ管理部３１、設定値管理部３２、ＷｅｂＡＰＩ３３、ＷｅｂＡＰＩ３４、Ｗｅｂアプリ３５、ＨＴＴＰサーバ３６、Ｗｅｂブラウザ３７を有する。また、図７のクライアント装置１４はＷｅｂブラウザ４１と管理ソフト４２とを有する。
【００４７】
アプリ管理部３１は電子機器１２に導入されているアプリやサービスを管理する。設定値管理部３２はアプリやサービスの設定値を管理する。ＷｅｂＡＰＩ３３はＷｅｂアプリ３５から呼び出せない例えばＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）のＷｅｂＡＰＩ（Ｗｅｂ  Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）である。ＷｅｂＡＰＩ３３は、クライアント装置１４で動作する管理ソフト４２から呼び出される。
【００４８】
ＷｅｂＡＰＩ３４はＷｅｂアプリ３５から呼び出せる例えばＲＥＳＴ（Ｒｅｐｒｅｓｅｎｔａｔｉｏｎａｌ  Ｓｔａｔｅ  Ｔｒａｎｓｆｅｒ）のＷｅｂＡＰＩである。ＷｅｂＡＰＩ３３、３４は例えばアプリのインストール及びアンインストール、設定ファイルのインポート及びエクスポートの機能を提供する。
【００４９】
Ｗｅｂアプリ３５はＷｅｂブラウザ３７で動作するアプリであって、サーバ装置１０のプログラムと協調して処理を行う。Ｗｅｂブラウザ３７はサーバ装置１０からＷｅｂアプリ３５をダウンロードする。なお、ＨＴＴＰサーバ３６はＷｅｂブラウザ３７がサーバ装置１０からダウンロードしたＷｅｂアプリ３５がＷｅｂＡＰＩ３４を呼び出せるように例えばＣＯＲＳ（Ｃｒｏｓｓ−Ｏｒｉｇｉｎ  Ｒｅｓｏｕｒｃｅ  Ｓｈａｒｉｎｇ）の設定を行っておく。
【００５０】
図７の電子機器１２はＷｅｂアプリ３５から呼び出せるＷｅｂＡＰＩ３４を有する構成を示したが、例えば図８に示すようにＷｅｂアプリ３５から呼び出せるＷｅｂＡＰＩ３４を有さない構成も考えられる。例えば旧機種の電子機器１２は、Ｗｅｂアプリ３５から呼び出せるＷｅｂＡＰＩ３４を有さない場合もある。
【００５１】
図８はＷｅｂアプリから呼び出せるＷｅｂＡＰＩを有さない電子機器の構成例について説明する図である。図８の電子機器１２は図７の電子機器１２のＷｅｂＡＰＩ３４を除いた構成である。図８の電子機器１２は、例えば図９に示すような仲介アプリ３８をインストールすることで、Ｗｅｂアプリ３５が仲介アプリ３８を介してＳＯＡＰのＷｅｂＡＰＩ３３を呼び出せるようにしている。
【００５２】
図９は本実施形態に係るクライアント装置及び電子機器の他の例の構成図である。図９の電子機器１２は、図８に示した電子機器１２に、仲介アプリ３８がインストールされた構成である。仲介アプリ３８はＷｅｂアプリ３５からカスタムＵＲＬスキームでＳＯＡＰのＷｅｂＡＰＩ３３を呼び出し可能とするＮａｔｉｖｅアプリである。
【００５３】
仲介アプリ３８は例えば図１０に示すように構成される。図１０は仲介アプリの一例の構成図である。図１０の仲介アプリ３８は、カスタムＵＲＬスキーム受信部５１、Ｗｅｂアプリ起動部５２、リクエスト生成部５３、レスポンス解析部５４、ＨＴＴＰクライアント５５を有する構成である。
【００５４】
カスタムＵＲＬスキーム受信部５１は、Ｗｅｂブラウザ３７のＷｅｂアプリ３５から例えばアプリのインストール又はアンインストール、設定ファイルのインポート又はエクスポートのコマンドを受信する。なお、カスタムＵＲＬスキーム受信部５１はコマンドの実行に必要なパラメータを、サーバ装置１０から取得する。
【００５５】
リクエスト生成部５３はサーバ装置１０から取得したパラメータに従い、ＳＯＡＰのＷｅｂＡＰＩ３３を呼び出すためのリクエストを生成する。ＨＴＴＰクライアント５５はリクエスト生成部５３が生成したリクエストをＨＴＴＰサーバ３６に送信し、レスポンスを受信する。レスポンス解析部５４はＨＴＴＰクライアント５５が受信したレスポンスを解析する。
【００５６】
Ｗｅｂアプリ起動部５２は解析の結果をサーバ装置１０に通知するため、Ｗｅｂアプリ３５を起動する。Ｗｅｂアプリ３５は解析の結果をサーバ装置１０に通知する。Ｗｅｂアプリ起動部５２は直接、解析の結果をサーバ装置１０に通知してもよい。
【００５７】
また、図８の電子機器１２は、例えば図１１に示す仲介アプリ３９をインストールすることで、Ｗｅｂアプリ３５が仲介アプリ３９を介してＳＯＡＰのＷｅｂＡＰＩ３３を呼び出せるようにしている。
【００５８】
図１１は本実施形態に係るクライアント装置及び電子機器の他の例の構成図である。図１１の電子機器１２は、図８に示した電子機器１２に、仲介アプリ３９がインストールされた構成である。仲介アプリ３９はＷｅｂアプリ３５からＨＴＴＰでＳＯＡＰのＷｅｂＡＰＩ３３を呼び出し可能とするＮａｔｉｖｅアプリである。仲介アプリ３９は、プロキシサーバの役割をする。なお、ＨＴＴＰサーバ３６と仲介アプリ３９とはポートが異なるものとする。
【００５９】
仲介アプリ３９は、例えば図１２に示すように構成される。図１２は仲介アプリの一例の構成図である。仲介アプリ３９は、ＨＴＴＰサーバ６１、ＯＰＴＩＯＮＳメソッド処理部６２、リクエスト／レスポンス転送部６３、ＨＴＴＰクライアント６４を有する構成である。
【００６０】
ＯＰＴＩＯＮＳメソッド処理部６２はＨＴＴＰサーバ６１が受信したＷｅｂブラウザ３７からのｐｒｅｆｌｉｇｈｔリクエストに対し、リソースへのアクセスを許可する図１３のようなヘッダを返す。
【００６１】
図１３はリソースへのアクセスを許可するヘッダの一例の構成図である。ＳＯＡＰのＷｅｂＡＰＩ３３の場合、リソースへのアクセスを許可するヘッダは例えば図１３に示すようにＰＯＳＴメソッドとＳＯＡＰＡｃｔｉｏｎヘッダを許可するヘッダとなる。
【００６２】
リクエスト／レスポンス転送部６３は、ＨＴＴＰサーバ６１がＷｅｂブラウザ３７から受信したリクエストをそのままＳＯＡＰのＷｅｂＡＰＩ３３に転送する。また、リクエスト／レスポンス転送部６３は、ＨＴＴＰクライアント６４がＳＯＡＰのＷｅｂＡＰＩ３３から受信したレスポンスにリソースへのアクセスを許可するヘッダを付け加えて、Ｗｅｂブラウザ３７に転送する。
【００６３】
図９の仲介アプリ３８又は図１１の仲介アプリ３９によれば、Ｗｅｂアプリ３５から呼び出せるＷｅｂＡＰＩ３４を有さない電子機器１２であっても、仲介アプリ３８又は仲介アプリ３９を後からインストールすることで、Ｗｅｂアプリ３５の利用が可能となる。
【００６４】
図８の電子機器１２はＷｅｂブラウザ３７を有する構成を示したが、例えば図１４に示すようにＷｅｂブラウザ３７を有さない構成も考えられる。例えば旧機種の電子機器１２はＷｅｂアプリ３５から呼び出せるＷｅｂＡＰＩ３４と、Ｗｅｂブラウザ３７とを有さない場合もある。
【００６５】
図１４はＷｅｂアプリから読み出せるＷｅｂＡＰＩとＷｅｂブラウザとを有さない電子機器の構成例について説明する図である。図１４の電子機器１２は図８の電子機器１２からＷｅｂブラウザ３７を除いた構成である。図１４の電子機器１２は、例えば図１５に示すような仲介アプリ４０をインストールすることで、クライアント装置１４のＷｅｂアプリ４３が、仲介アプリ４０を介してＳＯＡＰのＷｅｂＡＰＩ３３を呼び出せるようにしている。
【００６６】
図１５は本実施形態に係るクライアント装置及び電子機器の他の例の構成図である。図１５の電子機器１２は、図１４に示した電子機器１２に、図１２の仲介アプリ３９と同様な構成の仲介アプリ４０がインストールされた構成である。仲介アプリ４０はクライアント装置１４のＷｅｂアプリ４３からＨＴＴＰでＳＯＡＰのＷｅｂＡＰＩ３３を呼び出し可能とするＮａｔｉｖｅアプリである。
【００６７】
仲介アプリ４０は、プロキシサーバの役割をする。なお、Ｗｅｂアプリ４３は電子機器１２の仲介アプリ４０のＩＰアドレス、ポートを知っている必要がある。図１５の仲介アプリ４０によれば、Ｗｅｂアプリ３５から呼び出せるＷｅｂＡＰＩ３４及びＷｅｂブラウザ３７を有さない電子機器１２であっても、仲介アプリ４０を後からインストールすることで、クライアント装置１４のＷｅｂアプリ４３の利用が可能となる。
【００６８】
＜処理の詳細＞
次に、本実施形態に係る情報処理システム１の処理の詳細について説明する。本実施形態では、例えば図１６に示すように、新規の電子機器１２にアプリを導入する。なお、図１６では、業務担当がテナントに機器構成情報を対応付けておき、その機器構成情報を利用して、電子機器１２にアプリを導入する動作シナリオについて説明する。
【００６９】
図１６は、機器構成情報を利用して電子機器にアプリを導入する動作シナリオの一例を示す説明図である。業務担当者（以下、業務担当と呼ぶ）は、クライアント装置１４からサーバ装置１０にログインし、テナントと対応付けて機器構成情報をサーバ装置１０に登録しておく。このように、業務担当は事前作業として機器構成情報をテナントと対応付けてサーバ装置１０に登録しておく。
【００７０】
電子機器１２がユーザ環境に納品されたあと、保守担当や管理者（以下、単に操作者と呼ぶ）はアプリ導入作業を行う。操作者は電子機器１２を操作し、サーバ装置１０にログインする。電子機器１２は、テナントを指定してサーバ装置１０から機器構成情報を取得し、機器構成情報に機器を登録する処理を行う。電子機器１２は機器を登録した機器構成情報に基づき、サーバ装置１０からアプリをダウンロードし、インストールする。また、電子機器１２は機器を登録した機器構成情報に基づき、サーバ装置１０から設定ファイルを取得し、設定を反映する。
【００７１】
以下、図１６に示した動作シナリオについて、操作者が電子機器１２で行うアプリの導入作業について説明する。
【００７２】
《アプリの導入作業》
図１７はアプリの導入作業の一例を示すシーケンス図である。操作者は電子機器１２の例えば操作パネルからＷｅｂブラウザ３７上に機器管理アプリを起動して図１８に示すログイン画面を表示させる。図１８は機器管理アプリのログイン画面の一例のイメージ図である。図１７では機器管理アプリがＷｅｂブラウザ３７上で動作するＷｅｂアプリである例を示しているが、電子機器１２にインストールされたアプリであってもよい。
【００７３】
ステップＳ３１において操作者は図１８のログイン画面にユーザＩＤ及びパスワードを入力し、ログインを要求する。ステップＳ３２において、電子機器１２の機器管理アプリはログイン画面に入力されたユーザＩＤ及びパスワードによるログインをサーバ装置１０のユーザ管理部２２に要求する。ユーザ管理部２２はユーザ認証を行い、ログインに成功すると認証チケットを返す。
【００７４】
例えば管理者が操作者としてログインした場合、機器管理アプリはサーバ装置１０から返された認証チケットにより管理者が属するテナントを特定できる。一方で、保守担当が保守担当専用のユーザＩＤ及びパスワードを用いてログインした場合、機器管理アプリはサーバ装置１０から返された認証チケットによりテナントを特定できない。そこで、保守担当が操作者としてログインする場合は別途、テナントＩＤを入力するようにする。
【００７５】
ステップＳ３３に進み、機器管理アプリはテナントＩＤによる機器構成情報の検索を、サーバ装置１０の機器構成管理部２３に要求する。機器構成管理部２３はテナントＩＤに基づいて、状態が「完了」でない機器構成情報を機器構成情報テーブル２８から検索し、機器構成情報リストを返す。
【００７６】
なお、機器構成管理部２３は機器構成情報の検索要求のパラメータに、電子機器１２のパラメータが含まれる場合、機番が一致する機器構成情報を検索する。機番が一致する機器構成情報が存在した場合、機器構成管理部２３は機番が一致する機器構成情報を電子機器１２に返す。
【００７７】
機番が一致する機器構成情報が存在しなければ、機器構成管理部２３はテナントＩＤに基づいて、状態が「完了」でなく、且つ、機番が登録されていない機器構成情報を機器構成情報テーブル２８から検索し、機器構成情報リストを返す。
【００７８】
例えば図５の機器構成情報テーブル２８では、テナントＩＤ「Ｔｅｎａｎｔ２」による機器構成情報の検索により、機器構成情報ＩＤ「Ｃｏｎｆ＿００００００３」の機器構成情報が電子機器１２に返される。
【００７９】
図１９は機器構成情報を検索するリクエストとレスポンスの例を示す図である。例えば図１９（Ａ）は機器構成情報を検索するリクエストの一例であり、機番（Ｄｅｖ＿０００００３）と認証チケット（ｘｘｘｘｘｘｘｘｘｘ）とが含まれている。図１９（Ｂ）はレスポンスの一例であり、図５に示した機器構成情報ＩＤ「Ｃｏｎｆ＿００００００３」の機器構成情報と、図６に示した機器構成情報ＩＤ「Ｃｏｎｆ＿００００００３」のアプリ構成情報とが含まれている。
【００８０】
機器構成情報リストを返された電子機器１２の機器管理アプリは例えば図２０に示すような機器構成情報選択画面を表示する。図２０は機器構成情報選択画面の一例のイメージ図である。なお、図２０の機器構成情報選択画面は図１９（Ｂ）に示したレスポンスに基づき作成された例を示している。
【００８１】
また、図５の機器構成情報テーブル２８では、テナントＩＤ「Ｔｅｎａｎｔ３」による機器構成情報の検索により、機器構成情報ＩＤ「Ｃｏｎｆ＿００００００４」及び「Ｃｏｎｆ＿００００００５」の機器構成情報が電子機器１２に返される。図２１は複数の機器構成情報を含むレスポンスの例を示す図である。
【００８２】
例えば図２１はレスポンスの一例であり、図５の機器構成情報ＩＤ「Ｃｏｎｆ＿００００００４」及び「Ｃｏｎｆ＿００００００５」の機器構成情報と、図６の機器構成情報ＩＤ「Ｃｏｎｆ＿００００００４」及び「Ｃｏｎｆ＿００００００５」のアプリ構成情報とが含まれている。
【００８３】
機器構成情報リストを返された電子機器１２の機器管理アプリは例えば図２２に示すような機器構成情報選択画面を表示する。図２２は機器構成情報選択画面の一例のイメージ図である。なお、図２２の機器構成情報選択画面は図２１に示したレスポンスに基づき作成された例を示している。
【００８４】
サーバ装置１０から返された機器構成情報リストが空であった場合、電子機器１２の機器管理アプリは導入すべき機器構成情報が存在しないため、アプリを導入する処理を終了する。例えば図５の機器構成情報テーブル２８は、テナントＩＤ「Ｔｅｎａｎｔ１」の機器構成情報の状態が「完了」であり、導入すべき機器構成情報が存在しない例に該当する。
【００８５】
ステップＳ３４において、電子機器１２の操作者は、図２０や図２２などの機器構成情報選択画面の「導入する」ボタンを押下することにより、機器構成情報を選択してアプリの導入開始を要求する。なお、図２０の機器構成情報選択画面のように機器構成情報を一意に特定できる場合は「導入ボタン」を表示せず、自動的にアプリの導入を開始してもよい。
【００８６】
また、複数の機器構成情報が登録されている場合であっても、説明、設定ファイル及びアプリ構成の全てが同じであれば、「導入ボタン」を表示せず、自動的に一つの機器構成情報を選択してアプリの導入を開始してもよい。典型的なケースとしては同じ用途に使用する複数台の電子機器１２を一括納品した場合などである。
【００８７】
アプリの導入開始後、電子機器１２の機器管理アプリは操作者により選択された機器構成情報に機番が登録されていなければ、ステップＳ３５においてサーバ装置１０の機器構成管理部２３に電子機器１２の登録要求を行う。ステップＳ３５の電子機器１２の登録要求では電子機器１２の機番と、その機番を登録する機器構成情報の機器構成情報ＩＤとを指定して、機番の登録を要求する。機器構成管理部２３は指定された機器構成情報ＩＤの機器構成情報に電子機器１２の機番を登録する。また、機器構成管理部２３は指定された機器構成情報の状態を「アプリ導入中」に更新する。
【００８８】
例えば図５の機器構成情報テーブルのテナントＩＤ「Ｔｅｎａｎｔ２」のレコードは図２３に示すように更新される。図２３は、アプリ導入中の機器構成情報の一例の構成図である。
【００８９】
次に、電子機器１２の機器管理アプリはステップＳ３６〜Ｓ４０の処理を導入するアプリの数だけ繰り返し行い、アプリを導入する。ステップＳ３６において、機器管理アプリはステップＳ３４で選択された機器構成情報と対応付けられているアプリＩＤ及びライセンスキーを指定してアプリのインストールをＷｅｂＡＰＩ３４にリクエストする。
【００９０】
ステップＳ３７に進み、ＷｅｂＡＰＩ３４はアプリＩＤ及びライセンスキーを指定してアプリのインストールをアプリ管理部３１にリクエストする。ステップＳ３８においてアプリ管理部３１はステップＳ３４で選択された機器構成情報と対応付けられているアプリＩＤを指定してサーバ装置１０のアプリストレージ部２７からアプリの実行ファイルを取得する。
【００９１】
ステップＳ３９に進み、アプリ管理部３１はステップＳ３４で選択された機器構成情報と対応付けられているアプリＩＤ、ライセンスキー及び機番を指定し、サーバ装置１０のライセンス管理部２６にライセンスを有効化させる。ステップＳ４０に進み、アプリ管理部３１は取得した実行ファイルによりアプリをインストールする。
【００９２】
ステップＳ３６〜Ｓ４０の処理が終了すると、ステップＳ４１に進み、電子機器１２の機器管理アプリはサーバ装置１０の機器構成管理部２３に状態「アプリ導入完了」を通知する。機器構成管理部２３は指定された機器構成情報の状態を「アプリ導入完了」に更新する。
【００９３】
ステップＳ４２に進み、機器管理アプリはステップＳ３４で操作者により選択された機器構成情報の設定ファイルのファイルパスを指定して、サーバ装置１０のファイル管理部２５から設定ファイルを取得する。
【００９４】
ステップＳ４３において、機器管理アプリは取得した設定ファイルを指定してＷｅｂＡＰＩ３４に設定ファイルのインポートをリクエストする。ステップＳ４４に進み、ＷｅｂＡＰＩ３４はファイルを指定して設定ファイルのインポートを設定値管理部３２にリクエストする。
【００９５】
ステップＳ４５に進み、設定値管理部３２はステップＳ４４で指定された設定ファイルの設定を反映する。なお、設定ファイルはインストールしたアプリの設定を含んでいてもよい。したがって、ステップＳ４５の設定の反映はアプリのインストールよりも後に実行する。
【００９６】
ステップＳ４６に進み、電子機器１２の機器管理アプリはサーバ装置１０の機器構成管理部２３に状態「設定反映完了」を通知する。機器構成管理部２３は指定された機器構成情報の状態を「設定反映完了」に更新する。その後、電子機器１２の機器管理アプリはステップＳ４７において導入結果表示画面を操作パネルに表示し、アプリの導入作業を完了する。
【００９７】
図１７は電子機器１２が図７の構成である場合のシーケンス図である。電子機器１２が図９の構成である場合、アプリの導入作業のシーケンス図は、例えば図２４に示すようになる。
【００９８】
図２４はアプリの導入作業の他の例を示すシーケンス図である。なお、図２４のシーケンス図は一部を除いて図１７のシーケンス図と同様であるため、適宜説明を省略する。ステップＳ５１〜Ｓ５５は図１７のステップＳ３１〜Ｓ３５と同様である。
【００９９】
電子機器１２の機器管理アプリはステップＳ５６〜Ｓ６１の処理を導入するアプリの数だけ繰り返し行い、アプリを導入する。ステップＳ５６において、機器管理アプリはステップＳ５４で選択された機器構成情報と対応付けられているアプリＩＤ及びライセンスキーを指定してアプリのインストールのカスタムＵＲＬスキームの呼び出しを仲介アプリ３８にリクエストする。
【０１００】
ステップＳ５７に進み、仲介アプリ３８はステップＳ５４で選択された機器構成情報と対応付けられているアプリＩＤ及びライセンスキーを指定してアプリのインストールをＳＯＡＰのＷｅｂＡＰＩ３３にリクエストする。ステップＳ５８に進み、ＳＯＡＰのＷｅｂＡＰＩ３３はアプリＩＤ及びライセンスキーを指定してアプリのインストールをアプリ管理部３１にリクエストする。
【０１０１】
アプリ管理部３１が行うステップＳ５９〜Ｓ６１の処理は図１７のステップＳ３８〜Ｓ４０と同様である。ステップＳ５６〜Ｓ６１の処理が終了すると、仲介アプリ３８は結果をサーバ装置１０に通知するため、Ｗｅｂブラウザ３７上で動作する機器管理アプリを起動する。
【０１０２】
ステップＳ６２に進み、電子機器１２の機器管理アプリはサーバ装置１０の機器構成管理部２３に状態「アプリ導入完了」を通知する。機器構成管理部２３は指定された機器構成情報の状態を「アプリ導入完了」に更新する。
【０１０３】
ステップＳ６３に進み、機器管理アプリはステップＳ５４で操作者により選択された機器構成情報の設定ファイルのファイルパスを指定して、設定ファイルのインポートのカスタムＵＲＬスキームの呼び出しを仲介アプリ３８にリクエストする。
【０１０４】
ステップＳ６４に進み、仲介アプリ３８はステップＳ５４で操作者により選択された機器構成情報の設定ファイルのファイルパスを指定して、サーバ装置１０のファイル管理部２５から設定ファイルを取得する。カスタムＵＲＬスキームではファイルを受け渡すことができないため、仲介アプリ３８が設定ファイルを取得している。
【０１０５】
ステップＳ６５において、仲介アプリ３８は取得した設定ファイルを指定してＳＯＡＰのＷｅｂＡＰＩ３３に設定ファイルのインポートをリクエストする。ステップＳ６６に進み、ＳＯＡＰのＷｅｂＡＰＩ３３はファイルを指定して設定ファイルのインポートを設定値管理部３２にリクエストする。
【０１０６】
ステップＳ６７に進み、設定値管理部３２はステップＳ６６で指定された設定ファイルの設定を反映する。なお、設定ファイルはインストールしたアプリの設定を含んでいてもよい。したがって、ステップＳ６７の設定の反映はアプリのインストールよりも後に実行する。ステップＳ６７の処理が終了すると、仲介アプリ３８は結果をサーバ装置１０に通知するため、Ｗｅｂブラウザ３７上で動作する機器管理アプリを起動する。
【０１０７】
ステップＳ６８に進み、電子機器１２の機器管理アプリはサーバ装置１０の機器構成管理部２３に状態「設定反映完了」を通知する。機器構成管理部２３は指定された機器構成情報の状態を「設定反映完了」に更新する。その後、電子機器１２の機器管理アプリはステップＳ６９において導入結果表示画面を操作パネルに表示し、アプリの導入作業を完了する。
【０１０８】
また、電子機器１２が図１１の構成である場合、アプリの導入作業のシーケンス図は例えば図２５に示すようになる。図２５はアプリの導入作業の他の例を示すシーケンス図である。なお、図２５のシーケンス図は一部を除いて図１７のシーケンス図と同様であるため、適宜説明を省略する。ステップＳ７１〜Ｓ７５は図１７のステップＳ３１〜Ｓ３５と同様である。
【０１０９】
電子機器１２の機器管理アプリはステップＳ７６〜Ｓ８１の処理を導入するアプリの数だけ繰り返し行い、アプリを導入する。ステップＳ７６において、機器管理アプリはステップＳ７４で選択された機器構成情報と対応付けられているアプリＩＤ及びライセンスキーを指定してアプリのインストールを仲介アプリ３９にＳＯＡＰ／ＨＴＴＰでリクエストする。
【０１１０】
ステップＳ７７に進み、仲介アプリ３９はステップＳ７６のリクエストを、そのままＳＯＡＰのＷｅｂＡＰＩ３３に転送する。ステップＳ７８に進み、ＳＯＡＰのＷｅｂＡＰＩ３３はアプリＩＤ及びライセンスキーを指定してアプリのインストールをアプリ管理部３１にリクエストする。
【０１１１】
アプリ管理部３１が行うステップＳ７９〜Ｓ８１の処理は図１７のステップＳ３８〜Ｓ４０と同様である。仲介アプリ３９はＳＯＡＰのＷｅｂＡＰＩ３３から受信するレスポンスを、そのまま機器管理アプリに転送する。ステップＳ８２〜Ｓ８３の処理は図１７のステップＳ４１〜Ｓ４２と同様である。
【０１１２】
ステップＳ８４に進み、機器管理アプリはステップＳ７４で操作者により選択された機器構成情報の設定ファイルのファイルパスを指定して、設定ファイルのインポートを仲介アプリ３９にＳＯＡＰ／ＨＴＴＰでリクエストする。
【０１１３】
ステップＳ８５に進み、仲介アプリ３９はステップＳ８４のリクエストを、そのままＳＯＡＰのＷｅｂＡＰＩ３３に転送する。ステップＳ８６に進み、ＳＯＡＰのＷｅｂＡＰＩ３３はファイルを指定して、設定ファイルのインポートを設定値管理部３２にリクエストする。
【０１１４】
ステップＳ８７に進み、設定値管理部３２はステップＳ８６で指定された設定ファイルの設定を反映する。仲介アプリ３９はＳＯＡＰのＷｅｂＡＰＩ３３から受信するレスポンスを、そのまま機器管理アプリに転送する。ステップＳ８８〜Ｓ８９の処理は図１７のステップＳ４６〜Ｓ４７と同様である。
【０１１５】
また、電子機器１２が図１５の構成である場合、アプリの導入作業のシーケンス図は例えば図２６に示すようになる。図２６はアプリの導入作業の他の例を示すシーケンス図である。
【０１１６】
ステップＳ９１において操作者は、クライアント装置１４に表示されたログイン画面にユーザＩＤ及びパスワードを入力し、ログインを要求する。ステップＳ９２においてクライアント装置１４の機器管理アプリはユーザＩＤ及びパスワードによるログインをサーバ装置１０のユーザ管理部２２に要求する。ユーザ管理部２２はユーザ認証を行い、ログインに成功すると認証チケットを返す。
【０１１７】
ステップＳ９３に進み、クライアント装置１４の機器管理アプリはテナントＩＤによる機器構成情報の検索を、サーバ装置１０の機器構成管理部２３に要求する。機器構成管理部２３はテナントＩＤに基づいて、状態が「完了」でない機器構成情報を機器構成情報テーブル２８から検索し、機器構成情報リストを返す。
【０１１８】
機器構成情報リストを返されたクライアント装置１４の機器管理アプリは機器構成情報選択画面を表示する。ステップＳ９４において、クライアント装置１４の操作者は機器構成情報選択画面の「導入する」ボタンを押下することにより、機器構成情報を選択してアプリの導入開始を要求する。このとき、クライアント装置１４の操作者はアプリを導入する電子機器１２のＩＰアドレスを入力する。
【０１１９】
ステップＳ９５において、機器管理アプリはステップＳ９４で入力されたＩＰアドレスを指定して機番の取得を電子機器１２の仲介アプリ４０にＳＯＡＰ／ＨＴＴＰでリクエストする。ステップＳ９６に進み、仲介アプリ４０はステップＳ９５のリクエストを、そのままＳＯＡＰのＷｅｂＡＰＩ３３に転送する。ＳＯＡＰのＷｅｂＡＰＩ３３は仲介アプリ４０経由で機番をクライアント装置１４の機器管理アプリにレスポンスする。
【０１２０】
ステップＳ９７に進み、クライアント装置１４の機器管理アプリはサーバ装置１０の機器構成管理部２３に電子機器１２の登録要求を行う。クライアント装置１４の機器管理アプリはステップＳ９８〜Ｓ１０３の処理を導入するアプリの数だけ繰り返し行い、アプリを導入する。
【０１２１】
ステップＳ９８において、クライアント装置１４の機器管理アプリはステップＳ９４で選択された機器構成情報と対応付けられているアプリＩＤ及びライセンスキーを指定してアプリのインストールを電子機器１２の仲介アプリ４０にＳＯＡＰ／ＨＴＴＰでリクエストする。
【０１２２】
ステップＳ９９に進み、仲介アプリ４０はステップＳ９８のリクエストを、そのままＳＯＡＰのＷｅｂＡＰＩ３３に転送する。ステップＳ１００に進み、ＳＯＡＰのＷｅｂＡＰＩ３３はアプリＩＤ及びライセンスキーを指定してアプリのインストールをアプリ管理部３１にリクエストする。アプリ管理部３１が行うステップＳ１０１〜Ｓ１０３の処理は図２５のステップＳ７９〜Ｓ８１と同様である。仲介アプリ４０はＳＯＡＰのＷｅｂＡＰＩ３３から受信するレスポンスを、そのままクライアント装置１４の機器管理アプリに転送する。
【０１２３】
ステップＳ９８〜Ｓ１０３の処理が終了すると、ステップＳ１０４に進み、クライアント装置１４の機器管理アプリはサーバ装置１０の機器構成管理部２３に状態「アプリ導入完了」を通知する。機器構成管理部２３は指定された機器構成情報の状態を「アプリ導入完了」に更新する。
【０１２４】
ステップＳ１０５に進み、機器管理アプリはステップＳ９４で操作者により選択された機器構成情報の設定ファイルのファイルパスを指定して、サーバ装置１０のファイル管理部２５から設定ファイルを取得する。
【０１２５】
ステップＳ１０６に進み、機器管理アプリはステップＳ９４で操作者により選択された機器構成情報の設定ファイルのファイルパスを指定して、設定ファイルのインポートを電子機器１２の仲介アプリ４０にＳＯＡＰ／ＨＴＴＰでリクエストする。
【０１２６】
ステップＳ１０７に進み、仲介アプリ４０はステップＳ１０６のリクエストを、そのままＳＯＡＰのＷｅｂＡＰＩ３３に転送する。ステップＳ１０８に進み、ＳＯＡＰのＷｅｂＡＰＩ３３はファイルを指定して、設定ファイルのインポートを設定値管理部３２にリクエストする。ステップＳ１０９に進み、設定値管理部３２はステップＳ１０８で指定された設定ファイルの設定を反映する。仲介アプリ４０はＳＯＡＰのＷｅｂＡＰＩ３３から受信するレスポンスを、そのままクライアント装置１４の機器管理アプリに転送する。
【０１２７】
ステップＳ１１０に進み、クライアント装置１４の機器管理アプリはサーバ装置１０の機器構成管理部２３に状態「設定反映完了」を通知する。機器構成管理部２３は指定された機器構成情報の状態を「設定反映完了」に更新する。その後、クライアント装置１４の機器管理アプリはステップＳ１１１において導入結果表示画面を操作パネルに表示し、アプリの導入作業を完了する。
【０１２８】
《置き換え又は増設用の電子機器に対するアプリの導入》
本実施形態では、例えば図２７に示すように、置き換え又は増設用の電子機器１２に対してアプリを導入する。図２７は機器構成情報を利用して置き換え又は増設用の電子機器にアプリを導入する動作シナリオの一例を示す説明図である。
【０１２９】
図２７ではユーザ環境に設置される電子機器１２を、機器構成情報を複製する複製元の電子機器１２Ａと、置き換え又は増設される複製先の電子機器１２Ｂと、に分けて示している。
【０１３０】
電子機器１２Ｂへの置き換えは、例えば「Ｔｅｎａｎｔ２」において機番「Ｄｅｖ＿０００００３」の電子機器１２Ａの動作が不安定になった場合に行われる。また、電子機器１２Ｂの増設は、例えば業務の効率を上げるために行われる。なお、サーバ装置１０の機器構成情報テーブル２８の「Ｔｅｎａｎｔ２」に対応付いた機器構成情報は、上記したアプリを導入する動作シナリオにより、例えば図５から図２８のように更新されたものとする。図２８はアプリの導入が完了した機器構成情報の一例の構成図である。
【０１３１】
業務担当はクライアント装置１４からサーバ装置１０にログインし、事前作業として複製元の電子機器１２Ａの機器構成情報を複製しておく。複製した機器構成情報は「Ｔｅｎａｎｔ２」と対応付けてサーバ装置１０に登録しておく。
【０１３２】
複製先の電子機器１２Ｂがユーザ環境に納品されたあと、操作者は複製元の電子機器１２Ａでのデータ移行作業と、複製先の電子機器１２Ｂでのアプリ導入作業とを行う。
【０１３３】
《複製元の電子機器でのデータ移行作業》
図２９は複製元の電子機器でのデータ移行作業の一例を示すシーケンス図である。複製元の電子機器１２Ａは機器登録済みであるため、機器認証により機器構成情報を特定することができる。そこで、図２９では機器認証から始めるシーケンス図を示すが、操作者によるログインから始めるシーケンスであってもよい。
【０１３４】
機器認証は電子機器１２Ａで動作する機器管理アプリと、サーバ装置１０の機器構成管理部２３との間で行われるため、操作者の入力を必要としない。例えば個体を識別するデジタル証明書を記憶装置に保存して出荷される電子機器１２Ａの場合は、このデジタル証明書を用いたＳＳＬ／ＴＬＳクライアント認証により機器認証を実現できる。
【０１３５】
ステップＳ２０１において操作者が導入画面を開くと、電子機器１２Ａの機器管理アプリはステップＳ２０２において機器認証を行う。機器認証に成功すると、電子機器１２Ａの機器管理アプリはステップＳ２０３において機番による機器構成情報の検索を、サーバ装置１０の機器構成管理部２３に要求する。機器構成管理部２３は機番が一致する機器構成情報を機器構成情報テーブル２８から検索して電子機器１２Ａに返す。
【０１３６】
状態が「完了」でない機器構成情報を受信した場合、電子機器１２Ａの機器管理アプリは機器構成情報の登録作業を行う。機器構成情報を受信しなかった場合、電子機器１２Ａの機器管理アプリは処理を終了する。
【０１３７】
状態が「完了」で、項目「設定ファイル」が「エクスポート中」である機器構成情報を受信した場合、電子機器１２Ａの機器管理アプリは設定ファイルのエクスポート処理の開始を操作者に確認させる図３０のエクスポート開始確認画面を表示する。図３０はエクスポート開始確認画面の一例のイメージ図である。
【０１３８】
ステップＳ２０４において電子機器１２Ａは、図３０に示したエクスポート開始確認画面の「エクスポートを開始する」ボタンが押下され、操作者からエクスポートの開始の指示を受け付ける。
【０１３９】
ステップＳ２０５において、電子機器１２Ａの機器管理アプリは設定ファイルのエクスポートをＷｅｂＡＰＩ３４にリクエストする。ステップＳ２０６に進み、ＷｅｂＡＰＩ３４は設定ファイルのエクスポートを設定値管理部３２にリクエストする。ステップＳ２０７において設定値管理部３２は二次記憶領域に保存された各モジュールの設定値を収集して設定ファイルを作成し、ＷｅｂＡＰＩ３４経由で機器管理アプリに返す。
【０１４０】
ステップＳ２０８に進み、機器管理アプリは機器構成情報ＩＤを指定し、作成した設定ファイルの登録をサーバ装置１０の機器構成管理部２３に要求する。ステップＳ２０９において、機器構成管理部２３は電子機器１２Ａの機器管理アプリから登録要求のあった設定ファイルをファイル管理部２５に保存させる。そして、機器構成管理部２３はファイル管理部２５から返された設定ファイルのファイルパスを図３１に示すように機器構成情報の項目「設定ファイル」に登録する。図３１は設定ファイルのファイルパスが登録された機器構成情報テーブルのレコードの一例の構成図である。
【０１４１】
電子機器１２Ａの機器管理アプリは、機器構成情報と共に受信したアプリ構成情報の項目「ライセンスキー」に「無効化中」であることを示すデータが保存されていた場合にステップＳ２１０の処理を行う。
【０１４２】
ステップＳ２１０において、機器管理アプリはアンインストールの開始を操作者に確認させる図３２のアンインストール開始確認画面を表示する。図３２はアンインストール開始確認画面の一例のイメージ図である。
【０１４３】
ステップＳ２１１において電子機器１２Ａの機器管理アプリは図３２に示したアンインストール開始確認画面の「アンインストールを開始する」ボタンが押下され、操作者からアンインストールの開始の指示を受け付ける。ステップＳ２１２〜Ｓ２１６の処理はアンインストールするアプリの数だけ繰り返される。
【０１４４】
ステップＳ２１２において、機器管理アプリは、アプリＩＤを指定してアプリのアンインストールをＷｅｂＡＰＩ３４にリクエストする。ステップＳ２１３に進み、ＷｅｂＡＰＩ３４はアプリＩＤを指定してアプリのアンインストールをアプリ管理部３１にリクエストする。
【０１４５】
ステップＳ２１４に進み、アプリ管理部３１はアプリＩＤ、ライセンスキー及び機番を指定して、サーバ装置１０のライセンス管理部２６にライセンスを無効化させる。アプリ管理部３１はステップＳ２１５に進み、ステップＳ２１４でライセンスを無効化したアプリをアンインストールする。
【０１４６】
ステップＳ２１６に進み、電子機器１２Ａの機器管理アプリはサーバ装置１０の機器構成管理部２３に機器構成情報ＩＤ、アプリＩＤを指定して、アンインストール完了の状態を通知する。機器構成管理部２３は図３３のアプリ構成情報のように、項目「ライセンスキー」に「アンインストール済み」であることを示すデータを保存する。図３３は「アンインストール済み」であることを示すデータが保存されたアプリ構成情報の一例の構成図である。
【０１４７】
なお、機器構成管理部２３は無効化したライセンスのレコードをアプリ構成情報テーブル２９から削除するようにしてもよい。また、図２９のシーケンス図ではアプリのアンインストール処理の中でライセンスの無効化を行っているが、アンインストールせずにライセンスの無効化だけを行うようにしてもよい。
【０１４８】
また、ステップＳ２１６のアンインストール完了の状態の通知は、ライセンス無効化の要求を受け付けたライセンス管理部２６が機器構成管理部２３に通知することで実現するようにしてもよい。この場合、アプリ構成情報の項目「ライセンスキー」には「無効化済み」であることを示すデータを保存する。
【０１４９】
アンインストールするアプリの数だけステップＳ２１２〜Ｓ２１６の処理を繰り返したあと、電子機器１２Ａの機器管理アプリはステップＳ２１７においてデータ移行作業の完了画面を表示する。
【０１５０】
図２９は電子機器１２Ａが図７の構成である場合のシーケンス図である。電子機器１２Ａが図９の構成である場合のシーケンス図は例えば図３４に示すようになる。図３４は複製元の電子機器でのデータ移行作業の他の例を示すシーケンス図である。なお、図３４のシーケンス図は一部を除いて図２９のシーケンス図と同様であるため、適宜説明を省略する。ステップＳ２２１〜Ｓ２２４は図２９のステップＳ２０１〜Ｓ２０４と同様である。
【０１５１】
ステップＳ２２５において、電子機器１２Ａの機器管理アプリは設定ファイルのエクスポートのカスタムＵＲＬスキームの呼び出しを仲介アプリ３８にリクエストする。仲介アプリ３８はステップＳ２２６において、設定ファイルのエクスポートをＳＯＡＰのＷｅｂＡＰＩ３３にリクエストする。ステップＳ２２７に進み、ＳＯＡＰのＷｅｂＡＰＩ３３は設定ファイルのエクスポートを設定値管理部３２にリクエストする。
【０１５２】
ステップＳ２２８〜Ｓ２３１の処理は、図２９のステップＳ２０７〜Ｓ２１０と同様である。ステップＳ２３２において電子機器１２Ａの機器管理アプリは図３２に示したアンインストール開始確認画面の「アンインストールを開始する」ボタンが押下され、操作者からアンインストールの開始の指示を受け付ける。
【０１５３】
ステップＳ２３３〜Ｓ２３８の処理は、アンインストールするアプリの数だけ繰り返される。ステップＳ２３３において、機器管理アプリは、アプリＩＤを指定してアプリのアンインストールのカスタムＵＲＬスキームの呼び出しを、仲介アプリ３８にリクエストする。ステップＳ２３４に進み、仲介アプリ３８はアプリＩＤを指定してアプリのアンインストールをＳＯＡＰのＷｅｂＡＰＩ３３にリクエストする。ステップＳ２３５に進み、ＷｅｂＡＰＩ３３はアプリＩＤを指定してアプリのアンインストールをアプリ管理部３１にリクエストする。ステップＳ２３６〜Ｓ２３９の処理は、図２９のステップＳ２１４〜Ｓ２１７と同様である。
【０１５４】
また、電子機器１２が図１１の構成である場合のシーケンス図は例えば図３５に示すようになる。図３５は複製元の電子機器でのデータ移行作業の他の例を示すシーケンス図である。なお、図３５のシーケンス図は一部を除いて図２９のシーケンス図と同様であるため、適宜説明を省略する。ステップＳ２４１〜Ｓ２４４は図２９のステップＳ２０１〜Ｓ２０４と同様である。
【０１５５】
ステップＳ２４５において、電子機器１２Ａの機器管理アプリは、設定ファイルのエクスポートを仲介アプリ３９にＳＯＡＰ／ＨＴＴＰでリクエストする。仲介アプリ３９はステップＳ２４６に進み、ステップＳ２４５のリクエストを、そのままＳＯＡＰのＷｅｂＡＰＩ３３に転送する。
【０１５６】
ステップＳ２４７に進み、ＳＯＡＰのＷｅｂＡＰＩ３３は設定ファイルのエクスポートを設定値管理部３２にリクエストする。ステップＳ２４８〜Ｓ２５１の処理は、図２９のステップＳ２０７〜Ｓ２１０と同様である。
【０１５７】
ステップＳ２５２において電子機器１２Ａの機器管理アプリは図３２に示したアンインストール開始確認画面の「アンインストールを開始する」ボタンが押下され、操作者からアンインストールの開始の指示を受け付ける。
【０１５８】
ステップＳ２５３〜Ｓ２５８の処理は、アンインストールするアプリの数だけ繰り返される。ステップＳ２５３において、機器管理アプリは、アプリＩＤを指定してアプリのアンインストールを仲介アプリ３９にＳＯＡＰ／ＨＴＴＰでリクエストする。ステップＳ２５４に進み、仲介アプリ３８はステップＳ２５３のリクエストを、そのままＳＯＡＰのＷｅｂＡＰＩ３３に転送する。ステップＳ２５５に進み、ＷｅｂＡＰＩ３３はアプリＩＤを指定してアプリのアンインストールをアプリ管理部３１にリクエストする。ステップＳ２５６〜Ｓ２５９の処理は、図２９のステップＳ２１４〜Ｓ２１７と同様である。
【０１５９】
また、電子機器１２が図１５の構成である場合のシーケンス図は例えば図３６に示すようになる。図３６は複製元の電子機器でのデータ移行作業の他の例を示すシーケンス図である。
【０１６０】
ステップＳ２６１において操作者は、クライアント装置１４に表示されたログイン画面にユーザＩＤ及びパスワードを入力し、ログインを要求する。ステップＳ２６２においてクライアント装置１４の機器管理アプリはユーザＩＤ及びパスワードによるログインをサーバ装置１０のユーザ管理部２２に要求する。ユーザ管理部２２はユーザ認証を行い、ログインに成功すると認証チケットを返す。
【０１６１】
ステップＳ２６３に進み、クライアント装置１４の機器管理アプリはテナントＩＤによる機器構成情報の検索を、サーバ装置１０の機器構成管理部２３に要求する。機器構成管理部２３はテナントＩＤに基づいて、状態が「完了」でない機器構成情報を機器構成情報テーブル２８から検索し、機器構成情報リストを返す。機器構成情報リストを返されたクライアント装置１４の機器管理アプリはエクスポート開始確認画面を表示する。
【０１６２】
ステップＳ２６４においてクライアント装置１４の機器管理アプリは、エクスポート開始確認画面に機器構成情報リストを表示し、操作者に選択させることで、エクスポートの開始の指示を受け付ける。
【０１６３】
ステップＳ２６５において、クライアント装置１４の機器管理アプリは、設定ファイルのエクスポートを仲介アプリ４０にＳＯＡＰ／ＨＴＴＰでリクエストする。仲介アプリ４０はステップＳ２６６に進み、ステップＳ２６５のリクエストを、そのままＳＯＡＰのＷｅｂＡＰＩ３３に転送する。
【０１６４】
ステップＳ２６７に進み、ＳＯＡＰのＷｅｂＡＰＩ３３は設定ファイルのエクスポートを設定値管理部３２にリクエストする。ステップＳ２６８〜Ｓ２７１の処理は、図２９のステップＳ２０７〜Ｓ２１０と同様である。
【０１６５】
ステップＳ２７２においてクライアント装置１４の機器管理アプリは図３２に示したアンインストール開始確認画面の「アンインストールを開始する」ボタンが押下され、操作者からアンインストールの開始の指示を受け付ける。
【０１６６】
ステップＳ２７３〜Ｓ２７８の処理は、アンインストールするアプリの数だけ繰り返される。ステップＳ２７３において、機器管理アプリは、アプリＩＤを指定してアプリのアンインストールを仲介アプリ４０にＳＯＡＰ／ＨＴＴＰでリクエストする。ステップＳ２７４に進み、仲介アプリ４０はステップＳ２７３のリクエストを、そのままＳＯＡＰのＷｅｂＡＰＩ３３に転送する。ステップＳ２７５に進み、ＷｅｂＡＰＩ３３はアプリＩＤを指定してアプリのアンインストールをアプリ管理部３１にリクエストする。ステップＳ２７６〜Ｓ２７９の処理は、図２９のステップＳ２１４〜Ｓ２１７と同様である。
【０１６７】
《複製先の電子機器でのアプリケーション導入作業》
複製先の電子機器１２Ｂにおけるアプリケーション導入作業は、一部を除いて前述したシーケンス図と同様である。複製先の電子機器１２Ｂにおけるアプリケーション導入作業は複製元の電子機器１２Ａからのデータ移行作業（アプリのインストールと設定ファイルの反映）が完了しているか否かを確認する点が異なっている。
【０１６８】
例えば図３１の機器構成情報テーブル２８の場合、機器構成情報ＩＤが「Ｃｏｎｆ＿００００００６」の機器構成情報が返される。複数台分の機器構成情報を一括して複製した場合は、返される複数の機器構成情報から操作者に選択させる。電子機器１２Ｂの登録を行ったあとの機器構成情報テーブルは例えば図３７のようになる。図３７は機番が登録された機器構成情報テーブルのレコードの一例の構成図である。図３７の機器構成情報ＩＤが「Ｃｏｎｆ＿００００００６」の機器構成情報は図３１の機器構成情報に機番が登録されたものである。
【０１６９】
アプリのインストールは、ライセンス移行する場合、複製元の電子機器１２Ａでのライセンスの無効化が完了するのを待つ必要がある。電子機器１２Ｂは例えば図３７の機器構成情報ＩＤが「Ｃｏｎｆ＿００００００６」の機器構成情報に関連付いたアプリ構成情報からライセンスの無効化が完了しているか否かを判断することができる。
【０１７０】
ライセンスの無効化が完了していないと判断した場合、電子機器１２Ｂはアプリのインストールまで進んだあと、ライセンスの無効化が完了したと判断できるまで処理を行わずに待機する。
【０１７１】
具体的に、電子機器１２Ｂは所定時間間隔でサーバ装置１０から機器構成情報ＩＤ「Ｃｏｎｆ＿００００００３」のアプリ構成情報を取得し、項目「ライセンスキー」が「アンインストール済み」であることを示すデータに変わるのを待つ。この状態を検知すると電子機器１２Ｂは処理を再開する。
【０１７２】
ライセンスキーが一旦解放されているため、電子機器１２Ｂはライセンスキーを有効化することができる。そして、電子機器１２の機器管理アプリはサーバ装置１０の機器構成管理部２３に状態「アプリ導入完了」を通知する。
【０１７３】
機器構成管理部２３は、指定された機器構成情報に対応付けられているアプリ構成情報の項目「ライセンスキー」を図３８に示すように「Ｌｉｃ＿００２＿０００００１」に更新する。
【０１７４】
また、設定ファイルの反映は複製元の電子機器１２Ａでの設定ファイルのエクスポートが完了するのを待つ必要がある。電子機器１２Ｂは例えば図３７に示す機器構成情報ＩＤが「Ｃｏｎｆ＿００００００６」の機器構成情報から、機器構成情報ＩＤ「Ｃｏｎｆ＿００００００３」の設定ファイルのエクスポートが完了しているか否かを判断することができる。設定ファイルのエクスポートが完了していないと判断した場合、電子機器１２Ｂは処理を行わずに待機する。
【０１７５】
具体的に、電子機器１２Ｂは所定時間間隔でサーバ装置１０から機器構成情報ＩＤ「Ｃｏｎｆ＿００００００３」の機器構成情報を取得し、項目「設定ファイル」に設定ファイルのファイルパスが登録されるのを待つ。
【０１７６】
この状態を検知した後で電子機器１２Ｂは処理を再開する。電子機器１２Ｂはファイルパスを指定してサーバ装置１０から設定ファイルを取得する。電子機器１２Ｂは取得した設定ファイルの設定を反映する。電子機器１２の機器管理アプリはサーバ装置１０の機器構成管理部２３に状態「設定反映完了」を通知する。機器構成管理部２３は、指定された機器構成情報の項目「設定ファイル」を図３９に示すように「Ｐｒｅｆｓ＿００００００４．ｘｍｌ」に更新する。
【０１７７】
《電子機器のフローチャート》
上記のシーケンス図の処理は例えば図４０のフローチャートに示す電子機器１２の処理により実現できる。図４０は電子機器の処理の一例のフローチャートである。なお、図４０のフローチャートでは画面表示、ユーザ入力及び複数の対象に対するループの記載を省略している。
【０１７８】
ステップＳ３０１において、電子機器１２は機器認証から開始し、機器登録が完了している場合のみに機器認証が成功するとした場合の例を示している。ステップＳ３０３〜Ｓ３０８は複製元の電子機器１２Ａの処理を示している。ステップＳ３０９〜Ｓ３２０は複製先の電子機器１２Ｂ（或いは単独でアプリケーションを導入する電子機器１２）の処理を示している。なお、ここでは図２７の動作シナリオの例を説明する。
【０１７９】
ステップＳ３０１において、電子機器１２Ａ又は１２Ｂは機器認証を行う。電子機器１２Ａからの機器認証の場合は機器認証に成功し（Ｓ３０２においてＹ）、ステップＳ３０３に進む。なお、電子機器１２Ｂからの機器認証の場合は機器認証に失敗し（Ｓ３０２においてＮ）、ステップＳ３０９に進む。
【０１８０】
ステップＳ３０３において電子機器１２Ａは自機の機番がセットされた機器構成情報をサーバ装置１０から検索する。検索した機器構成情報の状態が「完了」でなければ電子機器１２Ａは後述するステップＳ３１５以降の処理を行う。
【０１８１】
検索した機器構成情報の状態が「完了」であれば電子機器１２ＡはステップＳ３０５に進み、検索した機器構成情報の項目「設定ファイル」がエクスポート中であるか否かを判定する。
【０１８２】
検索した機器構成情報の項目「設定ファイル」がエクスポート中であれば（Ｓ３０５においてＹ）、電子機器１２ＡはステップＳ３０６に進み、設定ファイルをエクスポートした後でステップＳ３０７に進む。検索した機器構成情報の項目「設定ファイル」がエクスポート中でなければ（Ｓ３０５においてＮ）、電子機器１２ＡはステップＳ３０６の処理をスキップする。
【０１８３】
ステップＳ３０７において、電子機器１２Ａは検索した機器構成情報と対応付いたアプリ構成情報の項目「ライセンスキー」に「無効化中」であることを示すデータが保存されていればステップＳ３０８に進む。ステップＳ３０８において電子機器１２Ａはアプリのアンインストール処理を行う。また、検索した機器構成情報と対応付いたアプリ構成情報の項目「ライセンスキー」に「無効化中」であることを示すデータが保存されていなければステップＳ３０８の処理をスキップする。
【０１８４】
ステップＳ３０９に進んだ電子機器１２Ｂはユーザ認証を行う。ユーザ認証に成功した場合は（Ｓ３１０においてＹ）、ステップＳ３１１に進む。ユーザ認証に成功しなかった場合は（Ｓ３１０においてＮ）、図４０のフローチャートの処理を終了する。
【０１８５】
ステップＳ３１１において、電子機器１２Ｂはサーバ装置１０から状態が「完了」でない機器構成情報を検索する。状態が「完了」でない機器構成情報が存在しなければ（Ｓ３１２においてＮ）、電子機器１２Ｂは図４０のフローチャートの処理を終了する。
【０１８６】
状態が「完了」でない機器構成情報が存在すれば（Ｓ３１２においてＹ）、電子機器１２Ｂはユーザからの機器構成情報の選択を受け付け（Ｓ３１３）、サーバ装置１０に機器を登録する。ステップＳ３１４のあと、電子機器１２ＢはステップＳ３１５以降の処理を行う。
【０１８７】
ステップＳ３１５において、電子機器１２Ｂはライセンスを移行する場合であれば（Ｓ３１５においてＹ）、ステップＳ３１６に進み、複製元の電子機器１２Ａでのアプリのアンインストール完了を待つ。
【０１８８】
複製元の電子機器１２Ａでのアプリのアンインストールが完了すると、電子機器１２ＢはステップＳ３１７に進む。一方、電子機器１２Ｂはライセンスを移行する場合でなければ（Ｓ３１５においてＮ）、ステップＳ３１６の処理をスキップし、ステップＳ３１７に進む。
【０１８９】
ステップＳ３１７において、電子機器１２Ｂはアプリのインストール処理を行う。電子機器１２Ｂは設定を移行する場合（Ｓ３１８においてＹ）、ステップＳ３１９に進み、複製元の電子機器１２Ａでの設定ファイルのエクスポート完了を待つ。
【０１９０】
複製元の電子機器１２Ａでの設定ファイルのエクスポートが完了すると、電子機器１２ＢはステップＳ３２０に進む。電子機器１２Ｂは設定ファイルを移行しない場合（Ｓ３１８においてＮ）、ステップＳ３１９の処理をスキップし、ステップＳ３２０に進む。電子機器１２ＢはステップＳ３２０において、サーバ装置１０から取得した設定ファイルを反映する処理を行う。
【０１９１】
＜まとめ＞
本実施形態によれば、電子機器１２にＷｅｂアプリ３５から呼び出せないＷｅｂＡＰＩ３３が搭載されている場合に、上記した仲介アプリ３８〜４０を後からインストールすることによりＷｅｂアプリ３５からＷｅｂＡＰＩ３３を使えるようになる。Ｗｅｂアプリ３５がＷｅｂＡＰＩ３３を利用できるようにしたことで、本実施形態では、置き換え又は増設用の電子機器１２に対するアプリケーションの導入及び設定ファイルの反映を、簡単に行うことができる。このように、本実施形態によれば、既に稼働している電子機器１２と同じ状態での置き換え又は増設が容易な電子機器１２を提供できる。
【０１９２】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。ＡＰＩ３３はＷｅｂアプリケーションから呼び出すことのできないソフトウェアインタフェースの一例である。アプリ管理部３１及び設定値管理部３２はソフトウェアインタフェースを呼び出すことで利用される機能部の一例である。仲介アプリ３８〜４０は仲介手段の一例である。電子機器１２は組み込み機器の一例である。
【０１９３】
また、カスタムＵＲＬスキーム受信部５１は受信手段の一例である。リクエスト生成部５３は生成手段の一例である。ＨＴＴＰクライアント５５は通信手段の一例である。レスポンス解析部５４は解析手段の一例である。Ｗｅｂアプリ起動部５２は通知手段の一例である。リクエスト／レスポンス転送部６３は、転送手段の一例である。ＯＰＴＩＯＮＳメソッド処理部６２は許可手段の一例である。
【符号の説明】
【０１９４】
１    情報処理システム
１０    サーバ装置
１２、１２Ａ、１２Ｂ    電子機器
１４    クライアント装置
１６    ネットワーク
２１    通信部
２２    ユーザ管理部
２３    機器構成管理部
２４    アプリ情報管理部
２５    ファイル管理部
２６    ライセンス管理部
２７    アプリストレージ部
２８    機器構成情報テーブル
２９    アプリ構成情報テーブル
３１    アプリ管理部
３２    設定値管理部
３３、３４    ＷｅｂＡＰＩ
３５、４３    Ｗｅｂアプリ
３６、６１    ＨＴＴＰサーバ
３７、４１    Ｗｅｂブラウザ
３８、３９、４０    仲介アプリ
４２    管理ソフト
５１    カスタムＵＲＬスキーム受信部
５２    Ｗｅｂアプリ起動部
５３    リクエスト生成部
５４    レスポンス解析部
５５    ＨＴＴＰクライアント
６２    ＯＰＴＩＯＮＳメソッド処理部
６３    リクエスト／レスポンス転送部
６４    ＨＴＴＰクライアント
５００    コンピュータ
５０１    入力装置
５０２    表示装置
５０３    外部Ｉ／Ｆ
５０３ａ    記録媒体
５０４    ＲＡＭ
５０５    ＲＯＭ
５０６    ＣＰＵ
５０７    通信Ｉ／Ｆ
５０８    ＨＤＤ
６００    ＭＦＰ
６０１    コントローラ
６０２    操作パネル
６０３    外部Ｉ／Ｆ
６０３ａ    記録媒体
６０４    通信Ｉ／Ｆ
６０５    プリンタ
６０６    スキャナ
６１１    ＣＰＵ
６１２    ＲＡＭ
６１３    ＲＯＭ
６１４    ＮＶＲＡＭ
６１５    ＨＤＤ
Ｂ    バス
【先行技術文献】
【特許文献】
【０１９５】
【特許文献１】特開２０１５−１２１９１９号公報
【図１】
2018128760.tif 000003
【図２】
2018128760.tif 000004
【図３】
2018128760.tif 000005
【図４】
2018128760.tif 000006
【図５】
2018128760.tif 000007
【図６】
2018128760.tif 000008
【図７】
2018128760.tif 000009
【図８】
2018128760.tif 000010
【図９】
2018128760.tif 000011
【図１０】
2018128760.tif 000012
【図１１】
2018128760.tif 000013
【図１２】
2018128760.tif 000014
【図１３】
2018128760.tif 000015
【図１４】
2018128760.tif 000016
【図１５】
2018128760.tif 000017
【図１６】
2018128760.tif 000018
【図１７】
2018128760.tif 000019
【図１８】
2018128760.tif 000020
【図１９】
2018128760.tif 000021
【図２０】
2018128760.tif 000022
【図２１】
2018128760.tif 000023
【図２２】
2018128760.tif 000024
【図２３】
2018128760.tif 000025
【図２４】
2018128760.tif 000026
【図２５】
2018128760.tif 000027
【図２６】
2018128760.tif 000028
【図２７】
2018128760.tif 000029
【図２８】
2018128760.tif 000030
【図２９】
2018128760.tif 000031
【図３０】
2018128760.tif 000032
【図３１】
2018128760.tif 000033
【図３２】
2018128760.tif 000034
【図３３】
2018128760.tif 000035
【図３４】
2018128760.tif 000036
【図３５】
2018128760.tif 000037
【図３６】
2018128760.tif 000038
【図３７】
2018128760.tif 000039
【図３８】
2018128760.tif 000040
【図３９】
2018128760.tif 000041
【図４０】
2018128760.tif 000042