JP2020205031A - Information processing system, server device, information processing method, and program - Google Patents
Information processing system, server device, information processing method, and program Download PDFInfo
- Publication number
- JP2020205031A JP2020205031A JP2020079580A JP2020079580A JP2020205031A JP 2020205031 A JP2020205031 A JP 2020205031A JP 2020079580 A JP2020079580 A JP 2020079580A JP 2020079580 A JP2020079580 A JP 2020079580A JP 2020205031 A JP2020205031 A JP 2020205031A
- Authority
- JP
- Japan
- Prior art keywords
- application
- unit
- server device
- information
- custom
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 49
- 238000003672 processing method Methods 0.000 title claims abstract description 5
- 238000012545 processing Methods 0.000 claims abstract description 104
- 230000006870 function Effects 0.000 claims abstract description 59
- 238000004891 communication Methods 0.000 claims abstract description 22
- 238000013515 script Methods 0.000 claims abstract description 17
- 230000004044 response Effects 0.000 claims abstract description 14
- 238000000034 method Methods 0.000 claims description 69
- 230000008569 process Effects 0.000 claims description 60
- 238000007689 inspection Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 description 20
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000007639 printing Methods 0.000 description 8
- 238000012015 optical character recognition Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000007704 transition Effects 0.000 description 3
- 244000035744 Hura crepitans Species 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Stored Programmes (AREA)
- Facsimiles In General (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
本発明は、情報処理システム、サーバ装置、情報処理方法、及びプログラムに関する。 The present invention relates to an information processing system, a server device, an information processing method, and a program.
ウェブページのUI(User Interface)の表示方法をユーザ毎にカスタマイズし、カスタマイズされた表示方法でUIを表示する技術が知られている。 There is known a technique of customizing the display method of the UI (User Interface) of a web page for each user and displaying the UI with the customized display method.
例えば、ウェブページを表示するアプリケーションを作成するときに、ユーザ毎にカスタマイズできる項目、範囲等を登録可能なウェブページ生成装置が知られている(例えば、特許文献1参照)。 For example, there is known a web page generator capable of registering items, ranges, etc. that can be customized for each user when creating an application for displaying a web page (see, for example, Patent Document 1).
サービス提供サーバ等のサーバ装置を用いて、画像形成装置等の電子機器に所定の処理を実行するアプリケーションを提供する情報処理システムにおいて、アプリケーションの表示画面を自由にカスタマイズしたいという要求がある。 In an information processing system that provides an application that executes a predetermined process to an electronic device such as an image forming apparatus by using a server device such as a service providing server, there is a demand for freely customizing an application display screen.
しかし、例えば、特許文献1に示されるような従来の技術では、アプリケーションを開発する開発者によって予め定められた項目、範囲内でカスタマイズを行う必要があり、アプリケーションの表示画面を自由にカスタマイズすることができないという問題がある。
However, for example, in the conventional technology as shown in
本発明の一実施形態は、上記の問題点に鑑みてなされたものであって、サーバ装置を用いて、電子機器に所定の処理を実行するアプリケーションを提供する情報処理システムにおいて、アプリケーションの表示画面を自由にカスタマイズできるようにする。 One embodiment of the present invention has been made in view of the above problems, and is an application display screen in an information processing system that provides an application that executes a predetermined process to an electronic device by using a server device. Allows you to customize freely.
上記目的を達成するため、本発明の一実施形態に係る情報処理システムは、アプリケーションを管理するサーバ装置と、前記サーバ装置と通信ネットワークを介して通信可能な電子機器とを含む情報処理システムであって、前記電子機器は、前記サーバ装置から提供されるウェブページを表示するウェブブラウザを有し、前記サーバ装置は、表示画面をカスタマイズしたアプリケーションの登録を受け付けるアプリ登録部と、前記ウェブページに含まれるフレーム内に、前記アプリケーションの前記表示画面を表示させる画面表示処理部と、前記フレーム内に表示させた前記表示画面に対する入力の受け付けに応じて、前記フレームの外側のスクリプトから前記情報処理システムが備える1つ以上の機能を利用するためのインターフェースを介して前記機能の実行要求を受け付け、前記機能の実行を制御するアプリ実行部と、を有する。 In order to achieve the above object, the information information system according to the embodiment of the present invention is an information information system including a server device for managing an application and an electronic device capable of communicating with the server device via a communication network. The electronic device has a web browser that displays a web page provided by the server device, and the server device includes an application registration unit that accepts registration of an application whose display screen is customized, and the web page. In response to the screen display processing unit that displays the display screen of the application in the frame and the reception of input to the display screen displayed in the frame, the information processing system can be displayed from a script outside the frame. It has an application execution unit that receives an execution request of the function through an interface for using one or more functions and controls the execution of the function.
本発明の一実施形態によれば、サーバ装置を用いて、電子機器に所定の処理を実行するアプリケーションを提供する情報処理システムにおいて、アプリケーションの表示画面を自由にカスタマイズできるようになる。 According to one embodiment of the present invention, in an information processing system that provides an application that executes a predetermined process to an electronic device by using a server device, the display screen of the application can be freely customized.
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
<システム構成>
図1は、一実施形態に係る情報処理システムのシステム構成の例を示す図である。情報処理システム100は、例えば、サービス提供サーバ101、情報端末102、及び1つ以上の電子機器103等が、インターネットやLAN(Local Area Network)等の通信ネットワーク104を介して通信可能に接続されている。
<System configuration>
FIG. 1 is a diagram showing an example of a system configuration of an information processing system according to an embodiment. In the
サービス提供サーバ(サーバ装置)101は、コンピュータの構成を有する情報処理装置、又は複数の情報処理装置を含むシステムである。サービス提供サーバ101は、所定の処理を実行するウェブアプリケーション(アプリケーション)を管理し、通信ネットワーク104を介して接続される電子機器103等にウェブアプリケーションを提供する。
The service providing server (server device) 101 is an information processing device having a computer configuration, or a system including a plurality of information processing devices. The
サービス提供サーバ101が提供するウェブアプリケーションは、例えば、複数の処理が定義されたワークフロー(処理手順)を実行するウェブアプリケーション、又は電子機器103が備える1つ以上の機能を実行するウェブアプリケーション等である。ただし、これに限られず、サービス提供サーバ101が提供するウェブアプリケーションは、様々な処理を実行するウェブアプリケーションであっても良い。
The web application provided by the
ここで、ワークフローとは、例えば、画像データ等の処理対象となる電子データに対して、入力処理、変換処理、出力処理等の所定の処理を実行する複数のコンポーネントを組み合わせた一連の処理を定義した情報である。また、コンポーネントは、ワークフローに含まれる各処理を実行するプログラムであり、プラグインと呼ばれる場合もある。 Here, the workflow defines a series of processes in which a plurality of components that execute predetermined processes such as input process, conversion process, and output process are combined with respect to electronic data to be processed such as image data. It is the information that was done. In addition, a component is a program that executes each process included in a workflow, and is sometimes called a plug-in.
情報端末102は、デスクトップPC(Personal Computer)、ノートPC、スマートフォン、タブレット端末等の情報処理装置である。アプリケーションを開発する開発者(又はユーザ)等は、情報端末102が備えるウェブブラウザを利用して、サービス提供サーバ101が提供するウェブページにアクセスし、アプリケーションや、ワークフローの設定を行うことができる。
The
また、情報端末102は、例えば、サービス提供サーバ101を運営するサービス提供者等から提供されるカスタマイズ用のツールを用いて、操作画面をカスタマイズしたウェブアプリケーションを、サービス提供サーバ101に登録することができる。
Further, the
電子機器103は、サービス提供サーバ101から提供されるウェブページを表示するウェブブラウザを備え、サービス提供サーバ101が提供するウェブページにアクセスして、アプリケーションを利用する装置である。ここでは、一例として、電子機器103が、スキャン機能、コピー機能、プリンタ機能、ファクシミリ機能等を一つの筐体に搭載したMFP(Multifunction Peripheral)等の画像形成装置であるものとして、以下の説明を行う。
The
ただし、電子機器103は、画像形成装置に限られず、ウェブブラウザを備え、サービス提供サーバ101が提供するウェブページにアクセス可能な様々な機器であって良い。例えば、電子機器103は、PJ(Projector:プロジェクタ)、IWB(Interactive White Board:相互通信が可能な電子式の黒板機能を有する白板)、デジタルサイネージ、HUD(Head Up Display)装置等の出力装置であっても良い。また、電子機器103は、例えば、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、自動車(Connected Car)、デジタルカメラ、ウェアラブル端末等の機器であっても良い。さらに、電子機器103は、例えば、ノートPC、携帯電話、スマートフォン、タブレット端末、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブルPCデスクトップPC等の汎用の情報処理装置であっても良い。
However, the
<処理の概要>
図2は、一実施形態に係る操作画面の表示方法の概要について説明するための図である。
<Outline of processing>
FIG. 2 is a diagram for explaining an outline of a display method of an operation screen according to an embodiment.
開発者等は、例えば、情報端末102等にインストールされたカスタマイズ用のツール210を用いて、電子機器103等が表示する操作画面に含まれるiframe200内に表示するウェブアプリケーションの表示画面を、自由にカスタマイズすることができる。
For example, the developer or the like can freely display the display screen of the web application to be displayed in the
ここで、iframeとは、ウェブページ内の所定の領域(フレーム)内に、別のウェブページを表示させる機能である。なお、iframeは、電子機器103等が表示するウェブページに含まれるフレームの一例である。
Here, the iframe is a function of displaying another web page within a predetermined area (frame) in the web page. The iframe is an example of a frame included in a web page displayed by an
例えば、開発者等は、カスタマイズ用のツール210を用いて、図2に示すような、カスタマイズされた表示画面201を表示するウェブアプリケーション(以下、アプリAと呼ぶ)を作成し、サービス提供サーバ101に登録することができる。
For example, a developer or the like uses a
サービス提供サーバ101は、表示画面をカスタマイズしたアプリAの登録を受け付けると、登録されたアプリAをカスタムUI記憶部220等に記憶しておく。また、サービス提供サーバ101は、画像形成装置等の電子機器103からアプリAの開始要求を受け付けると、カスタムUI記憶部220等に記憶したアプリAを用いて、電子機器103が表示する操作画面230aに含まれるiframe200内にアプリAの表示画面201を表示させる。
When the
同様に、開発者等は、カスタマイズ用のツール210を用いて、例えば、図2に示すような、カスタマイズされた表示画面202を表示するウェブアプリケーション(以下、アプリBと呼ぶ)を作成し、サービス提供サーバ101に登録することができる。
Similarly, developers and the like use the
サービス提供サーバ101は、表示画面をカスタマイズしたアプリBの登録を受け付けると、登録されたアプリBをカスタムUI記憶部220等に記憶しておく。また、サービス提供サーバ101は、画像形成装置等の電子機器103からアプリBの開始要求を受け付けると、カスタムUI記憶部220等に記憶したアプリBを用いて、電子機器103が表示する操作画面230aに含まれるiframe200内にアプリBの表示画面202を表示させる。
When the
このように、サービス提供サーバ101は、画像形成装置等の電子機器103が表示するウェブページに含まれるiframe200内に、開発者等が作成したウェブアプリケーションの表示画面(UI:User Interface)を表示させることができる。
In this way, the
ただし、iframe200内に表示されるアプリA、アプリB等は、画像形成装置等の電子機器103に対して、例えば、印刷、スキャンなどの実行命令を、直接出すことができない。これは、本実施形態でフレームに利用している「iframe」において、セキュリティの観点から、「sandbox」というオプションを有効に設定しているためである。このオプションを有効にすることにより、iframe内のコンテンツ(カスタムUIアプリ)による不正な処理の実行を抑制することができる。一方、このオプションを有効にすることにより、iframe内のコンテンツから、情報処理システム100が備える機能を直接利用することができなくなる。そこで、サービス提供サーバ101は、iframe200内に表示されるアプリA、アプリB等に対して、情報処理システム100が備える1つ以上の機能を利用するためのインターフェースを提供する。
However, the application A, application B, and the like displayed in the
これにより、画像形成装置等の電子機器103を利用するユーザは、iframe200内に表示されたウェブアプリケーションの表示画面に対して、所定の操作を行うことにより、情報処理システム100に所定の処理を実行させることができるようになる。
As a result, the user who uses the
また、上記の構成により、複数の開発者(ベンダー等)が、カスタマイズされた表示画面を表示するウェブアプリケーション(カスタムUIアプリ)を作成し、サービス提供サーバ101に登録することができるようになる。
Further, with the above configuration, a plurality of developers (vendors and the like) can create a web application (custom UI application) that displays a customized display screen and register it in the
なお、上記の情報処理システム100のシステム構成は一例である。例えば、開発者等は、電子機器103が備えるウェブブラウザを利用して、アプリケーションの設定、登録等を行うことも可能である。また、ユーザは、情報端末102が備えるウェブブラウザを利用して、サービス提供サーバ101が提供するアプリケーションを実行することも可能である。さらに、サービス提供サーバ101の機能は、複数のサーバ装置に分散して設けられていても良い。例えば、アプリケーションを管理するサーバ装置と、ワークフローを実行するサーバ装置とは異なるサーバ装置であっても良い。
The system configuration of the
<ハードウェア構成>
続いて、情報処理システム100に含まれる各装置のハードウェア構成について説明する。
<Hardware configuration>
Subsequently, the hardware configuration of each device included in the
(サービス提供サーバ、及び情報端末のハードウェア構成)
図3は、一実施形態に係るコンピュータのハードウェア構成の例を示す図である。
(Hardware configuration of service providing server and information terminal)
FIG. 3 is a diagram showing an example of a computer hardware configuration according to an embodiment.
サービス提供サーバ101は、例えば、図3に示すようなコンピュータ300のハードウェア構成を有している。或いは、サービス提供サーバ101は、図3に示すようなハードウェア構成を有する複数のコンピュータ300によって実現される。また、情報端末102は、例えば、図3に示すようなコンピュータ300のハードウェア構成を有している。
The
コンピュータ300は、例えば、図2に示されるように、CPU(Central Processing Unit)301、ROM(Read Only Memory)302、RAM(Random Access Memory)303、HD(Hard Disk)304、HDD(Hard Disk Drive)コントローラ305、ディスプレイ306、外部機器接続I/F(Interface)307、ネットワークI/F308、キーボード309、ポインティングデバイス310、DVD−RW(Digital Versatile Disk Rewritable)ドライブ312、メディアI/F314、及びバスライン315等を備えている。
As shown in FIG. 2, for example, the
これらのうち、CPU301は、コンピュータ300全体の動作を制御する。ROM302は、例えば、IPL(Initial Program Loader)等のCPU301の起動に用いられるプログラムを記憶する。RAM303は、CPU301のワークエリアとして使用される。HD304は、プログラム等の各種データを記憶する。HDDコントローラ305は、CPU301の制御に従ってHD304に対する各種データの読み出し又は書き込みを制御する。
Of these, the
ディスプレイ306は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F307は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等が含まれる。ネットワークI/F308は、通信ネットワーク104を利用してデータ通信をするためのインターフェースである。
The
キーボード309は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス310は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD−RWドライブ312は、着脱可能な記録媒体の一例としてのDVD−RW311に対する各種データの読み出し又は書き込みを制御する。なお、DVD−RW311は、DVD−RWに限らず、DVD−R等であっても良い。メディアI/F314は、フラッシュメモリ等のメディア313に対するデータの読み出し又は書き込み(記憶)を制御する。バスライン315は、上記の各構成要素を電気的に接続するためのアドレスバス、データバス及び各種の制御信号等を含む。
The
(電子機器のハードウェア構成)
図4は、一実施形態に係る画像形成装置のハードウェア構成の例を示す図である。ここでは、電子機器103のハードウェア構成の一例として、画像形成装置400のハードウェア構成について説明する。ただし、これに限られず、電子機器103は、コンピュータの構成を備える他の装置であっても良い。
(Hardware configuration of electronic devices)
FIG. 4 is a diagram showing an example of the hardware configuration of the image forming apparatus according to the embodiment. Here, as an example of the hardware configuration of the
画像形成装置400は、例えば、図4に示されるように、コントローラ410、近距離通信回路420、エンジン制御部430、操作パネル440、ネットワークI/F450等を備えている。
The
これらのうち、コントローラ410は、コンピュータの主要部であるCPU401、システムメモリ(MEM−P)402、ノースブリッジ(NB)403、サウスブリッジ(SB)404、ASIC(Application Specific Integrated Circuit)405、記憶部であるローカルメモリ(MEM−C)406、HDDコントローラ407、及び、記憶部であるHD408等を有し、NB403とASIC405との間をAGP(Accelerated Graphics Port)バス411で接続した構成となっている。
Of these, the
これらのうち、CPU401は、画像形成装置400の全体制御を行う制御部である。NB403は、CPU401と、MEM−P402、SB404、及びAGPバス411とを接続するためのブリッジであり、MEM−P402に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。
Of these, the
MEM−P402は、コントローラ410の各機能を実現させるプログラムやデータの格納用メモリであるROM402a、プログラムやデータの展開、及びメモリ印刷時の描画用メモリなどとして用いるRAM402bとからなる。なお、RAM402bに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、CD−R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良い。
The MEM-P402 includes a ROM 402a which is a memory for storing programs and data that realizes each function of the
SB404は、NB403とPCIデバイス、周辺デバイスとを接続するためのブリッジである。ASIC405は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス411、PCIバス412、HDDコントローラ407、及びMEM−C406をそれぞれ接続するブリッジの役割を有する。このASIC405は、PCIターゲット及びAGPマスタ、ASIC405の中核をなすアービタ(ARB)、MEM−C406を制御するメモリコントローラ、ハードウェアロジック等により画像データの回転などを行う複数のDMAC(Direct Memory Access Controller)、並びに、スキャナ部431及びプリンタ部432との間でPCIバス412を介したデータ転送を行うPCIユニットとからなる。なお、ASIC405には、USBのインターフェースや、IEEE1394(Institute of Electrical and Electronics Engineers 1394)のインターフェースを接続するようにしても良い。
The SB404 is a bridge for connecting the NB403 to a PCI device and peripheral devices. The
MEM−C406は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。HD408は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行うためのストレージである。HDDコントローラ407は、CPU401の制御に従ってHD408に対するデータの読出又は書込を制御する。AGPバス411は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM−P402に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
The MEM-C406 is a local memory used as a copy image buffer and a code buffer. The HD408 is a storage for accumulating image data, accumulating font data used at the time of printing, and accumulating forms. The
近距離通信回路420は、NFC(Near Field Communication)、Bluetooth(登録商標)等の通信回路である。近距離通信回路420は、例えば、アンテナ420aを介して、近距離無線通信を行う。
The short-
エンジン制御部430は、例えば、スキャナ部431及びプリンタ部432等によって構成されている。スキャナ部431は、原稿等を読み取る読取装置である。プリンタ部432は、印刷データを印刷媒体に印刷する印刷装置である。スキャナ部431又はプリンタ部432には、例えば、誤差拡散やガンマ変換等の画像処理部分が含まれている。
The
操作パネル440は、操作画面等を表示し、操作画面に対する入力操作等を受け付けるタッチパネル等のパネル表示部440a、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなる操作ボタン440bを備えている。コントローラ410は、画像形成装置400の全体の制御を行い、例えば、描画、通信、操作パネル440からの入力等を制御する。
The
なお、画像形成装置400は、操作パネル440のアプリケーション切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、及びファクシミリ機能を順次に切り替えて選択することが可能となる。ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
The
また、ネットワークI/F450は、通信ネットワーク104を利用してデータ通信をするためのインターフェースである。近距離通信回路420及びネットワークI/F450は、例えば、PCIバス412を介して、ASIC405に電気的に接続されている。
Further, the network I /
[第1の実施形態]
<機能構成>
続いて、第1の実施形態に係る情報処理システム100に含まれる各装置の機能構成について説明する。なお、ここでは、電子機器103が画像形成装置400であるものとして、以下の説明を行う。
[First Embodiment]
<Functional configuration>
Subsequently, the functional configuration of each device included in the
(サービス提供サーバの機能構成)
図5は、一実施形態に係るサービス提供サーバの機能構成の例を示す図である。
(Functional configuration of service providing server)
FIG. 5 is a diagram showing an example of the functional configuration of the service providing server according to the embodiment.
サービス提供サーバ101は、例えば、図3のCPU301、又は複数のコンピュータ300で1つ以上のプログラムを実行することにより、入出力サービス部510、ウェブサービス部520、ドキュメントサービス部530、及びポータルサービス部540等を実現している。なお、上記の各機能構成のうち、少なくとも一部は、ハードウェアによって実現されるものであっても良い。
The
また、サービス提供サーバ101は、カスタムUI記憶部220、アプリ情報記憶部550、及びポータル画面情報記憶部560等の記憶部を有する。カスタムUI記憶部220、アプリ情報記憶部550、及びポータル画面情報記憶部560は、例えば、図3のHD304等によって実現される。また、カスタムUI記憶部220、アプリ情報記憶部550、及びポータル画面情報記憶部560のうちの少なくとも一部は、例えば、ストレージサーバ等の外部装置によって実現されるものであっても良い。
Further, the
入出力サービス部510は、サービス提供サーバ101が提供するウェブアプリケーション(以下、アプリケーションと呼ぶ)の管理、及びアプリケーションの実行等に関する処理を行う。入出力サービス部510は、例えば、図5に示すようにアプリ管理部511、ロジック処理部512、フロー管理部513、及びコンポーネント管理部514等を含む。
The input /
アプリ管理部511は、サービス提供サーバ101が提供する複数のアプリケーションを管理する。例えば、アプリ管理部511は、複数のアプリケーションの情報(以下、アプリ情報551と呼ぶ)を、アプリ情報記憶部550に記憶して管理する。このアプリ情報551には、例えば、アプリケーションを識別する識別情報(以下、アプリケーションIDと呼ぶ)や、ワークフロー(処理手順)情報等が含まれる。
The
アプリ管理部511は、例えば、ロジック処理部512、画面表示処理部521等からの要求に応じて、アプリ情報記憶部550に記憶しているアプリ情報551を提供する。また、アプリ管理部511は、例えば、ポータルサービス部540のアプリ登録部542等からの要求に応じて、アプリケーションのアプリ情報551を、アプリ情報記憶部550に記憶する。
The
ロジック処理部512は、例えば、ウェブサービス部520等からの要求に応じて、アプリ管理部511が管理するアプリ情報551を取得する。また、ロジック処理部512は、アプリ管理部511から取得したアプリ情報551に基づいて、アプリケーションを実行する。例えば、ロジック処理部512は、アプリ情報551に含まれるワークフロー情報に定義された一連の処理を、ドキュメントサービス部530等に、順次に実行させる。
The
フロー管理部513は、アプリ管理部511によって、アプリ情報記憶部550に記憶されるアプリ情報551に含まれるワークフローを管理する。例えば、フロー管理部513は、開発者、ユーザ等によって変更されたアプリケーションのワークフローを確認し、ワークフローの修正が必要な場合、ワークフローの実行に必要な処理(コンポーネント)をワークフローに追加する処理等を行う。
The
コンポーネント管理部514は、ワークフローで実行可能な様々な処理を実行する複数のコンポーネントを管理する。例えば、コンポーネント管理部514は、ドキュメントサービス部530に含まれるOCR(Optical Character Recognition/Reader)531、ファイル変換532、・・・等のコンポーネントを管理する。例えば、フロー管理部513は、コンポーネント管理部514から、サービス提供サーバ101で利用可能なコンポーネントの情報を取得することができる。
The
ウェブサービス部520は、画像形成装置400(又は情報端末102)が備えるウェブブラウザから、サービス提供サーバ101が提供するアプリケーションを利用するための処理を行う。例えば、ウェブサービス部520は、図5に示すように画面表示処理部521、及びアプリ実行部522を含み、ウェブブラウザに対してウェブアプリケーションを提供するアプリケーションサーバとして機能する。
The
画面表示処理部521は、画像形成装置400(又は情報端末102)のウェブブラウザからの要求に応じて、ウェブブラウザにサービス提供サーバ101が提供するアプリケーションの表示画面(以下、アプリ画面と呼ぶ)を表示させる。このアプリ画面は、例えば、HTML(Hyper Text Markup Language)、XML(Extensible Markup Language)、css(Cascading Style Sheets)、JavaScript(登録商標)等の言語によって作成されている。したがって、ユーザは、アプリ画面に対して操作を行うことにより、アプリケーションに対する様々な操作を行うことができる。画面表示処理部521は、例えば、図6Aに示すように、フレーム外側表示処理部601、及びフレーム内側表示処理部602を含む。
The screen
フレーム外側表示処理部601は、例えば、図2の操作画面230a、230bに示すような、iframe200を含む操作画面を作成し、作成した操作画面を画像形成装置400等が備えるウェブブラウザに表示させる。
The frame outer
フレーム内側表示処理部602は、アプリ管理部511から、アプリケーションのアプリ情報551、及びカスタムUI情報221を取得し、取得した情報を用いてアプリ画面を作成する。また、フレーム内側表示処理部602は、例えば、図2の操作画面230a、230bに示すように、操作画面に含まれるiframe200内に、カスタマイズされたアプリ画面を表示させる。
The frame inner
なお、アプリ情報551には、例えば、前述したように、アプリケーションを識別するアプリケーションIDや、ワークフロー(処理手順)情報等が含まれる。また、カスタムUI情報221には、例えば、開発者等によって登録された、カスタマイズされた表示画面(UI)を表示するアプリケーション(以下、カスタムUIアプリと呼ぶ)、アプリケーションを識別するアプリケーションID等が含まれる。したがって、アプリケーションIDを用いて、アプリ情報551とカスタムUI情報221との対応関係を特定することができる。
The
アプリ実行部522は、アプリ画面に対するユーザの操作に応じて、アプリケーションの実行を制御する。例えば、アプリ実行部522は、図6Aに示すように、インターフェース部603を含む。
The
インターフェース部603は、アプリ実行部522が提供する、情報処理システム100が備える1つ以上の機能を利用するためのインターフェースであり、例えば、CPU301で実行されるカスタムUIライブラリ222等によって実現される。このカスタムUIライブラリ222には、iframe200内から利用可能な1つ以上のスクリプト(例えば、コピー処理用のスクリプト、スキャン処理用のスクリプト等)が含まれ、例えば、カスタムUI記憶部220等に予め記憶されている。
The
なお、情報処理システム100が備える1つ以上の機能には、例えば、前回実行したジョブIDの取得、ジョブIDから結果の取得、スキャン/印刷の実行、ホーム画面への遷移、ジョブ履歴画面への遷移、及び状態の保存・取得等の様々な機能が含まれる。また、情報処理システム100が備える1つ以上の機能には、例えば、ドキュメントサービス部530に含まれるOCR531、ファイル変換532、・・・等の機能が含まれる。
The
iframe200内に表示されるカスタムUIアプリは、情報処理システム100が備える上記の各機能を直接制御することはできないが、インターフェース部603を利用して、上記の各機能を利用することができる。
The custom UI application displayed in the
図6Bは、第1の実施形態に係るカスタムUIアプリ、及びカスタムUIライブラリのイメージを示す図である。カスタムUIアプリ610には、例えば、アプリ画面に表示する表示要素を定義する情報611、及び当該表示要素に対応する動作内容を定義するスクリプト612等が含まれている。図6Bの例では、表示要素の一例である「スタートボタン」が選択されると、カスタムUIライブラリ222に含まれる、スキャン処理を実行するための関数621を呼び出すスクリプトが実行されるようになっている。
FIG. 6B is a diagram showing an image of the custom UI application and the custom UI library according to the first embodiment. The
複数のベンダーの開発者等は、このようなカスタムUIアプリ610を作成することにより、例えば、図2に示すような、カスタマイズされた表示画面201、又は表示画面202等を、画像形成装置400の操作画面に表示させることができる。
By creating such a
これにより、アプリ実行部522は、例えば、iframe200内に表示されたアプリケーションの表示画面で選択されたワークフローの実行を、ロジック処理部512に要求することができる。また、アプリ実行部522は、例えば、iframe200内に表示されたアプリケーションの表示画面で選択された画像形成処理の実行を、画像形成装置400に要求することができる。
As a result, the
このように、アプリ実行部522は、iframe200内に表示させた表示画面に対する受付に応じて、インターフェース部603を介して機能の実行要求を受け付け、機能の実行を制御する。
In this way, the
ドキュメントサービス部530は、ロジック処理部512からの制御に応じて、例えば、OCR531、ファイル変換532、・・・等のコンポーネントを用いて、ワークフローに定義された処理を実行する。
The
OCR531は、例えば、スキャナで原稿を読み取った画像等から、文字を読み取り、テキストデータに変換するOCR処理を実行するコンポーネントである。ファイル変換532は、電子データのデータ形式を変換するファイル変換処理を実行するコンポーネントである。なお、OCR531、ファイル変換532等は、ドキュメントサービス部530に含まれるコンポーネントの一例である。ドキュメントサービス部530は、上記の各コンポーネントとは異なる様々なコンポーネントを有していても良い。
The OCR531 is a component that executes an OCR process of reading characters from an image obtained by scanning a document with a scanner and converting the characters into text data. The
ポータルサービス部540は、アプリケーションを開発する開発者等が、情報端末102(又は画像形成装置400)のウェブブラウザを用いてアプリケーションの登録、設定等を行うための処理を行う。なお、ポータルサービス部540には、例えば、図5に示すように、設定画面提供部541、及びアプリ登録部542等が含まれる。
The
設定画面提供部541は、情報端末102(又は画像形成装置400)等のウェブブラウザ等からの要求に応じて、ポータル画面情報記憶部560に記憶されているポータル画面情報561等を用いてアプリ設定画面を作成する。また、設定画面提供部541は、作成したアプリ設定画面を情報端末102等のウェブブラウザに表示させる。
The setting
このアプリ設定画面は、例えば、HTML、XML、css、JavaScript等の言語によって作成されている。したがって、開発者等は、アプリ設定画面に対して所定の操作を行うことにより、設定操作等を行うことができる。 This application setting screen is created by, for example, a language such as HTML, XML, css, or Javascript. Therefore, the developer or the like can perform the setting operation or the like by performing a predetermined operation on the application setting screen.
ここで作成されるアプリケーション(以下、WFアプリと呼ぶ)には、例えば、前述したカスタムUIアプリの表示画面(UI)で選択された処理の具体的な処理(例えば、ワークフロー、処理内容、設定情報等)が設定される。 The application created here (hereinafter referred to as a WF application) includes, for example, specific processing (for example, workflow, processing content, setting information) of the processing selected on the display screen (UI) of the custom UI application described above. Etc.) is set.
アプリ登録部542は、設定画面提供部541からの要求に応じて、WFアプリの登録、設定、変更等をアプリ管理部511に要求する。例えば、アプリ登録部542は、設定画面提供部541が提供するアプリ設定画面において、WFアプリの登録操作等が行われると、WFアプリの登録をアプリ管理部511に要求する。
The
カスタムUI記憶部220は、前述したカスタムUI情報221、カスタムUIライブラリ222等を記憶する。アプリ情報記憶部550は、前述したアプリ情報551等を記憶する。ポータル画面情報記憶部560は、情報端末102(又は画像形成装置400)等のウェブブラウザに、アプリ設定画面等を表示させるために用いる情報であるポータル画面情報561を記憶する。
The custom
(画像形成装置の機能構成)
図7(A)は、第1の実施形態に係る画像形成装置の機能構成の例を示している。画像形成装置400は、例えば、図4のCPU401で1つ以上のプログラムを実行することにより、ウェブブラウザ701、カスタムUI作成部702、記憶部703、ウェブAPI704、及び画像形成部705等を実現している。なお、上記の各機能構成のうち、少なくとも一部は、ハードウェアによって実現されるものであっても良い。
(Functional configuration of image forming apparatus)
FIG. 7A shows an example of the functional configuration of the image forming apparatus according to the first embodiment. The
ウェブブラウザ701は、一般的なウェブブラウザの機能を有し、例えば、サービス提供サーバ101から提供されるウェブページを表示するとともに、ユーザによるウェブページへの操作を受け付ける。前述したように、サービス提供サーバ101のウェブサービス部520から提供されるアプリ画面は、HTML、XML、css、JavaScript等の言語によって作成されている。ウェブブラウザ701は、このようなアプリ画面を表示することにより、ウェブサービス部520の機能をウェブブラウザ701にロードし、スクリプトの形で実行することができる。
The
カスタムUI作成部(作成部)702は、例えば、図4のCPU401で実行されるプログラム(例えば、カスタマイズ用のツール210やSDK等)によって実現され、開発者等が、カスタムUIアプリを作成ために用いられる。また、カスタムUI作成部702は、開発者等によって作成されたカスタムUIアプリを、サービス提供サーバ101に登録(アップロード)し、利用できるようにするデプロイ処理を実行する。
The custom UI creation unit (creation unit) 702 is realized by, for example, a program executed by the
記憶部703は、例えば、カスタムUI作成部702が作成した、カスタムUIアプリ等の様々な情報を記憶する。
The
ウェブAPI(Application Programming Interface)704は、画像形成装置400が備える、スキャン、印刷、コピー、ファクス等の画像形成機能を利用するためのAPIを、サービス提供サーバ101に提供する。これにより、サービス提供サーバ101は、ウェブAPI704を利用して、画像形成装置400に画像形成処理を実行させることができる。
The Web API (Application Programming Interface) 704 provides the
画像形成部705は、例えば、図4のCPU401で実行されるプログラム、及びエンジン制御部430等によって実現され、スキャン、印刷、コピー、ファクス等の画像形成処理を実行する。
The
(情報端末の機能構成)
図7(B)は、第1の実施形態に係る情報端末の機能構成の例を示している。情報端末102は、例えば、図3のCPU301で1つ以上のプログラムを実行することにより、ウェブブラウザ701、カスタムUI作成部702、及び記憶部703等を実現している。なお、ウェブブラウザ701、カスタムUI作成部702、及び記憶部703は、画像形成装置400が備えるウェブブラウザ701、カスタムUI作成部702、及び記憶部703と同様なので、説明を省略する。
(Functional configuration of information terminal)
FIG. 7B shows an example of the functional configuration of the information terminal according to the first embodiment. The
<処理の流れ>
続いて、第1の実施形態に係る情報処理方法の処理の流れについて説明する。
<Processing flow>
Subsequently, the processing flow of the information processing method according to the first embodiment will be described.
(アプリケーションの登録処理)
図8Aは、第1の実施形態に係るアプリケーションの登録処理の例を示すシーケンス図である。この処理は、開発者等が、情報端末102(又は画像形成装置400)等を用いて、カスタムUIアプリ、WFアプリ等を作成し、作成したアプリケーションをサービス提供サーバ101に登録する処理の例を示している。なお、図7のウェブブラウザ701、及びカスタムUI作成部702は、情報端末102に備えられていても良いし、画像形成装置400に備えられていても良い。
(Application registration process)
FIG. 8A is a sequence diagram showing an example of application registration processing according to the first embodiment. This process is an example of a process in which a developer or the like creates a custom UI application, a WF application, or the like using an information terminal 102 (or an image forming apparatus 400) or the like, and registers the created application in the
ステップS801において、開発者等は、アプリケーションの表示画面をカスタマイズするためのテンプレートの展開操作を行う。例えば、開発者等は、情報端末102等にインストールされたカスタマイズ用のツール210を起動し、テンプレートの展開コマンドを実行させる。
In step S801, the developer or the like performs a template expansion operation for customizing the display screen of the application. For example, the developer or the like activates the
ステップS802において、カスタムUI作成部702は、テンプレートの展開操作を受け付けると、予め記憶したテンプレートファイルを展開し、表示する。なお、テンプレートは、カスタマイズ用の雛形となるサンプルアプリ等であり、例えば、HTML、css、JavaScript等の言語によって作成されている。
In step S802, when the custom
ステップS803において、開発者等は、展開されたテンプレートを利用して、カスタムUIアプリの作成操作を行う。例えば、開発者等は、図6Bに示すような、カスタムUIアプリ610を作成(実装)する。
In step S803, the developer or the like performs an operation of creating a custom UI application by using the expanded template. For example, a developer or the like creates (implements) a
なお、ステップS802、S803示す処理は一例であり、開発者等は、テンプレートを利用せずに、カスタムUIアプリを作成(実装)しても良い。 The processing shown in steps S802 and S803 is an example, and the developer or the like may create (implement) a custom UI application without using the template.
開発者等は、カスタムUIアプリの作成した後に、例えば、ステップS804〜S815に示すような、WFアプリの作成、登録処理を行う。なお、WFアプリの作成、登録処理は、例えば、特許文献2(特開2018-01479)等に開示された従来技術と同様なので、ここでは詳細な説明は省略する。 After creating the custom UI application, the developer or the like performs the creation and registration process of the WF application as shown in steps S804 to S815, for example. Since the process of creating and registering the WF application is the same as the conventional technique disclosed in, for example, Patent Document 2 (Japanese Patent Laid-Open No. 2018-01479), detailed description thereof will be omitted here.
例えば、ステップS804において、開発者等は、ウェブブラウザ701を用いて、アプリ設定画面の表示操作を行う。
For example, in step S804, the developer or the like uses the
ステップS805において、ウェブブラウザ701は、開発者等によるアプリ設定画面の表示操作を受け付けると、アプリ設定画面の取得要求をポータルサービス部540に送信する。
In step S805, when the
ステップS806において、ポータルサービス部540の設定画面提供部541は、ウェブブラウザ701から、アプリ設定画面の取得要求を受け付けると、アプリ設定画面をウェブブラウザ701に送信する。
In step S806, when the setting
ステップS807において、ウェブブラウザ701は、設定画面提供部541から受信したアプリ設定画面を表示する。
In step S807, the
ステップS808において、開発者等は、ウェブブラウザ701に表示されたアプリ設定画面を用いて、WFアプリの作成、登録操作を行う。例えば、開発者等は、各操作ボタンが選択されたときに実行する処理(例えば、スキャン、印刷等)、ワークフロー、設定情報等を設定してWFアプリを作成し、WFアプリの登録操作を行う。
In step S808, the developer or the like creates and registers the WF application by using the application setting screen displayed on the
ステップS809において、ウェブブラウザ701は、開発者等によるWFアプリの作成、登録操作を受け付けると、WFアプリの登録を要求するアプリの登録要求を、ポータルサービス部540に送信する。
In step S809, when the
ステップS810において、ポータルサービス部540の設定画面提供部541は、ウェブブラウザ701からアプリ登録要求を受け付けると、受け付けたアプリ登録要求をアプリ登録部542に通知する。
In step S810, when the setting
ステップS811において、アプリ登録部542は、通知されたアプリ登録要求を、入出力サービス部510のアプリ管理部511に送信して、WFアプリの登録を要求する。
In step S811, the
ステップS812において、アプリ管理部511は、WFアプリの登録を要求するアプリの登録要求を受け付けると、WFアプリのアプリ情報551を、アプリ情報記憶部550に記憶(登録)する。また、アプリ管理部511は、アプリ情報記憶部550に記憶したWFアプリに対応するアプリケーションIDを発行する。
In step S812, when the
ステップS813〜S815において、アプリ管理部511は、例えば、WFアプリの登録が完了したことを示す完了通知を、ポータルサービス部540を介してウェブブラウザ701に通知する。この完了通知には、例えば、アプリ情報記憶部550に記憶したWFアプリに対応するアプリケーションIDが含まれる。
In steps S813 to S815, the
ステップS816において、ウェブブラウザ701は、WFアプリの登録が完了したことを示す登録完了画面を表示する。この登録完了画面には、例えば、アプリ管理部511から通知されたアプリケーションIDが表示される。これにより、開発者等は、登録したWFアプリに対応するアプリケーションIDを確認することができる。
In step S816, the
(カスタムUI情報の登録処理)
図8Bは、第1の実施形態に係るカスタムUI情報の登録処理の例を示すシーケンス図である。この処理は、例えば、図8Aに示したアプリケーションの登録処理に続いて実行しても良いし、図8Aに示したアプリケーションの登録処理を実行した後に、任意のタイミングで実行しても良い。
(Custom UI information registration process)
FIG. 8B is a sequence diagram showing an example of the custom UI information registration process according to the first embodiment. This process may be executed, for example, following the application registration process shown in FIG. 8A, or may be executed at an arbitrary timing after the application registration process shown in FIG. 8A is executed.
ステップS821において、開発者等は、カスタマイズしたアプリケーション(カスタムUIアプリ)を利用できるようにするデプロイコマンドの実行操作を行う。開発者等は、例えば、図8AのステップS816で確認したアプリケーションIDを入力して、デプロイコマンドの実行操作を行う。 In step S821, the developer or the like executes an operation of executing a deploy command that enables the customized application (custom UI application) to be used. For example, the developer or the like inputs the application ID confirmed in step S816 of FIG. 8A to execute the deploy command.
ステップS822において、カスタムUI作成部702は、管理者等によるデプロイコマンドの実行操作を受け付けると、カスタムUIアプリの圧縮ファイルを作成する。
In step S822, the custom
ステップS823において、カスタムUI作成部702は、作成した圧縮ファイルと、アプリケーションIDとを含むデプロイ要求を、ポータルサービス部540に送信する。
In step S823, the custom
ステップS824において、ポータルサービス部540のアプリ登録部542は、カスタムUI作成部702からデプロイ要求を受け付けると、デプロイ要求に含まれる圧縮ファイルを解凍する。
In step S824, when the
ステップS825において、アプリ登録部542は、解凍されたファイルを検証する。例えば、アプリ登録部542は、解凍されたファイルのファイルサイズ、内包するファイル数、必須ファイルの有無等の確認を行う。例えば、本実施形態に係る情報処理システム100においては、「index.html」というファイル名のファイルを必須ファイルとしている。例えば、ウェブサービス部520の画面表示処理部521は、iframe200内にアプリ画面を表示するときに、「index.html」というファイル名のファイルを必ず読み込む必須ファイルとしている。従って、アプリ登録部542は、例えば、解凍されたファイルに、「index.html」というファイル名のファイルが含まれていない場合、解凍されたファイルに問題があると判断する。
In step S825, the
解凍されたファイルに問題がない場合、ステップS826以降の処理が実行される。一方、解凍されたファイルに問題がある場合、アプリ登録部542は、圧縮ファイルに問題があることをカスタムUI作成部702に通知して、ステップS826以降の処理の実行を中止する。
If there is no problem with the decompressed file, the processes after step S826 are executed. On the other hand, if there is a problem with the decompressed file, the
ステップS826において、アプリ登録部542は、カスタムUIアプリを含むカスタムUI情報221を、カスタムUI記憶部220に記憶する。このカスタムUI情報221には、ステップS821で入力されたアプリケーションIDが含まれる。
In step S826, the
ステップS827において、アプリ登録部542は、入出力サービス部510のアプリ管理部511に、カスタムUI情報221の記憶先の情報、及びアプリケーションID等の情報を通知する。
In step S827, the
ステップS828において、アプリ管理部511は、アプリ登録部542から通知された、カスタムUI情報221の記憶先、及びアプリケーションID等を、例えば、ステップS812で記憶したアプリ情報551に追加して記憶する。
In step S828, the
なお、図8AのステップS813〜S815において、アプリ管理部511は、ウェブブラウザ701に通知する完了通知にアプリケーションIDを含めて送信する。また、開発者等は、図8BのステップS821において、ウェブブラウザ701に表示されたアプリケーションIDを用いて、デプロイコマンドの実行操作を行う。これにより、アプリ登録部542は、ステップS823において、カスタムUI情報221の記憶先を追加するアプリ情報551を容易に特定することができる。
In steps S813 to S815 of FIG. 8A, the
ステップS829、S830において、アプリ管理部511は、アプリ登録部542を介して、カスタムUI作成部702に、デプロイ処理が完了したことを示す完了通知を通知する。
In steps S829 and S830, the
上記の図8A、図8Bの処理により、開発者等によって作成、登録された、カスタムUIアプリが、情報処理システム100で利用できるようになる。
By the above processing of FIGS. 8A and 8B, the custom UI application created and registered by the developer or the like can be used in the
(アプリ画面の表示処理)
図9Aは、第1の実施形態に係るアプリ画面の表示処理の例を示すシーケンス図である。この処理は、画像形成装置400を利用するユーザが、図8A、図8Bに示した処理で作成、登録した、カスタムUIアプリのアプリ画面(例えば、図2に示すような操作画面230a、230b等)を、画像形成装置400に表示する処理の例を示している。
(Display processing of application screen)
FIG. 9A is a sequence diagram showing an example of display processing of the application screen according to the first embodiment. This process is performed on the application screens of the custom UI application (for example, the operation screens 230a and 230b as shown in FIG. 2) created and registered by the user using the
ステップS901において、画像形成装置400のウェブブラウザ701には、例えば、図9Bに示すような、1つ以上のカスタムUIアプリを選択可能に表示するアプリケーションの一覧画面920が表示されているものとする。
In step S901, it is assumed that the
図9Bは、第1の実施形態に係るアプリケーションの一覧画面のイメージを示す図である。アプリケーションの一覧画面920には、例えば、図9Bに示すように、サービス提供サーバ101に登録されているカスタムUIアプリを選択するための複数の選択ボタン921a〜921fが表示されている。
FIG. 9B is a diagram showing an image of a list screen of applications according to the first embodiment. On the
このアプリケーションの一覧画面920は、例えば、画像形成装置400のメニュー画面を表示するメニュー表示アプリケーション等が、ウェブサービス部520から通知されるアプリケーションの一覧情報に基づいて、ウェブブラウザ701に表示する。
The
図9Cは、第1の実施形態に係るアプリケーションの一覧情報の例を示す図である。図9Cの例では、アプリケーションの一覧情報930には、複数のアプリケーションの情報931a〜931fが含まれる。なお、以下の説明において、複数のアプリケーションの情報931a〜931fのうち、任意のアプリケーションの情報を示す場合、「アプリケーションの情報931」を用いる。
FIG. 9C is a diagram showing an example of list information of applications according to the first embodiment. In the example of FIG. 9C, the
アプリケーションの情報931には、例えば、カスタムUIアプリのURL情報932、名前情報933、及びアイコン情報934等が含まれる。例えば、メニュー表示アプリケーションは、アプリケーションの情報931aに含まれる名前情報933、及びアイコン情報934を用いて、図9Bのアプリケーションの一覧画面920に、「アプリ1」を選択する選択ボタン921aを表示する。
The application information 931 includes, for example,
また、メニュー表示アプリケーションは、選択ボタン921aが選択されると、アプリケーションの情報931aに含まれるURL情報932を含むアプリ画面の表示要求を、ウェブサービス部520に送信する。本実施形態では、URL情報932には、カスタムUIアプリを特定するための情報として、アプリケーションID935が含まれる。ただし、カスタムUIアプリを特定するための情報は、アプリケーションID935に限られず、例えば、アプリケーション名等のアプリケーションID以外の情報を用いるものであっても良い。
Further, when the
なお、メニュー表示アプリケーションは、他の選択ボタン921b〜921fについても同様に、アプリケーションの情報932b〜932fに基づいて、図9Bのアプリケーションの一覧画面920に表示する。
The menu display application also displays the
ここで、図9Aに戻り、シーケンス図の説明を続ける。 Here, returning to FIG. 9A, the description of the sequence diagram will be continued.
ステップS902において、ユーザは、カスタムUIアプリの開始操作を行う。例えば、ユーザは、図9Bに示すようなアプリケーションの一覧画面920において、「アプリ1」を開始したい場合、「アプリ1」の選択ボタン921aを選択する。
In step S902, the user performs a start operation of the custom UI application. For example, when the user wants to start the "
ステップS903において、画像形成装置400のウェブブラウザ701は、ユーザによるカスタムUIアプリの開始操作を受け付けると、ウェブサービス部520の画面表示処理部521に対して、アプリ画面の表示要求を送信する。このアプリ画面の表示要求には、選択されたカスタムUIアプリのアプリケーションID935を含むURL情報932が含まれる。
In step S903, when the
ステップS904において、画面表示処理部521のフレーム外側表示処理部601は、アプリ画面の表示要求を受け付けると、カスタムUI記憶部220からカスタムUIライブラリ222を取得する。このカスタムUIライブラリ222には、iframe200内に表示されるカスタムUIアプリから利用可能な共通のスクリプト(例えば、コピー処理用のスクリプト、スキャン処理用のスクリプト等)等が含まれる。
In step S904, when the frame outer
ステップS905において、画面表示処理部521のフレーム外側表示処理部601は、フレーム内側表示処理部602に対して、フレーム内要素(カスタムUIアプリのアプリ画面)の表示を要求する表示要求を通知する。このフレーム内要素の表示要求には、例えば、アプリ画面の表示要求に含まれるURL情報932から取得したアプリケーションIDが含まれる。或いは、フレーム内要素の表示要求には、アプリケーションIDに代えて、アプリ画面の表示要求に含まれるURL情報932が含まれていても良い。
In step S905, the frame outer
ステップS906において、フレーム内側表示処理部602は、カスタムUI記憶部220から、フレーム内要素の表示要求に含まれるアプリケーションIDに対応するカスタムUI情報221を取得する。
In step S906, the frame inner
ステップS907において、フレーム内側表示処理部602は、フレーム外側表示処理部601に対して、カスタムUIアプリに対応するアプリ情報551の取得を要求するアプリ情報の取得要求を通知する。このアプリ情報の取得要求には、例えば、フレーム内要素の表示要求から取得したアプリケーションIDが含まれる。
In step S907, the frame inner
ステップS908において、フレーム外側表示処理部601は、フレーム内側表示処理部602から通知されたアプリ情報の取得要求を、アプリ実行部522のインターフェース部603に通知する。
In step S908, the frame outer
ステップS909において、インターフェース部603は、フレーム外側表示処理部601からアプリ情報の取得要求を受け付けると、入出力サービス部510のアプリ管理部511に対して、アプリケーションIDに対応するアプリ情報の取得を要求する。
In step S909, when the
ステップS910において、アプリ管理部511は、要求されたアプリケーションIDに対応するアプリ情報を、アプリ実行部522のインターフェース部603に通知する。例えば、アプリ管理部511は、アプリ情報記憶部550に記憶しているアプリ情報551のうち、要求されたアプリケーションIDを含むアプリ情報を取得して、インターフェース部603に通知する。このアプリ情報には、例えば、カスタムUIアプリが実行するワークフロー(処理手順)等の情報が含まれる。
In step S910, the
ステップS911、S912において、インターフェース部603は、取得したアプリ情報を、フレーム外側表示処理部601を介して、フレーム内側表示処理部602に通知する。
In steps S911 and S912, the
ステップS913において、フレーム内側表示処理部602は、取得したアプリ情報と、カスタムUI情報とを用いて、フレーム内に表示するアプリの表示画面を構築する。例えば、フレーム内側表示処理部602は、図2に示すようなカスタマイズされた表示画面201(カスタムUIアプリのアプリ画面)を作成する。
In step S913, the frame inner
ステップS914において、フレーム内側表示処理部602は、フレーム内要素(カスタムUIアプリのアプリ画面)を表示する。
In step S914, the frame inner
ステップS915において、フレーム外側表示処理部601は、カスタムUIアプリのアプリ画面を、ウェブブラウザ701に送信する。例えば、フレーム外側表示処理部601は、図2の操作画面230aに示すように、iframe200内に、カスタムUIアプリのアプリ画面を表示する操作画面230aを、ウェブブラウザ701に送信して表示させる。
In step S915, the frame outer
ステップS916において、画像形成装置400のウェブブラウザ701は、フレーム外側表示処理部601から送信されたアプリ画面を表示する。ウェブブラウザ701は、例えば、図2の操作画面230aに示すように、iframe200内に、カスタマイズされた表示画面201(カスタムUIアプリのアプリ画面)を表示するアプリ画面(操作画面230a)を表示する。
In step S916, the
(スキャン実行時の処理)
図10は、第1の実施形態に係るスキャン実行時の処理の例を示すシーケンス図である。この処理は、例えば、図9Aに示すアプリ画面の表示処理によって表示されたアプリ画面に対するユーザの操作に応じて、情報処理システム100が実行する所定の処理の一例を示している。ここでは、画像形成装置400のウェブブラウザ701のiframe200内に表示された、カスタムUIアプリのアプリ画面に、スキャン処理の実行を要求する「スキャン開始」ボタンが表示されているものとして、以下の説明を行う。
(Processing when scanning is executed)
FIG. 10 is a sequence diagram showing an example of processing at the time of scanning execution according to the first embodiment. This process shows, for example, an example of a predetermined process executed by the
ステップS1001において、ユーザは、画像形成装置400のウェブブラウザ701が表示する、カスタムUIアプリのアプリ画面に表示された「スキャン開始」ボタンを押下する。
In step S1001, the user presses the "scan start" button displayed on the application screen of the custom UI application displayed by the
ステップS1002において、ウェブブラウザ701から、画面表示処理部521のフレーム内側表示処理部602に対して、「スキャン開始」ボタンが押下されたことが通知される。
In step S1002, the
ステップS1003において、フレーム内側表示処理部602は、画像形成装置400によるスキャン処理の実行を要求するスキャン実行要求を、フレーム外側表示処理部601に通知する。
In step S1003, the frame inner
ステップS1004において、フレーム外側表示処理部601は、フレーム内側表示処理部602から受け付けたスキャン実行要求を、アプリ実行部522のインターフェース部603に通知する。なお、フレーム外側表示処理部601は、上述したカスタムUIライブラリ222のスクリプトを実行することで、この処理を行っている。
In step S1004, the frame outer
ステップS1005において、アプリ実行部522のインターフェース部603は、画像形成装置400のウェブAPI704が備えるスキャン実行APIを実行する。
In step S1005, the
なお、ステップS1005に示す処理は一例である。例えば、アプリ実行部522は、入出力サービス部510のロジック処理部512を介して、画像形成装置400のスキャン実行APIを実行しても良い。或いは、アプリ実行部522は、サービス提供サーバ101が備える、画像形成装置400のAPIを利用するためのSDK(Smart SDK JS)等を介して、画像形成装置400のスキャン実行APIを実行しても良い。
The process shown in step S1005 is an example. For example, the
ステップS1006において、画像形成装置400のウェブAPI704は、スキャン実行APIが実行されると、画像形成部705に対してスキャン実行命令を通知する。
In step S1006, the
ステップS1007において、画像形成部705は、ウェブAPI704から、スキャン実行命令を受け付けると、スキャン処理を実行する。
In step S1007, when the
ステップS1008、S1009において、アプリ実行部522のインターフェース部603は、スキャン処理を実行したことを示す完了通知を、フレーム外側表示処理部601を介して、フレーム内側表示処理部602に通知する。
In steps S1008 and S1009, the
ステップS1010において、画面表示処理部521のフレーム内側表示処理部602は、画像形成装置400のウェブブラウザ701に、スキャン処理を実行したことを通知する。
In step S1010, the frame inner
図9A、図10に示すように、フレーム内側表示処理部602は、フレーム外側表示処理部601、及びインターフェース部603を介して、情報処理システム100が備える機能(例えば、アプリ情報の取得処理、スキャン実行処理等)を利用する。
As shown in FIGS. 9A and 10, the frame inner
これは、前述したように、本実施形態でフレームに利用している「iframe」において、セキュリティの観点から、「sandbox」というオプションを有効に設定しているためである。このオプションを有効にすることにより、iframe内のコンテンツ(カスタムUIアプリ)による不正な処理の実行を抑制することができる。一方、このオプションを有効にすることにより、iframe内のコンテンツから、情報処理システム100が備える機能を直接利用することができなくなる。
This is because, as described above, in the "iframe" used for the frame in the present embodiment, the option "sandbox" is effectively set from the viewpoint of security. By enabling this option, it is possible to suppress the execution of unauthorized processing by the content (custom UI application) in the iframe. On the other hand, by enabling this option, the function provided in the
そこで、本実施形態では、フレーム外側表示処理部601が、フレーム内側表示処理部602からの要求を受け付けて、カスタムUIライブラリ222のスクリプトを実行することで、iframe200内のカスタムUIアプリから、情報処理システム100の機能を利用できるようにしている。
Therefore, in the present embodiment, the frame outer
以上、本実施形態によれば、開発者等は、表示画面をカスタマイズしたカスタムUIアプリを作成することにより、画像形成装置400等の電子機器103が表示するアプリケーションの表示画面を自由にカスタマイズすることができるようになる。
As described above, according to the present embodiment, the developer or the like can freely customize the display screen of the application displayed by the
[第2の実施形態]
第2の実施形態では、サービス提供サーバ101が、アプリケーションが利用する一時的な情報を、アプリケーション毎に管理する情報管理部を有する場合の例について説明する。
[Second Embodiment]
In the second embodiment, an example will be described in which the
図11は、第2の実施形態に係るウェブサービス部の機能構成の例を示す図である。第2の実施形態に係るウェブサービス部520は、図5に示す第1の実施形態に係るウェブサービス部520の機能構成に加えて、情報管理部1101を備えている。
FIG. 11 is a diagram showing an example of the functional configuration of the web service unit according to the second embodiment. The
情報管理部1101は、例えば、図3のCPU301で実行されるiframe200外のアプリケーションによって実現される。情報管理部1101は、iframe200内のアプリケーション(カスタムUIアプリ)が利用する一時的な情報を、アプリケーション毎に管理する。
The
具体的な一例として、A社が開発した第1のカスタムUIアプリがiframe200内に読み込まれており、この第1のカスタムUIアプリは、入力されたメールアドレスに対してスキャンした文章を送信する処理(ワークフロー)を実行可能であるものとする。また、この第1のカスタムUIアプリは、一度入力されたメールアドレス(一時的な情報)を、iframe200外の情報管理部1101に一時的に記憶する。これにより、iframe200内に、他のカスタムUIアプリ(例えば、B社が開発した第2のカスタムUIアプリ)が読み込まれた場合、第1のカスタムUIアプリが情報管理部1101に一時的に記憶した情報を再利用することができる。
As a specific example, the first custom UI application developed by company A is loaded in the workflow200, and this first custom UI application is a process of sending scanned sentences to the input e-mail address. (Workflow) shall be executable. In addition, this first custom UI application temporarily stores the once input e-mail address (temporary information) in the
情報管理部1101は、カスタムUIアプリが利用する一時的な情報を管理するために、例えば、ウェブブラウザ701の「localStorage(ローカルストレージ)」を利用することができる。localStorageは、JavaScriptを利用して、任意のデータをクライアント側(ウェブブラウザ701)に保存する機能である。例えば、localStorage内に、A社のカスタムUIアプリ用の保存領域、B社のカスタムUIアプリ用の保存領域といったように、各カスタムUIアプリに対応する保存領域を用意する。なお、A社のカスタムUIアプリ用の保存領域に記憶された情報は、A社のカスタムUIアプリから再利用可能であるが、他社のカスタムUIアプリからは利用できないようになっている。
The
例えば、情報管理部1101は、iframe200内に、第2のカスタムUIアプリが読み込まれたときに、第1のカスタムUIアプリが一時的に記憶した情報にはアクセスできないように管理する。このように、カスタムUIアプリが利用する一時的な情報を、カスタムUIアプリ毎に管理することにより、例えば、第1のカスタムUIアプリが記憶した一時的な情報が、第2のカスタムUIアプリにより、書き換えられること等を効果的に抑制することができる。
For example, the
[第3の実施形態]
第3の実施形態では、サービス提供サーバ101が、開発者等によりサービス提供サーバ101に登録されるカスタムUIアプリの脆弱性を検査する脆弱性検査部を有する場合の例について説明する。
[Third Embodiment]
In the third embodiment, an example will be described in which the
図12は、第3の実施形態に係るポータルサービス部の機能構成の例を示す図である。第3の実施形態に係るポータルサービス部540は、図5に示す第1の実施形態に係るポータルサービス部540の機能構成に加えて、脆弱性検査部1201を備えている。なお、脆弱性検査部1201は、アプリ登録部542に含まれていても良い。
FIG. 12 is a diagram showing an example of the functional configuration of the portal service unit according to the third embodiment. The
脆弱性検査部1201は、例えば、図3のCPU301で実行されるプログラムによって実現され、開発者等によりサービス提供サーバ101に登録されるカスタムUIアプリの脆弱性を検査する。
The
例えば、脆弱性検査部1201は、図8BのステップS825において、アプリ登録部542が、解凍されたファイルを検証する際に、解凍されたカスタムUIアプリの脆弱性を検査する。例えば、解凍されたカスタムUIアプリに入力フォームがある場合、脆弱性検査部1201は、インジェクション攻撃(クロスサイトスクリプティングやSQLインジェクション等)や、その他の脆弱性がないかを検証する。
For example, the
具体的な一例として、脆弱性検査部1201は、脆弱性検査に関して、どのような条件が成り立つときに、どのような処理を実行すべきか、という問題解決に必要な知識を予めルールとして登録しておく。また、脆弱性検査部1201は、登録されたルールに該当する場合に脆弱性を検出するといったルールベースで、解凍されたカスタムUIアプリの脆弱性を検出しても良い。
As a specific example, the
脆弱性検査部1201により、カスタムUIアプリに脆弱性が見つかった場合、アプリ登録部542は、例えば、脆弱性が見つかったカスタムUIアプリの登録を中止する。
When the
なお、脆弱性検査部1201は、サービス提供サーバ101が備えていれば良く、例えば、ポータルサービス部540の外部に設けられていても良い。また、脆弱性検査部1201が、カスタムUIアプリの脆弱性を検査するタイミングは、例えば、iframe200内にカスタムUIアプリを読み込むとき等、カスタムUIアプリの登録時以外のタイミングであっても良い。
The
また、第3の実施形態は、第2の実施形態と組み合わせて実施することができる。 In addition, the third embodiment can be implemented in combination with the second embodiment.
[第4の実施形態]
第4の実施形態では、サービス提供サーバ101が、開発者によって登録されたカスタムUIアプリの公開を許可するか否かを示す設定情報を管理する公開管理部を有する場合の例について説明する。ここで、公開の範囲とは、カスタムUIアプリを開発する開発者間における公開の範囲を示す。この機能により、カスタムUIアプリを開発する開発者は、自身でカスタムUIアプリを全て開発するか、他の開発者が開発したカスタムUIアプリを利用してカスタムUIアプリを開発するかを選択することができるようになる。
[Fourth Embodiment]
In the fourth embodiment, an example will be described in which the
図13は、第4の実施形態に係るポータルサービス部の機能構成の例を示す図である。第4の実施形態に係るポータルサービス部540は、図5に示す第1の実施形態に係るポータルサービス部540の機能構成に加えて、公開管理部1301を備えている。なお、公開管理部1301は、設定画面提供部541に含まれていても良い。
FIG. 13 is a diagram showing an example of the functional configuration of the portal service unit according to the fourth embodiment. The
公開管理部1301は、例えば、図3のCPU301で実行されるプログラムによって実現され、開発者等によってサービス提供サーバ101に登録されたカスタムUIアプリの公開を許可するか否かを示す設定情報を管理する。
The
例えば、公開管理部1301は、開発者等によりサービス提供サーバ101に登録されたカスタムUIアプリの公開を許可するか否かを設定する設定画面を、情報端末102(又は画像形成装置400)等のウェブブラウザ701に表示させることができる。また、公開管理部1301は、管理者等によって設定された、カスタムUIアプリの公開を許可するか否かを示す設定情報を、例えば、図4のHD304等に記憶して管理する。
For example, the
また、公開管理部1301は、サービス提供サーバ101に登録されたカスタムUIアプリの公開が許可されている場合、他の開発者等による、カスタムUIアプリの利用を許可する。
Further, when the publication of the custom UI application registered in the
これにより、開発者等は、他の開発者等がサービス提供サーバ101に登録し、公開を許可するように設定したカスタムUIアプリをベースにして、新たなカスタムUIアプリを作成することができるようになる。
As a result, developers can create a new custom UI application based on the custom UI application that other developers have registered in the
なお、第4の実施形態は、第2の実施形態、第3の実施形態等と組み合わせて実施することができる。 The fourth embodiment can be implemented in combination with the second embodiment, the third embodiment, and the like.
以上、本発明の各実施形態によれば、サービス提供サーバ(サーバ装置)101を用いて、電子機器103にアプリケーションを提供する情報処理システム100において、アプリケーションの表示画面を自由にカスタマイズできるようになる。
As described above, according to each embodiment of the present invention, the display screen of the application can be freely customized in the
<補足>
上記で説明した各実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
<Supplement>
Each function of each embodiment described above can be realized by one or more processing circuits. Here, the "processing circuit" in the present specification is a processor programmed to execute each function by software such as a processor implemented by an electronic circuit, or a processor designed to execute each function described above. It shall include devices such as ASIC (Application Specific Integrated Circuit), DSP (digital signal processor), FPGA (field programmable gate array) and conventional circuit modules.
100 情報処理システム
101 サービス提供サーバ(サーバ装置)
103 電子機器
200 iframe(フレームの一例)
521 画面表示処理部
522 アプリ実行部
542 アプリ登録部
603 インターフェース部(インターフェース)
701 ウェブブラウザ
702 カスタムUI作成部(作成部)
1101 情報管理部
1201 脆弱性検査部
1301 公開管理部
100
103
521 Screen
701
1101
Claims (11)
前記電子機器は、前記サーバ装置から提供されるウェブページを表示するウェブブラウザを有し、
前記サーバ装置は、
表示画面をカスタマイズしたアプリケーションの登録を受け付けるアプリ登録部と、
前記ウェブページに含まれるフレーム内に、前記アプリケーションの前記表示画面を表示させる画面表示処理部と、
前記フレーム内に表示させた前記表示画面に対する入力の受け付けに応じて、前記フレームの外側のスクリプトから、前記情報処理システムが備える1つ以上の機能を利用するためのインターフェースを介して前記機能の実行要求を受け付け、前記機能の実行を制御するアプリ実行部と、
を有する、情報処理システム。 An information processing system that includes a server device that manages applications and an electronic device that can communicate with the server device via a communication network.
The electronic device has a web browser that displays a web page provided by the server device.
The server device is
An application registration unit that accepts registration of applications with customized display screens,
A screen display processing unit that displays the display screen of the application in a frame included in the web page,
In response to the acceptance of input to the display screen displayed in the frame, execution of the function from a script outside the frame via an interface for utilizing one or more functions provided in the information processing system. An application execution unit that accepts requests and controls the execution of the above functions,
An information processing system that has.
前記画面表示処理部は、前記ウェブアプリケーションに対する操作を受け付ける前記表示画面を前記フレーム内に表示させる、請求項1に記載の情報処理システム。 The application is a web application
The information processing system according to claim 1, wherein the screen display processing unit displays the display screen that receives an operation on the web application in the frame.
前記アプリ実行部は、前記画像形成装置が備える画像形成機能を利用するためのインターフェースを、前記アプリケーションに提供する、請求項1又は2に記載の情報処理システム。 The electronic device is an image forming apparatus and is
The information processing system according to claim 1 or 2, wherein the application execution unit provides the application with an interface for using the image forming function included in the image forming apparatus.
前記表示画面をカスタマイズした前記アプリケーションを作成するためのテンプレートを提供し、作成された前記アプリケーションを前記サーバ装置に登録する作成部を有する、請求項1乃至6のいずれか一項に記載の情報処理システム。 The electronic device is
The information processing according to any one of claims 1 to 6, which provides a template for creating the application in which the display screen is customized, and has a creating unit for registering the created application in the server device. system.
前記情報端末は、
前記表示画面をカスタマイズした前記アプリケーションを作成するためのテンプレートを提供し、作成された前記アプリケーションを前記サーバ装置に登録する作成部を有する、請求項1乃至6のいずれか一項に記載の情報処理システム。 The information processing system includes an information terminal capable of communicating with the server device via the communication network.
The information terminal is
The information processing according to any one of claims 1 to 6, which provides a template for creating the application in which the display screen is customized, and has a creating unit for registering the created application in the server device. system.
表示画面をカスタマイズしたアプリケーションの登録を受け付けるアプリ登録部と、
前記サーバ装置と通信ネットワークを介して通信可能な電子機器にウェブページを表示させるとともに、前記ウェブページに含まれるフレーム内に、前記アプリケーションの表示画面を表示させる画面表示処理部と、
前記フレーム内に表示させた前記表示画面に対する入力の受け付けに応じて、前記フレームの外側のスクリプトから、前記サーバ装置、又は前記電子機器が備える1つ以上の機能を利用するためのインターフェースを介して前記機能の実行要求を受け付け、前記機能の実行を制御するアプリ実行部と、
を有する、サーバ装置。 A server device that manages applications that execute predetermined processing.
An application registration unit that accepts registration of applications with customized display screens,
A screen display processing unit that displays a web page on an electronic device that can communicate with the server device via a communication network and displays a display screen of the application in a frame included in the web page.
In response to the acceptance of input to the display screen displayed in the frame, from a script outside the frame, via an interface for utilizing one or more functions provided in the server device or the electronic device. An application execution unit that receives an execution request for the function and controls the execution of the function,
A server device that has.
表示画面をカスタマイズしたアプリケーションの登録を受け付ける処理と、
前記サーバ装置と通信ネットワークを介して通信可能な電子機器にウェブページを表示させる処理と、
前記ウェブページに含まれるフレーム内に、前記アプリケーションの表示画面を表示させる処理と、
前記フレーム内に表示させた前記表示画面に対する入力の受け付けに応じて、前記フレームの外側のスクリプトから、前記サーバ装置、又は前記電子機器が備える1つ以上の機能を利用するためのインターフェースを介して前記機能の実行要求を受け付け、前記機能の実行を制御する処理と、
を実行する、情報処理方法。 The server device that manages the application that executes the specified processing
The process of accepting registration of applications with customized display screens,
A process of displaying a web page on an electronic device that can communicate with the server device via a communication network.
The process of displaying the display screen of the application in the frame included in the web page, and
In response to the acceptance of input to the display screen displayed in the frame, from a script outside the frame, via an interface for utilizing one or more functions provided in the server device or the electronic device. A process of receiving an execution request of the function and controlling the execution of the function,
Information processing method to execute.
表示画面をカスタマイズしたアプリケーションの登録を受け付ける処理と、
前記サーバ装置と通信ネットワークを介して通信可能な電子機器にウェブページを表示させる処理と、
前記ウェブページに含まれるフレーム内に、前記アプリケーションの表示画面を表示させる処理と、
前記フレーム内に表示させた前記表示画面に対する入力の受け付けに応じて、前記フレームの外側のスクリプトから、前記サーバ装置、又は前記電子機器が備える1つ以上の機能を利用するためのインターフェースを介して前記機能の実行要求を受け付け、前記機能の実行を制御する処理と、
を実行させる、プログラム。 To the server device that manages the application that executes the specified processing
The process of accepting registration of applications with customized display screens,
A process of displaying a web page on an electronic device that can communicate with the server device via a communication network.
The process of displaying the display screen of the application in the frame included in the web page, and
In response to the acceptance of input to the display screen displayed in the frame, from a script outside the frame, via an interface for utilizing one or more functions provided in the server device or the electronic device. A process of receiving an execution request of the function and controlling the execution of the function,
A program that runs.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/896,383 US11436299B2 (en) | 2019-06-11 | 2020-06-09 | Information processing system, server apparatus, and information processing method |
EP20179306.4A EP3751414B1 (en) | 2019-06-11 | 2020-06-10 | Information processing system, server apparatus, information processing method, and carrier means |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019108935 | 2019-06-11 | ||
JP2019108935 | 2019-06-11 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020205031A true JP2020205031A (en) | 2020-12-24 |
Family
ID=73837468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020079580A Pending JP2020205031A (en) | 2019-06-11 | 2020-04-28 | Information processing system, server device, information processing method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020205031A (en) |
-
2020
- 2020-04-28 JP JP2020079580A patent/JP2020205031A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7293652B2 (en) | Information processing system, server device, information processing method, and program | |
JP7268348B2 (en) | Information processing system, information processing device, information processing method and program | |
JP5582012B2 (en) | Image forming apparatus, information processing apparatus, customization program, and recording medium | |
JP6819196B2 (en) | Information processing equipment and programs | |
EP3751414B1 (en) | Information processing system, server apparatus, information processing method, and carrier means | |
JP7196600B2 (en) | Information processing system, server device, information processing method, and program | |
US10572580B2 (en) | Information processing apparatus, information processing method and information processing system | |
JP2020205031A (en) | Information processing system, server device, information processing method, and program | |
US10992830B2 (en) | Information processing terminal having operable objects on a screen, information processing system having operable objects on a screen, and operation screen display method regarding operable object | |
JP7147580B2 (en) | Information processing system, information processing device, parameter setting method and program | |
JP7434840B2 (en) | Information processing system, information processing device, information processing method and program | |
US20220300269A1 (en) | Information processing apparatus, information processing system, and information processing method | |
JP7354793B2 (en) | Information processing device, control method, and program | |
JP7439570B2 (en) | Information processing device, control method, and program | |
US11470217B2 (en) | Service providing system with controlled display, information processing system, display control method, and non-transitory recording medium | |
JP7415478B2 (en) | Information processing system, information processing device, information processing method, and program | |
JP7206894B2 (en) | Information processing system, information processing device, information processing method and program | |
US20220405033A1 (en) | Information processing apparatus, information processing system, and information processing method | |
US20210168130A1 (en) | Information processing apparatus, information processing system, method of processing information, and non-transitory recording medium | |
JP2023110498A (en) | Information processing device, information processing system, information processing method, and program | |
JP2024017333A (en) | Information processing system, information processing method, and program | |
JP2024067438A (en) | Data processing device, data processing system, data processing method, and program | |
JP2021100163A (en) | Image processing device and control method thereof | |
JP2024054723A (en) | Information processing system, setting method, program, and service provision system | |
JP2024017327A (en) | Information processing system, method for processing information, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230213 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240229 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20240305 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20240430 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240624 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240820 |