(57)【要約】      （修正有）【課題】電子機器に所定の処理を実行するアプリケーションの表示画面を自由にカスタマイズする情報処理システム、サーバ装置、情報処理方法及びプログラムを提供する。【解決手段】アプリケーションを管理するサーバ装置と、サーバ装置と通信ネットワークを介して通信可能な電子機器とを含む情報処理システムであって、電子機器は、サーバ装置から提供されるウェブページを表示するウェブブラウザを有する。サーバ装置は、表示画面をカスタマイズしたアプリケーションの登録を受け付けるアプリ登録部と、ウェブページに含まれるフレーム内に、アプリケーションの表示画面を表示させる画面表示処理部と、フレーム内に表示させた表示画面に対する入力の受け付けに応じて、フレームの外側のスクリプトから情報処理システムが備える機能を利用するためのインターフェースを介して機能の実行要求を受け付け、機能の実行を制御するアプリ実行部と、を有する。【選択図】図５
2020205031.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを管理するサーバ装置と、前記サーバ装置と通信ネットワークを介して通信可能な電子機器とを含む情報処理システムであって、
前記電子機器は、前記サーバ装置から提供されるウェブページを表示するウェブブラウザを有し、
前記サーバ装置は、
表示画面をカスタマイズしたアプリケーションの登録を受け付けるアプリ登録部と、
前記ウェブページに含まれるフレーム内に、前記アプリケーションの前記表示画面を表示させる画面表示処理部と、
前記フレーム内に表示させた前記表示画面に対する入力の受け付けに応じて、前記フレームの外側のスクリプトから、前記情報処理システムが備える１つ以上の機能を利用するためのインターフェースを介して前記機能の実行要求を受け付け、前記機能の実行を制御するアプリ実行部と、
を有する、情報処理システム。
【請求項２】
前記アプリケーションは、ウェブアプリケーションであり、
前記画面表示処理部は、前記ウェブアプリケーションに対する操作を受け付ける前記表示画面を前記フレーム内に表示させる、請求項１に記載の情報処理システム。
【請求項３】
前記電子機器は、画像形成装置であり、
前記アプリ実行部は、前記画像形成装置が備える画像形成機能を利用するためのインターフェースを、前記アプリケーションに提供する、請求項１又は２に記載の情報処理システム。
【請求項４】
前記サーバ装置は、前記アプリケーションが利用する一時的な情報を、前記アプリケーション毎に管理する情報管理部を有する、請求項１乃至３のいずれか一項に記載の情報処理システム。
【請求項５】
前記サーバ装置は、前記アプリケーションの脆弱性を検査する脆弱性検査部を有する、請求項１乃至４のいずれか一項に記載の情報処理システム。
【請求項６】
前記サーバ装置は、開発者によって前記サーバ装置に登録された前記アプリケーションの公開を許可するか否かを示す設定情報を管理し、前記アプリケーションの公開が許可されている場合、前記開発者とは異なる開発者による前記アプリケーションの表示画面の表示を許可する公開管理部を有する、請求項１乃至５のいずれか一項に記載の情報処理システム。
【請求項７】
前記電子機器は、
前記表示画面をカスタマイズした前記アプリケーションを作成するためのテンプレートを提供し、作成された前記アプリケーションを前記サーバ装置に登録する作成部を有する、請求項１乃至６のいずれか一項に記載の情報処理システム。
【請求項８】
前記情報処理システムは、前記サーバ装置と前記通信ネットワークを介して通信可能な情報端末を含み、
前記情報端末は、
前記表示画面をカスタマイズした前記アプリケーションを作成するためのテンプレートを提供し、作成された前記アプリケーションを前記サーバ装置に登録する作成部を有する、請求項１乃至６のいずれか一項に記載の情報処理システム。
【請求項９】
所定の処理を実行するアプリケーションを管理するサーバ装置であって、
表示画面をカスタマイズしたアプリケーションの登録を受け付けるアプリ登録部と、
前記サーバ装置と通信ネットワークを介して通信可能な電子機器にウェブページを表示させるとともに、前記ウェブページに含まれるフレーム内に、前記アプリケーションの表示画面を表示させる画面表示処理部と、
前記フレーム内に表示させた前記表示画面に対する入力の受け付けに応じて、前記フレームの外側のスクリプトから、前記サーバ装置、又は前記電子機器が備える１つ以上の機能を利用するためのインターフェースを介して前記機能の実行要求を受け付け、前記機能の実行を制御するアプリ実行部と、
を有する、サーバ装置。
【請求項１０】
所定の処理を実行するアプリケーションを管理するサーバ装置が、
表示画面をカスタマイズしたアプリケーションの登録を受け付ける処理と、
前記サーバ装置と通信ネットワークを介して通信可能な電子機器にウェブページを表示させる処理と、
前記ウェブページに含まれるフレーム内に、前記アプリケーションの表示画面を表示させる処理と、
前記フレーム内に表示させた前記表示画面に対する入力の受け付けに応じて、前記フレームの外側のスクリプトから、前記サーバ装置、又は前記電子機器が備える１つ以上の機能を利用するためのインターフェースを介して前記機能の実行要求を受け付け、前記機能の実行を制御する処理と、
を実行する、情報処理方法。
【請求項１１】
所定の処理を実行するアプリケーションを管理するサーバ装置に、
表示画面をカスタマイズしたアプリケーションの登録を受け付ける処理と、
前記サーバ装置と通信ネットワークを介して通信可能な電子機器にウェブページを表示させる処理と、
前記ウェブページに含まれるフレーム内に、前記アプリケーションの表示画面を表示させる処理と、
前記フレーム内に表示させた前記表示画面に対する入力の受け付けに応じて、前記フレームの外側のスクリプトから、前記サーバ装置、又は前記電子機器が備える１つ以上の機能を利用するためのインターフェースを介して前記機能の実行要求を受け付け、前記機能の実行を制御する処理と、
を実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、サーバ装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
ウェブページのＵＩ（User Interface）の表示方法をユーザ毎にカスタマイズし、カスタマイズされた表示方法でＵＩを表示する技術が知られている。
【０００３】
例えば、ウェブページを表示するアプリケーションを作成するときに、ユーザ毎にカスタマイズできる項目、範囲等を登録可能なウェブページ生成装置が知られている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
サービス提供サーバ等のサーバ装置を用いて、画像形成装置等の電子機器に所定の処理を実行するアプリケーションを提供する情報処理システムにおいて、アプリケーションの表示画面を自由にカスタマイズしたいという要求がある。
【０００５】
しかし、例えば、特許文献１に示されるような従来の技術では、アプリケーションを開発する開発者によって予め定められた項目、範囲内でカスタマイズを行う必要があり、アプリケーションの表示画面を自由にカスタマイズすることができないという問題がある。
【０００６】
本発明の一実施形態は、上記の問題点に鑑みてなされたものであって、サーバ装置を用いて、電子機器に所定の処理を実行するアプリケーションを提供する情報処理システムにおいて、アプリケーションの表示画面を自由にカスタマイズできるようにする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の一実施形態に係る情報処理システムは、アプリケーションを管理するサーバ装置と、前記サーバ装置と通信ネットワークを介して通信可能な電子機器とを含む情報処理システムであって、前記電子機器は、前記サーバ装置から提供されるウェブページを表示するウェブブラウザを有し、前記サーバ装置は、表示画面をカスタマイズしたアプリケーションの登録を受け付けるアプリ登録部と、前記ウェブページに含まれるフレーム内に、前記アプリケーションの前記表示画面を表示させる画面表示処理部と、前記フレーム内に表示させた前記表示画面に対する入力の受け付けに応じて、前記フレームの外側のスクリプトから前記情報処理システムが備える１つ以上の機能を利用するためのインターフェースを介して前記機能の実行要求を受け付け、前記機能の実行を制御するアプリ実行部と、を有する。
【発明の効果】
【０００８】
本発明の一実施形態によれば、サーバ装置を用いて、電子機器に所定の処理を実行するアプリケーションを提供する情報処理システムにおいて、アプリケーションの表示画面を自由にカスタマイズできるようになる。
【図面の簡単な説明】
【０００９】
【図１】一実施形態に係る情報処理システムのシステム構成の例を示す図である。
【図２】一実施形態に係る操作画面の表示方法の概要について説明するための図である。
【図３】一実施形態に係るコンピュータのハードウェア構成の例を示す図である。
【図４】一実施形態に係る画像形成装置のハードウェア構成の例を示す図である。
【図５】第１の実施形態に係るサービス提供サーバの機能構成の例を示す図である。
【図６Ａ】第１の実施形態に係るウェブサービス部の機能構成の例を示す図である。
【図６Ｂ】第１の実施形態に係るカスタムＵＩアプリ、及びカスタムＵＩライブラリのイメージを示す図である。
【図７】第１の実施形態に係る画像形成装置、及び情報端末の機能構成の例を示す図である。
【図８Ａ】第１の実施形態に係るアプリケーションの登録処理の例を示すシーケンス図である。
【図８Ｂ】第１の実施形態に係るカスタムＵＩ情報の登録処理の例を示すシーケンス図である。
【図９Ａ】第１の実施形態に係るアプリ画面の表示処理の例を示すシーケンス図である。
【図９Ｂ】第１の実施形態に係るアプリケーションの一覧画面のイメージを示す図である。
【図９Ｃ】第１の実施形態に係るアプリケーションの一覧情報の例を示す図である。
【図１０】第１の実施形態に係るスキャン実行時の処理の例を示すシーケンス図である。
【図１１】第２の実施形態に係るウェブサービス部の機能構成の例を示す図である。
【図１２】第３の実施形態に係るポータルサービス部の機能構成の例を示す図である。
【図１３】第４の実施形態に係るポータルサービス部の機能構成の例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
【００１１】
＜システム構成＞
図１は、一実施形態に係る情報処理システムのシステム構成の例を示す図である。情報処理システム１００は、例えば、サービス提供サーバ１０１、情報端末１０２、及び１つ以上の電子機器１０３等が、インターネットやＬＡＮ（Local Area Network）等の通信ネットワーク１０４を介して通信可能に接続されている。
【００１２】
サービス提供サーバ（サーバ装置）１０１は、コンピュータの構成を有する情報処理装置、又は複数の情報処理装置を含むシステムである。サービス提供サーバ１０１は、所定の処理を実行するウェブアプリケーション（アプリケーション）を管理し、通信ネットワーク１０４を介して接続される電子機器１０３等にウェブアプリケーションを提供する。
【００１３】
サービス提供サーバ１０１が提供するウェブアプリケーションは、例えば、複数の処理が定義されたワークフロー（処理手順）を実行するウェブアプリケーション、又は電子機器１０３が備える１つ以上の機能を実行するウェブアプリケーション等である。ただし、これに限られず、サービス提供サーバ１０１が提供するウェブアプリケーションは、様々な処理を実行するウェブアプリケーションであっても良い。
【００１４】
ここで、ワークフローとは、例えば、画像データ等の処理対象となる電子データに対して、入力処理、変換処理、出力処理等の所定の処理を実行する複数のコンポーネントを組み合わせた一連の処理を定義した情報である。また、コンポーネントは、ワークフローに含まれる各処理を実行するプログラムであり、プラグインと呼ばれる場合もある。
【００１５】
情報端末１０２は、デスクトップＰＣ（Personal Computer）、ノートＰＣ、スマートフォン、タブレット端末等の情報処理装置である。アプリケーションを開発する開発者（又はユーザ）等は、情報端末１０２が備えるウェブブラウザを利用して、サービス提供サーバ１０１が提供するウェブページにアクセスし、アプリケーションや、ワークフローの設定を行うことができる。
【００１６】
また、情報端末１０２は、例えば、サービス提供サーバ１０１を運営するサービス提供者等から提供されるカスタマイズ用のツールを用いて、操作画面をカスタマイズしたウェブアプリケーションを、サービス提供サーバ１０１に登録することができる。
【００１７】
電子機器１０３は、サービス提供サーバ１０１から提供されるウェブページを表示するウェブブラウザを備え、サービス提供サーバ１０１が提供するウェブページにアクセスして、アプリケーションを利用する装置である。ここでは、一例として、電子機器１０３が、スキャン機能、コピー機能、プリンタ機能、ファクシミリ機能等を一つの筐体に搭載したＭＦＰ（Multifunction Peripheral）等の画像形成装置であるものとして、以下の説明を行う。
【００１８】
ただし、電子機器１０３は、画像形成装置に限られず、ウェブブラウザを備え、サービス提供サーバ１０１が提供するウェブページにアクセス可能な様々な機器であって良い。例えば、電子機器１０３は、ＰＪ（Projector：プロジェクタ）、ＩＷＢ（Interactive White Board：相互通信が可能な電子式の黒板機能を有する白板）、デジタルサイネージ、ＨＵＤ（Head Up Display）装置等の出力装置であっても良い。また、電子機器１０３は、例えば、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、自動車（Connected Car）、デジタルカメラ、ウェアラブル端末等の機器であっても良い。さらに、電子機器１０３は、例えば、ノートＰＣ、携帯電話、スマートフォン、タブレット端末、ゲーム機、ＰＤＡ（Personal Digital Assistant）、デジタルカメラ、ウェアラブルＰＣデスクトップＰＣ等の汎用の情報処理装置であっても良い。
【００１９】
＜処理の概要＞
図２は、一実施形態に係る操作画面の表示方法の概要について説明するための図である。
【００２０】
開発者等は、例えば、情報端末１０２等にインストールされたカスタマイズ用のツール２１０を用いて、電子機器１０３等が表示する操作画面に含まれるｉｆｒａｍｅ２００内に表示するウェブアプリケーションの表示画面を、自由にカスタマイズすることができる。
【００２１】
ここで、ｉｆｒａｍｅとは、ウェブページ内の所定の領域（フレーム）内に、別のウェブページを表示させる機能である。なお、ｉｆｒａｍｅは、電子機器１０３等が表示するウェブページに含まれるフレームの一例である。
【００２２】
例えば、開発者等は、カスタマイズ用のツール２１０を用いて、図２に示すような、カスタマイズされた表示画面２０１を表示するウェブアプリケーション（以下、アプリＡと呼ぶ）を作成し、サービス提供サーバ１０１に登録することができる。
【００２３】
サービス提供サーバ１０１は、表示画面をカスタマイズしたアプリＡの登録を受け付けると、登録されたアプリＡをカスタムＵＩ記憶部２２０等に記憶しておく。また、サービス提供サーバ１０１は、画像形成装置等の電子機器１０３からアプリＡの開始要求を受け付けると、カスタムＵＩ記憶部２２０等に記憶したアプリＡを用いて、電子機器１０３が表示する操作画面２３０ａに含まれるｉｆｒａｍｅ２００内にアプリＡの表示画面２０１を表示させる。
【００２４】
同様に、開発者等は、カスタマイズ用のツール２１０を用いて、例えば、図２に示すような、カスタマイズされた表示画面２０２を表示するウェブアプリケーション（以下、アプリＢと呼ぶ）を作成し、サービス提供サーバ１０１に登録することができる。
【００２５】
サービス提供サーバ１０１は、表示画面をカスタマイズしたアプリＢの登録を受け付けると、登録されたアプリＢをカスタムＵＩ記憶部２２０等に記憶しておく。また、サービス提供サーバ１０１は、画像形成装置等の電子機器１０３からアプリＢの開始要求を受け付けると、カスタムＵＩ記憶部２２０等に記憶したアプリＢを用いて、電子機器１０３が表示する操作画面２３０ａに含まれるｉｆｒａｍｅ２００内にアプリＢの表示画面２０２を表示させる。
【００２６】
このように、サービス提供サーバ１０１は、画像形成装置等の電子機器１０３が表示するウェブページに含まれるｉｆｒａｍｅ２００内に、開発者等が作成したウェブアプリケーションの表示画面（ＵＩ：User Interface）を表示させることができる。
【００２７】
ただし、ｉｆｒａｍｅ２００内に表示されるアプリＡ、アプリＢ等は、画像形成装置等の電子機器１０３に対して、例えば、印刷、スキャンなどの実行命令を、直接出すことができない。これは、本実施形態でフレームに利用している「ｉｆｒａｍｅ」において、セキュリティの観点から、「ｓａｎｄｂｏｘ」というオプションを有効に設定しているためである。このオプションを有効にすることにより、ｉｆｒａｍｅ内のコンテンツ（カスタムＵＩアプリ）による不正な処理の実行を抑制することができる。一方、このオプションを有効にすることにより、ｉｆｒａｍｅ内のコンテンツから、情報処理システム１００が備える機能を直接利用することができなくなる。そこで、サービス提供サーバ１０１は、ｉｆｒａｍｅ２００内に表示されるアプリＡ、アプリＢ等に対して、情報処理システム１００が備える１つ以上の機能を利用するためのインターフェースを提供する。
【００２８】
これにより、画像形成装置等の電子機器１０３を利用するユーザは、ｉｆｒａｍｅ２００内に表示されたウェブアプリケーションの表示画面に対して、所定の操作を行うことにより、情報処理システム１００に所定の処理を実行させることができるようになる。
【００２９】
また、上記の構成により、複数の開発者（ベンダー等）が、カスタマイズされた表示画面を表示するウェブアプリケーション（カスタムＵＩアプリ）を作成し、サービス提供サーバ１０１に登録することができるようになる。
【００３０】
なお、上記の情報処理システム１００のシステム構成は一例である。例えば、開発者等は、電子機器１０３が備えるウェブブラウザを利用して、アプリケーションの設定、登録等を行うことも可能である。また、ユーザは、情報端末１０２が備えるウェブブラウザを利用して、サービス提供サーバ１０１が提供するアプリケーションを実行することも可能である。さらに、サービス提供サーバ１０１の機能は、複数のサーバ装置に分散して設けられていても良い。例えば、アプリケーションを管理するサーバ装置と、ワークフローを実行するサーバ装置とは異なるサーバ装置であっても良い。
【００３１】
＜ハードウェア構成＞
続いて、情報処理システム１００に含まれる各装置のハードウェア構成について説明する。
【００３２】
（サービス提供サーバ、及び情報端末のハードウェア構成）
図３は、一実施形態に係るコンピュータのハードウェア構成の例を示す図である。
【００３３】
サービス提供サーバ１０１は、例えば、図３に示すようなコンピュータ３００のハードウェア構成を有している。或いは、サービス提供サーバ１０１は、図３に示すようなハードウェア構成を有する複数のコンピュータ３００によって実現される。また、情報端末１０２は、例えば、図３に示すようなコンピュータ３００のハードウェア構成を有している。
【００３４】
コンピュータ３００は、例えば、図２に示されるように、ＣＰＵ（Central Processing Unit）３０１、ＲＯＭ（Read Only Memory）３０２、ＲＡＭ（Random Access Memory）３０３、ＨＤ（Hard Disk）３０４、ＨＤＤ(Hard Disk Drive)コントローラ３０５、ディスプレイ３０６、外部機器接続Ｉ／Ｆ(Interface)３０７、ネットワークＩ／Ｆ３０８、キーボード３０９、ポインティングデバイス３１０、ＤＶＤ−ＲＷ(Digital Versatile Disk Rewritable)ドライブ３１２、メディアＩ／Ｆ３１４、及びバスライン３１５等を備えている。
【００３５】
これらのうち、ＣＰＵ３０１は、コンピュータ３００全体の動作を制御する。ＲＯＭ３０２は、例えば、ＩＰＬ（Initial Program Loader）等のＣＰＵ３０１の起動に用いられるプログラムを記憶する。ＲＡＭ３０３は、ＣＰＵ３０１のワークエリアとして使用される。ＨＤ３０４は、プログラム等の各種データを記憶する。ＨＤＤコントローラ３０５は、ＣＰＵ３０１の制御に従ってＨＤ３０４に対する各種データの読み出し又は書き込みを制御する。
【００３６】
ディスプレイ３０６は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続Ｉ／Ｆ３０７は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、ＵＳＢ(Universal Serial Bus)メモリやプリンタ等が含まれる。ネットワークＩ／Ｆ３０８は、通信ネットワーク１０４を利用してデータ通信をするためのインターフェースである。
【００３７】
キーボード３０９は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス３１０は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。ＤＶＤ−ＲＷドライブ３１２は、着脱可能な記録媒体の一例としてのＤＶＤ−ＲＷ３１１に対する各種データの読み出し又は書き込みを制御する。なお、ＤＶＤ−ＲＷ３１１は、ＤＶＤ−ＲＷに限らず、ＤＶＤ−Ｒ等であっても良い。メディアＩ／Ｆ３１４は、フラッシュメモリ等のメディア３１３に対するデータの読み出し又は書き込み（記憶）を制御する。バスライン３１５は、上記の各構成要素を電気的に接続するためのアドレスバス、データバス及び各種の制御信号等を含む。
【００３８】
（電子機器のハードウェア構成）
図４は、一実施形態に係る画像形成装置のハードウェア構成の例を示す図である。ここでは、電子機器１０３のハードウェア構成の一例として、画像形成装置４００のハードウェア構成について説明する。ただし、これに限られず、電子機器１０３は、コンピュータの構成を備える他の装置であっても良い。
【００３９】
画像形成装置４００は、例えば、図４に示されるように、コントローラ４１０、近距離通信回路４２０、エンジン制御部４３０、操作パネル４４０、ネットワークＩ／Ｆ４５０等を備えている。
【００４０】
これらのうち、コントローラ４１０は、コンピュータの主要部であるＣＰＵ４０１、システムメモリ（ＭＥＭ−Ｐ）４０２、ノースブリッジ（ＮＢ）４０３、サウスブリッジ（ＳＢ）４０４、ＡＳＩＣ(Application Specific Integrated Circuit)４０５、記憶部であるローカルメモリ（ＭＥＭ−Ｃ）４０６、ＨＤＤコントローラ４０７、及び、記憶部であるＨＤ４０８等を有し、ＮＢ４０３とＡＳＩＣ４０５との間をＡＧＰ(Accelerated Graphics Port)バス４１１で接続した構成となっている。
【００４１】
これらのうち、ＣＰＵ４０１は、画像形成装置４００の全体制御を行う制御部である。ＮＢ４０３は、ＣＰＵ４０１と、ＭＥＭ−Ｐ４０２、ＳＢ４０４、及びＡＧＰバス４１１とを接続するためのブリッジであり、ＭＥＭ−Ｐ４０２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩ(Peripheral Component Interconnect)マスタ及びＡＧＰターゲットとを有する。
【００４２】
ＭＥＭ−Ｐ４０２は、コントローラ４１０の各機能を実現させるプログラムやデータの格納用メモリであるＲＯＭ４０２ａ、プログラムやデータの展開、及びメモリ印刷時の描画用メモリなどとして用いるＲＡＭ４０２ｂとからなる。なお、ＲＡＭ４０２ｂに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良い。
【００４３】
ＳＢ４０４は、ＮＢ４０３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。ＡＳＩＣ４０５は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ(Integrated Circuit)であり、ＡＧＰバス４１１、ＰＣＩバス４１２、ＨＤＤコントローラ４０７、及びＭＥＭ−Ｃ４０６をそれぞれ接続するブリッジの役割を有する。このＡＳＩＣ４０５は、ＰＣＩターゲット及びＡＧＰマスタ、ＡＳＩＣ４０５の中核をなすアービタ（ＡＲＢ）、ＭＥＭ−Ｃ４０６を制御するメモリコントローラ、ハードウェアロジック等により画像データの回転などを行う複数のＤＭＡＣ(Direct Memory Access Controller)、並びに、スキャナ部４３１及びプリンタ部４３２との間でＰＣＩバス４１２を介したデータ転送を行うＰＣＩユニットとからなる。なお、ＡＳＩＣ４０５には、ＵＳＢのインターフェースや、ＩＥＥＥ１３９４(Institute of Electrical and Electronics Engineers 1394）のインターフェースを接続するようにしても良い。
【００４４】
ＭＥＭ−Ｃ４０６は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。ＨＤ４０８は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行うためのストレージである。ＨＤＤコントローラ４０７は、ＣＰＵ４０１の制御に従ってＨＤ４０８に対するデータの読出又は書込を制御する。ＡＧＰバス４１１は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、ＭＥＭ−Ｐ４０２に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
【００４５】
近距離通信回路４２０は、ＮＦＣ（Near Field Communication）、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の通信回路である。近距離通信回路４２０は、例えば、アンテナ４２０ａを介して、近距離無線通信を行う。
【００４６】
エンジン制御部４３０は、例えば、スキャナ部４３１及びプリンタ部４３２等によって構成されている。スキャナ部４３１は、原稿等を読み取る読取装置である。プリンタ部４３２は、印刷データを印刷媒体に印刷する印刷装置である。スキャナ部４３１又はプリンタ部４３２には、例えば、誤差拡散やガンマ変換等の画像処理部分が含まれている。
【００４７】
操作パネル４４０は、操作画面等を表示し、操作画面に対する入力操作等を受け付けるタッチパネル等のパネル表示部４４０ａ、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなる操作ボタン４４０ｂを備えている。コントローラ４１０は、画像形成装置４００の全体の制御を行い、例えば、描画、通信、操作パネル４４０からの入力等を制御する。
【００４８】
なお、画像形成装置４００は、操作パネル４４０のアプリケーション切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、及びファクシミリ機能を順次に切り替えて選択することが可能となる。ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
【００４９】
また、ネットワークＩ／Ｆ４５０は、通信ネットワーク１０４を利用してデータ通信をするためのインターフェースである。近距離通信回路４２０及びネットワークＩ／Ｆ４５０は、例えば、ＰＣＩバス４１２を介して、ＡＳＩＣ４０５に電気的に接続されている。
【００５０】
［第１の実施形態］
＜機能構成＞
続いて、第１の実施形態に係る情報処理システム１００に含まれる各装置の機能構成について説明する。なお、ここでは、電子機器１０３が画像形成装置４００であるものとして、以下の説明を行う。
【００５１】
（サービス提供サーバの機能構成）
図５は、一実施形態に係るサービス提供サーバの機能構成の例を示す図である。
【００５２】
サービス提供サーバ１０１は、例えば、図３のＣＰＵ３０１、又は複数のコンピュータ３００で１つ以上のプログラムを実行することにより、入出力サービス部５１０、ウェブサービス部５２０、ドキュメントサービス部５３０、及びポータルサービス部５４０等を実現している。なお、上記の各機能構成のうち、少なくとも一部は、ハードウェアによって実現されるものであっても良い。
【００５３】
また、サービス提供サーバ１０１は、カスタムＵＩ記憶部２２０、アプリ情報記憶部５５０、及びポータル画面情報記憶部５６０等の記憶部を有する。カスタムＵＩ記憶部２２０、アプリ情報記憶部５５０、及びポータル画面情報記憶部５６０は、例えば、図３のＨＤ３０４等によって実現される。また、カスタムＵＩ記憶部２２０、アプリ情報記憶部５５０、及びポータル画面情報記憶部５６０のうちの少なくとも一部は、例えば、ストレージサーバ等の外部装置によって実現されるものであっても良い。
【００５４】
入出力サービス部５１０は、サービス提供サーバ１０１が提供するウェブアプリケーション（以下、アプリケーションと呼ぶ）の管理、及びアプリケーションの実行等に関する処理を行う。入出力サービス部５１０は、例えば、図５に示すようにアプリ管理部５１１、ロジック処理部５１２、フロー管理部５１３、及びコンポーネント管理部５１４等を含む。
【００５５】
アプリ管理部５１１は、サービス提供サーバ１０１が提供する複数のアプリケーションを管理する。例えば、アプリ管理部５１１は、複数のアプリケーションの情報（以下、アプリ情報５５１と呼ぶ）を、アプリ情報記憶部５５０に記憶して管理する。このアプリ情報５５１には、例えば、アプリケーションを識別する識別情報（以下、アプリケーションＩＤと呼ぶ）や、ワークフロー（処理手順）情報等が含まれる。
【００５６】
アプリ管理部５１１は、例えば、ロジック処理部５１２、画面表示処理部５２１等からの要求に応じて、アプリ情報記憶部５５０に記憶しているアプリ情報５５１を提供する。また、アプリ管理部５１１は、例えば、ポータルサービス部５４０のアプリ登録部５４２等からの要求に応じて、アプリケーションのアプリ情報５５１を、アプリ情報記憶部５５０に記憶する。
【００５７】
ロジック処理部５１２は、例えば、ウェブサービス部５２０等からの要求に応じて、アプリ管理部５１１が管理するアプリ情報５５１を取得する。また、ロジック処理部５１２は、アプリ管理部５１１から取得したアプリ情報５５１に基づいて、アプリケーションを実行する。例えば、ロジック処理部５１２は、アプリ情報５５１に含まれるワークフロー情報に定義された一連の処理を、ドキュメントサービス部５３０等に、順次に実行させる。
【００５８】
フロー管理部５１３は、アプリ管理部５１１によって、アプリ情報記憶部５５０に記憶されるアプリ情報５５１に含まれるワークフローを管理する。例えば、フロー管理部５１３は、開発者、ユーザ等によって変更されたアプリケーションのワークフローを確認し、ワークフローの修正が必要な場合、ワークフローの実行に必要な処理（コンポーネント）をワークフローに追加する処理等を行う。
【００５９】
コンポーネント管理部５１４は、ワークフローで実行可能な様々な処理を実行する複数のコンポーネントを管理する。例えば、コンポーネント管理部５１４は、ドキュメントサービス部５３０に含まれるＯＣＲ（Optical Character Recognition/Reader）５３１、ファイル変換５３２、・・・等のコンポーネントを管理する。例えば、フロー管理部５１３は、コンポーネント管理部５１４から、サービス提供サーバ１０１で利用可能なコンポーネントの情報を取得することができる。
【００６０】
ウェブサービス部５２０は、画像形成装置４００（又は情報端末１０２）が備えるウェブブラウザから、サービス提供サーバ１０１が提供するアプリケーションを利用するための処理を行う。例えば、ウェブサービス部５２０は、図５に示すように画面表示処理部５２１、及びアプリ実行部５２２を含み、ウェブブラウザに対してウェブアプリケーションを提供するアプリケーションサーバとして機能する。
【００６１】
画面表示処理部５２１は、画像形成装置４００（又は情報端末１０２）のウェブブラウザからの要求に応じて、ウェブブラウザにサービス提供サーバ１０１が提供するアプリケーションの表示画面（以下、アプリ画面と呼ぶ）を表示させる。このアプリ画面は、例えば、ＨＴＭＬ（Hyper Text Markup Language）、ＸＭＬ(Extensible Markup Language）、ｃｓｓ（Cascading Style Sheets）、ＪａｖａＳｃｒｉｐｔ（登録商標）等の言語によって作成されている。したがって、ユーザは、アプリ画面に対して操作を行うことにより、アプリケーションに対する様々な操作を行うことができる。画面表示処理部５２１は、例えば、図６Ａに示すように、フレーム外側表示処理部６０１、及びフレーム内側表示処理部６０２を含む。
【００６２】
フレーム外側表示処理部６０１は、例えば、図２の操作画面２３０ａ、２３０ｂに示すような、ｉｆｒａｍｅ２００を含む操作画面を作成し、作成した操作画面を画像形成装置４００等が備えるウェブブラウザに表示させる。
【００６３】
フレーム内側表示処理部６０２は、アプリ管理部５１１から、アプリケーションのアプリ情報５５１、及びカスタムＵＩ情報２２１を取得し、取得した情報を用いてアプリ画面を作成する。また、フレーム内側表示処理部６０２は、例えば、図２の操作画面２３０ａ、２３０ｂに示すように、操作画面に含まれるｉｆｒａｍｅ２００内に、カスタマイズされたアプリ画面を表示させる。
【００６４】
なお、アプリ情報５５１には、例えば、前述したように、アプリケーションを識別するアプリケーションＩＤや、ワークフロー（処理手順）情報等が含まれる。また、カスタムＵＩ情報２２１には、例えば、開発者等によって登録された、カスタマイズされた表示画面（ＵＩ）を表示するアプリケーション（以下、カスタムＵＩアプリと呼ぶ）、アプリケーションを識別するアプリケーションＩＤ等が含まれる。したがって、アプリケーションＩＤを用いて、アプリ情報５５１とカスタムＵＩ情報２２１との対応関係を特定することができる。
【００６５】
アプリ実行部５２２は、アプリ画面に対するユーザの操作に応じて、アプリケーションの実行を制御する。例えば、アプリ実行部５２２は、図６Ａに示すように、インターフェース部６０３を含む。
【００６６】
インターフェース部６０３は、アプリ実行部５２２が提供する、情報処理システム１００が備える１つ以上の機能を利用するためのインターフェースであり、例えば、ＣＰＵ３０１で実行されるカスタムＵＩライブラリ２２２等によって実現される。このカスタムＵＩライブラリ２２２には、ｉｆｒａｍｅ２００内から利用可能な１つ以上のスクリプト（例えば、コピー処理用のスクリプト、スキャン処理用のスクリプト等）が含まれ、例えば、カスタムＵＩ記憶部２２０等に予め記憶されている。
【００６７】
なお、情報処理システム１００が備える１つ以上の機能には、例えば、前回実行したジョブＩＤの取得、ジョブＩＤから結果の取得、スキャン／印刷の実行、ホーム画面への遷移、ジョブ履歴画面への遷移、及び状態の保存・取得等の様々な機能が含まれる。また、情報処理システム１００が備える１つ以上の機能には、例えば、ドキュメントサービス部５３０に含まれるＯＣＲ５３１、ファイル変換５３２、・・・等の機能が含まれる。
【００６８】
ｉｆｒａｍｅ２００内に表示されるカスタムＵＩアプリは、情報処理システム１００が備える上記の各機能を直接制御することはできないが、インターフェース部６０３を利用して、上記の各機能を利用することができる。
【００６９】
図６Ｂは、第１の実施形態に係るカスタムＵＩアプリ、及びカスタムＵＩライブラリのイメージを示す図である。カスタムＵＩアプリ６１０には、例えば、アプリ画面に表示する表示要素を定義する情報６１１、及び当該表示要素に対応する動作内容を定義するスクリプト６１２等が含まれている。図６Ｂの例では、表示要素の一例である「スタートボタン」が選択されると、カスタムＵＩライブラリ２２２に含まれる、スキャン処理を実行するための関数６２１を呼び出すスクリプトが実行されるようになっている。
【００７０】
複数のベンダーの開発者等は、このようなカスタムＵＩアプリ６１０を作成することにより、例えば、図２に示すような、カスタマイズされた表示画面２０１、又は表示画面２０２等を、画像形成装置４００の操作画面に表示させることができる。
【００７１】
これにより、アプリ実行部５２２は、例えば、ｉｆｒａｍｅ２００内に表示されたアプリケーションの表示画面で選択されたワークフローの実行を、ロジック処理部５１２に要求することができる。また、アプリ実行部５２２は、例えば、ｉｆｒａｍｅ２００内に表示されたアプリケーションの表示画面で選択された画像形成処理の実行を、画像形成装置４００に要求することができる。
【００７２】
このように、アプリ実行部５２２は、ｉｆｒａｍｅ２００内に表示させた表示画面に対する受付に応じて、インターフェース部６０３を介して機能の実行要求を受け付け、機能の実行を制御する。
【００７３】
ドキュメントサービス部５３０は、ロジック処理部５１２からの制御に応じて、例えば、ＯＣＲ５３１、ファイル変換５３２、・・・等のコンポーネントを用いて、ワークフローに定義された処理を実行する。
【００７４】
ＯＣＲ５３１は、例えば、スキャナで原稿を読み取った画像等から、文字を読み取り、テキストデータに変換するＯＣＲ処理を実行するコンポーネントである。ファイル変換５３２は、電子データのデータ形式を変換するファイル変換処理を実行するコンポーネントである。なお、ＯＣＲ５３１、ファイル変換５３２等は、ドキュメントサービス部５３０に含まれるコンポーネントの一例である。ドキュメントサービス部５３０は、上記の各コンポーネントとは異なる様々なコンポーネントを有していても良い。
【００７５】
ポータルサービス部５４０は、アプリケーションを開発する開発者等が、情報端末１０２（又は画像形成装置４００）のウェブブラウザを用いてアプリケーションの登録、設定等を行うための処理を行う。なお、ポータルサービス部５４０には、例えば、図５に示すように、設定画面提供部５４１、及びアプリ登録部５４２等が含まれる。
【００７６】
設定画面提供部５４１は、情報端末１０２（又は画像形成装置４００）等のウェブブラウザ等からの要求に応じて、ポータル画面情報記憶部５６０に記憶されているポータル画面情報５６１等を用いてアプリ設定画面を作成する。また、設定画面提供部５４１は、作成したアプリ設定画面を情報端末１０２等のウェブブラウザに表示させる。
【００７７】
このアプリ設定画面は、例えば、ＨＴＭＬ、ＸＭＬ、ｃｓｓ、ＪａｖａＳｃｒｉｐｔ等の言語によって作成されている。したがって、開発者等は、アプリ設定画面に対して所定の操作を行うことにより、設定操作等を行うことができる。
【００７８】
ここで作成されるアプリケーション（以下、ＷＦアプリと呼ぶ）には、例えば、前述したカスタムＵＩアプリの表示画面（ＵＩ）で選択された処理の具体的な処理（例えば、ワークフロー、処理内容、設定情報等）が設定される。
【００７９】
アプリ登録部５４２は、設定画面提供部５４１からの要求に応じて、ＷＦアプリの登録、設定、変更等をアプリ管理部５１１に要求する。例えば、アプリ登録部５４２は、設定画面提供部５４１が提供するアプリ設定画面において、ＷＦアプリの登録操作等が行われると、ＷＦアプリの登録をアプリ管理部５１１に要求する。
【００８０】
カスタムＵＩ記憶部２２０は、前述したカスタムＵＩ情報２２１、カスタムＵＩライブラリ２２２等を記憶する。アプリ情報記憶部５５０は、前述したアプリ情報５５１等を記憶する。ポータル画面情報記憶部５６０は、情報端末１０２（又は画像形成装置４００）等のウェブブラウザに、アプリ設定画面等を表示させるために用いる情報であるポータル画面情報５６１を記憶する。
【００８１】
（画像形成装置の機能構成）
図７（Ａ）は、第１の実施形態に係る画像形成装置の機能構成の例を示している。画像形成装置４００は、例えば、図４のＣＰＵ４０１で１つ以上のプログラムを実行することにより、ウェブブラウザ７０１、カスタムＵＩ作成部７０２、記憶部７０３、ウェブＡＰＩ７０４、及び画像形成部７０５等を実現している。なお、上記の各機能構成のうち、少なくとも一部は、ハードウェアによって実現されるものであっても良い。
【００８２】
ウェブブラウザ７０１は、一般的なウェブブラウザの機能を有し、例えば、サービス提供サーバ１０１から提供されるウェブページを表示するとともに、ユーザによるウェブページへの操作を受け付ける。前述したように、サービス提供サーバ１０１のウェブサービス部５２０から提供されるアプリ画面は、ＨＴＭＬ、ＸＭＬ、ｃｓｓ、ＪａｖａＳｃｒｉｐｔ等の言語によって作成されている。ウェブブラウザ７０１は、このようなアプリ画面を表示することにより、ウェブサービス部５２０の機能をウェブブラウザ７０１にロードし、スクリプトの形で実行することができる。
【００８３】
カスタムＵＩ作成部（作成部）７０２は、例えば、図４のＣＰＵ４０１で実行されるプログラム（例えば、カスタマイズ用のツール２１０やＳＤＫ等）によって実現され、開発者等が、カスタムＵＩアプリを作成ために用いられる。また、カスタムＵＩ作成部７０２は、開発者等によって作成されたカスタムＵＩアプリを、サービス提供サーバ１０１に登録（アップロード）し、利用できるようにするデプロイ処理を実行する。
【００８４】
記憶部７０３は、例えば、カスタムＵＩ作成部７０２が作成した、カスタムＵＩアプリ等の様々な情報を記憶する。
【００８５】
ウェブＡＰＩ（Application Programming Interface）７０４は、画像形成装置４００が備える、スキャン、印刷、コピー、ファクス等の画像形成機能を利用するためのＡＰＩを、サービス提供サーバ１０１に提供する。これにより、サービス提供サーバ１０１は、ウェブＡＰＩ７０４を利用して、画像形成装置４００に画像形成処理を実行させることができる。
【００８６】
画像形成部７０５は、例えば、図４のＣＰＵ４０１で実行されるプログラム、及びエンジン制御部４３０等によって実現され、スキャン、印刷、コピー、ファクス等の画像形成処理を実行する。
【００８７】
（情報端末の機能構成）
図７（Ｂ）は、第１の実施形態に係る情報端末の機能構成の例を示している。情報端末１０２は、例えば、図３のＣＰＵ３０１で１つ以上のプログラムを実行することにより、ウェブブラウザ７０１、カスタムＵＩ作成部７０２、及び記憶部７０３等を実現している。なお、ウェブブラウザ７０１、カスタムＵＩ作成部７０２、及び記憶部７０３は、画像形成装置４００が備えるウェブブラウザ７０１、カスタムＵＩ作成部７０２、及び記憶部７０３と同様なので、説明を省略する。
【００８８】
＜処理の流れ＞
続いて、第１の実施形態に係る情報処理方法の処理の流れについて説明する。
【００８９】
（アプリケーションの登録処理）
図８Ａは、第１の実施形態に係るアプリケーションの登録処理の例を示すシーケンス図である。この処理は、開発者等が、情報端末１０２（又は画像形成装置４００）等を用いて、カスタムＵＩアプリ、ＷＦアプリ等を作成し、作成したアプリケーションをサービス提供サーバ１０１に登録する処理の例を示している。なお、図７のウェブブラウザ７０１、及びカスタムＵＩ作成部７０２は、情報端末１０２に備えられていても良いし、画像形成装置４００に備えられていても良い。
【００９０】
ステップＳ８０１において、開発者等は、アプリケーションの表示画面をカスタマイズするためのテンプレートの展開操作を行う。例えば、開発者等は、情報端末１０２等にインストールされたカスタマイズ用のツール２１０を起動し、テンプレートの展開コマンドを実行させる。
【００９１】
ステップＳ８０２において、カスタムＵＩ作成部７０２は、テンプレートの展開操作を受け付けると、予め記憶したテンプレートファイルを展開し、表示する。なお、テンプレートは、カスタマイズ用の雛形となるサンプルアプリ等であり、例えば、ＨＴＭＬ、ｃｓｓ、ＪａｖａＳｃｒｉｐｔ等の言語によって作成されている。
【００９２】
ステップＳ８０３において、開発者等は、展開されたテンプレートを利用して、カスタムＵＩアプリの作成操作を行う。例えば、開発者等は、図６Ｂに示すような、カスタムＵＩアプリ６１０を作成（実装）する。
【００９３】
なお、ステップＳ８０２、Ｓ８０３示す処理は一例であり、開発者等は、テンプレートを利用せずに、カスタムＵＩアプリを作成（実装）しても良い。
【００９４】
開発者等は、カスタムＵＩアプリの作成した後に、例えば、ステップＳ８０４〜Ｓ８１５に示すような、ＷＦアプリの作成、登録処理を行う。なお、ＷＦアプリの作成、登録処理は、例えば、特許文献２（特開2018-01479）等に開示された従来技術と同様なので、ここでは詳細な説明は省略する。
【００９５】
例えば、ステップＳ８０４において、開発者等は、ウェブブラウザ７０１を用いて、アプリ設定画面の表示操作を行う。
【００９６】
ステップＳ８０５において、ウェブブラウザ７０１は、開発者等によるアプリ設定画面の表示操作を受け付けると、アプリ設定画面の取得要求をポータルサービス部５４０に送信する。
【００９７】
ステップＳ８０６において、ポータルサービス部５４０の設定画面提供部５４１は、ウェブブラウザ７０１から、アプリ設定画面の取得要求を受け付けると、アプリ設定画面をウェブブラウザ７０１に送信する。
【００９８】
ステップＳ８０７において、ウェブブラウザ７０１は、設定画面提供部５４１から受信したアプリ設定画面を表示する。
【００９９】
ステップＳ８０８において、開発者等は、ウェブブラウザ７０１に表示されたアプリ設定画面を用いて、ＷＦアプリの作成、登録操作を行う。例えば、開発者等は、各操作ボタンが選択されたときに実行する処理（例えば、スキャン、印刷等）、ワークフロー、設定情報等を設定してＷＦアプリを作成し、ＷＦアプリの登録操作を行う。
【０１００】
ステップＳ８０９において、ウェブブラウザ７０１は、開発者等によるＷＦアプリの作成、登録操作を受け付けると、ＷＦアプリの登録を要求するアプリの登録要求を、ポータルサービス部５４０に送信する。
【０１０１】
ステップＳ８１０において、ポータルサービス部５４０の設定画面提供部５４１は、ウェブブラウザ７０１からアプリ登録要求を受け付けると、受け付けたアプリ登録要求をアプリ登録部５４２に通知する。
【０１０２】
ステップＳ８１１において、アプリ登録部５４２は、通知されたアプリ登録要求を、入出力サービス部５１０のアプリ管理部５１１に送信して、ＷＦアプリの登録を要求する。
【０１０３】
ステップＳ８１２において、アプリ管理部５１１は、ＷＦアプリの登録を要求するアプリの登録要求を受け付けると、ＷＦアプリのアプリ情報５５１を、アプリ情報記憶部５５０に記憶（登録）する。また、アプリ管理部５１１は、アプリ情報記憶部５５０に記憶したＷＦアプリに対応するアプリケーションＩＤを発行する。
【０１０４】
ステップＳ８１３〜Ｓ８１５において、アプリ管理部５１１は、例えば、ＷＦアプリの登録が完了したことを示す完了通知を、ポータルサービス部５４０を介してウェブブラウザ７０１に通知する。この完了通知には、例えば、アプリ情報記憶部５５０に記憶したＷＦアプリに対応するアプリケーションＩＤが含まれる。
【０１０５】
ステップＳ８１６において、ウェブブラウザ７０１は、ＷＦアプリの登録が完了したことを示す登録完了画面を表示する。この登録完了画面には、例えば、アプリ管理部５１１から通知されたアプリケーションＩＤが表示される。これにより、開発者等は、登録したＷＦアプリに対応するアプリケーションＩＤを確認することができる。
【０１０６】
（カスタムＵＩ情報の登録処理）
図８Ｂは、第１の実施形態に係るカスタムＵＩ情報の登録処理の例を示すシーケンス図である。この処理は、例えば、図８Ａに示したアプリケーションの登録処理に続いて実行しても良いし、図８Ａに示したアプリケーションの登録処理を実行した後に、任意のタイミングで実行しても良い。
【０１０７】
ステップＳ８２１において、開発者等は、カスタマイズしたアプリケーション（カスタムＵＩアプリ）を利用できるようにするデプロイコマンドの実行操作を行う。開発者等は、例えば、図８ＡのステップＳ８１６で確認したアプリケーションＩＤを入力して、デプロイコマンドの実行操作を行う。
【０１０８】
ステップＳ８２２において、カスタムＵＩ作成部７０２は、管理者等によるデプロイコマンドの実行操作を受け付けると、カスタムＵＩアプリの圧縮ファイルを作成する。
【０１０９】
ステップＳ８２３において、カスタムＵＩ作成部７０２は、作成した圧縮ファイルと、アプリケーションＩＤとを含むデプロイ要求を、ポータルサービス部５４０に送信する。
【０１１０】
ステップＳ８２４において、ポータルサービス部５４０のアプリ登録部５４２は、カスタムＵＩ作成部７０２からデプロイ要求を受け付けると、デプロイ要求に含まれる圧縮ファイルを解凍する。
【０１１１】
ステップＳ８２５において、アプリ登録部５４２は、解凍されたファイルを検証する。例えば、アプリ登録部５４２は、解凍されたファイルのファイルサイズ、内包するファイル数、必須ファイルの有無等の確認を行う。例えば、本実施形態に係る情報処理システム１００においては、「index.html」というファイル名のファイルを必須ファイルとしている。例えば、ウェブサービス部５２０の画面表示処理部５２１は、ｉｆｒａｍｅ２００内にアプリ画面を表示するときに、「index.html」というファイル名のファイルを必ず読み込む必須ファイルとしている。従って、アプリ登録部５４２は、例えば、解凍されたファイルに、「index.html」というファイル名のファイルが含まれていない場合、解凍されたファイルに問題があると判断する。
【０１１２】
解凍されたファイルに問題がない場合、ステップＳ８２６以降の処理が実行される。一方、解凍されたファイルに問題がある場合、アプリ登録部５４２は、圧縮ファイルに問題があることをカスタムＵＩ作成部７０２に通知して、ステップＳ８２６以降の処理の実行を中止する。
【０１１３】
ステップＳ８２６において、アプリ登録部５４２は、カスタムＵＩアプリを含むカスタムＵＩ情報２２１を、カスタムＵＩ記憶部２２０に記憶する。このカスタムＵＩ情報２２１には、ステップＳ８２１で入力されたアプリケーションＩＤが含まれる。
【０１１４】
ステップＳ８２７において、アプリ登録部５４２は、入出力サービス部５１０のアプリ管理部５１１に、カスタムＵＩ情報２２１の記憶先の情報、及びアプリケーションＩＤ等の情報を通知する。
【０１１５】
ステップＳ８２８において、アプリ管理部５１１は、アプリ登録部５４２から通知された、カスタムＵＩ情報２２１の記憶先、及びアプリケーションＩＤ等を、例えば、ステップＳ８１２で記憶したアプリ情報５５１に追加して記憶する。
【０１１６】
なお、図８ＡのステップＳ８１３〜Ｓ８１５において、アプリ管理部５１１は、ウェブブラウザ７０１に通知する完了通知にアプリケーションＩＤを含めて送信する。また、開発者等は、図８ＢのステップＳ８２１において、ウェブブラウザ７０１に表示されたアプリケーションＩＤを用いて、デプロイコマンドの実行操作を行う。これにより、アプリ登録部５４２は、ステップＳ８２３において、カスタムＵＩ情報２２１の記憶先を追加するアプリ情報５５１を容易に特定することができる。
【０１１７】
ステップＳ８２９、Ｓ８３０において、アプリ管理部５１１は、アプリ登録部５４２を介して、カスタムＵＩ作成部７０２に、デプロイ処理が完了したことを示す完了通知を通知する。
【０１１８】
上記の図８Ａ、図８Ｂの処理により、開発者等によって作成、登録された、カスタムＵＩアプリが、情報処理システム１００で利用できるようになる。
【０１１９】
（アプリ画面の表示処理）
図９Ａは、第１の実施形態に係るアプリ画面の表示処理の例を示すシーケンス図である。この処理は、画像形成装置４００を利用するユーザが、図８Ａ、図８Ｂに示した処理で作成、登録した、カスタムＵＩアプリのアプリ画面（例えば、図２に示すような操作画面２３０ａ、２３０ｂ等）を、画像形成装置４００に表示する処理の例を示している。
【０１２０】
ステップＳ９０１において、画像形成装置４００のウェブブラウザ７０１には、例えば、図９Ｂに示すような、１つ以上のカスタムＵＩアプリを選択可能に表示するアプリケーションの一覧画面９２０が表示されているものとする。
【０１２１】
図９Ｂは、第１の実施形態に係るアプリケーションの一覧画面のイメージを示す図である。アプリケーションの一覧画面９２０には、例えば、図９Ｂに示すように、サービス提供サーバ１０１に登録されているカスタムＵＩアプリを選択するための複数の選択ボタン９２１ａ〜９２１ｆが表示されている。
【０１２２】
このアプリケーションの一覧画面９２０は、例えば、画像形成装置４００のメニュー画面を表示するメニュー表示アプリケーション等が、ウェブサービス部５２０から通知されるアプリケーションの一覧情報に基づいて、ウェブブラウザ７０１に表示する。
【０１２３】
図９Ｃは、第１の実施形態に係るアプリケーションの一覧情報の例を示す図である。図９Ｃの例では、アプリケーションの一覧情報９３０には、複数のアプリケーションの情報９３１ａ〜９３１ｆが含まれる。なお、以下の説明において、複数のアプリケーションの情報９３１ａ〜９３１ｆのうち、任意のアプリケーションの情報を示す場合、「アプリケーションの情報９３１」を用いる。
【０１２４】
アプリケーションの情報９３１には、例えば、カスタムＵＩアプリのＵＲＬ情報９３２、名前情報９３３、及びアイコン情報９３４等が含まれる。例えば、メニュー表示アプリケーションは、アプリケーションの情報９３１ａに含まれる名前情報９３３、及びアイコン情報９３４を用いて、図９Ｂのアプリケーションの一覧画面９２０に、「アプリ１」を選択する選択ボタン９２１ａを表示する。
【０１２５】
また、メニュー表示アプリケーションは、選択ボタン９２１ａが選択されると、アプリケーションの情報９３１ａに含まれるＵＲＬ情報９３２を含むアプリ画面の表示要求を、ウェブサービス部５２０に送信する。本実施形態では、ＵＲＬ情報９３２には、カスタムＵＩアプリを特定するための情報として、アプリケーションＩＤ９３５が含まれる。ただし、カスタムＵＩアプリを特定するための情報は、アプリケーションＩＤ９３５に限られず、例えば、アプリケーション名等のアプリケーションＩＤ以外の情報を用いるものであっても良い。
【０１２６】
なお、メニュー表示アプリケーションは、他の選択ボタン９２１ｂ〜９２１ｆについても同様に、アプリケーションの情報９３２ｂ〜９３２ｆに基づいて、図９Ｂのアプリケーションの一覧画面９２０に表示する。
【０１２７】
ここで、図９Ａに戻り、シーケンス図の説明を続ける。
【０１２８】
ステップＳ９０２において、ユーザは、カスタムＵＩアプリの開始操作を行う。例えば、ユーザは、図９Ｂに示すようなアプリケーションの一覧画面９２０において、「アプリ１」を開始したい場合、「アプリ１」の選択ボタン９２１ａを選択する。
【０１２９】
ステップＳ９０３において、画像形成装置４００のウェブブラウザ７０１は、ユーザによるカスタムＵＩアプリの開始操作を受け付けると、ウェブサービス部５２０の画面表示処理部５２１に対して、アプリ画面の表示要求を送信する。このアプリ画面の表示要求には、選択されたカスタムＵＩアプリのアプリケーションＩＤ９３５を含むＵＲＬ情報９３２が含まれる。
【０１３０】
ステップＳ９０４において、画面表示処理部５２１のフレーム外側表示処理部６０１は、アプリ画面の表示要求を受け付けると、カスタムＵＩ記憶部２２０からカスタムＵＩライブラリ２２２を取得する。このカスタムＵＩライブラリ２２２には、ｉｆｒａｍｅ２００内に表示されるカスタムＵＩアプリから利用可能な共通のスクリプト（例えば、コピー処理用のスクリプト、スキャン処理用のスクリプト等）等が含まれる。
【０１３１】
ステップＳ９０５において、画面表示処理部５２１のフレーム外側表示処理部６０１は、フレーム内側表示処理部６０２に対して、フレーム内要素（カスタムＵＩアプリのアプリ画面）の表示を要求する表示要求を通知する。このフレーム内要素の表示要求には、例えば、アプリ画面の表示要求に含まれるＵＲＬ情報９３２から取得したアプリケーションＩＤが含まれる。或いは、フレーム内要素の表示要求には、アプリケーションＩＤに代えて、アプリ画面の表示要求に含まれるＵＲＬ情報９３２が含まれていても良い。
【０１３２】
ステップＳ９０６において、フレーム内側表示処理部６０２は、カスタムＵＩ記憶部２２０から、フレーム内要素の表示要求に含まれるアプリケーションＩＤに対応するカスタムＵＩ情報２２１を取得する。
【０１３３】
ステップＳ９０７において、フレーム内側表示処理部６０２は、フレーム外側表示処理部６０１に対して、カスタムＵＩアプリに対応するアプリ情報５５１の取得を要求するアプリ情報の取得要求を通知する。このアプリ情報の取得要求には、例えば、フレーム内要素の表示要求から取得したアプリケーションＩＤが含まれる。
【０１３４】
ステップＳ９０８において、フレーム外側表示処理部６０１は、フレーム内側表示処理部６０２から通知されたアプリ情報の取得要求を、アプリ実行部５２２のインターフェース部６０３に通知する。
【０１３５】
ステップＳ９０９において、インターフェース部６０３は、フレーム外側表示処理部６０１からアプリ情報の取得要求を受け付けると、入出力サービス部５１０のアプリ管理部５１１に対して、アプリケーションＩＤに対応するアプリ情報の取得を要求する。
【０１３６】
ステップＳ９１０において、アプリ管理部５１１は、要求されたアプリケーションＩＤに対応するアプリ情報を、アプリ実行部５２２のインターフェース部６０３に通知する。例えば、アプリ管理部５１１は、アプリ情報記憶部５５０に記憶しているアプリ情報５５１のうち、要求されたアプリケーションＩＤを含むアプリ情報を取得して、インターフェース部６０３に通知する。このアプリ情報には、例えば、カスタムＵＩアプリが実行するワークフロー（処理手順）等の情報が含まれる。
【０１３７】
ステップＳ９１１、Ｓ９１２において、インターフェース部６０３は、取得したアプリ情報を、フレーム外側表示処理部６０１を介して、フレーム内側表示処理部６０２に通知する。
【０１３８】
ステップＳ９１３において、フレーム内側表示処理部６０２は、取得したアプリ情報と、カスタムＵＩ情報とを用いて、フレーム内に表示するアプリの表示画面を構築する。例えば、フレーム内側表示処理部６０２は、図２に示すようなカスタマイズされた表示画面２０１（カスタムＵＩアプリのアプリ画面）を作成する。
【０１３９】
ステップＳ９１４において、フレーム内側表示処理部６０２は、フレーム内要素（カスタムＵＩアプリのアプリ画面）を表示する。
【０１４０】
ステップＳ９１５において、フレーム外側表示処理部６０１は、カスタムＵＩアプリのアプリ画面を、ウェブブラウザ７０１に送信する。例えば、フレーム外側表示処理部６０１は、図２の操作画面２３０ａに示すように、ｉｆｒａｍｅ２００内に、カスタムＵＩアプリのアプリ画面を表示する操作画面２３０ａを、ウェブブラウザ７０１に送信して表示させる。
【０１４１】
ステップＳ９１６において、画像形成装置４００のウェブブラウザ７０１は、フレーム外側表示処理部６０１から送信されたアプリ画面を表示する。ウェブブラウザ７０１は、例えば、図２の操作画面２３０ａに示すように、ｉｆｒａｍｅ２００内に、カスタマイズされた表示画面２０１（カスタムＵＩアプリのアプリ画面）を表示するアプリ画面（操作画面２３０ａ）を表示する。
【０１４２】
（スキャン実行時の処理）
図１０は、第１の実施形態に係るスキャン実行時の処理の例を示すシーケンス図である。この処理は、例えば、図９Ａに示すアプリ画面の表示処理によって表示されたアプリ画面に対するユーザの操作に応じて、情報処理システム１００が実行する所定の処理の一例を示している。ここでは、画像形成装置４００のウェブブラウザ７０１のｉｆｒａｍｅ２００内に表示された、カスタムＵＩアプリのアプリ画面に、スキャン処理の実行を要求する「スキャン開始」ボタンが表示されているものとして、以下の説明を行う。
【０１４３】
ステップＳ１００１において、ユーザは、画像形成装置４００のウェブブラウザ７０１が表示する、カスタムＵＩアプリのアプリ画面に表示された「スキャン開始」ボタンを押下する。
【０１４４】
ステップＳ１００２において、ウェブブラウザ７０１から、画面表示処理部５２１のフレーム内側表示処理部６０２に対して、「スキャン開始」ボタンが押下されたことが通知される。
【０１４５】
ステップＳ１００３において、フレーム内側表示処理部６０２は、画像形成装置４００によるスキャン処理の実行を要求するスキャン実行要求を、フレーム外側表示処理部６０１に通知する。
【０１４６】
ステップＳ１００４において、フレーム外側表示処理部６０１は、フレーム内側表示処理部６０２から受け付けたスキャン実行要求を、アプリ実行部５２２のインターフェース部６０３に通知する。なお、フレーム外側表示処理部６０１は、上述したカスタムＵＩライブラリ２２２のスクリプトを実行することで、この処理を行っている。
【０１４７】
ステップＳ１００５において、アプリ実行部５２２のインターフェース部６０３は、画像形成装置４００のウェブＡＰＩ７０４が備えるスキャン実行ＡＰＩを実行する。
【０１４８】
なお、ステップＳ１００５に示す処理は一例である。例えば、アプリ実行部５２２は、入出力サービス部５１０のロジック処理部５１２を介して、画像形成装置４００のスキャン実行ＡＰＩを実行しても良い。或いは、アプリ実行部５２２は、サービス提供サーバ１０１が備える、画像形成装置４００のＡＰＩを利用するためのＳＤＫ（Ｓｍａｒｔ ＳＤＫ ＪＳ）等を介して、画像形成装置４００のスキャン実行ＡＰＩを実行しても良い。
【０１４９】
ステップＳ１００６において、画像形成装置４００のウェブＡＰＩ７０４は、スキャン実行ＡＰＩが実行されると、画像形成部７０５に対してスキャン実行命令を通知する。
【０１５０】
ステップＳ１００７において、画像形成部７０５は、ウェブＡＰＩ７０４から、スキャン実行命令を受け付けると、スキャン処理を実行する。
【０１５１】
ステップＳ１００８、Ｓ１００９において、アプリ実行部５２２のインターフェース部６０３は、スキャン処理を実行したことを示す完了通知を、フレーム外側表示処理部６０１を介して、フレーム内側表示処理部６０２に通知する。
【０１５２】
ステップＳ１０１０において、画面表示処理部５２１のフレーム内側表示処理部６０２は、画像形成装置４００のウェブブラウザ７０１に、スキャン処理を実行したことを通知する。
【０１５３】
図９Ａ、図１０に示すように、フレーム内側表示処理部６０２は、フレーム外側表示処理部６０１、及びインターフェース部６０３を介して、情報処理システム１００が備える機能（例えば、アプリ情報の取得処理、スキャン実行処理等）を利用する。
【０１５４】
これは、前述したように、本実施形態でフレームに利用している「ｉｆｒａｍｅ」において、セキュリティの観点から、「ｓａｎｄｂｏｘ」というオプションを有効に設定しているためである。このオプションを有効にすることにより、ｉｆｒａｍｅ内のコンテンツ（カスタムＵＩアプリ）による不正な処理の実行を抑制することができる。一方、このオプションを有効にすることにより、ｉｆｒａｍｅ内のコンテンツから、情報処理システム１００が備える機能を直接利用することができなくなる。
【０１５５】
そこで、本実施形態では、フレーム外側表示処理部６０１が、フレーム内側表示処理部６０２からの要求を受け付けて、カスタムＵＩライブラリ２２２のスクリプトを実行することで、ｉｆｒａｍｅ２００内のカスタムＵＩアプリから、情報処理システム１００の機能を利用できるようにしている。
【０１５６】
以上、本実施形態によれば、開発者等は、表示画面をカスタマイズしたカスタムＵＩアプリを作成することにより、画像形成装置４００等の電子機器１０３が表示するアプリケーションの表示画面を自由にカスタマイズすることができるようになる。
【０１５７】
［第２の実施形態］
第２の実施形態では、サービス提供サーバ１０１が、アプリケーションが利用する一時的な情報を、アプリケーション毎に管理する情報管理部を有する場合の例について説明する。
【０１５８】
図１１は、第２の実施形態に係るウェブサービス部の機能構成の例を示す図である。第２の実施形態に係るウェブサービス部５２０は、図５に示す第１の実施形態に係るウェブサービス部５２０の機能構成に加えて、情報管理部１１０１を備えている。
【０１５９】
情報管理部１１０１は、例えば、図３のＣＰＵ３０１で実行されるｉｆｒａｍｅ２００外のアプリケーションによって実現される。情報管理部１１０１は、ｉｆｒａｍｅ２００内のアプリケーション（カスタムＵＩアプリ）が利用する一時的な情報を、アプリケーション毎に管理する。
【０１６０】
具体的な一例として、Ａ社が開発した第１のカスタムＵＩアプリがｉｆｒａｍｅ２００内に読み込まれており、この第１のカスタムＵＩアプリは、入力されたメールアドレスに対してスキャンした文章を送信する処理（ワークフロー）を実行可能であるものとする。また、この第１のカスタムＵＩアプリは、一度入力されたメールアドレス（一時的な情報）を、ｉｆｒａｍｅ２００外の情報管理部１１０１に一時的に記憶する。これにより、ｉｆｒａｍｅ２００内に、他のカスタムＵＩアプリ（例えば、Ｂ社が開発した第２のカスタムＵＩアプリ）が読み込まれた場合、第１のカスタムＵＩアプリが情報管理部１１０１に一時的に記憶した情報を再利用することができる。
【０１６１】
情報管理部１１０１は、カスタムＵＩアプリが利用する一時的な情報を管理するために、例えば、ウェブブラウザ７０１の「ｌｏｃａｌＳｔｏｒａｇｅ（ローカルストレージ）」を利用することができる。ｌｏｃａｌＳｔｏｒａｇｅは、ＪａｖａＳｃｒｉｐｔを利用して、任意のデータをクライアント側（ウェブブラウザ７０１）に保存する機能である。例えば、ｌｏｃａｌＳｔｏｒａｇｅ内に、Ａ社のカスタムＵＩアプリ用の保存領域、Ｂ社のカスタムＵＩアプリ用の保存領域といったように、各カスタムＵＩアプリに対応する保存領域を用意する。なお、Ａ社のカスタムＵＩアプリ用の保存領域に記憶された情報は、Ａ社のカスタムＵＩアプリから再利用可能であるが、他社のカスタムＵＩアプリからは利用できないようになっている。
【０１６２】
例えば、情報管理部１１０１は、ｉｆｒａｍｅ２００内に、第２のカスタムＵＩアプリが読み込まれたときに、第１のカスタムＵＩアプリが一時的に記憶した情報にはアクセスできないように管理する。このように、カスタムＵＩアプリが利用する一時的な情報を、カスタムＵＩアプリ毎に管理することにより、例えば、第１のカスタムＵＩアプリが記憶した一時的な情報が、第２のカスタムＵＩアプリにより、書き換えられること等を効果的に抑制することができる。
【０１６３】
［第３の実施形態］
第３の実施形態では、サービス提供サーバ１０１が、開発者等によりサービス提供サーバ１０１に登録されるカスタムＵＩアプリの脆弱性を検査する脆弱性検査部を有する場合の例について説明する。
【０１６４】
図１２は、第３の実施形態に係るポータルサービス部の機能構成の例を示す図である。第３の実施形態に係るポータルサービス部５４０は、図５に示す第１の実施形態に係るポータルサービス部５４０の機能構成に加えて、脆弱性検査部１２０１を備えている。なお、脆弱性検査部１２０１は、アプリ登録部５４２に含まれていても良い。
【０１６５】
脆弱性検査部１２０１は、例えば、図３のＣＰＵ３０１で実行されるプログラムによって実現され、開発者等によりサービス提供サーバ１０１に登録されるカスタムＵＩアプリの脆弱性を検査する。
【０１６６】
例えば、脆弱性検査部１２０１は、図８ＢのステップＳ８２５において、アプリ登録部５４２が、解凍されたファイルを検証する際に、解凍されたカスタムＵＩアプリの脆弱性を検査する。例えば、解凍されたカスタムＵＩアプリに入力フォームがある場合、脆弱性検査部１２０１は、インジェクション攻撃（クロスサイトスクリプティングやＳＱＬインジェクション等）や、その他の脆弱性がないかを検証する。
【０１６７】
具体的な一例として、脆弱性検査部１２０１は、脆弱性検査に関して、どのような条件が成り立つときに、どのような処理を実行すべきか、という問題解決に必要な知識を予めルールとして登録しておく。また、脆弱性検査部１２０１は、登録されたルールに該当する場合に脆弱性を検出するといったルールベースで、解凍されたカスタムＵＩアプリの脆弱性を検出しても良い。
【０１６８】
脆弱性検査部１２０１により、カスタムＵＩアプリに脆弱性が見つかった場合、アプリ登録部５４２は、例えば、脆弱性が見つかったカスタムＵＩアプリの登録を中止する。
【０１６９】
なお、脆弱性検査部１２０１は、サービス提供サーバ１０１が備えていれば良く、例えば、ポータルサービス部５４０の外部に設けられていても良い。また、脆弱性検査部１２０１が、カスタムＵＩアプリの脆弱性を検査するタイミングは、例えば、ｉｆｒａｍｅ２００内にカスタムＵＩアプリを読み込むとき等、カスタムＵＩアプリの登録時以外のタイミングであっても良い。
【０１７０】
また、第３の実施形態は、第２の実施形態と組み合わせて実施することができる。
【０１７１】
［第４の実施形態］
第４の実施形態では、サービス提供サーバ１０１が、開発者によって登録されたカスタムＵＩアプリの公開を許可するか否かを示す設定情報を管理する公開管理部を有する場合の例について説明する。ここで、公開の範囲とは、カスタムＵＩアプリを開発する開発者間における公開の範囲を示す。この機能により、カスタムＵＩアプリを開発する開発者は、自身でカスタムＵＩアプリを全て開発するか、他の開発者が開発したカスタムＵＩアプリを利用してカスタムＵＩアプリを開発するかを選択することができるようになる。
【０１７２】
図１３は、第４の実施形態に係るポータルサービス部の機能構成の例を示す図である。第４の実施形態に係るポータルサービス部５４０は、図５に示す第１の実施形態に係るポータルサービス部５４０の機能構成に加えて、公開管理部１３０１を備えている。なお、公開管理部１３０１は、設定画面提供部５４１に含まれていても良い。
【０１７３】
公開管理部１３０１は、例えば、図３のＣＰＵ３０１で実行されるプログラムによって実現され、開発者等によってサービス提供サーバ１０１に登録されたカスタムＵＩアプリの公開を許可するか否かを示す設定情報を管理する。
【０１７４】
例えば、公開管理部１３０１は、開発者等によりサービス提供サーバ１０１に登録されたカスタムＵＩアプリの公開を許可するか否かを設定する設定画面を、情報端末１０２（又は画像形成装置４００）等のウェブブラウザ７０１に表示させることができる。また、公開管理部１３０１は、管理者等によって設定された、カスタムＵＩアプリの公開を許可するか否かを示す設定情報を、例えば、図４のＨＤ３０４等に記憶して管理する。
【０１７５】
また、公開管理部１３０１は、サービス提供サーバ１０１に登録されたカスタムＵＩアプリの公開が許可されている場合、他の開発者等による、カスタムＵＩアプリの利用を許可する。
【０１７６】
これにより、開発者等は、他の開発者等がサービス提供サーバ１０１に登録し、公開を許可するように設定したカスタムＵＩアプリをベースにして、新たなカスタムＵＩアプリを作成することができるようになる。
【０１７７】
なお、第４の実施形態は、第２の実施形態、第３の実施形態等と組み合わせて実施することができる。
【０１７８】
以上、本発明の各実施形態によれば、サービス提供サーバ（サーバ装置）１０１を用いて、電子機器１０３にアプリケーションを提供する情報処理システム１００において、アプリケーションの表示画面を自由にカスタマイズできるようになる。
【０１７９】
＜補足＞
上記で説明した各実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたＡＳＩＣ（Application Specific Integrated Circuit）、ＤＳＰ（digital signal processor）、ＦＰＧＡ（field programmable gate array）や従来の回路モジュール等のデバイスを含むものとする。
【符号の説明】
【０１８０】
１００      情報処理システム
１０１      サービス提供サーバ（サーバ装置）
１０３      電子機器
２００      ｉｆｒａｍｅ（フレームの一例）
５２１      画面表示処理部
５２２      アプリ実行部
５４２      アプリ登録部
６０３      インターフェース部（インターフェース）
７０１      ウェブブラウザ
７０２      カスタムＵＩ作成部（作成部）
１１０１    情報管理部
１２０１    脆弱性検査部
１３０１    公開管理部
【先行技術文献】
【特許文献】
【０１８１】
【特許文献１】特開平０７−１１０７６３号公報
【特許文献２】特開２０１８−０１４０７９
【図１】
2020205031.tif 000003
【図２】
2020205031.tif 000004
【図３】
2020205031.tif 000005
【図４】
2020205031.tif 000006
【図５】
2020205031.tif 000007
【図６Ａ】
2020205031.tif 000008
【図６Ｂ】
2020205031.tif 000009
【図７】
2020205031.tif 000010
【図８Ａ】
2020205031.tif 000011
【図８Ｂ】
2020205031.tif 000012
【図９Ａ】
2020205031.tif 000013
【図９Ｂ】
2020205031.tif 000014
【図９Ｃ】
2020205031.tif 000015
【図１０】
2020205031.tif 000016
【図１１】
2020205031.tif 000017
【図１２】
2020205031.tif 000018
【図１３】
2020205031.tif 000019