JP2020205031A - Information processing system, server device, information processing method, and program - Google Patents

Information processing system, server device, information processing method, and program Download PDF

Info

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
Application number
JP2020079580A
Other languages
Japanese (ja)
Inventor
祐輔 井上
Yusuke Inoue
祐輔 井上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to US16/896,383 priority Critical patent/US11436299B2/en
Priority to EP20179306.4A priority patent/EP3751414B1/en
Publication of JP2020205031A publication Critical patent/JP2020205031A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Stored Programmes (AREA)
  • Facsimiles In General (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

To provide an information processing system, a server device, an information processing method, and a program for freely customizing a display screen of an application that executes predetermined processing on an electronic apparatus.SOLUTION: An information processing system includes a server device that manages an application and an electronic apparatus that is communicable with the server device via a communication network, and the electronic apparatus has a web browser that displays a web page provided from the server device. The server device has an app registration unit that receives registration of an application having a customized display screen, a screen display processing unit that displays the display screen of the application in a frame included in the web page, and an app execution unit that, in response to the reception of input to the display screen displayed in the frame, receives a function execution request from a script outside the frame via an interface for making use of functions included in the information processing system and controls the execution of the functions.SELECTED DRAWING: Figure 5

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 Patent Document 1, it is necessary to customize within the items and ranges predetermined by the developer who develops the application, and the display screen of the application can be freely customized. There is a problem that it cannot be done.

本発明の一実施形態は、上記の問題点に鑑みてなされたものであって、サーバ装置を用いて、電子機器に所定の処理を実行するアプリケーションを提供する情報処理システムにおいて、アプリケーションの表示画面を自由にカスタマイズできるようにする。 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.

一実施形態に係る情報処理システムのシステム構成の例を示す図である。It is a figure which shows the example of the system structure of the information processing system which concerns on one Embodiment. 一実施形態に係る操作画面の表示方法の概要について説明するための図である。It is a figure for demonstrating the outline of the display method of the operation screen which concerns on one Embodiment. 一実施形態に係るコンピュータのハードウェア構成の例を示す図である。It is a figure which shows the example of the hardware configuration of the computer which concerns on one Embodiment. 一実施形態に係る画像形成装置のハードウェア構成の例を示す図である。It is a figure which shows the example of the hardware composition of the image forming apparatus which concerns on one Embodiment. 第1の実施形態に係るサービス提供サーバの機能構成の例を示す図である。It is a figure which shows the example of the functional structure of the service providing server which concerns on 1st Embodiment. 第1の実施形態に係るウェブサービス部の機能構成の例を示す図である。It is a figure which shows the example of the functional structure of the web service part which concerns on 1st Embodiment. 第1の実施形態に係るカスタムUIアプリ、及びカスタムUIライブラリのイメージを示す図である。It is a figure which shows the image of the custom UI application and the custom UI library which concerns on 1st Embodiment. 第1の実施形態に係る画像形成装置、及び情報端末の機能構成の例を示す図である。It is a figure which shows the example of the functional structure of the image forming apparatus which concerns on 1st Embodiment, and an information terminal. 第1の実施形態に係るアプリケーションの登録処理の例を示すシーケンス図である。It is a sequence diagram which shows the example of the registration process of the application which concerns on 1st Embodiment. 第1の実施形態に係るカスタムUI情報の登録処理の例を示すシーケンス図である。It is a sequence diagram which shows the example of the registration processing of the custom UI information which concerns on 1st Embodiment. 第1の実施形態に係るアプリ画面の表示処理の例を示すシーケンス図である。It is a sequence diagram which shows the example of the display process of the application screen which concerns on 1st Embodiment. 第1の実施形態に係るアプリケーションの一覧画面のイメージを示す図である。It is a figure which shows the image of the list screen of the application which concerns on 1st Embodiment. 第1の実施形態に係るアプリケーションの一覧情報の例を示す図である。It is a figure which shows the example of the list information of the application which concerns on 1st Embodiment. 第1の実施形態に係るスキャン実行時の処理の例を示すシーケンス図である。It is a sequence diagram which shows the example of the processing at the time of scan execution which concerns on 1st Embodiment. 第2の実施形態に係るウェブサービス部の機能構成の例を示す図である。It is a figure which shows the example of the functional structure of the web service part which concerns on 2nd Embodiment. 第3の実施形態に係るポータルサービス部の機能構成の例を示す図である。It is a figure which shows the example of the functional structure of the portal service part which concerns on 3rd Embodiment. 第4の実施形態に係るポータルサービス部の機能構成の例を示す図である。It is a figure which shows the example of the functional structure of the portal service part which concerns on 4th Embodiment.

以下、本発明の実施形態について、図面を参照しながら詳細に説明する。 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 information processing system 100, for example, a service providing server 101, an information terminal 102, and one or more electronic devices 103 are connected so as to be able to communicate with each other via a communication network 104 such as the Internet or a LAN (Local Area Network). There is.

サービス提供サーバ(サーバ装置)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 service providing server 101 manages a web application (application) that executes a predetermined process, and provides the web application to an electronic device 103 or the like connected via the communication network 104.

サービス提供サーバ101が提供するウェブアプリケーションは、例えば、複数の処理が定義されたワークフロー(処理手順)を実行するウェブアプリケーション、又は電子機器103が備える1つ以上の機能を実行するウェブアプリケーション等である。ただし、これに限られず、サービス提供サーバ101が提供するウェブアプリケーションは、様々な処理を実行するウェブアプリケーションであっても良い。 The web application provided by the service providing server 101 is, for example, a web application that executes a workflow (processing procedure) in which a plurality of processes are defined, a web application that executes one or more functions included in the electronic device 103, and the like. .. However, the present invention is not limited to this, and the web application provided by the service providing server 101 may be a web application that executes various processes.

ここで、ワークフローとは、例えば、画像データ等の処理対象となる電子データに対して、入力処理、変換処理、出力処理等の所定の処理を実行する複数のコンポーネントを組み合わせた一連の処理を定義した情報である。また、コンポーネントは、ワークフローに含まれる各処理を実行するプログラムであり、プラグインと呼ばれる場合もある。 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 information terminal 102 is an information processing device such as a desktop PC (Personal Computer), a notebook PC, a smartphone, or a tablet terminal. A developer (or user) or the like who develops an application can access a web page provided by the service providing server 101 by using a web browser provided in the information terminal 102 to set an application and a workflow.

また、情報端末102は、例えば、サービス提供サーバ101を運営するサービス提供者等から提供されるカスタマイズ用のツールを用いて、操作画面をカスタマイズしたウェブアプリケーションを、サービス提供サーバ101に登録することができる。 Further, the information terminal 102 may register a web application whose operation screen is customized in the service providing server 101 by using, for example, a customization tool provided by a service provider or the like that operates the service providing server 101. it can.

電子機器103は、サービス提供サーバ101から提供されるウェブページを表示するウェブブラウザを備え、サービス提供サーバ101が提供するウェブページにアクセスして、アプリケーションを利用する装置である。ここでは、一例として、電子機器103が、スキャン機能、コピー機能、プリンタ機能、ファクシミリ機能等を一つの筐体に搭載したMFP(Multifunction Peripheral)等の画像形成装置であるものとして、以下の説明を行う。 The electronic device 103 is a device that includes a web browser that displays a web page provided by the service providing server 101, accesses the web page provided by the service providing server 101, and uses an application. Here, as an example, the following description will be given assuming that the electronic device 103 is an image forming apparatus such as an MFP (Multifunction Peripheral) in which a scanning function, a copying function, a printer function, a facsimile function, etc. are mounted in one housing. Do.

ただし、電子機器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 electronic device 103 is not limited to the image forming apparatus, and may be various devices including a web browser and capable of accessing the web page provided by the service providing server 101. For example, the electronic device 103 is an output device such as a PJ (Projector: projector), an IWB (Interactive White Board: a white board having an electronic blackboard function capable of mutual communication), a digital signage, or a HUD (Head Up Display) device. There may be. Further, the electronic device 103 may be, for example, an industrial machine, an imaging device, a sound collecting device, a medical device, a network home appliance, a car (Connected Car), a digital camera, a wearable terminal, or the like. Further, the electronic device 103 may be a general-purpose information processing device such as a notebook PC, a mobile phone, a smartphone, a tablet terminal, a game machine, a PDA (Personal Digital Assistant), a digital camera, or a wearable PC desktop PC.

<処理の概要>
図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 ifram 200 included in the operation screen displayed by the electronic device 103 or the like by using the customization tool 210 installed in the information terminal 102 or the like. Can be customized.

ここで、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 electronic device 103 or the like.

例えば、開発者等は、カスタマイズ用のツール210を用いて、図2に示すような、カスタマイズされた表示画面201を表示するウェブアプリケーション(以下、アプリAと呼ぶ)を作成し、サービス提供サーバ101に登録することができる。 For example, a developer or the like uses a customization tool 210 to create a web application (hereinafter referred to as application A) that displays a customized display screen 201 as shown in FIG. 2, and creates a service providing server 101. You can register with.

サービス提供サーバ101は、表示画面をカスタマイズしたアプリAの登録を受け付けると、登録されたアプリAをカスタムUI記憶部220等に記憶しておく。また、サービス提供サーバ101は、画像形成装置等の電子機器103からアプリAの開始要求を受け付けると、カスタムUI記憶部220等に記憶したアプリAを用いて、電子機器103が表示する操作画面230aに含まれるiframe200内にアプリAの表示画面201を表示させる。 When the service providing server 101 accepts the registration of the application A whose display screen is customized, the service providing server 101 stores the registered application A in the custom UI storage unit 220 or the like. Further, when the service providing server 101 receives the start request of the application A from the electronic device 103 such as the image forming apparatus, the operation screen 230a displayed by the electronic device 103 using the application A stored in the custom UI storage unit 220 or the like. The display screen 201 of the application A is displayed in the ifram 200 included in the above.

同様に、開発者等は、カスタマイズ用のツール210を用いて、例えば、図2に示すような、カスタマイズされた表示画面202を表示するウェブアプリケーション(以下、アプリBと呼ぶ)を作成し、サービス提供サーバ101に登録することができる。 Similarly, developers and the like use the customization tool 210 to create, for example, a web application (hereinafter referred to as application B) that displays a customized display screen 202 as shown in FIG. 2, and provide a service. It can be registered in the providing server 101.

サービス提供サーバ101は、表示画面をカスタマイズしたアプリBの登録を受け付けると、登録されたアプリBをカスタムUI記憶部220等に記憶しておく。また、サービス提供サーバ101は、画像形成装置等の電子機器103からアプリBの開始要求を受け付けると、カスタムUI記憶部220等に記憶したアプリBを用いて、電子機器103が表示する操作画面230aに含まれるiframe200内にアプリBの表示画面202を表示させる。 When the service providing server 101 accepts the registration of the application B whose display screen is customized, the service providing server 101 stores the registered application B in the custom UI storage unit 220 or the like. Further, when the service providing server 101 receives the start request of the application B from the electronic device 103 such as the image forming apparatus, the operation screen 230a displayed by the electronic device 103 using the application B stored in the custom UI storage unit 220 or the like. The display screen 202 of the application B is displayed in the ifram 200 included in the above.

このように、サービス提供サーバ101は、画像形成装置等の電子機器103が表示するウェブページに含まれるiframe200内に、開発者等が作成したウェブアプリケーションの表示画面(UI:User Interface)を表示させることができる。 In this way, the service providing server 101 displays the display screen (UI: User Interface) of the web application created by the developer or the like in the ifram 200 included in the web page displayed by the electronic device 103 such as the image forming apparatus. be able to.

ただし、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 ifram 200 cannot directly issue execution commands such as printing and scanning to the electronic device 103 such as the image forming apparatus. This is because the option "sandbox" is effectively set from the viewpoint of security in the "if frame" used for the frame in the present embodiment. 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 information processing system 100 cannot be directly used from the contents in the iframe. Therefore, the service providing server 101 provides an interface for using one or more functions provided in the information processing system 100 for the application A, the application B, and the like displayed in the ifram 200.

これにより、画像形成装置等の電子機器103を利用するユーザは、iframe200内に表示されたウェブアプリケーションの表示画面に対して、所定の操作を行うことにより、情報処理システム100に所定の処理を実行させることができるようになる。 As a result, the user who uses the electronic device 103 such as the image forming apparatus executes a predetermined process on the information processing system 100 by performing a predetermined operation on the display screen of the web application displayed in the ifram 200. You will be able to make it.

また、上記の構成により、複数の開発者(ベンダー等)が、カスタマイズされた表示画面を表示するウェブアプリケーション(カスタム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 service providing server 101.

なお、上記の情報処理システム100のシステム構成は一例である。例えば、開発者等は、電子機器103が備えるウェブブラウザを利用して、アプリケーションの設定、登録等を行うことも可能である。また、ユーザは、情報端末102が備えるウェブブラウザを利用して、サービス提供サーバ101が提供するアプリケーションを実行することも可能である。さらに、サービス提供サーバ101の機能は、複数のサーバ装置に分散して設けられていても良い。例えば、アプリケーションを管理するサーバ装置と、ワークフローを実行するサーバ装置とは異なるサーバ装置であっても良い。 The system configuration of the information processing system 100 is an example. For example, a developer or the like can also set and register an application by using a web browser included in the electronic device 103. In addition, the user can also execute the application provided by the service providing server 101 by using the web browser provided in the information terminal 102. Further, the functions of the service providing server 101 may be distributed to a plurality of server devices. For example, the server device that manages the application and the server device that executes the workflow may be different from each other.

<ハードウェア構成>
続いて、情報処理システム100に含まれる各装置のハードウェア構成について説明する。
<Hardware configuration>
Subsequently, the hardware configuration of each device included in the information processing system 100 will be described.

(サービス提供サーバ、及び情報端末のハードウェア構成)
図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 service providing server 101 has, for example, the hardware configuration of the computer 300 as shown in FIG. Alternatively, the service providing server 101 is realized by a plurality of computers 300 having a hardware configuration as shown in FIG. Further, the information terminal 102 has, for example, the hardware configuration of the computer 300 as shown in FIG.

コンピュータ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 computer 300 includes a CPU (Central Processing Unit) 301, a ROM (Read Only Memory) 302, a RAM (Random Access Memory) 303, an HD (Hard Disk) 304, and an HDD (Hard Disk Drive). ) Controller 305, Display 306, External Device Connection I / F (Interface) 307, Network I / F 308, Keyboard 309, Pointing Device 310, DVD-RW (Digital Versatile Disk Rewritable) Drive 312, Media I / F 314, and Bus Line It is equipped with 315 and the like.

これらのうち、CPU301は、コンピュータ300全体の動作を制御する。ROM302は、例えば、IPL(Initial Program Loader)等のCPU301の起動に用いられるプログラムを記憶する。RAM303は、CPU301のワークエリアとして使用される。HD304は、プログラム等の各種データを記憶する。HDDコントローラ305は、CPU301の制御に従ってHD304に対する各種データの読み出し又は書き込みを制御する。 Of these, the CPU 301 controls the operation of the entire computer 300. The ROM 302 stores, for example, a program used for starting the CPU 301 such as an IPL (Initial Program Loader). The RAM 303 is used as a work area of the CPU 301. The HD304 stores various data such as programs. The HDD controller 305 controls reading or writing of various data to the HD 304 according to the control of the CPU 301.

ディスプレイ306は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。外部機器接続I/F307は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等が含まれる。ネットワークI/F308は、通信ネットワーク104を利用してデータ通信をするためのインターフェースである。 The display 306 displays various information such as a cursor, a menu, a window, a character, or an image. The external device connection I / F 307 is an interface for connecting various external devices. The external device in this case includes, for example, a USB (Universal Serial Bus) memory, a printer, and the like. The network I / F 308 is an interface for performing data communication using the communication network 104.

キーボード309は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス310は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD−RWドライブ312は、着脱可能な記録媒体の一例としてのDVD−RW311に対する各種データの読み出し又は書き込みを制御する。なお、DVD−RW311は、DVD−RWに限らず、DVD−R等であっても良い。メディアI/F314は、フラッシュメモリ等のメディア313に対するデータの読み出し又は書き込み(記憶)を制御する。バスライン315は、上記の各構成要素を電気的に接続するためのアドレスバス、データバス及び各種の制御信号等を含む。 The keyboard 309 is a kind of input means including a plurality of keys for inputting characters, numerical values, various instructions, and the like. The pointing device 310 is a kind of input means for selecting and executing various instructions, selecting a processing target, moving a cursor, and the like. The DVD-RW drive 312 controls reading or writing of various data to the DVD-RW311 as an example of a removable recording medium. The DVD-RW311 is not limited to the DVD-RW, but may be a DVD-R or the like. The media I / F 314 controls reading or writing (storage) of data to the media 313 such as a flash memory. The bus line 315 includes an address bus, a data bus, various control signals, and the like for electrically connecting each of the above components.

(電子機器のハードウェア構成)
図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 electronic device 103, the hardware configuration of the image forming apparatus 400 will be described. However, the present invention is not limited to this, and the electronic device 103 may be another device having a computer configuration.

画像形成装置400は、例えば、図4に示されるように、コントローラ410、近距離通信回路420、エンジン制御部430、操作パネル440、ネットワークI/F450等を備えている。 The image forming apparatus 400 includes, for example, a controller 410, a short-range communication circuit 420, an engine control unit 430, an operation panel 440, a network I / F 450, and the like, as shown in FIG.

これらのうち、コントローラ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 controller 410 is a CPU 401, a system memory (MEM-P) 402, a north bridge (NB) 403, a south bridge (SB) 404, an ASIC (Application Specific Integrated Circuit) 405, and a storage unit, which are the main parts of a computer. It has a local memory (MEM-C) 406, an HDD controller 407, a storage unit HD408, etc., and has a configuration in which the NB 403 and the ASIC 405 are connected by an AGP (Accelerated Graphics Port) bus 411. ..

これらのうち、CPU401は、画像形成装置400の全体制御を行う制御部である。NB403は、CPU401と、MEM−P402、SB404、及びAGPバス411とを接続するためのブリッジであり、MEM−P402に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。 Of these, the CPU 401 is a control unit that controls the entire image forming apparatus 400. The NB403 is a bridge for connecting the CPU 401, the MEM-P402, the SB404, and the AGP bus 411, and includes a memory controller that controls reading and writing to the MEM-P402, a PCI (Peripheral Component Interconnect) master, and an AGP target. Has.

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 controller 410, and a RAM 402b which is used as a memory for developing programs and data and a memory for drawing at the time of memory printing. The program stored in the RAM 402b is configured to be provided by recording a file in an installable format or an executable format on a computer-readable recording medium such as a CD-ROM, CD-R, or DVD. You may.

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 ASIC 405 is an IC (Integrated Circuit) for image processing applications having hardware elements for image processing, and has a role of a bridge connecting the AGP bus 411, the PCI bus 412, the HDD controller 407, and the MEM-C406, respectively. .. The ASIC 405 is a PCI target and an AGP master, an arbiter (ARB) that forms the core of the ASIC 405, a memory controller that controls the MEM-C406, and a plurality of DMACs (Direct Memory Access Controllers) that rotate image data by hardware logic and the like. , And a PCI unit that transfers data between the scanner unit 431 and the printer unit 432 via the PCI bus 412. A USB interface or an IEEE 1394 (Institute of Electrical and Electronics Engineers 1394) interface may be connected to the ASIC 405.

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 HDD controller 407 controls reading or writing of data to the HD408 according to the control of the CPU 401. The AGP bus 411 is a bus interface for a graphics accelerator card proposed to speed up graphics processing, and the graphics accelerator card can be speeded up by directly accessing the MEM-P402 with high throughput. ..

近距離通信回路420は、NFC(Near Field Communication)、Bluetooth(登録商標)等の通信回路である。近距離通信回路420は、例えば、アンテナ420aを介して、近距離無線通信を行う。 The short-range communication circuit 420 is a communication circuit such as NFC (Near Field Communication) and Bluetooth (registered trademark). The short-range communication circuit 420 performs short-range wireless communication, for example, via the antenna 420a.

エンジン制御部430は、例えば、スキャナ部431及びプリンタ部432等によって構成されている。スキャナ部431は、原稿等を読み取る読取装置である。プリンタ部432は、印刷データを印刷媒体に印刷する印刷装置である。スキャナ部431又はプリンタ部432には、例えば、誤差拡散やガンマ変換等の画像処理部分が含まれている。 The engine control unit 430 is composed of, for example, a scanner unit 431, a printer unit 432, and the like. The scanner unit 431 is a reading device that reads a document or the like. The printer unit 432 is a printing device that prints print data on a print medium. The scanner unit 431 or the printer unit 432 includes, for example, an image processing portion such as error diffusion and gamma conversion.

操作パネル440は、操作画面等を表示し、操作画面に対する入力操作等を受け付けるタッチパネル等のパネル表示部440a、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなる操作ボタン440bを備えている。コントローラ410は、画像形成装置400の全体の制御を行い、例えば、描画、通信、操作パネル440からの入力等を制御する。 The operation panel 440 displays a panel display unit 440a such as a touch panel that displays an operation screen or the like and accepts an input operation or the like on the operation screen, and a numeric keypad and a copy start instruction that accepts setting values of conditions related to image formation such as density setting conditions. It is provided with an operation button 440b including a start key or the like for receiving. The controller 410 controls the entire image forming apparatus 400, and controls, for example, drawing, communication, input from the operation panel 440, and the like.

なお、画像形成装置400は、操作パネル440のアプリケーション切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、及びファクシミリ機能を順次に切り替えて選択することが可能となる。ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。 The image forming apparatus 400 can sequentially switch and select the document box function, the copy function, the printer function, and the facsimile function by the application switching key of the operation panel 440. When the document box function is selected, the document box mode is set, when the copy function is selected, the copy mode is set, when the printer function is selected, the printer mode is set, and when the facsimile mode is selected, the facsimile mode is set.

また、ネットワークI/F450は、通信ネットワーク104を利用してデータ通信をするためのインターフェースである。近距離通信回路420及びネットワークI/F450は、例えば、PCIバス412を介して、ASIC405に電気的に接続されている。 Further, the network I / F 450 is an interface for performing data communication using the communication network 104. The short-range communication circuit 420 and the network I / F 450 are electrically connected to the ASIC 405 via, for example, the PCI bus 412.

[第1の実施形態]
<機能構成>
続いて、第1の実施形態に係る情報処理システム100に含まれる各装置の機能構成について説明する。なお、ここでは、電子機器103が画像形成装置400であるものとして、以下の説明を行う。
[First Embodiment]
<Functional configuration>
Subsequently, the functional configuration of each device included in the information processing system 100 according to the first embodiment will be described. Here, the following description will be given assuming that the electronic device 103 is the image forming apparatus 400.

(サービス提供サーバの機能構成)
図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 service providing server 101 executes, for example, one or more programs on the CPU 301 of FIG. 3 or a plurality of computers 300, thereby causing an input / output service unit 510, a web service unit 520, a document service unit 530, and a portal service unit. It has achieved 540 and so on. It should be noted that at least a part of each of the above functional configurations may be realized by hardware.

また、サービス提供サーバ101は、カスタムUI記憶部220、アプリ情報記憶部550、及びポータル画面情報記憶部560等の記憶部を有する。カスタムUI記憶部220、アプリ情報記憶部550、及びポータル画面情報記憶部560は、例えば、図3のHD304等によって実現される。また、カスタムUI記憶部220、アプリ情報記憶部550、及びポータル画面情報記憶部560のうちの少なくとも一部は、例えば、ストレージサーバ等の外部装置によって実現されるものであっても良い。 Further, the service providing server 101 has a storage unit such as a custom UI storage unit 220, an application information storage unit 550, and a portal screen information storage unit 560. The custom UI storage unit 220, the application information storage unit 550, and the portal screen information storage unit 560 are realized by, for example, HD304 in FIG. Further, at least a part of the custom UI storage unit 220, the application information storage unit 550, and the portal screen information storage unit 560 may be realized by an external device such as a storage server.

入出力サービス部510は、サービス提供サーバ101が提供するウェブアプリケーション(以下、アプリケーションと呼ぶ)の管理、及びアプリケーションの実行等に関する処理を行う。入出力サービス部510は、例えば、図5に示すようにアプリ管理部511、ロジック処理部512、フロー管理部513、及びコンポーネント管理部514等を含む。 The input / output service unit 510 manages a web application (hereinafter referred to as an application) provided by the service providing server 101, and performs processing related to execution of the application. The input / output service unit 510 includes, for example, an application management unit 511, a logic processing unit 512, a flow management unit 513, a component management unit 514, and the like, as shown in FIG.

アプリ管理部511は、サービス提供サーバ101が提供する複数のアプリケーションを管理する。例えば、アプリ管理部511は、複数のアプリケーションの情報(以下、アプリ情報551と呼ぶ)を、アプリ情報記憶部550に記憶して管理する。このアプリ情報551には、例えば、アプリケーションを識別する識別情報(以下、アプリケーションIDと呼ぶ)や、ワークフロー(処理手順)情報等が含まれる。 The application management unit 511 manages a plurality of applications provided by the service providing server 101. For example, the application management unit 511 stores and manages information on a plurality of applications (hereinafter referred to as application information 551) in the application information storage unit 550. The application information 551 includes, for example, identification information (hereinafter referred to as an application ID) for identifying an application, workflow (processing procedure) information, and the like.

アプリ管理部511は、例えば、ロジック処理部512、画面表示処理部521等からの要求に応じて、アプリ情報記憶部550に記憶しているアプリ情報551を提供する。また、アプリ管理部511は、例えば、ポータルサービス部540のアプリ登録部542等からの要求に応じて、アプリケーションのアプリ情報551を、アプリ情報記憶部550に記憶する。 The application management unit 511 provides the application information 551 stored in the application information storage unit 550 in response to a request from the logic processing unit 512, the screen display processing unit 521, or the like, for example. Further, the application management unit 511 stores the application information 551 of the application in the application information storage unit 550 in response to a request from the application registration unit 542 or the like of the portal service unit 540, for example.

ロジック処理部512は、例えば、ウェブサービス部520等からの要求に応じて、アプリ管理部511が管理するアプリ情報551を取得する。また、ロジック処理部512は、アプリ管理部511から取得したアプリ情報551に基づいて、アプリケーションを実行する。例えば、ロジック処理部512は、アプリ情報551に含まれるワークフロー情報に定義された一連の処理を、ドキュメントサービス部530等に、順次に実行させる。 The logic processing unit 512 acquires the application information 551 managed by the application management unit 511 in response to a request from, for example, the web service unit 520 or the like. Further, the logic processing unit 512 executes the application based on the application information 551 acquired from the application management unit 511. For example, the logic processing unit 512 causes the document service unit 530 or the like to sequentially execute a series of processes defined in the workflow information included in the application information 551.

フロー管理部513は、アプリ管理部511によって、アプリ情報記憶部550に記憶されるアプリ情報551に含まれるワークフローを管理する。例えば、フロー管理部513は、開発者、ユーザ等によって変更されたアプリケーションのワークフローを確認し、ワークフローの修正が必要な場合、ワークフローの実行に必要な処理(コンポーネント)をワークフローに追加する処理等を行う。 The flow management unit 513 manages the workflow included in the application information 551 stored in the application information storage unit 550 by the application management unit 511. For example, the flow management unit 513 confirms the workflow of the application changed by the developer, the user, etc., and when the workflow needs to be modified, the flow management unit 513 adds a process (component) necessary for executing the workflow to the workflow. Do.

コンポーネント管理部514は、ワークフローで実行可能な様々な処理を実行する複数のコンポーネントを管理する。例えば、コンポーネント管理部514は、ドキュメントサービス部530に含まれるOCR(Optical Character Recognition/Reader)531、ファイル変換532、・・・等のコンポーネントを管理する。例えば、フロー管理部513は、コンポーネント管理部514から、サービス提供サーバ101で利用可能なコンポーネントの情報を取得することができる。 The component management unit 514 manages a plurality of components that execute various processes that can be executed in the workflow. For example, the component management unit 514 manages components such as OCR (Optical Character Recognition / Reader) 531 and file conversion 532 included in the document service unit 530. For example, the flow management unit 513 can acquire information on the components available on the service providing server 101 from the component management unit 514.

ウェブサービス部520は、画像形成装置400(又は情報端末102)が備えるウェブブラウザから、サービス提供サーバ101が提供するアプリケーションを利用するための処理を行う。例えば、ウェブサービス部520は、図5に示すように画面表示処理部521、及びアプリ実行部522を含み、ウェブブラウザに対してウェブアプリケーションを提供するアプリケーションサーバとして機能する。 The web service unit 520 performs processing for using the application provided by the service providing server 101 from the web browser provided in the image forming apparatus 400 (or the information terminal 102). For example, the web service unit 520 includes a screen display processing unit 521 and an application execution unit 522 as shown in FIG. 5, and functions as an application server that provides a web application to a web browser.

画面表示処理部521は、画像形成装置400(又は情報端末102)のウェブブラウザからの要求に応じて、ウェブブラウザにサービス提供サーバ101が提供するアプリケーションの表示画面(以下、アプリ画面と呼ぶ)を表示させる。このアプリ画面は、例えば、HTML(Hyper Text Markup Language)、XML(Extensible Markup Language)、css(Cascading Style Sheets)、JavaScript(登録商標)等の言語によって作成されている。したがって、ユーザは、アプリ画面に対して操作を行うことにより、アプリケーションに対する様々な操作を行うことができる。画面表示処理部521は、例えば、図6Aに示すように、フレーム外側表示処理部601、及びフレーム内側表示処理部602を含む。 The screen display processing unit 521 displays an application display screen (hereinafter referred to as an application screen) provided by the service providing server 101 on the web browser in response to a request from the web browser of the image forming apparatus 400 (or information terminal 102). Display it. This application screen is created in languages such as HTML (Hyper Text Markup Language), XML (Extensible Markup Language), css (Cascading Style Sheets), and Javascript (registered trademark). Therefore, the user can perform various operations on the application by performing operations on the application screen. The screen display processing unit 521 includes, for example, a frame outer display processing unit 601 and a frame inner display processing unit 602, as shown in FIG. 6A.

フレーム外側表示処理部601は、例えば、図2の操作画面230a、230bに示すような、iframe200を含む操作画面を作成し、作成した操作画面を画像形成装置400等が備えるウェブブラウザに表示させる。 The frame outer display processing unit 601 creates, for example, an operation screen including the iframe 200 as shown in the operation screens 230a and 230b of FIG. 2, and displays the created operation screen on a web browser provided in the image forming apparatus 400 or the like.

フレーム内側表示処理部602は、アプリ管理部511から、アプリケーションのアプリ情報551、及びカスタムUI情報221を取得し、取得した情報を用いてアプリ画面を作成する。また、フレーム内側表示処理部602は、例えば、図2の操作画面230a、230bに示すように、操作画面に含まれるiframe200内に、カスタマイズされたアプリ画面を表示させる。 The frame inner display processing unit 602 acquires the application information 551 and the custom UI information 221 of the application from the application management unit 511, and creates an application screen using the acquired information. Further, the frame inner display processing unit 602 displays a customized application screen in the ifram 200 included in the operation screen, for example, as shown in the operation screens 230a and 230b of FIG.

なお、アプリ情報551には、例えば、前述したように、アプリケーションを識別するアプリケーションIDや、ワークフロー(処理手順)情報等が含まれる。また、カスタムUI情報221には、例えば、開発者等によって登録された、カスタマイズされた表示画面(UI)を表示するアプリケーション(以下、カスタムUIアプリと呼ぶ)、アプリケーションを識別するアプリケーションID等が含まれる。したがって、アプリケーションIDを用いて、アプリ情報551とカスタムUI情報221との対応関係を特定することができる。 The application information 551 includes, for example, an application ID that identifies an application, workflow (processing procedure) information, and the like, as described above. Further, the custom UI information 221 includes, for example, an application (hereinafter referred to as a custom UI application) that displays a customized display screen (UI) registered by a developer or the like, an application ID that identifies the application, and the like. Is done. Therefore, the correspondence relationship between the application information 551 and the custom UI information 221 can be specified by using the application ID.

アプリ実行部522は、アプリ画面に対するユーザの操作に応じて、アプリケーションの実行を制御する。例えば、アプリ実行部522は、図6Aに示すように、インターフェース部603を含む。 The application execution unit 522 controls the execution of the application according to the user's operation on the application screen. For example, the application execution unit 522 includes an interface unit 603 as shown in FIG. 6A.

インターフェース部603は、アプリ実行部522が提供する、情報処理システム100が備える1つ以上の機能を利用するためのインターフェースであり、例えば、CPU301で実行されるカスタムUIライブラリ222等によって実現される。このカスタムUIライブラリ222には、iframe200内から利用可能な1つ以上のスクリプト(例えば、コピー処理用のスクリプト、スキャン処理用のスクリプト等)が含まれ、例えば、カスタムUI記憶部220等に予め記憶されている。 The interface unit 603 is an interface for using one or more functions provided by the information processing system 100 provided by the application execution unit 522, and is realized by, for example, a custom UI library 222 executed by the CPU 301. This custom UI library 222 includes one or more scripts (for example, a script for copy processing, a script for scanning processing, etc.) that can be used from within the ifram 200, and is stored in advance in, for example, the custom UI storage unit 220 or the like. Has been done.

なお、情報処理システム100が備える1つ以上の機能には、例えば、前回実行したジョブIDの取得、ジョブIDから結果の取得、スキャン/印刷の実行、ホーム画面への遷移、ジョブ履歴画面への遷移、及び状態の保存・取得等の様々な機能が含まれる。また、情報処理システム100が備える1つ以上の機能には、例えば、ドキュメントサービス部530に含まれるOCR531、ファイル変換532、・・・等の機能が含まれる。 The information processing system 100 includes one or more functions, for example, acquisition of the previously executed job ID, acquisition of the result from the job ID, execution of scanning / printing, transition to the home screen, and transition to the job history screen. It includes various functions such as transition and state saving / acquisition. Further, one or more functions included in the information processing system 100 include, for example, functions such as OCR531 included in the document service unit 530, file conversion 532, and the like.

iframe200内に表示されるカスタムUIアプリは、情報処理システム100が備える上記の各機能を直接制御することはできないが、インターフェース部603を利用して、上記の各機能を利用することができる。 The custom UI application displayed in the ifram 200 cannot directly control each of the above-mentioned functions included in the information processing system 100, but each of the above-mentioned functions can be used by using the interface unit 603.

図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 custom UI application 610 includes, for example, information 611 that defines a display element to be displayed on the application screen, a script 612 that defines the operation content corresponding to the display element, and the like. In the example of FIG. 6B, when the "start button" which is an example of the display element is selected, the script which calls the function 621 for executing the scan process included in the custom UI library 222 is executed. There is.

複数のベンダーの開発者等は、このようなカスタムUIアプリ610を作成することにより、例えば、図2に示すような、カスタマイズされた表示画面201、又は表示画面202等を、画像形成装置400の操作画面に表示させることができる。 By creating such a custom UI application 610, developers of a plurality of vendors, for example, can create a customized display screen 201, a display screen 202, or the like as shown in FIG. 2 of the image forming apparatus 400. It can be displayed on the operation screen.

これにより、アプリ実行部522は、例えば、iframe200内に表示されたアプリケーションの表示画面で選択されたワークフローの実行を、ロジック処理部512に要求することができる。また、アプリ実行部522は、例えば、iframe200内に表示されたアプリケーションの表示画面で選択された画像形成処理の実行を、画像形成装置400に要求することができる。 As a result, the application execution unit 522 can request the logic processing unit 512 to execute the workflow selected on the display screen of the application displayed in the ifram 200, for example. Further, the application execution unit 522 can request the image forming apparatus 400 to execute the image forming process selected on the display screen of the application displayed in the ifram 200, for example.

このように、アプリ実行部522は、iframe200内に表示させた表示画面に対する受付に応じて、インターフェース部603を介して機能の実行要求を受け付け、機能の実行を制御する。 In this way, the application execution unit 522 receives the function execution request via the interface unit 603 in response to the reception for the display screen displayed in the ifram 200, and controls the execution of the function.

ドキュメントサービス部530は、ロジック処理部512からの制御に応じて、例えば、OCR531、ファイル変換532、・・・等のコンポーネントを用いて、ワークフローに定義された処理を実行する。 The document service unit 530 executes the process defined in the workflow by using components such as OCR531, file conversion 532, and the like according to the control from the logic processing unit 512.

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 file conversion 532 is a component that executes a file conversion process for converting the data format of electronic data. Note that OCR531 and file conversion 532 are examples of components included in the document service unit 530. The document service unit 530 may have various components different from the above components.

ポータルサービス部540は、アプリケーションを開発する開発者等が、情報端末102(又は画像形成装置400)のウェブブラウザを用いてアプリケーションの登録、設定等を行うための処理を行う。なお、ポータルサービス部540には、例えば、図5に示すように、設定画面提供部541、及びアプリ登録部542等が含まれる。 The portal service unit 540 performs processing for a developer or the like who develops an application to register, set, or the like the application by using the web browser of the information terminal 102 (or the image forming apparatus 400). The portal service unit 540 includes, for example, a setting screen providing unit 541, an application registration unit 542, and the like, as shown in FIG.

設定画面提供部541は、情報端末102(又は画像形成装置400)等のウェブブラウザ等からの要求に応じて、ポータル画面情報記憶部560に記憶されているポータル画面情報561等を用いてアプリ設定画面を作成する。また、設定画面提供部541は、作成したアプリ設定画面を情報端末102等のウェブブラウザに表示させる。 The setting screen providing unit 541 sets an application using the portal screen information 561 or the like stored in the portal screen information storage unit 560 in response to a request from a web browser or the like of the information terminal 102 (or image forming apparatus 400) or the like. Create a screen. In addition, the setting screen providing unit 541 displays the created application setting screen on a web browser such as the information terminal 102.

このアプリ設定画面は、例えば、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 application registration unit 542 requests the application management unit 511 to register, set, and change the WF application in response to the request from the setting screen providing unit 541. For example, the application registration unit 542 requests the application management unit 511 to register the WF application when the WF application registration operation or the like is performed on the application setting screen provided by the setting screen providing unit 541.

カスタムUI記憶部220は、前述したカスタムUI情報221、カスタムUIライブラリ222等を記憶する。アプリ情報記憶部550は、前述したアプリ情報551等を記憶する。ポータル画面情報記憶部560は、情報端末102(又は画像形成装置400)等のウェブブラウザに、アプリ設定画面等を表示させるために用いる情報であるポータル画面情報561を記憶する。 The custom UI storage unit 220 stores the above-mentioned custom UI information 221 and custom UI library 222. The application information storage unit 550 stores the above-mentioned application information 551 and the like. The portal screen information storage unit 560 stores portal screen information 561 which is information used for displaying an application setting screen or the like on a web browser such as an information terminal 102 (or an image forming apparatus 400).

(画像形成装置の機能構成)
図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 image forming apparatus 400 realizes, for example, a web browser 701, a custom UI creation unit 702, a storage unit 703, a web API 704, an image forming unit 705, and the like by executing one or more programs on the CPU 401 of FIG. ing. It should be noted that at least a part of each of the above functional configurations may be realized by hardware.

ウェブブラウザ701は、一般的なウェブブラウザの機能を有し、例えば、サービス提供サーバ101から提供されるウェブページを表示するとともに、ユーザによるウェブページへの操作を受け付ける。前述したように、サービス提供サーバ101のウェブサービス部520から提供されるアプリ画面は、HTML、XML、css、JavaScript等の言語によって作成されている。ウェブブラウザ701は、このようなアプリ画面を表示することにより、ウェブサービス部520の機能をウェブブラウザ701にロードし、スクリプトの形で実行することができる。 The web browser 701 has a function of a general web browser, for example, displays a web page provided by the service providing server 101, and accepts an operation on the web page by a user. As described above, the application screen provided by the web service unit 520 of the service providing server 101 is created in languages such as HTML, XML, css, and Javascript. By displaying such an application screen, the web browser 701 can load the function of the web service unit 520 into the web browser 701 and execute it in the form of a script.

カスタム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 CPU 401 of FIG. 4 (for example, a tool 210 for customization, an SDK, etc.), and a developer or the like can create a custom UI application. Used. In addition, the custom UI creation unit 702 registers (uploads) the custom UI application created by the developer or the like in the service providing server 101, and executes a deployment process for making it available.

記憶部703は、例えば、カスタムUI作成部702が作成した、カスタムUIアプリ等の様々な情報を記憶する。 The storage unit 703 stores various information such as a custom UI application created by the custom UI creation unit 702, for example.

ウェブAPI(Application Programming Interface)704は、画像形成装置400が備える、スキャン、印刷、コピー、ファクス等の画像形成機能を利用するためのAPIを、サービス提供サーバ101に提供する。これにより、サービス提供サーバ101は、ウェブAPI704を利用して、画像形成装置400に画像形成処理を実行させることができる。 The Web API (Application Programming Interface) 704 provides the service providing server 101 with an API for using image forming functions such as scanning, printing, copying, and faxing provided in the image forming apparatus 400. As a result, the service providing server 101 can make the image forming apparatus 400 execute the image forming process by using the web API 704.

画像形成部705は、例えば、図4のCPU401で実行されるプログラム、及びエンジン制御部430等によって実現され、スキャン、印刷、コピー、ファクス等の画像形成処理を実行する。 The image forming unit 705 is realized by, for example, a program executed by the CPU 401 of FIG. 4 and an engine control unit 430, and executes image forming processing such as scanning, printing, copying, and faxing.

(情報端末の機能構成)
図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 information terminal 102, for example, realizes a web browser 701, a custom UI creation unit 702, a storage unit 703, and the like by executing one or more programs on the CPU 301 of FIG. Since the web browser 701, the custom UI creation unit 702, and the storage unit 703 are the same as the web browser 701, the custom UI creation unit 702, and the storage unit 703 included in the image forming apparatus 400, the description thereof will be omitted.

<処理の流れ>
続いて、第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 service providing server 101. Shown. The web browser 701 and the custom UI creation unit 702 of FIG. 7 may be provided in the information terminal 102 or in the image forming apparatus 400.

ステップ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 customization tool 210 installed on the information terminal 102 or the like to execute the template expansion command.

ステップS802において、カスタムUI作成部702は、テンプレートの展開操作を受け付けると、予め記憶したテンプレートファイルを展開し、表示する。なお、テンプレートは、カスタマイズ用の雛形となるサンプルアプリ等であり、例えば、HTML、css、JavaScript等の言語によって作成されている。 In step S802, when the custom UI creation unit 702 receives the template expansion operation, it expands and displays the template file stored in advance. The template is a sample application or the like that serves as a template for customization, and is created in, for example, a language such as HTML, css, or Javascript.

ステップ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 custom UI application 610 as shown in FIG. 6B.

なお、ステップ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 web browser 701 to perform a display operation of the application setting screen.

ステップS805において、ウェブブラウザ701は、開発者等によるアプリ設定画面の表示操作を受け付けると、アプリ設定画面の取得要求をポータルサービス部540に送信する。 In step S805, when the web browser 701 receives the display operation of the application setting screen by the developer or the like, the web browser 701 transmits the acquisition request of the application setting screen to the portal service unit 540.

ステップS806において、ポータルサービス部540の設定画面提供部541は、ウェブブラウザ701から、アプリ設定画面の取得要求を受け付けると、アプリ設定画面をウェブブラウザ701に送信する。 In step S806, when the setting screen providing unit 541 of the portal service unit 540 receives the acquisition request of the application setting screen from the web browser 701, the setting screen providing unit 541 transmits the application setting screen to the web browser 701.

ステップS807において、ウェブブラウザ701は、設定画面提供部541から受信したアプリ設定画面を表示する。 In step S807, the web browser 701 displays the application setting screen received from the setting screen providing unit 541.

ステップ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 web browser 701. For example, a developer or the like creates a WF application by setting a process (for example, scanning, printing, etc.), a workflow, setting information, etc. to be executed when each operation button is selected, and performs a registration operation of the WF application. ..

ステップS809において、ウェブブラウザ701は、開発者等によるWFアプリの作成、登録操作を受け付けると、WFアプリの登録を要求するアプリの登録要求を、ポータルサービス部540に送信する。 In step S809, when the web browser 701 accepts the creation and registration operation of the WF application by the developer or the like, the web browser 701 transmits the registration request of the application requesting the registration of the WF application to the portal service unit 540.

ステップS810において、ポータルサービス部540の設定画面提供部541は、ウェブブラウザ701からアプリ登録要求を受け付けると、受け付けたアプリ登録要求をアプリ登録部542に通知する。 In step S810, when the setting screen providing unit 541 of the portal service unit 540 receives the application registration request from the web browser 701, the received application registration request is notified to the application registration unit 542.

ステップS811において、アプリ登録部542は、通知されたアプリ登録要求を、入出力サービス部510のアプリ管理部511に送信して、WFアプリの登録を要求する。 In step S811, the application registration unit 542 sends the notified application registration request to the application management unit 511 of the input / output service unit 510 to request the registration of the WF application.

ステップS812において、アプリ管理部511は、WFアプリの登録を要求するアプリの登録要求を受け付けると、WFアプリのアプリ情報551を、アプリ情報記憶部550に記憶(登録)する。また、アプリ管理部511は、アプリ情報記憶部550に記憶したWFアプリに対応するアプリケーションIDを発行する。 In step S812, when the application management unit 511 receives the application registration request requesting the registration of the WF application, the application information 551 of the WF application is stored (registered) in the application information storage unit 550. Further, the application management unit 511 issues an application ID corresponding to the WF application stored in the application information storage unit 550.

ステップS813〜S815において、アプリ管理部511は、例えば、WFアプリの登録が完了したことを示す完了通知を、ポータルサービス部540を介してウェブブラウザ701に通知する。この完了通知には、例えば、アプリ情報記憶部550に記憶したWFアプリに対応するアプリケーションIDが含まれる。 In steps S813 to S815, the application management unit 511 notifies the web browser 701 via the portal service unit 540, for example, a completion notification indicating that the registration of the WF application is completed. The completion notification includes, for example, an application ID corresponding to the WF application stored in the application information storage unit 550.

ステップS816において、ウェブブラウザ701は、WFアプリの登録が完了したことを示す登録完了画面を表示する。この登録完了画面には、例えば、アプリ管理部511から通知されたアプリケーションIDが表示される。これにより、開発者等は、登録したWFアプリに対応するアプリケーションIDを確認することができる。 In step S816, the web browser 701 displays a registration completion screen indicating that the registration of the WF application is completed. On this registration completion screen, for example, the application ID notified by the application management unit 511 is displayed. As a result, the developer or the like can confirm the application ID corresponding to the registered WF application.

(カスタム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 UI creation unit 702 creates a compressed file of the custom UI application when it receives the execution operation of the deploy command by the administrator or the like.

ステップS823において、カスタムUI作成部702は、作成した圧縮ファイルと、アプリケーションIDとを含むデプロイ要求を、ポータルサービス部540に送信する。 In step S823, the custom UI creation unit 702 transmits a deployment request including the created compressed file and the application ID to the portal service unit 540.

ステップS824において、ポータルサービス部540のアプリ登録部542は、カスタムUI作成部702からデプロイ要求を受け付けると、デプロイ要求に含まれる圧縮ファイルを解凍する。 In step S824, when the application registration unit 542 of the portal service unit 540 receives the deployment request from the custom UI creation unit 702, the compressed file included in the deployment request is decompressed.

ステップS825において、アプリ登録部542は、解凍されたファイルを検証する。例えば、アプリ登録部542は、解凍されたファイルのファイルサイズ、内包するファイル数、必須ファイルの有無等の確認を行う。例えば、本実施形態に係る情報処理システム100においては、「index.html」というファイル名のファイルを必須ファイルとしている。例えば、ウェブサービス部520の画面表示処理部521は、iframe200内にアプリ画面を表示するときに、「index.html」というファイル名のファイルを必ず読み込む必須ファイルとしている。従って、アプリ登録部542は、例えば、解凍されたファイルに、「index.html」というファイル名のファイルが含まれていない場合、解凍されたファイルに問題があると判断する。 In step S825, the application registration unit 542 verifies the decompressed file. For example, the application registration unit 542 confirms the file size of the decompressed file, the number of files to be included, the presence or absence of essential files, and the like. For example, in the information processing system 100 according to the present embodiment, the file with the file name "index.html" is an essential file. For example, the screen display processing unit 521 of the web service unit 520 makes it an essential file to always read the file with the file name "index.html" when displaying the application screen in the ifram 200. Therefore, for example, if the decompressed file does not include a file with the file name "index.html", the application registration unit 542 determines that there is a problem with the decompressed file.

解凍されたファイルに問題がない場合、ステップ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 application registration unit 542 notifies the custom UI creation unit 702 that there is a problem with the compressed file, and cancels the execution of the processes after step S826.

ステップS826において、アプリ登録部542は、カスタムUIアプリを含むカスタムUI情報221を、カスタムUI記憶部220に記憶する。このカスタムUI情報221には、ステップS821で入力されたアプリケーションIDが含まれる。 In step S826, the application registration unit 542 stores the custom UI information 221 including the custom UI application in the custom UI storage unit 220. The custom UI information 221 includes the application ID input in step S821.

ステップS827において、アプリ登録部542は、入出力サービス部510のアプリ管理部511に、カスタムUI情報221の記憶先の情報、及びアプリケーションID等の情報を通知する。 In step S827, the application registration unit 542 notifies the application management unit 511 of the input / output service unit 510 of the storage destination information of the custom UI information 221 and information such as the application ID.

ステップS828において、アプリ管理部511は、アプリ登録部542から通知された、カスタムUI情報221の記憶先、及びアプリケーションID等を、例えば、ステップS812で記憶したアプリ情報551に追加して記憶する。 In step S828, the application management unit 511 adds and stores the storage destination of the custom UI information 221 and the application ID, etc. notified from the application registration unit 542 to, for example, the application information 551 stored in step S812.

なお、図8AのステップS813〜S815において、アプリ管理部511は、ウェブブラウザ701に通知する完了通知にアプリケーションIDを含めて送信する。また、開発者等は、図8BのステップS821において、ウェブブラウザ701に表示されたアプリケーションIDを用いて、デプロイコマンドの実行操作を行う。これにより、アプリ登録部542は、ステップS823において、カスタムUI情報221の記憶先を追加するアプリ情報551を容易に特定することができる。 In steps S813 to S815 of FIG. 8A, the application management unit 511 transmits the completion notification to be notified to the web browser 701 including the application ID. Further, in step S821 of FIG. 8B, the developer or the like performs an execution operation of the deploy command by using the application ID displayed on the web browser 701. As a result, the application registration unit 542 can easily specify the application information 551 to which the storage destination of the custom UI information 221 is added in step S823.

ステップS829、S830において、アプリ管理部511は、アプリ登録部542を介して、カスタムUI作成部702に、デプロイ処理が完了したことを示す完了通知を通知する。 In steps S829 and S830, the application management unit 511 notifies the custom UI creation unit 702 of the completion notification indicating that the deployment process is completed via the application registration unit 542.

上記の図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 information processing system 100.

(アプリ画面の表示処理)
図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 image forming apparatus 400 by the processes shown in FIGS. 8A and 8B. ) Is displayed on the image forming apparatus 400.

ステップS901において、画像形成装置400のウェブブラウザ701には、例えば、図9Bに示すような、1つ以上のカスタムUIアプリを選択可能に表示するアプリケーションの一覧画面920が表示されているものとする。 In step S901, it is assumed that the web browser 701 of the image forming apparatus 400 displays, for example, a list screen 920 of applications that selectively displays one or more custom UI applications as shown in FIG. 9B. ..

図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 application list screen 920, for example, as shown in FIG. 9B, a plurality of selection buttons 921a to 921f for selecting a custom UI application registered in the service providing server 101 are displayed.

このアプリケーションの一覧画面920は、例えば、画像形成装置400のメニュー画面を表示するメニュー表示アプリケーション等が、ウェブサービス部520から通知されるアプリケーションの一覧情報に基づいて、ウェブブラウザ701に表示する。 The application list screen 920 is displayed on the web browser 701, for example, by a menu display application that displays the menu screen of the image forming apparatus 400, based on the application list information notified from the web service unit 520.

図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 application list information 930 includes information 931a to 931f of a plurality of applications. In the following description, "application information 931" is used when indicating information of an arbitrary application among the information 931a to 931f of a plurality of applications.

アプリケーションの情報931には、例えば、カスタムUIアプリのURL情報932、名前情報933、及びアイコン情報934等が含まれる。例えば、メニュー表示アプリケーションは、アプリケーションの情報931aに含まれる名前情報933、及びアイコン情報934を用いて、図9Bのアプリケーションの一覧画面920に、「アプリ1」を選択する選択ボタン921aを表示する。 The application information 931 includes, for example, URL information 932 of the custom UI application, name information 933, icon information 934, and the like. For example, the menu display application displays the selection button 921a for selecting "application 1" on the application list screen 920 of FIG. 9B by using the name information 933 and the icon information 934 included in the application information 931a.

また、メニュー表示アプリケーションは、選択ボタン921aが選択されると、アプリケーションの情報931aに含まれるURL情報932を含むアプリ画面の表示要求を、ウェブサービス部520に送信する。本実施形態では、URL情報932には、カスタムUIアプリを特定するための情報として、アプリケーションID935が含まれる。ただし、カスタムUIアプリを特定するための情報は、アプリケーションID935に限られず、例えば、アプリケーション名等のアプリケーションID以外の情報を用いるものであっても良い。 Further, when the selection button 921a is selected, the menu display application transmits a display request of the application screen including the URL information 932 included in the application information 931a to the web service unit 520. In the present embodiment, the URL information 932 includes the application ID 935 as information for identifying the custom UI application. However, the information for identifying the custom UI application is not limited to the application ID 935, and for example, information other than the application ID such as the application name may be used.

なお、メニュー表示アプリケーションは、他の選択ボタン921b〜921fについても同様に、アプリケーションの情報932b〜932fに基づいて、図9Bのアプリケーションの一覧画面920に表示する。 The menu display application also displays the other selection buttons 921b to 921f on the application list screen 920 of FIG. 9B based on the application information 932b to 932f.

ここで、図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 "application 1" on the application list screen 920 as shown in FIG. 9B, the user selects the selection button 921a of the "application 1".

ステップS903において、画像形成装置400のウェブブラウザ701は、ユーザによるカスタムUIアプリの開始操作を受け付けると、ウェブサービス部520の画面表示処理部521に対して、アプリ画面の表示要求を送信する。このアプリ画面の表示要求には、選択されたカスタムUIアプリのアプリケーションID935を含むURL情報932が含まれる。 In step S903, when the web browser 701 of the image forming apparatus 400 receives the start operation of the custom UI application by the user, the web browser 701 transmits an application screen display request to the screen display processing unit 521 of the web service unit 520. The display request of this application screen includes URL information 932 including the application ID 935 of the selected custom UI application.

ステップS904において、画面表示処理部521のフレーム外側表示処理部601は、アプリ画面の表示要求を受け付けると、カスタムUI記憶部220からカスタムUIライブラリ222を取得する。このカスタムUIライブラリ222には、iframe200内に表示されるカスタムUIアプリから利用可能な共通のスクリプト(例えば、コピー処理用のスクリプト、スキャン処理用のスクリプト等)等が含まれる。 In step S904, when the frame outer display processing unit 601 of the screen display processing unit 521 receives the display request of the application screen, the custom UI library 222 is acquired from the custom UI storage unit 220. This custom UI library 222 includes common scripts (for example, scripts for copy processing, scripts for scanning processing, etc.) that can be used from the custom UI application displayed in ifram 200.

ステップS905において、画面表示処理部521のフレーム外側表示処理部601は、フレーム内側表示処理部602に対して、フレーム内要素(カスタムUIアプリのアプリ画面)の表示を要求する表示要求を通知する。このフレーム内要素の表示要求には、例えば、アプリ画面の表示要求に含まれるURL情報932から取得したアプリケーションIDが含まれる。或いは、フレーム内要素の表示要求には、アプリケーションIDに代えて、アプリ画面の表示要求に含まれるURL情報932が含まれていても良い。 In step S905, the frame outer display processing unit 601 of the screen display processing unit 521 notifies the frame inner display processing unit 602 of a display request requesting the display of the in-frame element (app screen of the custom UI application). The display request of the element in the frame includes, for example, the application ID acquired from the URL information 932 included in the display request of the application screen. Alternatively, the display request of the element in the frame may include the URL information 932 included in the display request of the application screen instead of the application ID.

ステップS906において、フレーム内側表示処理部602は、カスタムUI記憶部220から、フレーム内要素の表示要求に含まれるアプリケーションIDに対応するカスタムUI情報221を取得する。 In step S906, the frame inner display processing unit 602 acquires the custom UI information 221 corresponding to the application ID included in the display request of the in-frame element from the custom UI storage unit 220.

ステップS907において、フレーム内側表示処理部602は、フレーム外側表示処理部601に対して、カスタムUIアプリに対応するアプリ情報551の取得を要求するアプリ情報の取得要求を通知する。このアプリ情報の取得要求には、例えば、フレーム内要素の表示要求から取得したアプリケーションIDが含まれる。 In step S907, the frame inner display processing unit 602 notifies the frame outer display processing unit 601 of the application information acquisition request requesting the acquisition of the application information 551 corresponding to the custom UI application. The application information acquisition request includes, for example, the application ID acquired from the display request of the in-frame element.

ステップS908において、フレーム外側表示処理部601は、フレーム内側表示処理部602から通知されたアプリ情報の取得要求を、アプリ実行部522のインターフェース部603に通知する。 In step S908, the frame outer display processing unit 601 notifies the interface unit 603 of the application execution unit 522 of the application information acquisition request notified from the frame inner display processing unit 602.

ステップS909において、インターフェース部603は、フレーム外側表示処理部601からアプリ情報の取得要求を受け付けると、入出力サービス部510のアプリ管理部511に対して、アプリケーションIDに対応するアプリ情報の取得を要求する。 In step S909, when the interface unit 603 receives the application information acquisition request from the frame outer display processing unit 601, the interface unit 603 requests the application management unit 511 of the input / output service unit 510 to acquire the application information corresponding to the application ID. To do.

ステップS910において、アプリ管理部511は、要求されたアプリケーションIDに対応するアプリ情報を、アプリ実行部522のインターフェース部603に通知する。例えば、アプリ管理部511は、アプリ情報記憶部550に記憶しているアプリ情報551のうち、要求されたアプリケーションIDを含むアプリ情報を取得して、インターフェース部603に通知する。このアプリ情報には、例えば、カスタムUIアプリが実行するワークフロー(処理手順)等の情報が含まれる。 In step S910, the application management unit 511 notifies the interface unit 603 of the application execution unit 522 of the application information corresponding to the requested application ID. For example, the application management unit 511 acquires the application information including the requested application ID from the application information 551 stored in the application information storage unit 550, and notifies the interface unit 603. This application information includes, for example, information such as a workflow (processing procedure) executed by the custom UI application.

ステップS911、S912において、インターフェース部603は、取得したアプリ情報を、フレーム外側表示処理部601を介して、フレーム内側表示処理部602に通知する。 In steps S911 and S912, the interface unit 603 notifies the frame inner display processing unit 602 of the acquired application information via the frame outer display processing unit 601.

ステップS913において、フレーム内側表示処理部602は、取得したアプリ情報と、カスタムUI情報とを用いて、フレーム内に表示するアプリの表示画面を構築する。例えば、フレーム内側表示処理部602は、図2に示すようなカスタマイズされた表示画面201(カスタムUIアプリのアプリ画面)を作成する。 In step S913, the frame inner display processing unit 602 constructs a display screen of the application to be displayed in the frame by using the acquired application information and the custom UI information. For example, the frame inner display processing unit 602 creates a customized display screen 201 (application screen of a custom UI application) as shown in FIG.

ステップS914において、フレーム内側表示処理部602は、フレーム内要素(カスタムUIアプリのアプリ画面)を表示する。 In step S914, the frame inner display processing unit 602 displays the in-frame element (application screen of the custom UI application).

ステップS915において、フレーム外側表示処理部601は、カスタムUIアプリのアプリ画面を、ウェブブラウザ701に送信する。例えば、フレーム外側表示処理部601は、図2の操作画面230aに示すように、iframe200内に、カスタムUIアプリのアプリ画面を表示する操作画面230aを、ウェブブラウザ701に送信して表示させる。 In step S915, the frame outer display processing unit 601 transmits the application screen of the custom UI application to the web browser 701. For example, as shown in the operation screen 230a of FIG. 2, the frame outer display processing unit 601 transmits the operation screen 230a for displaying the application screen of the custom UI application to the web browser 701 and displays it in the ifram 200.

ステップS916において、画像形成装置400のウェブブラウザ701は、フレーム外側表示処理部601から送信されたアプリ画面を表示する。ウェブブラウザ701は、例えば、図2の操作画面230aに示すように、iframe200内に、カスタマイズされた表示画面201(カスタムUIアプリのアプリ画面)を表示するアプリ画面(操作画面230a)を表示する。 In step S916, the web browser 701 of the image forming apparatus 400 displays the application screen transmitted from the frame outer display processing unit 601. For example, as shown in the operation screen 230a of FIG. 2, the web browser 701 displays an application screen (operation screen 230a) for displaying the customized display screen 201 (application screen of the custom UI application) in the ifram 200.

(スキャン実行時の処理)
図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 information processing system 100 in response to a user's operation on the application screen displayed by the display process of the application screen shown in FIG. 9A. Here, it is assumed that the "start scanning" button for requesting the execution of the scanning process is displayed on the application screen of the custom UI application displayed in the ifram 200 of the web browser 701 of the image forming apparatus 400. I do.

ステップ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 web browser 701 of the image forming apparatus 400.

ステップS1002において、ウェブブラウザ701から、画面表示処理部521のフレーム内側表示処理部602に対して、「スキャン開始」ボタンが押下されたことが通知される。 In step S1002, the web browser 701 notifies the frame inner display processing unit 602 of the screen display processing unit 521 that the "scan start" button has been pressed.

ステップS1003において、フレーム内側表示処理部602は、画像形成装置400によるスキャン処理の実行を要求するスキャン実行要求を、フレーム外側表示処理部601に通知する。 In step S1003, the frame inner display processing unit 602 notifies the frame outer display processing unit 601 of a scan execution request requesting execution of the scan process by the image forming apparatus 400.

ステップS1004において、フレーム外側表示処理部601は、フレーム内側表示処理部602から受け付けたスキャン実行要求を、アプリ実行部522のインターフェース部603に通知する。なお、フレーム外側表示処理部601は、上述したカスタムUIライブラリ222のスクリプトを実行することで、この処理を行っている。 In step S1004, the frame outer display processing unit 601 notifies the interface unit 603 of the application execution unit 522 of the scan execution request received from the frame inner display processing unit 602. The frame outer display processing unit 601 performs this processing by executing the script of the custom UI library 222 described above.

ステップS1005において、アプリ実行部522のインターフェース部603は、画像形成装置400のウェブAPI704が備えるスキャン実行APIを実行する。 In step S1005, the interface unit 603 of the application execution unit 522 executes the scan execution API included in the web API 704 of the image forming apparatus 400.

なお、ステップ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 application execution unit 522 may execute the scan execution API of the image forming apparatus 400 via the logic processing unit 512 of the input / output service unit 510. Alternatively, the application execution unit 522 may execute the scan execution API of the image forming apparatus 400 via the SDK (Smart SDK JS) or the like for using the API of the image forming apparatus 400 provided in the service providing server 101. good.

ステップS1006において、画像形成装置400のウェブAPI704は、スキャン実行APIが実行されると、画像形成部705に対してスキャン実行命令を通知する。 In step S1006, the web API 704 of the image forming apparatus 400 notifies the image forming unit 705 of the scan execution command when the scan execution API is executed.

ステップS1007において、画像形成部705は、ウェブAPI704から、スキャン実行命令を受け付けると、スキャン処理を実行する。 In step S1007, when the image forming unit 705 receives the scan execution command from the web API 704, the image forming unit 705 executes the scan process.

ステップS1008、S1009において、アプリ実行部522のインターフェース部603は、スキャン処理を実行したことを示す完了通知を、フレーム外側表示処理部601を介して、フレーム内側表示処理部602に通知する。 In steps S1008 and S1009, the interface unit 603 of the application execution unit 522 notifies the frame inner display processing unit 602 of the completion notification indicating that the scan process has been executed via the frame outer display processing unit 601.

ステップS1010において、画面表示処理部521のフレーム内側表示処理部602は、画像形成装置400のウェブブラウザ701に、スキャン処理を実行したことを通知する。 In step S1010, the frame inner display processing unit 602 of the screen display processing unit 521 notifies the web browser 701 of the image forming apparatus 400 that the scanning process has been executed.

図9A、図10に示すように、フレーム内側表示処理部602は、フレーム外側表示処理部601、及びインターフェース部603を介して、情報処理システム100が備える機能(例えば、アプリ情報の取得処理、スキャン実行処理等)を利用する。 As shown in FIGS. 9A and 10, the frame inner display processing unit 602 has functions (for example, application information acquisition processing and scanning) provided in the information processing system 100 via the frame outer display processing unit 601 and the interface unit 603. Execution processing, etc.) is used.

これは、前述したように、本実施形態でフレームに利用している「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 information processing system 100 cannot be directly used from the contents in the iframe.

そこで、本実施形態では、フレーム外側表示処理部601が、フレーム内側表示処理部602からの要求を受け付けて、カスタムUIライブラリ222のスクリプトを実行することで、iframe200内のカスタムUIアプリから、情報処理システム100の機能を利用できるようにしている。 Therefore, in the present embodiment, the frame outer display processing unit 601 receives the request from the frame inner display processing unit 602 and executes the script of the custom UI library 222 to process information from the custom UI application in the ifram 200. The functions of the system 100 can be used.

以上、本実施形態によれば、開発者等は、表示画面をカスタマイズしたカスタム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 electronic device 103 such as the image forming apparatus 400 by creating a custom UI application in which the display screen is customized. Will be able to.

[第2の実施形態]
第2の実施形態では、サービス提供サーバ101が、アプリケーションが利用する一時的な情報を、アプリケーション毎に管理する情報管理部を有する場合の例について説明する。
[Second Embodiment]
In the second embodiment, an example will be described in which the service providing server 101 has an information management unit that manages temporary information used by the application for each application.

図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 web service unit 520 according to the second embodiment includes an information management unit 1101 in addition to the functional configuration of the web service unit 520 according to the first embodiment shown in FIG.

情報管理部1101は、例えば、図3のCPU301で実行されるiframe200外のアプリケーションによって実現される。情報管理部1101は、iframe200内のアプリケーション(カスタムUIアプリ)が利用する一時的な情報を、アプリケーション毎に管理する。 The information management unit 1101 is realized by, for example, an application other than the ifram 200 executed by the CPU 301 of FIG. The information management unit 1101 manages temporary information used by the application (custom UI application) in the ifram 200 for each application.

具体的な一例として、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 information management unit 1101 outside the ifram 200. As a result, when another custom UI application (for example, a second custom UI application developed by Company B) is loaded in the ifram 200, the first custom UI application is temporarily stored in the information management unit 1101. Information can be reused.

情報管理部1101は、カスタムUIアプリが利用する一時的な情報を管理するために、例えば、ウェブブラウザ701の「localStorage(ローカルストレージ)」を利用することができる。localStorageは、JavaScriptを利用して、任意のデータをクライアント側(ウェブブラウザ701)に保存する機能である。例えば、localStorage内に、A社のカスタムUIアプリ用の保存領域、B社のカスタムUIアプリ用の保存領域といったように、各カスタムUIアプリに対応する保存領域を用意する。なお、A社のカスタムUIアプリ用の保存領域に記憶された情報は、A社のカスタムUIアプリから再利用可能であるが、他社のカスタムUIアプリからは利用できないようになっている。 The information management unit 1101 can use, for example, the "local storage" of the web browser 701 to manage the temporary information used by the custom UI application. local Store is a function that saves arbitrary data on the client side (web browser 701) by using Javascript. For example, in the local Storage, a storage area corresponding to each custom UI application is prepared, such as a storage area for the custom UI application of company A and a storage area for the custom UI application of company B. The information stored in the storage area for the custom UI application of company A can be reused from the custom UI application of company A, but cannot be used from the custom UI application of another company.

例えば、情報管理部1101は、iframe200内に、第2のカスタムUIアプリが読み込まれたときに、第1のカスタムUIアプリが一時的に記憶した情報にはアクセスできないように管理する。このように、カスタムUIアプリが利用する一時的な情報を、カスタムUIアプリ毎に管理することにより、例えば、第1のカスタムUIアプリが記憶した一時的な情報が、第2のカスタムUIアプリにより、書き換えられること等を効果的に抑制することができる。 For example, the information management unit 1101 manages the information temporarily stored by the first custom UI application so that it cannot be accessed when the second custom UI application is loaded in the ifram 200. By managing the temporary information used by the custom UI application for each custom UI application in this way, for example, the temporary information stored by the first custom UI application can be stored by the second custom UI application. , Rewriting, etc. can be effectively suppressed.

[第3の実施形態]
第3の実施形態では、サービス提供サーバ101が、開発者等によりサービス提供サーバ101に登録されるカスタムUIアプリの脆弱性を検査する脆弱性検査部を有する場合の例について説明する。
[Third Embodiment]
In the third embodiment, an example will be described in which the service providing server 101 has a vulnerability inspection unit that inspects the vulnerabilities of the custom UI application registered in the service providing server 101 by a developer or the like.

図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 portal service unit 540 according to the third embodiment includes a vulnerability inspection unit 1201 in addition to the functional configuration of the portal service unit 540 according to the first embodiment shown in FIG. The vulnerability inspection unit 1201 may be included in the application registration unit 542.

脆弱性検査部1201は、例えば、図3のCPU301で実行されるプログラムによって実現され、開発者等によりサービス提供サーバ101に登録されるカスタムUIアプリの脆弱性を検査する。 The vulnerability inspection unit 1201 inspects the vulnerability of the custom UI application realized by the program executed by the CPU 301 of FIG. 3 and registered in the service providing server 101 by the developer or the like.

例えば、脆弱性検査部1201は、図8BのステップS825において、アプリ登録部542が、解凍されたファイルを検証する際に、解凍されたカスタムUIアプリの脆弱性を検査する。例えば、解凍されたカスタムUIアプリに入力フォームがある場合、脆弱性検査部1201は、インジェクション攻撃(クロスサイトスクリプティングやSQLインジェクション等)や、その他の脆弱性がないかを検証する。 For example, the vulnerability inspection unit 1201 inspects the vulnerability of the decompressed custom UI application when the application registration unit 542 verifies the decompressed file in step S825 of FIG. 8B. For example, if the decompressed custom UI application has an input form, the vulnerability inspection unit 1201 verifies whether there is an injection attack (cross-site scripting, SQL injection, etc.) or other vulnerabilities.

具体的な一例として、脆弱性検査部1201は、脆弱性検査に関して、どのような条件が成り立つときに、どのような処理を実行すべきか、という問題解決に必要な知識を予めルールとして登録しておく。また、脆弱性検査部1201は、登録されたルールに該当する場合に脆弱性を検出するといったルールベースで、解凍されたカスタムUIアプリの脆弱性を検出しても良い。 As a specific example, the Vulnerability Inspection Unit 1201 registers in advance the knowledge necessary for solving the problem of what kind of conditions should be met and what kind of processing should be executed for vulnerability inspection as a rule. deep. In addition, the vulnerability inspection unit 1201 may detect vulnerabilities in the decompressed custom UI application based on a rule such as detecting vulnerabilities when the registered rules are met.

脆弱性検査部1201により、カスタムUIアプリに脆弱性が見つかった場合、アプリ登録部542は、例えば、脆弱性が見つかったカスタムUIアプリの登録を中止する。 When the vulnerability inspection unit 1201 finds a vulnerability in the custom UI application, the application registration unit 542 cancels the registration of the custom UI application in which the vulnerability is found, for example.

なお、脆弱性検査部1201は、サービス提供サーバ101が備えていれば良く、例えば、ポータルサービス部540の外部に設けられていても良い。また、脆弱性検査部1201が、カスタムUIアプリの脆弱性を検査するタイミングは、例えば、iframe200内にカスタムUIアプリを読み込むとき等、カスタムUIアプリの登録時以外のタイミングであっても良い。 The vulnerability inspection unit 1201 may be provided by the service providing server 101, and may be provided outside the portal service unit 540, for example. Further, the timing at which the vulnerability inspection unit 1201 inspects the vulnerability of the custom UI application may be a timing other than the registration of the custom UI application, such as when the custom UI application is loaded into the ifram 200.

また、第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 service providing server 101 has a public management unit that manages setting information indicating whether or not to permit the publication of the custom UI application registered by the developer. Here, the scope of disclosure indicates the scope of disclosure among developers who develop custom UI applications. With this function, developers who develop custom UI apps can choose whether to develop all custom UI apps by themselves or to develop custom UI apps using custom UI apps developed by other developers. Will be able to.

図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 portal service unit 540 according to the fourth embodiment includes a public management unit 1301 in addition to the functional configuration of the portal service unit 540 according to the first embodiment shown in FIG. The public management unit 1301 may be included in the setting screen providing unit 541.

公開管理部1301は、例えば、図3のCPU301で実行されるプログラムによって実現され、開発者等によってサービス提供サーバ101に登録されたカスタムUIアプリの公開を許可するか否かを示す設定情報を管理する。 The public management unit 1301 manages setting information indicating whether or not to allow the publication of the custom UI application realized by the program executed by the CPU 301 of FIG. 3 and registered in the service providing server 101 by the developer or the like. To do.

例えば、公開管理部1301は、開発者等によりサービス提供サーバ101に登録されたカスタムUIアプリの公開を許可するか否かを設定する設定画面を、情報端末102(又は画像形成装置400)等のウェブブラウザ701に表示させることができる。また、公開管理部1301は、管理者等によって設定された、カスタムUIアプリの公開を許可するか否かを示す設定情報を、例えば、図4のHD304等に記憶して管理する。 For example, the public management unit 1301 sets a setting screen for setting whether or not to allow the publication of the custom UI application registered in the service providing server 101 by the developer or the like on the information terminal 102 (or the image forming device 400) or the like. It can be displayed on the web browser 701. Further, the public management unit 1301 stores and manages the setting information set by the administrator or the like indicating whether or not to allow the publication of the custom UI application, for example, in the HD304 or the like in FIG.

また、公開管理部1301は、サービス提供サーバ101に登録されたカスタムUIアプリの公開が許可されている場合、他の開発者等による、カスタムUIアプリの利用を許可する。 Further, when the publication of the custom UI application registered in the service providing server 101 is permitted, the public management unit 1301 permits the use of the custom UI application by other developers and the like.

これにより、開発者等は、他の開発者等がサービス提供サーバ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 service providing server 101 and set to allow publishing. become.

なお、第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 information processing system 100 that provides the application to the electronic device 103 by using the service providing server (server device) 101. ..

<補足>
上記で説明した各実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計された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 Information processing system 101 Service providing server (server device)
103 Electronic device 200 iframe (example of frame)
521 Screen display processing unit 522 Application execution unit 542 Application registration unit 603 Interface unit (interface)
701 Web browser 702 Custom UI creation department (creation department)
1101 Information Management Department 1201 Vulnerability Inspection Department 1301 Public Management Department

特開平07−110763号公報Japanese Unexamined Patent Publication No. 07-110763 特開2018−014079JP-A-2018-014079

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乃至3のいずれか一項に記載の情報処理システム。 The information processing system according to any one of claims 1 to 3, wherein the server device has an information management unit that manages temporary information used by the application for each application. 前記サーバ装置は、前記アプリケーションの脆弱性を検査する脆弱性検査部を有する、請求項1乃至4のいずれか一項に記載の情報処理システム。 The information processing system according to any one of claims 1 to 4, wherein the server device has a vulnerability inspection unit that inspects vulnerabilities of the application. 前記サーバ装置は、開発者によって前記サーバ装置に登録された前記アプリケーションの公開を許可するか否かを示す設定情報を管理し、前記アプリケーションの公開が許可されている場合、前記開発者とは異なる開発者による前記アプリケーションの表示画面の表示を許可する公開管理部を有する、請求項1乃至5のいずれか一項に記載の情報処理システム。 The server device manages setting information indicating whether or not to permit the publication of the application registered in the server device by the developer, and when the publication of the application is permitted, the server device is different from the developer. The information processing system according to any one of claims 1 to 5, which has a public management unit that allows a developer to display a display screen of the application. 前記電子機器は、
前記表示画面をカスタマイズした前記アプリケーションを作成するためのテンプレートを提供し、作成された前記アプリケーションを前記サーバ装置に登録する作成部を有する、請求項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.
JP2020079580A 2019-06-11 2020-04-28 Information processing system, server device, information processing method, and program Pending JP2020205031A (en)

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)

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