JP2009290729A - Image forming apparatus, information processing method, and program - Google Patents

Image forming apparatus, information processing method, and program Download PDF

Info

Publication number
JP2009290729A
JP2009290729A JP2008143132A JP2008143132A JP2009290729A JP 2009290729 A JP2009290729 A JP 2009290729A JP 2008143132 A JP2008143132 A JP 2008143132A JP 2008143132 A JP2008143132 A JP 2008143132A JP 2009290729 A JP2009290729 A JP 2009290729A
Authority
JP
Japan
Prior art keywords
information
file
web page
program execution
url
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
JP2008143132A
Other languages
Japanese (ja)
Inventor
Daisuke Kondo
大輔 近藤
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 JP2008143132A priority Critical patent/JP2009290729A/en
Priority to US12/426,347 priority patent/US20090300478A1/en
Publication of JP2009290729A publication Critical patent/JP2009290729A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image forming apparatus capable of properly integrating a plurality of Web applications. <P>SOLUTION: The image forming apparatus having a plurality of program execution means includes: a plurality of Web page generating means for generating a Web page, according to an HTTP request in each program execution means; a menu information integrating means for acquiring display information of menu items for utilizing a Web page generating means, from each of the plurality of the Web page generating means and the URL of the Web page generating means; integrating the acquired information and storing thereof in a file for each program execution means; and merging the information acquired from the file, relating to other program executing means to the first file; and a menu page generating means for generating a Web page that includes menu items for utilizing the plurality of Web page generating means, based on the information stored in the file. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、画像形成装置、情報処理方法、及びプログラムに関し、特にWebサイトを提供する画像形成装置、情報処理方法、及びプログラムに関する。   The present invention relates to an image forming apparatus, an information processing method, and a program, and more particularly to an image forming apparatus, an information processing method, and a program that provide a Web site.

従来、ネットワークを介してアプリケーションを利用するためのインフラとしてWebシステムが広く用いられている。Webシステムにおいて、アプリケーションは、Webサーバ又はアプリケーションサーバと呼ばれるサーバコンピュータ上にWebアプリケーションとして実装される。各Webアプリケーションには一意なURL(Uniform Resource Locator)が割り当てられている。クライアント(Webブラウザ等)は、所望のWebアプリケーションに対するURLを指定してHTTPリクエストを送信することにより、当該Webアプリケーションのユーザインタフェース(Webページ)を表示させたり、当該Webアプリケーションに実装されたビジネスロジックを実行させたりすることができる。   Conventionally, a Web system has been widely used as an infrastructure for using an application via a network. In a Web system, an application is implemented as a Web application on a server computer called a Web server or an application server. A unique URL (Uniform Resource Locator) is assigned to each Web application. A client (Web browser or the like) designates a URL for a desired Web application and transmits an HTTP request to display a user interface (Web page) of the Web application, or business logic implemented in the Web application Can be executed.

ところで、近年ではコピー機、プリンタ、ファクシミリ、又は複合機等の画像形成装置においてもその機能をWebアプリケーションによって提供可能なものが存在する。このような画像形成装置によれば、利用者は、利用したい機能(Webアプリケーション)のURLをWebブラウザ等に入力することにより、当該機能を遠隔的に利用することができる。
特開2004−318842号公報
By the way, in recent years, there are some image forming apparatuses such as copiers, printers, facsimiles, and multi-function machines that can provide the function by a Web application. According to such an image forming apparatus, the user can use the function remotely by inputting the URL of the function (Web application) to be used to the Web browser or the like.
JP 2004-318842 A

しかしながら、利用者から見て画像形成装置は1台の機器である。したがって、複数のWebアプリケーションの集合としてではなく、一つのWebサイトとして利用者から認識されるような環境の構築が望ましい。   However, the image forming apparatus is a single device as viewed from the user. Therefore, it is desirable to construct an environment that can be recognized by the user as a single Web site rather than as a set of Web applications.

但し、他方において、近年のソフトウェア部品化技術の進歩により各Webアプリケーションの独立度は高くなっている。したがって、画像形成装置の機能強化に伴って、新たなWebアプリケーションを柔軟に追加可能な状態となっている。   However, on the other hand, the degree of independence of each Web application has increased due to recent advances in software componentization technology. Therefore, as the function of the image forming apparatus is enhanced, a new Web application can be flexibly added.

したがって、単に複数のWebアプリケーションを一つのWebサイトとして統合的に見せるだけでなく、Webアプリケーションの構成の変化に柔軟に対応可能なWebサイトの構築が望まれる。   Therefore, it is desired to construct a website that can flexibly respond to changes in the configuration of the web application, as well as simply displaying a plurality of web applications as a single website.

本発明は、上記の点に鑑みてなされたものであって、複数のWebアプリケーションを適切に統合することのできる画像形成装置、情報処理方法、及びプログラムの提供を目的とする。   The present invention has been made in view of the above points, and an object thereof is to provide an image forming apparatus, an information processing method, and a program capable of appropriately integrating a plurality of Web applications.

そこで上記課題を解決するため、本発明は、複数のプログラム実行手段を有する画像形成装置であって、前記プログラム実行手段ごとに、HTTPリクエストに応じた処理を実行し、処理結果を示す情報を表示させるWebページを生成する複数のWebページ生成手段と、複数の前記Webページ生成手段のそれぞれより、当該Webページ生成手段を利用させるためのメニュー項目の表示情報及び当該Webページ生成手段のURLを取得し、取得された情報を統合して前記プログラム実行手段ごとの第一のファイルに保存すると共に、前記第一のファイルに他の前記プログラム実行手段に係る前記第一のファイルより取得された情報をマージするメニュー情報統合手段と、前記第一のファイルに保存されている情報に基づいて、複数の前記Webページ生成手段を利用させるためのメニュー項目を含むWebページを生成するメニューページ生成手段とを有することを特徴とする。   Accordingly, in order to solve the above problems, the present invention is an image forming apparatus having a plurality of program execution means, wherein each program execution means executes a process according to an HTTP request and displays information indicating a processing result. The display information of the menu item for using the Web page generation unit and the URL of the Web page generation unit are acquired from each of the plurality of Web page generation units that generate the Web page to be executed and the plurality of Web page generation units. And integrating the acquired information and storing it in a first file for each of the program execution means, and information acquired from the first file relating to the other program execution means in the first file. Based on the menu information integration means for merging and the information stored in the first file, a plurality of Serial and having a menu page generation means for generating a Web page including a menu item for using the Web page generation unit.

このような画像形成装置では、複数のWebアプリケーションを適切に統合することができる。   In such an image forming apparatus, a plurality of Web applications can be appropriately integrated.

本発明によれば、複数のWebアプリケーションを適切に統合することのできる画像形成装置、情報処理方法、及びプログラムを提供することができる。   According to the present invention, it is possible to provide an image forming apparatus, an information processing method, and a program capable of appropriately integrating a plurality of Web applications.

以下、図面に基づいて本発明の実施の形態を説明する。本実施の形態では、複合機を画像形成装置の一例として説明する。複合機は、プリンタ、コピー、スキャナ、又は、ファクス等の複数の機能を一台の筐体において実現する画像形成装置である。   Hereinafter, embodiments of the present invention will be described with reference to the drawings. In the present embodiment, a multifunction peripheral will be described as an example of an image forming apparatus. A multifunction peripheral is an image forming apparatus that realizes a plurality of functions such as a printer, a copy, a scanner, or a fax in a single casing.

図1は、第一の実施の形態における複合機のプログラムの実行環境の構成例を説明するための図である。   FIG. 1 is a diagram for explaining a configuration example of an execution environment for a program of a multifunction machine according to the first embodiment.

図1では、複合機1が有するハードウェア資源の一部として、プロッタエンジン11及びスキャナエンジン12と、ソフトウェア資源の一部として、エンジン制御ボード101、OS102、JVM(Java(登録商標) Virtual Machine)103、OSGi(Open Services Gateway Initiative)プラットフォーム104、バンドル105、及びネイティブコードサービス106等とが示されている。当該ソフトウェア資源は、複合機1が備える非図示の記憶装置に記録され、実装された処理手順を複合機1が備える非図示のCPUに実行させることによりその機能を実現する。   In FIG. 1, the plotter engine 11 and the scanner engine 12 are included as part of the hardware resources of the multifunction device 1, and the engine control board 101, OS 102, and JVM (Java (registered trademark) Virtual Machine) are included as part of the software resources. 103, an OSGi (Open Services Gateway Initiative) platform 104, a bundle 105, a native code service 106, and the like. The software resource is recorded in a storage device (not shown) included in the multifunction device 1 and realizes its function by causing the CPU (not shown) included in the multifunction device 1 to execute the implemented processing procedure.

エンジン制御ボード101は、プロッタエンジン11及びスキャナエンジン12等の複合機1の個別機能を制御し、エンジンI/F(インタフェース)を通して、エンジン制御ボード101の機能をOS102等に提供する。   The engine control board 101 controls individual functions of the multifunction machine 1 such as the plotter engine 11 and the scanner engine 12, and provides the functions of the engine control board 101 to the OS 102 and the like through an engine I / F (interface).

OS102は、いわゆるオペレーティング・システムであり、JVM103や各ネイティブコードサービス106等をプロセスとして並列的に起動させる。JVM103は、Java(登録商標)言語に固有のバイトコードをOS102上で動作可能なネイティブコードに変換して実行する。OSGiプラットフォーム104は、OSGiアライアンスによる標準化技術であり、Java(登録商標)言語に基づいたオープンなソフトウェア部品化技術に基づいて作成されたソフトウェア部品の実行環境を提供するソフトウェアプラットフォームである。OSGiプラットフォーム104上において、Java(登録商標)言語のソフトウェアは「バンドル」と呼ばれるソフトウェア部品の形で実装される。一つのバンドルは、一つのJAR(Java(登録商標) ARchive)ファイルによって構成され、それぞれ独立して動的に(装置の再起動を要することなく)インストール可能である。バンドル105は、斯かるバンドルを示す。図示されるように、バンドル105は複数存在し得る。ネイティブコードサービス106は、例えば、C言語等によって作成された、OS101上において直接動作するネイティブコードによるプログラムであり、図示されるように複数存在しうる。各ネイティブコードサービス106は、例えば、複数のバンドル105より共通的に利用される各種の機能を実現する。JVM103上でスレッドとして起動されるバンドル105によるネイティブコードサービス106の呼び出し(利用)は、例えば、JNI(Java(登録商標) Native Interface)等を用いればよい。   The OS 102 is a so-called operating system, and activates the JVM 103, each native code service 106, and the like as processes in parallel. The JVM 103 converts a byte code unique to the Java (registered trademark) language into a native code operable on the OS 102 and executes it. The OSGi platform 104 is a standardized technology by the OSGi alliance, and is a software platform that provides an execution environment for software components created based on an open software componentization technology based on the Java (registered trademark) language. On the OSGi platform 104, Java (registered trademark) language software is implemented in the form of software components called "bundles". One bundle is constituted by one JAR (Java (registered trademark) ARchive) file, and can be installed dynamically independently (without restarting the apparatus). The bundle 105 indicates such a bundle. As illustrated, there may be a plurality of bundles 105. The native code service 106 is a program by a native code that is created in, for example, the C language and directly operates on the OS 101, and a plurality of native code services 106 may exist as shown in the figure. Each native code service 106 implements various functions commonly used by a plurality of bundles 105, for example. For example, JNI (Java (registered trademark) Native Interface) may be used to call (use) the native code service 106 by the bundle 105 activated as a thread on the JVM 103.

以上のようなソフトウェア資源のうち、複合機1では、複数のバンドル105によって、Webサイトが実現される。図2は、第一の実施の形態において統合的なWebサイトを実現するための複数のバンドルの構成例を示す図である。   Among the software resources as described above, in the multi-function device 1, a Web site is realized by a plurality of bundles 105. FIG. 2 is a diagram illustrating a configuration example of a plurality of bundles for realizing an integrated Web site in the first embodiment.

同図には、HTTPサービスバンドル105−1と、WebUIフレームワークバンドル105−2と、WebUIコンテンツバンドル105−3a、3b、及び3c等の複数のWebUIコンテンツバンドル105−3とが示されている。これらはそれぞれ図1に示される一つのバンドル105に相当する。すなわち、図2では、図1のバンドル105のうち、Webサイトを実現するためのバンドル105の関係(階層関係)が示されている。   In the figure, an HTTP service bundle 105-1, a Web UI framework bundle 105-2, and a plurality of Web UI content bundles 105-3 such as Web UI content bundles 105-3a, 3b, and 3c are shown. Each of these corresponds to one bundle 105 shown in FIG. That is, FIG. 2 shows the relationship (hierarchical relationship) of the bundles 105 for realizing the website among the bundles 105 of FIG.

HTTPサービスバンドル105−1は、いわゆるHTTPサーバ(HTTPデーモン)として機能するバンドル105である。すなわち、HTTPサービスバンドル105−1は、クライアント(Webブラウザ等)からのHTTPリクエストの受信、クライアントへのHTTPレスポンスの送信等、HTTP通信を制御する。   The HTTP service bundle 105-1 is a bundle 105 that functions as a so-called HTTP server (HTTP daemon). That is, the HTTP service bundle 105-1 controls HTTP communication such as reception of an HTTP request from a client (such as a Web browser) and transmission of an HTTP response to the client.

各WebUIコンテンツバンドル105−3は、いわゆるWebアプリケーションとして機能するバンドル105である。すなわち、各WebUIコンテンツバンドル105−3には一意なURL(Uniform Resource Locator)が割り当てられている。各WebUIコンテンツバンドル105−3は、自らに割り当てられたURLが指定されたHTTPリクエストに応じて固有のビジネスロジックを実行し、その処理結果を表示させるWebUIコンテンツ(HTMLデータ等のWebページ)を生成する。   Each Web UI content bundle 105-3 is a bundle 105 that functions as a so-called Web application. That is, a unique URL (Uniform Resource Locator) is assigned to each Web UI content bundle 105-3. Each Web UI content bundle 105-3 executes a unique business logic in response to an HTTP request in which a URL assigned to itself is specified, and generates a Web UI content (Web page such as HTML data) for displaying the processing result. To do.

WebUIフレームワークバンドル105−2は、それぞれ独立している複数のWebUIコンテンツバンドル105−3を統合し、一つのWebサイトを実現するための処理を実行するバンドル105である。複数のWebUIコンテンツバンドル105−3の統合の具体的な内容としては、複数のWebUIコンテンツバンドル105−3に対する共通の情報(セッション情報、認証情報、言語(表示言語)情報等)の管理や、HTTPリクエストに指定されたURLに応じたWebUIコンテンツバンドル105−3の呼び分け(すなわち、HTTPリクエストの分配)や、複数のWebUIコンテンツバンドル105−3のメニュー構成情報の管理等が挙げられる。   The Web UI framework bundle 105-2 is a bundle 105 that integrates a plurality of independent Web UI content bundles 105-2 and executes processing for realizing one Web site. Specific contents of the integration of the plurality of Web UI content bundles 105-3 include management of common information (session information, authentication information, language (display language) information, etc.) for the plurality of Web UI content bundles 105-3, and HTTP. Examples include calling the Web UI content bundle 105-3 according to the URL specified in the request (that is, distributing HTTP requests), managing menu configuration information of a plurality of Web UI content bundles 105-3, and the like.

HTTPリクエストの分配は、統合設定ファイル110に基づいて行われる。統合設定ファイルには、各URLと各WebUIコンテンツバンドル105−3との対応関係を示す情報(以下、「URL対応情報」という。)が含まれている。すなわち、WebUIフレームワークバンドル105−2は、HTTPリクエストに指定されたURLに対応するWebUIコンテンツバンドル105−3を統合設定ファイル110に基づいて判断し、当該WebUIコンテンツバンドル105−3を呼び出してHTTPリクエストに応じた処理を実行させる。   Distribution of HTTP requests is performed based on the integrated setting file 110. The integrated setting file includes information indicating the correspondence between each URL and each Web UI content bundle 105-3 (hereinafter referred to as “URL correspondence information”). That is, the Web UI framework bundle 105-2 determines the Web UI content bundle 105-3 corresponding to the URL specified in the HTTP request based on the integration setting file 110, and calls the Web UI content bundle 105-3 to make an HTTP request. The process according to is executed.

また、メニュー構成情報は、メニューの階層構造や、メニューごとに表示情報(表示文字列等)及びURL(WebUIコンテンツバンドル105−3)との対応関係が定義された情報であり、統合メニューファイル120内に格納される。ここで、メニューとは、各WebUIコンテンツバンドル105−3を利用させるためのメニューが表示されるWebページ(メニューページ)上におけるメニューをいう。   The menu configuration information is information in which the hierarchical structure of the menu, the correspondence between the display information (display character string, etc.) and the URL (Web UI content bundle 105-3) is defined for each menu. Stored in. Here, the menu refers to a menu on a Web page (menu page) on which a menu for using each Web UI content bundle 105-3 is displayed.

図3は、第一の実施の形態のメニューページの表示例を示す図である。同図のメニューページ500において、メニュー510に含まれるメニュー項目(「ホーム」、「リモート操作」、「カスタマイズ」、「ジョブ/ログ」、及び「設定/管理」)は、WebUIコンテンツバンドル105−3を呼び出すためのメニュー項目ではなく、メニューの階層構造を辿るためのメニュー項目である。一方、メニュー511、512、513、514、及び515は、WebUIコンテンツバンドル105−3を呼び出すためのメニュー項目の集合(グループ)であり、その表示内容はメニュー510において選択されるメニュー項目に応じて変化する。すなわち、メニュー510のメニュー項目と、メニュー511、512、513、514、及び515との間には階層関係(親子関係)が存在する。また、メニュー511、512、513、514、及び515とそれぞれに含まれるメニュー項目との間にも階層関係(親子関係)が存在する。なお、同図では、メニュー510において「設定/管理」が選択されている状態が示されている。   FIG. 3 is a diagram illustrating a display example of the menu page according to the first embodiment. In the menu page 500 of the figure, the menu items included in the menu 510 (“Home”, “Remote operation”, “Customize”, “Job / Log”, and “Setting / Management”) are displayed on the Web UI content bundle 105-3. It is not a menu item for calling, but a menu item for tracing the hierarchical structure of the menu. On the other hand, the menus 511, 512, 513, 514, and 515 are a set (group) of menu items for calling the Web UI content bundle 105-3, and the display content thereof depends on the menu item selected in the menu 510. Change. That is, a hierarchical relationship (parent-child relationship) exists between the menu item of the menu 510 and the menus 511, 512, 513, 514, and 515. A hierarchical relationship (parent-child relationship) also exists between the menus 511, 512, 513, 514, and 515 and the menu items included therein. In the figure, a state where “setting / management” is selected in the menu 510 is shown.

したがって、図3の例に基づけば、メニュー構成情報には、メニュー510に含まれる各メニュー項目と他のメニューとの階層関係や、階層関係において末端のメニュー項目に対応するURL等が定義されている。   Therefore, based on the example of FIG. 3, the menu configuration information defines a hierarchical relationship between each menu item included in the menu 510 and other menus, a URL corresponding to the terminal menu item in the hierarchical relationship, and the like. Yes.

メニューページ500は、メニューページ500のURLに対応したWebUIコンテンツバンドル105−3(例えば、WebUIコンテンツバンドル105−3a)によって生成される。したがって、統合メニューファイル120は、当該WebUIコンテンツバンドル105−3によってメニューページ500を生成するために利用される。   The menu page 500 is generated by the Web UI content bundle 105-3 (for example, the Web UI content bundle 105-3a) corresponding to the URL of the menu page 500. Therefore, the integrated menu file 120 is used for generating the menu page 500 by the Web UI content bundle 105-3.

なお、統合設定ファイル110及び統合メニューファイル120は、例えば、複合機1のHDD(Hard Disk Drive)に保存される。   The integrated setting file 110 and the integrated menu file 120 are stored in, for example, an HDD (Hard Disk Drive) of the multifunction machine 1.

ところで、統合設定ファイル110及び統合メニューファイル120は、WebUIフレームワークバンドル105−2によって自動的に生成又は更新される。図4は、統合設定ファイル及び統合メニューファイルの生成処理を説明するための図である。前提として、各WebUIコンテンツバンドル105−3は、設定ファイル及びメニューファイルを有する(関連付けられている)。設定ファイルは、当該WebUIコンテンツバンドル105−3(の識別名)とURLとの対応関係を示す情報(URL対応情報)が記録されたファイルである。メニューファイルは、当該WebUIコンテンツバンドル105−3のメニュー項目の表示内容及び配置位置を示す情報が記録されたファイルである。ここで、配置位置とは、メニューページ500におけるメニューの階層構造上における配置位置をいう。   Incidentally, the integrated setting file 110 and the integrated menu file 120 are automatically generated or updated by the Web UI framework bundle 105-2. FIG. 4 is a diagram for explaining the generation processing of the integrated setting file and the integrated menu file. As a premise, each Web UI content bundle 105-3 has a setting file and a menu file (associated). The setting file is a file in which information (URL correspondence information) indicating the correspondence between the Web UI content bundle 105-3 (identification name) and the URL is recorded. The menu file is a file in which information indicating the display contents and arrangement positions of the menu items of the Web UI content bundle 105-3 is recorded. Here, the arrangement position refers to an arrangement position on the menu hierarchical structure in the menu page 500.

まず、各WebUIコンテンツバンドル105−3は、それぞれが有しているメニューファイル及び設定ファイルを、WebUIフレームワークバンドル105−2のファイル統合部105−21に出力する(S11、S12、S13)。但し、ファイル統合部105−21が能動的に各WebUIコンテンツバンドル105−3よりメニューファイル及び設定ファイルを取得してもよい。   First, each Web UI content bundle 105-3 outputs the menu file and the setting file that it has to the file integration unit 105-21 of the Web UI framework bundle 105-2 (S11, S12, S13). However, the file integration unit 105-21 may actively acquire the menu file and the setting file from each Web UI content bundle 105-3.

続いて、ファイル統合部105−21は、各WebUIコンテンツバンドル105−3より収集されたメニューファイルを統合することにより統合メニューファイル120を生成する(S14)。また、ファイル統合部105−21は、各WebUIコンテンツバンドル105−3より収集された設定ファイルを統合することにより統合設定ファイル110を生成又は更新する(S15)。この際、ファイル統合部105−21は、WebUIコンテンツバンドル105−3間におけるURLの重複チェック等を行う。URLが重複している場合、ファイル統合部105−21は、統合設定ファイル110等の生成を中止する。なお、メニューファイルの統合及び設定ファイルの統合は、各メニューファイル又は設定ファイルの記述内容を直列的に並べることにより行えばよい。   Subsequently, the file integration unit 105-21 generates an integrated menu file 120 by integrating the menu files collected from each Web UI content bundle 105-3 (S14). Further, the file integration unit 105-21 generates or updates the integrated setting file 110 by integrating the setting files collected from each Web UI content bundle 105-3 (S15). At this time, the file integration unit 105-21 performs a URL duplication check between the Web UI content bundles 105-3. When the URLs overlap, the file integration unit 105-21 stops generating the integration setting file 110 and the like. The menu file integration and the configuration file integration may be performed by arranging the description contents of each menu file or configuration file in series.

続いて、WebUIフレームワークバンドル105−2のリクエスト分配部105−22は、生成又は更新された統合設定ファイル110よりURL対応情報を取得し(S16)、当該URL対応情報に含まれているURLの一覧(すなわち、WebUIフレームワークバンドル105−2によって統合されるWebUIコンテンツバンドル105−3のURLの一覧)をHTTPサービスバンドル105−1に登録(通知)する(S17)。   Subsequently, the request distribution unit 105-22 of the Web UI framework bundle 105-2 acquires the URL correspondence information from the generated or updated integrated setting file 110 (S16), and the URL correspondence information included in the URL correspondence information is acquired. A list (that is, a list of URLs of the Web UI content bundle 105-3 integrated by the Web UI framework bundle 105-2) is registered (notified) in the HTTP service bundle 105-1 (S17).

なお、HTTPサービスバンドル105−1は、HTTPリクエスト(例えば、メニューページ500においてメニュー項目が選択されることにより送信されるHTTPリクエスト)の受信に応じ、当該HTTPリクエストにおいて指定されているURLがWebUIフレームワークバンドル105−2より通知された一覧に含まれている場合は、当該HTTPリクエストをWebUIフレームワークバンドル105−2のリクエスト分配部105−22に通知する。リクエスト分配部105−22は、当該HTTPリクエストのURLに対応するWebUIコンテンツバンドル105−3を統合設定ファイル110に基づいて判定し、当該WebUIコンテンツバンドル105−3を呼び出す。   In response to reception of an HTTP request (for example, an HTTP request transmitted when a menu item is selected on the menu page 500), the HTTP service bundle 105-1 changes the URL specified in the HTTP request to the Web UI framework. If it is included in the list notified from the bundle 105-2, the HTTP request is notified to the request distribution unit 105-22 of the Web UI framework bundle 105-2. The request distribution unit 105-22 determines the Web UI content bundle 105-3 corresponding to the URL of the HTTP request based on the integrated setting file 110, and calls the Web UI content bundle 105-3.

続いて、複合機1の動作中に、新たなWebUIコンテンツバンドル105−3がインストール(追加)された場合の処理について説明する。図5は、第一の実施の形態においてWebUIコンテンツバンドルが追加された際の処理手順を説明するためのシーケンス図である。   Next, processing when a new Web UI content bundle 105-3 is installed (added) during the operation of the multifunction device 1 will be described. FIG. 5 is a sequence diagram for explaining a processing procedure when a Web UI content bundle is added in the first embodiment.

例えば、新たにWebUIコンテンツバンドル105−3dがインストールされたとする。この場合、WebUIコンテンツバンドル105−3dはインストールに応じて自らのメニューファイル及び設定ファイルの追加登録をWebUIフレームワークバンドル105−2のファイル統合部105−21に要求する(S21)。続いて、ファイル統合部105−21は、新たに追加されたWebUIコンテンツバンドル105−3dの設定ファイルと統合設定ファイル110とに基づいてURLの重複の有無をチェックする(S22)。URLが重複している場合、ファイル統合部105は処理を中止し、URLの変更等を促すメッセージ等を操作パネルに表示させる。   For example, it is assumed that the Web UI content bundle 105-3d is newly installed. In this case, the Web UI content bundle 105-3d requests the file integration unit 105-21 of the Web UI framework bundle 105-2 to additionally register its menu file and setting file according to the installation (S21). Subsequently, the file integration unit 105-21 checks whether there is a URL overlap based on the newly added setting file of the Web UI content bundle 105-3d and the integrated setting file 110 (S22). If the URLs overlap, the file integration unit 105 stops the processing and displays a message or the like for prompting the URL change on the operation panel.

URLが重複していない場合、ファイル統合部105−21は、HTTPサービスバンドル105−1に対してURLの一覧の登録の解除を要求する(S23)。これにより、図4のステップS17等において登録されているURLの一覧がHTTPサービスバンドル105−1において無効とされ、当該一覧に含まれるURLに係るHTTPリクエストの通知は中断される。   If the URLs are not duplicated, the file integration unit 105-21 requests the HTTP service bundle 105-1 to cancel the registration of the URL list (S23). As a result, the list of URLs registered in step S17 and the like in FIG. 4 is invalidated in the HTTP service bundle 105-1, and notification of HTTP requests related to URLs included in the list is interrupted.

続いて、ファイル統合部105−21は、WebUIコンテンツバンドル105−3dのメニューファイル及び設定ファイルの内容を、統合メニューファイル120又は統合設定ファイル110に追加する(S24)。続いて、WebUIフレームワークバンドル105−2のリクエスト分配部105−22は、更新された統合設定ファイル110に基づくURLの一覧をHTTPサービスバンドル105−1に登録する(S25)。これにより、WebUIフレームワークバンドル105−2上のWebUIコンテンツバンドル105−3に対するHTTPリクエストは有効なものとして扱われる。   Subsequently, the file integration unit 105-21 adds the contents of the menu file and the setting file of the Web UI content bundle 105-3d to the integrated menu file 120 or the integrated setting file 110 (S24). Subsequently, the request distribution unit 105-22 of the Web UI framework bundle 105-2 registers a list of URLs based on the updated integrated setting file 110 in the HTTP service bundle 105-1 (S25). Thereby, the HTTP request for the Web UI content bundle 105-3 on the Web UI framework bundle 105-2 is treated as valid.

上述したように、第一の実施の形態における複合機1によれば、それぞれ独立度の非常に高い各WebUIコンテンツバンドル105−3を適切に統合し、一つのWebサイトを構築することができる。   As described above, according to the multifunction device 1 in the first embodiment, it is possible to appropriately integrate the Web UI content bundles 105-3 having extremely high independence, and to construct one Web site.

次に、第二の実施の形態について説明する。第二の実施の形態では第一の実施の形態と異なる点について説明する。   Next, a second embodiment will be described. In the second embodiment, differences from the first embodiment will be described.

図6は、第二の実施の形態における複合機のプログラムの実行環境の構成例を説明するための図である。図6中、図1と同一部分には同一符号を付し、その説明は適宜省略する。   FIG. 6 is a diagram for explaining a configuration example of an execution environment of a program of the multifunction machine according to the second embodiment. In FIG. 6, the same parts as those in FIG.

同図に示されるように、複合機2は、コアJVM103a、アプリJVM103b、及拡張JVM103c等の3つのJVM103を有し、JVM103ごとに、図1において説明した構成(OSGiプラットフォーム104、バンドル105)を有する。各JVM103上におけるOSGiプラットフォーム104及びバンドル105は、それぞれの参照番号の末尾に「a」、「b」、又は「c」が付されることによって区別される。   As shown in the figure, the MFP 2 has three JVMs 103 such as a core JVM 103a, an application JVM 103b, and an extended JVM 103c, and the configuration (OSGi platform 104, bundle 105) described in FIG. Have. The OSGi platform 104 and the bundle 105 on each JVM 103 are distinguished by adding “a”, “b”, or “c” to the end of each reference number.

基本的に、各JVM103自体の機能(実装内容)は同じである。但し、JVM103ごとに他のJVM環境又はネイティブ環境に対するアクセス権限が異なる。具体的には、コアJVM103aは、例えば、複合機2のメーカー等によって作成されたバンドル105等、最も信頼度が高いバンドル105に対する実行環境を提供する。コアJVM103a上で動作するバンドル105を、便宜上「コアバンドル105a」という。コアバンドル105aは、例えば、ネイティブコードサービス106及びエンジン制御ボード102によって提供される全ての機能を直接呼び出す(利用する)ことができる。但し、コアバンドル105aによるネイティブコードサービス106又はエンジン制御ボード102の利用に関して制限を設けてもよい。   Basically, the functions (implementation contents) of each JVM 103 itself are the same. However, the access authority with respect to another JVM environment or a native environment differs for every JVM103. Specifically, the core JVM 103a provides an execution environment for the bundle 105 having the highest reliability, such as the bundle 105 created by the manufacturer of the multifunction machine 2, for example. The bundle 105 operating on the core JVM 103a is referred to as “core bundle 105a” for convenience. For example, the core bundle 105 a can directly call (use) all functions provided by the native code service 106 and the engine control board 102. However, there may be restrictions on the use of the native code service 106 or the engine control board 102 by the core bundle 105a.

アプリJVM103bは、コアバンドル105aより信頼度の低い、又は複合機2の資源に対するアクセス制限が厳しくされるべきバンドル105に対する実行環境を提供する。アプリJVM103b上で動作するバンドル105を、便宜上「アプリバンドル105b」という。アプリバンドル105bは、ネイティブコードサービス10が提供する機能を直接利用することができる。但し、アプリバンドル105bによるネイティブコードサービス106の利用には、コアバンドル105aに対して相対的に厳しい制限が設けられる。また、アプリバンドル105bは、コアバンドル105aの全て又は一部の機能を直接利用することができる。なお、異なるJVM環境間の呼び出しは、RMI(Remote Method Invocation)等を用いた公知の記述に従えばよい。   The application JVM 103b provides an execution environment for the bundle 105 whose reliability is lower than that of the core bundle 105a or access restrictions on the resources of the MFP 2 should be tightened. The bundle 105 operating on the application JVM 103b is referred to as an “application bundle 105b” for convenience. The application bundle 105b can directly use the functions provided by the native code service 10. However, the use of the native code service 106 by the application bundle 105b has relatively strict restrictions on the core bundle 105a. The application bundle 105b can directly use all or part of the functions of the core bundle 105a. Note that invocations between different JVM environments may follow a known description using RMI (Remote Method Invocation) or the like.

拡張JVM103cは、アプリバンドル105bより信頼度の低い、又は複合機2の資源に対するアクセス制限が厳しくされるべきバンドル105に対する実行環境を提供する。拡張JVM103c上で動作するバンドル105を、便宜上「拡張バンドル105c」という。拡張バンドル105cは、予め設定された制限の範囲内でコアバンドル105a及びアプリバンドル105bの機能を直接利用することができる。但し、拡張バンドル105cは、ネイティブコードサービス10が提供する機能の直接的な利用は許可されない。   The extended JVM 103c provides an execution environment for the bundle 105 whose reliability is lower than that of the application bundle 105b or where access restrictions on resources of the multifunction device 2 should be tightened. The bundle 105 operating on the extended JVM 103c is referred to as an “extended bundle 105c” for convenience. The extension bundle 105c can directly use the functions of the core bundle 105a and the application bundle 105b within a preset limit range. However, the extension bundle 105c is not permitted to directly use the functions provided by the native code service 10.

このように、複合機2では、JVM環境単位でバンドル105のアクセス権限が制御される。図6では、3つのJVM103を備えた例が示されているため、各バンドル105のセキュリティレベルをどのJVM103で動作させるかによって3段階に分類することができる。したがって、バンドル105ごとにアクセス権限を制御する場合に比べて、より簡便に各アプリケーションのアクセス制御を行うことができる。なお、JVM103は、2つであってもよいし、複合機2のハードウェア資源のスペックに応じて4つ以上であってもよい。2つの場合は、2段階のセキュリティレベルを形成することができ、4つ以上の場合は4つ以上のセキュリティレベルを形成することができる。   As described above, in the MFP 2, the access authority of the bundle 105 is controlled in the JVM environment unit. In FIG. 6, since an example including three JVMs 103 is shown, the security level of each bundle 105 can be classified into three stages depending on which JVM 103 is operated. Therefore, the access control of each application can be performed more easily than when the access authority is controlled for each bundle 105. Note that the number of the JVMs 103 may be two, or may be four or more according to the hardware resource specifications of the multifunction machine 2. Two cases can form two levels of security, and four or more cases can form four or more security levels.

以上のような環境において、第二の実施の形態では次のようなバンドル構成によってWebサイトが実現される。図7は、第二の実施の形態において統合的なWebサイトを実現するためのバンドルの構成例を示す図である。   In the environment as described above, in the second embodiment, the website is realized by the following bundle configuration. FIG. 7 is a diagram illustrating a configuration example of a bundle for realizing an integrated Web site in the second embodiment.

同図において、コアJVM103a上には、HTTPサービスバンドル105a−1がコアバンドル105aによって実装される。一方、アプリJVM103b及び拡張JVM103c上のそれぞれの構成は、第一の実施の形態と同様である。すなわち、アプリJVM103b上には、HTTPサービスバンドル105b−1、WebUIフレームワークバンドル105b−2、及び一つ以上のWebUIコンテンツバンドル105b−3がアプリバンドル105によって実装される。また、拡張JVM103c上には、HTTPサービスバンドル105c−1、WebUIフレームワークバンドル105c−2、及び一つ以上のWebUIコンテンツバンドル105c−3が拡張バンドル105によって実装される。   In the figure, an HTTP service bundle 105a-1 is mounted on the core JVM 103a by the core bundle 105a. On the other hand, the configurations on the application JVM 103b and the extended JVM 103c are the same as those in the first embodiment. That is, on the application JVM 103b, an HTTP service bundle 105b-1, a Web UI framework bundle 105b-2, and one or more Web UI content bundles 105b-3 are mounted by the application bundle 105. In addition, an HTTP service bundle 105 c-1, a Web UI framework bundle 105 c-2, and one or more Web UI content bundles 105 c-3 are mounted on the extended JVM 103 c by the extended bundle 105.

各バンドル105の機能は、第一の実施の形態において説明した通りである。なお、HTTPサービスバンドル105a−1、105b−1、及び105c−1のそれぞれにおいて、HTTPリクエストを受信するためのポート番号は異なっており、HTTPサービスバンドル105a−1のポートのみが外部に(ネットワーク上に)公開される。   The function of each bundle 105 is as described in the first embodiment. The HTTP service bundles 105a-1, 105b-1, and 105c-1 have different port numbers for receiving HTTP requests, and only the port of the HTTP service bundle 105a-1 is externally (on the network). To be published.

ところで、第二の実施の形態では、WebUIフレームワークバンドル105b−2及び105c−2といった二つのWebUIフレームワークバンドル105−2が存在する。したがって、第二の実施の形態では、二つのWebUIフレームワーク105−2を統合するための仕組みが必要とされる。以下、斯かる仕組みの実現例について説明する。   By the way, in the second embodiment, there are two Web UI framework bundles 105-2 such as Web UI framework bundles 105b-2 and 105c-2. Therefore, in the second embodiment, a mechanism for integrating the two Web UI frameworks 105-2 is required. Hereinafter, an implementation example of such a mechanism will be described.

まず、引き続き図6を用いて、統合設定ファイル110及び統合メニューファイル120の生成の際に実行される処理について説明する。   First, the processing executed when the integrated setting file 110 and the integrated menu file 120 are generated will be described with reference to FIG.

アプリJVM103b上の各WebUIコンテンツバンドル105b−3は、それぞれが有しているメニューファイル及び設定ファイルを、WebUIフレームワークバンドル105b−2(のファイル統合部)に出力する(S31)。同様に、拡張JVM103c上の各WebUIコンテンツバンドル105c−3は、それぞれが有しているメニューファイル及び設定ファイルを、WebUIフレームワークバンドル105c−2(のファイル統合部)に出力する(S41)。   Each Web UI content bundle 105b-3 on the application JVM 103b outputs the menu file and the setting file that it has to the Web UI framework bundle 105b-2 (its file integration unit) (S31). Similarly, each Web UI content bundle 105c-3 on the extended JVM 103c outputs the menu file and the setting file that it has to the Web UI framework bundle 105c-2 (the file integration unit thereof) (S41).

続いて、WebUIフレームワークバンドル105b−2は、収集されたメニューファイルを統合することにより統合メニューファイル120bを生成する(S32)。また、フWebUIフレームワークバンドル105b−2は、収集された設定ファイルを統合することにより統合設定ファイル110bを生成又は更新する(S33)。同様に、WebUIフレームワークバンドル105c−2は、収集されたメニューファイルを統合することにより統合メニューファイル120cを生成する(S42)。また、フWebUIフレームワークバンドル105c−2は、収集された設定ファイルを統合することにより統合設定ファイル110cを生成又は更新する(S43)。なお、設定ファイルの統合に際し、URLの重複がチェックされるのは第一の実施の形態と同様である。   Subsequently, the Web UI framework bundle 105b-2 generates an integrated menu file 120b by integrating the collected menu files (S32). Also, the Web UI framework bundle 105b-2 generates or updates the integrated setting file 110b by integrating the collected setting files (S33). Similarly, the Web UI framework bundle 105c-2 generates an integrated menu file 120c by integrating the collected menu files (S42). Further, the Web UI framework bundle 105c-2 generates or updates the integrated setting file 110c by integrating the collected setting files (S43). It should be noted that, when the setting files are integrated, the duplication of URLs is checked as in the first embodiment.

続いて、WebUIフレームワークバンドル105b−2は、統合設定ファイル110bに基づくURLの一覧をHTTPサービスバンドル105b−1に登録する(S34)。同様に、WebUIフレームワークバンドル105c−2は、統合設定ファイル110cに基づくURLの一覧をHTTPサービスバンドル105c−1に登録する(S44)。   Subsequently, the Web UI framework bundle 105b-2 registers a list of URLs based on the integrated setting file 110b in the HTTP service bundle 105b-1 (S34). Similarly, the Web UI framework bundle 105c-2 registers a list of URLs based on the integrated setting file 110c in the HTTP service bundle 105c-1 (S44).

続いて、HTTPサービスバンドル105b−1は、登録されたURLの一覧をコアJVM105a−1上のHTTPサービスバンドル105a−1に通知し、当該一覧(以下、「アプリURL一覧」という。)に含まれるURLが指定されたHTTPリクエストの振り分けを要求する(S35)。同様に、HTTPサービスバンドル105c−1は、登録されたURLの一覧をHTTPサービスバンドル105a−1に通知し、当該一覧(以下、「拡張URL一覧」という。)に含まれるURLが指定されたHTTPリクエストの振り分けを要求する(S45)。   Subsequently, the HTTP service bundle 105b-1 notifies the list of registered URLs to the HTTP service bundle 105a-1 on the core JVM 105a-1, and is included in the list (hereinafter referred to as “application URL list”). A request is made to distribute an HTTP request in which a URL is specified (S35). Similarly, the HTTP service bundle 105c-1 notifies the HTTP service bundle 105a-1 of a list of registered URLs, and an HTTP in which URLs included in the list (hereinafter referred to as “extended URL list”) are designated. Request distribution is requested (S45).

なお、上記では、アプリJVM103b上の処理と拡張JVM103c上の処理とを並列的に記載したが、それぞれのJVM103上における処理は同期がとられていなくてもよい。但し、図8に示されるように、所定のタイミング(例えば、WebUIフレームワークバンドル105b−2又は105c−2によって統合設定ファイル110又は統合メニューファイル120が生成又は更新されたとき)において、WebUIフレームワークバンドル105b−2とWebUIフレームワークバンドル105c−2とは、それぞれの管理情報(統合設定ファイル110又は統合メニューファイル120に格納されている情報)をRMI(Remote Method Invocation)等によって交換し合う。   In the above, the processing on the application JVM 103b and the processing on the extended JVM 103c are described in parallel, but the processing on each JVM 103 may not be synchronized. However, as shown in FIG. 8, at a predetermined timing (for example, when the integrated setting file 110 or the integrated menu file 120 is generated or updated by the Web UI framework bundle 105b-2 or 105c-2), the Web UI framework The bundle 105b-2 and the Web UI framework bundle 105c-2 exchange their management information (information stored in the integrated setting file 110 or the integrated menu file 120) by RMI (Remote Method Invocation) or the like.

これにより、各WebUIフレームワークバンドル105−2は、他方のWebUIフレームワークバンドル105−2によって管理される統合メニューファイル120の内容(メニュー構成情報)と、自らが管理する統合メニューファイル120の内容とをマージして新たな統合メニューファイル120を生成する。したがって、各WebUIフレームワークバンドル105−2間で同じ内容の統合メニューファイル120が管理される(メニュー構成情報が共有される)。その結果、双方のWebUIフレームワークバンドル105−2上に、メニューページ500を生成するWebUIコンテンツバンドル105−3が実装されている場合であっても、双方のWebUIコンテンツバンドル105−3によって生成されるメニューページ500のメニューの構成は同じとなる。   Accordingly, each Web UI framework bundle 105-2 includes the contents (menu configuration information) of the integrated menu file 120 managed by the other Web UI framework bundle 105-2 and the contents of the integrated menu file 120 managed by itself. Are merged to generate a new integrated menu file 120. Therefore, the integrated menu file 120 having the same content is managed between the Web UI framework bundles 105-2 (menu configuration information is shared). As a result, even if the Web UI content bundle 105-3 for generating the menu page 500 is mounted on both Web UI framework bundles 105-2, the menu page generated by both Web UI content bundles 105-3. The configuration of the 500 menus is the same.

また、各WebUIフレームワークバンドル105−2は、他方のWebUIフレームワークバンドル105−2によって管理される統合設定ファイル110に登録されているURLと、自らが管理する統合設定ファイル110に登録されているURLとの重複チェックを行う。重複が検出された場合、重複しているURLを操作パネル等に表示させることにより操作者に対して修正を促す。これにより、WebUIフレームワークバンドル105−2を跨いだ(JVM103を跨いだ)URLの重複が回避される。   Each Web UI framework bundle 105-2 is registered in the integrated setting file 110 managed by the other Web UI framework bundle 105-2 and the integrated setting file 110 managed by itself. Duplicate check with URL is performed. When duplication is detected, the operator is prompted to make corrections by displaying the duplicate URL on the operation panel or the like. This avoids duplication of URLs straddling the Web UI framework bundle 105-2 (striding the JVM 103).

続いて、HTTPリクエスト受信時の処理について説明する。図9は、第二の実施の形態におけるHTTPリクエスト受信時の処理手順を説明するための図である。   Next, processing when receiving an HTTP request will be described. FIG. 9 is a diagram for explaining a processing procedure when an HTTP request is received in the second embodiment.

Webブラウザ51からのHTTPリクエストは、コアJVM103a上のHTTPサービスバンドル105a−1によって受信される(S51)。上述したように、HTTPサービスバンドル105a−1のみのポートが外部に公開されているため、各JVM103のWebUIコンテンツバンドル105−3に対するHTTPリクエストは、HTTPサービスバンドル105a−1によって統合的に受信される。HTTPサービスバンドル105a−1は、受信されたHTTPリクエストにおいて指定されているURLと、アプリURL一覧又は拡張URL一覧とに基づいて当該HTTPリクエストの振り分け先を判定する。すなわち、受信されたURLがアプリURL一覧に含まれている場合、HTTPサービスバンドル105a−1は、当該HTTPリクエストをHTTPサービスバンドル105b−1に転送する(S52)。一方、受信されたURLが拡張URL一覧に含まれている場合、HTTPサービスバンドル105a−1は、当該HTTPリクエストをHTTPサービスバンドル105c−1に転送する(S53)。その後に実行される処理手順については、第一の実施の形態において説明した通りであるため、ここでの説明は省略する。   The HTTP request from the Web browser 51 is received by the HTTP service bundle 105a-1 on the core JVM 103a (S51). As described above, since the port of only the HTTP service bundle 105a-1 is open to the outside, the HTTP request for the Web UI content bundle 105-3 of each JVM 103 is received in an integrated manner by the HTTP service bundle 105a-1. . The HTTP service bundle 105a-1 determines the distribution destination of the HTTP request based on the URL specified in the received HTTP request and the application URL list or the extended URL list. That is, when the received URL is included in the application URL list, the HTTP service bundle 105a-1 transfers the HTTP request to the HTTP service bundle 105b-1 (S52). On the other hand, when the received URL is included in the extended URL list, the HTTP service bundle 105a-1 transfers the HTTP request to the HTTP service bundle 105c-1 (S53). The processing procedure executed after that is the same as that described in the first embodiment, and a description thereof will be omitted here.

続いて、複合機2の動作中に、新たなWebUIコンテンツバンドル105c−3に係る拡張バンドル105cがインストール(追加)された場合の処理について説明する。図10は、第二の実施の形態においてWebUIコンテンツバンドルが追加された際の処理手順を説明するためのシーケンス図である。   Next, a process when the extension bundle 105c related to the new Web UI content bundle 105c-3 is installed (added) during the operation of the MFP 2 will be described. FIG. 10 is a sequence diagram for explaining a processing procedure when a Web UI content bundle is added in the second embodiment.

例えば、新たにWebUIコンテンツバンドル105c−3cが拡張JVM103c上にインストールされたとする。この場合、WebUIコンテンツバンドル105c−3cはインストールに応じて自らのメニューファイル及び設定ファイルの追加登録をWebUIフレームワークバンドル105c−2に要求する(S71)。続いて、WebUIフレームワークバンドル105c−2は、新たに追加されたWebUIコンテンツバンドル105c−3cの設定ファイルと統合設定ファイル110cとに基づいてURLの重複の有無をチェックする(S72)。また、WebUIフレームワークバンドル105c−2は、WebUIコンテンツバンドル105c−3cの設定ファイルを、WebUIフレームワークバンドル105b−2に送信し、URLの重複のチェックを要求する(S73)。URLが重複している場合、WebUIフレームワークバンドル105c−2は処理を中止し、URLの変更等を促すメッセージ等を操作パネルに表示させる。   For example, it is assumed that a Web UI content bundle 105c-3c is newly installed on the extended JVM 103c. In this case, the Web UI content bundle 105c-3c requests the Web UI framework bundle 105c-2 to additionally register its own menu file and setting file according to the installation (S71). Subsequently, the Web UI framework bundle 105c-2 checks whether there is a URL overlap based on the setting file of the newly added Web UI content bundle 105c-3c and the integrated setting file 110c (S72). Further, the Web UI framework bundle 105c-2 transmits the setting file of the Web UI content bundle 105c-3c to the Web UI framework bundle 105b-2, and requests a URL duplication check (S73). If the URLs are duplicated, the Web UI framework bundle 105c-2 stops the process and displays a message or the like for prompting the URL change on the operation panel.

続いて、WebUIフレームワークバンドル105c−2は、WebUIコンテンツバンドル105c−3cの設定ファイル及びメニューファイルの内容を、統合設定ファイル110c又は統合メニューファイル120c又に追加する(S74、S75)。なお、統合設定ファイル110c及び統合メニューファイル120cの更新の前後において、第一の実施の形態と同様に、HTTPサービスバンドル105c−1に対するURLの一覧の登録の解除及び再登録が行われる。   Subsequently, the Web UI framework bundle 105c-2 adds the setting file and menu file contents of the Web UI content bundle 105c-3c to the integrated setting file 110c or the integrated menu file 120c (S74, S75). In addition, before and after the update of the integrated setting file 110c and the integrated menu file 120c, the URL list registration cancellation and re-registration with respect to the HTTP service bundle 105c-1 are performed as in the first embodiment.

続いて、WebUIフレームワークバンドル105c−2は、メニュー構成情報が更新されたことをWebUIフレームワークバンドル105b−2に通知する(S76)。当該通知を受けて、WebUIフレームワークバンドル105b−2は、WebUIフレームワークバンドル105c−2よりメニュー構成情報(更新されたメニューファイル120cに格納されているメニュー構成情報)を取得し(S77)、取得されたメニュー構成情報を、統合メニューファイル120bにマージする(S78)。   Subsequently, the Web UI framework bundle 105c-2 notifies the Web UI framework bundle 105b-2 that the menu configuration information has been updated (S76). Upon receiving the notification, the Web UI framework bundle 105b-2 acquires menu configuration information (menu configuration information stored in the updated menu file 120c) from the Web UI framework bundle 105c-2 (S77). The menu configuration information thus merged is merged into the integrated menu file 120b (S78).

上述したように、第二の実施の形態における複合機2によれば、複数のJVM103にWebUIフレームワークバンドル105−2が分散されて実装されている形態あっても、複合機2全体として統合されたWebサイトを構築することができる。   As described above, according to the MFP 2 in the second embodiment, even if the Web UI framework bundle 105-2 is distributed and implemented in a plurality of JVMs 103, the MFP 2 is integrated as a whole. Web sites can be constructed.

以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。   As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.

第一の実施の形態における複合機のプログラムの実行環境の構成例を説明するための図である。FIG. 3 is a diagram for describing a configuration example of an execution environment for a program of a multifunction machine according to the first embodiment. 第一の実施の形態において統合的なWebサイトを実現するためのバンドルの構成例を示す図である。It is a figure which shows the structural example of the bundle for implement | achieving an integrated Web site in 1st embodiment. 第一の実施の形態のメニューページの表示例を示す図である。It is a figure which shows the example of a display of the menu page of 1st embodiment. 統合設定ファイル及び統合メニューファイルの生成処理を説明するための図である。It is a figure for demonstrating the production | generation process of an integrated setting file and an integrated menu file. 第一の実施の形態においてWebUIコンテンツバンドルが追加された際の処理手順を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the process sequence at the time of a WebUI content bundle being added in 1st embodiment. 第二の実施の形態における複合機のプログラムの実行環境の構成例を説明するための図である。FIG. 10 is a diagram for describing a configuration example of an execution environment for a program of a multifunction machine according to a second embodiment. 第二の実施の形態において統合的なWebサイトを実現するためのバンドルの構成例を示す図である。It is a figure which shows the structural example of the bundle for implement | achieving an integrated Web site in 2nd embodiment. WebUIフレームワークバンドル間における情報交換を説明するための図である。It is a figure for demonstrating the information exchange between WebUI framework bundles. 第二の実施の形態におけるHTTPリクエスト受信時の処理手順を説明するための図である。It is a figure for demonstrating the process sequence at the time of the HTTP request reception in 2nd embodiment. 第二の実施の形態においてWebUIコンテンツバンドルが追加された際の処理手順を説明するためのシーケンス図である。It is a sequence diagram for demonstrating the process sequence at the time of a WebUI content bundle being added in 2nd embodiment.

符号の説明Explanation of symbols

1、2 複合機
11 プロッタエンジン
12 スキャナエンジン
101 エンジン制御ボード
102 OS
103 JVM
104 OSGiプラットフォーム
105 バンドル
105−1、105a−1、105b−1、105c−1 HTTPサービスバンドル
105−2、105a−2、105b−2、105c−2 WebUIフレームワークバンドル
105−21 ファイル統合部
105−22 リクエスト分配部
105−3、3a、3b、3c WebUIコンテンツバンドル
106 ネイティブコードサービス
110、110a、110b 統合設定ファイル
120、120a、120b 統合メニューファイル
1, 2 MFP 11 Plotter Engine 12 Scanner Engine 101 Engine Control Board 102 OS
103 JVM
104 OSGi platform 105 Bundle 105-1, 105a-1, 105b-1, 105c-1 HTTP service bundle 105-2, 105a-2, 105b-2, 105c-2 Web UI framework bundle 105-21 File integration unit 105- 22 Request distribution unit 105-3, 3a, 3b, 3c Web UI content bundle 106 Native code service 110, 110a, 110b Integrated setting file 120, 120a, 120b Integrated menu file

Claims (15)

複数のプログラム実行手段を有する画像形成装置であって、
前記プログラム実行手段ごとに、
HTTPリクエストに応じた処理を実行し、処理結果を示す情報を表示させるWebページを生成する複数のWebページ生成手段と、
複数の前記Webページ生成手段のそれぞれより、当該Webページ生成手段を利用させるためのメニュー項目の表示情報及び当該Webページ生成手段のURLを取得し、取得された情報を統合して前記プログラム実行手段ごとの第一のファイルに保存すると共に、前記第一のファイルに他の前記プログラム実行手段に係る前記第一のファイルより取得された情報をマージするメニュー情報統合手段と、
前記第一のファイルに保存されている情報に基づいて、複数の前記Webページ手段を利用させるためのメニュー項目を含むWebページを生成するメニューページ生成手段とを有する画像形成装置。
An image forming apparatus having a plurality of program execution means,
For each program execution means,
A plurality of Web page generation means for generating a Web page for executing processing according to an HTTP request and displaying information indicating a processing result;
From each of the plurality of Web page generation means, the display information of the menu item for using the Web page generation means and the URL of the Web page generation means are acquired, and the acquired information is integrated and the program execution means Menu information integration means for merging information acquired from the first file according to the other program execution means to the first file,
An image forming apparatus comprising: a menu page generating unit that generates a Web page including a menu item for using the plurality of Web page units based on information stored in the first file.
前記プログラム実行手段ごとに、
複数の前記Webページ生成手段のそれぞれより、URLとの対応情報を取得し、取得された前記対応情報を統合して前記プログラム実行手段ごとの第二のファイルに保存するURL情報統合手段と、
受信されるHTTPリクエストにおいて指定されたURLに対応する前記Webページ生成手段を前記第二のファイルに基づいて判定し、判定された前記Webページ生成手段に当該HTTPリクエストに対応した処理を実行させるリクエスト分配手段とを有する請求項1記載の画像形成装置。
For each program execution means,
URL information integration means for acquiring correspondence information with a URL from each of the plurality of Web page generation means, integrating the acquired correspondence information, and storing the information in a second file for each program execution means;
A request for determining the Web page generation unit corresponding to the URL specified in the received HTTP request based on the second file, and causing the determined Web page generation unit to execute processing corresponding to the HTTP request. The image forming apparatus according to claim 1, further comprising a distribution unit.
前記URL情報統合手段は、取得された前記対応情報に基づいてURLの重複の有無を判定し、URLが重複していない場合に前記対応情報を統合する請求項2記載の画像形成装置。   The image forming apparatus according to claim 2, wherein the URL information integration unit determines whether or not URLs are duplicated based on the acquired correspondence information, and integrates the correspondence information when the URLs are not duplicated. 前記URL情報統合手段は、前記第二のファイルに保存された前記対応情報に含まれるURLと他の前記プログラム実行手段の前記第二のファイルより取得された前記対応情報に含まれるURLとの重複の有無を判定し、重複が検出されたことを操作パネルに表示させる請求項3記載の画像形成装置。   The URL information integration unit overlaps a URL included in the correspondence information stored in the second file with a URL included in the correspondence information acquired from the second file of another program execution unit. The image forming apparatus according to claim 3, wherein the image forming apparatus determines whether or not duplication is detected, and displays on the operation panel that duplicates are detected. 前記複数のプログラム実行手段の前記Webページ生成手段に対するHTTPリクエストを統合的に受信するリクエスト受信手段を有し、
前記リクエスト受信手段は、前記第二のファイルに保存された情報を前記各プログラム実行手段より取得し、取得された情報に基づいて前記HTTPリクエストに対応する前記Webページ生成手段が属する前記プログラム実行手段の前記リクエスト分配手段へ、該HTTPリクエストを通知することを特徴とする請求項1乃至4いずれか一項記載の画像形成装置。
Request receiving means for integrally receiving HTTP requests to the Web page generating means of the plurality of program executing means;
The request receiving means acquires information stored in the second file from each program execution means, and the program execution means to which the Web page generation means corresponding to the HTTP request belongs based on the acquired information 5. The image forming apparatus according to claim 1, wherein the HTTP request is notified to the request distribution unit.
複数のプログラム実行手段を有する画像形成装置が実行する情報処理方法であって、
前記プログラム実行手段ごとに、
HTTPリクエストに応じた処理を実行し、処理結果を示す情報を表示させるWebページを生成する複数のWebページ生成手手段のそれぞれより、当該Webページ生成手段を利用させるためのメニュー項目の表示情報及び当該Webページ生成手段のURLを取得し、取得された情報を統合して前記プログラム実行手段ごとの第一のファイルに保存すると共に、前記第一のファイルに他の前記プログラム実行手段に係る前記第一のファイルより取得された情報をマージするメニュー情報統合手順と、
前記第一のファイルに保存されている情報に基づいて、複数の前記Webページ生成手段を利用させるためのメニュー項目を含むWebページを生成するメニューページ生成手順とを有する情報処理方法。
An information processing method executed by an image forming apparatus having a plurality of program execution means,
For each program execution means,
Menu item display information for causing the Web page generating means to be used by each of a plurality of Web page generating means for generating a Web page for executing processing according to the HTTP request and displaying information indicating the processing result, and The URL of the Web page generation unit is acquired, the acquired information is integrated and stored in a first file for each program execution unit, and the first file related to the other program execution unit is stored in the first file. Menu information integration procedure to merge information obtained from one file,
An information processing method comprising: a menu page generation procedure for generating a Web page including menu items for using a plurality of the Web page generation means based on information stored in the first file.
前記プログラム実行手段ごとに、
複数の前記Webページ生成手段のそれぞれより、URLとの対応情報を取得し、取得された前記対応情報を統合して前記プログラム実行手段ごとの第二のファイルに保存するURL情報統合手順と、
受信されるHTTPリクエストにおいて指定されたURLに対応する前記Webページ生成手段を前記第二のファイルに基づいて判定し、判定された前記Webページ生成手段に当該HTTPリクエストに対応した処理を実行させるリクエスト分配手順とを有する請求項6記載の情報処理方法。
For each program execution means,
URL information integration procedure for acquiring correspondence information with a URL from each of the plurality of Web page generation means, integrating the acquired correspondence information, and storing the information in a second file for each program execution means;
A request for determining the Web page generation unit corresponding to the URL specified in the received HTTP request based on the second file, and causing the determined Web page generation unit to execute processing corresponding to the HTTP request. The information processing method according to claim 6, further comprising a distribution procedure.
前記URL情報統合手順は、取得された前記対応情報に基づいてURLの重複の有無を判定し、URLが重複していない場合に前記対応情報を統合する請求項7記載の情報処理方法。   The information processing method according to claim 7, wherein the URL information integration procedure determines whether or not URLs are duplicated based on the acquired correspondence information, and integrates the correspondence information when the URLs are not duplicated. 前記URL情報統合手順は、前記第二のファイルに保存された前記対応情報に含まれるURLと他の前記プログラム実行手段の前記第二のファイルより取得された前記対応情報に含まれるURLとの重複の有無を判定し、重複が検出されたことを操作パネルに表示させる請求項8記載の情報処理方法。   The URL information integration procedure is a duplication of a URL included in the correspondence information stored in the second file and a URL included in the correspondence information acquired from the second file of another program execution unit. The information processing method according to claim 8, further comprising: determining whether or not duplication is detected on the operation panel. 前記複数のプログラム実行手段の前記Webページ生成手段に対するHTTPリクエストを統合的に受信するリクエスト受信手順を有し、
前記リクエスト受信手順は、前記第二のファイルに保存された情報を前記各プログラム実行手段より取得し、取得された情報に基づいて前記HTTPリクエストに対応する前記Webページ生成手段が属する前記プログラム実行手段の前記リクエスト分配手順へ、該HTTPリクエストを通知することを特徴とする請求項6乃至9いずれか一項記載の情報処理方法。
A request receiving procedure for integrally receiving HTTP requests to the Web page generating means of the plurality of program executing means;
In the request reception procedure, the information stored in the second file is acquired from each program execution unit, and the program execution unit to which the Web page generation unit corresponding to the HTTP request belongs based on the acquired information The information processing method according to claim 6, wherein the HTTP request is notified to the request distribution procedure.
複数のプログラム実行手段を有する画像形成装置に、
HTTPリクエストに応じた処理を実行し、処理結果を示す情報を表示させるWebページを生成する複数のWebページ生成手段のそれぞれより、当該Webページ生成手段を利用させるためのメニュー項目の表示情報及び当該Webページ生成手段のURLを取得し、取得された情報を統合して前記プログラム実行手段ごとの第一のファイルに保存すると共に、前記第一のファイルに他の前記プログラム実行手段に係る前記第一のファイルより取得された情報をマージするメニュー情報統合手順と、
前記第一のファイルに保存されている情報に基づいて、複数の前記Webページ生成手段を利用させるためのメニュー項目を含むWebページを生成するメニューページ生成手順とを前記プログラム実行手段ごとに実行させるプログラム。
In an image forming apparatus having a plurality of program execution means,
A menu item display information for causing the Web page generation unit to be used by each of a plurality of Web page generation units that execute processing according to the HTTP request and generate a Web page for displaying information indicating the processing result, and The URL of the Web page generation unit is acquired, the acquired information is integrated and stored in a first file for each program execution unit, and the first file related to the other program execution unit is included in the first file. Menu information integration procedure to merge the information obtained from the file,
A program that executes, for each program execution unit, a menu page generation procedure that generates a Web page including a menu item for using a plurality of Web page generation units based on information stored in the first file. .
複数の前記Webページ生成手段のそれぞれより、URLとの対応情報を取得し、取得された前記対応情報を統合して前記プログラム実行手段ごとの第二のファイルに保存するURL情報統合手順と、
受信されるHTTPリクエストにおいて指定されたURLに対応する前記Webページ生成手段を前記第二のファイルに基づいて判定し、判定された前記Webページ生成手段に当該HTTPリクエストに対応した処理を実行させるリクエスト分配手順とを前記プログラム実行手段ごとに実行させる請求項11記載のプログラム。
URL information integration procedure for acquiring correspondence information with a URL from each of the plurality of Web page generation means, integrating the acquired correspondence information, and storing the information in a second file for each program execution means;
A request for determining the Web page generation unit corresponding to the URL specified in the received HTTP request based on the second file, and causing the determined Web page generation unit to execute processing corresponding to the HTTP request. 12. The program according to claim 11, wherein a distribution procedure is executed for each program execution means.
前記URL情報統合手順は、取得された前記対応情報に基づいてURLの重複の有無を判定し、URLが重複していない場合に前記対応情報を統合する請求項12記載のプログラム。   13. The program according to claim 12, wherein the URL information integration procedure determines whether or not URLs are duplicated based on the acquired correspondence information, and integrates the correspondence information when the URLs are not duplicated. 前記URL情報統合手順は、前記第二のファイルに保存された前記対応情報に含まれるURLと他の前記プログラム実行手段の前記第二のファイルより取得された前記対応情報に含まれるURLとの重複の有無を判定し、重複が検出されたことを操作パネルに表示させる請求項13記載のプログラム。   The URL information integration procedure is a duplication of a URL included in the correspondence information stored in the second file and a URL included in the correspondence information acquired from the second file of another program execution unit. 14. The program according to claim 13, wherein the presence / absence of an error is determined and an operation panel is displayed on the operation panel. 前記複数のプログラム実行手段の前記Webページ生成手段に対するHTTPリクエストを統合的に受信するリクエスト受信手順を実行させ、
前記リクエスト受信手順は、前記第二のファイルに保存された情報を前記各プログラム実行手段より取得し、取得された情報に基づいて前記HTTPリクエストに対応する前記Webページ生成手段が属する前記プログラム実行手段の前記リクエスト分配手順へ、該HTTPリクエストを通知することを特徴とする請求項11乃至14いずれか一項記載のプログラム。
Executing a request reception procedure for integrally receiving HTTP requests to the Web page generation means of the plurality of program execution means;
In the request reception procedure, the information stored in the second file is acquired from each program execution unit, and the program execution unit to which the Web page generation unit corresponding to the HTTP request belongs based on the acquired information The program according to any one of claims 11 to 14, wherein the HTTP request is notified to the request distribution procedure.
JP2008143132A 2008-05-30 2008-05-30 Image forming apparatus, information processing method, and program Pending JP2009290729A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008143132A JP2009290729A (en) 2008-05-30 2008-05-30 Image forming apparatus, information processing method, and program
US12/426,347 US20090300478A1 (en) 2008-05-30 2009-04-20 Image forming apparatus, information processing method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008143132A JP2009290729A (en) 2008-05-30 2008-05-30 Image forming apparatus, information processing method, and program

Publications (1)

Publication Number Publication Date
JP2009290729A true JP2009290729A (en) 2009-12-10

Family

ID=41381360

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008143132A Pending JP2009290729A (en) 2008-05-30 2008-05-30 Image forming apparatus, information processing method, and program

Country Status (2)

Country Link
US (1) US20090300478A1 (en)
JP (1) JP2009290729A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110069350A (en) * 2009-12-17 2011-06-23 삼성전자주식회사 Image forming apparatus and method for providing local user interface thereof
JP2014211898A (en) * 2010-02-05 2014-11-13 イーベイ インク.Ebayinc. Widget flame work, real-time service integration and real-time resource aggregation

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5200639B2 (en) * 2008-04-09 2013-06-05 株式会社リコー Image forming apparatus, information processing method, and program
KR20090110202A (en) 2008-04-17 2009-10-21 삼성전자주식회사 Method and apparatus for displaying personalized user interface
KR101545137B1 (en) * 2008-04-17 2015-08-19 삼성전자주식회사 Method and apparatus for generating user interface
US20130325944A1 (en) * 2012-05-31 2013-12-05 International Business Machines Corporation Client-side sharing of event information

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579223A (en) * 1992-12-24 1996-11-26 Microsoft Corporation Method and system for incorporating modifications made to a computer program into a translated version of the computer program
US5925106A (en) * 1996-04-05 1999-07-20 Sun Microsystems, Inc. Method and apparatus for obtaining and displaying network server information
JP2003108537A (en) * 2001-09-13 2003-04-11 Internatl Business Mach Corp <Ibm> Load dispersing method and system of service request to server on network
US7185088B1 (en) * 2003-03-31 2007-02-27 Microsoft Corporation Systems and methods for removing duplicate search engine results
JP4340566B2 (en) * 2003-04-01 2009-10-07 株式会社リコー Web page generation apparatus, embedded apparatus, Web page generation control method, Web page generation program, and recording medium
US20040215719A1 (en) * 2003-04-09 2004-10-28 Altshuler Dennis Wayne Method and system for designing, editing and publishing web page content in a live internet session
US20050172262A1 (en) * 2004-01-30 2005-08-04 Ahika Corporation Site menu - browser toolbar-based user interface for navigating web site pages
JP4355639B2 (en) * 2004-09-15 2009-11-04 キヤノン株式会社 Image processing apparatus and control method thereof
JP5200639B2 (en) * 2008-04-09 2013-06-05 株式会社リコー Image forming apparatus, information processing method, and program

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110069350A (en) * 2009-12-17 2011-06-23 삼성전자주식회사 Image forming apparatus and method for providing local user interface thereof
KR101644416B1 (en) * 2009-12-17 2016-08-02 삼성전자주식회사 Image forming apparatus and method for providing local user interface thereof
JP2014211898A (en) * 2010-02-05 2014-11-13 イーベイ インク.Ebayinc. Widget flame work, real-time service integration and real-time resource aggregation
US9367371B2 (en) 2010-02-05 2016-06-14 Paypal, Inc. Widget framework, real-time service orchestration, and real-time resource aggregation

Also Published As

Publication number Publication date
US20090300478A1 (en) 2009-12-03

Similar Documents

Publication Publication Date Title
US9398084B2 (en) Information processing system
JP5515904B2 (en) Information processing system, management apparatus, information processing apparatus, installation processing method, program, and storage medium
US8307058B2 (en) Apparatus, method, and computer program product for processing information
JP5200639B2 (en) Image forming apparatus, information processing method, and program
JP2013069077A (en) System, information processing device and control method thereof, image formation device and control method thereof and program
US20110010642A1 (en) Image processing apparatus, display control method, and computer-readable recording medium
JP2009290729A (en) Image forming apparatus, information processing method, and program
JP4097584B2 (en) Embedded device having WWW server function, web page providing method, and web page providing control program
JP4394725B2 (en) Embedded device, request distribution method, and request distribution program
JP2009205262A (en) Application program installation device, application program installation method, program, and recording medium
JP2004133926A (en) Device, method and program for generating cooperative information and document processing system
JP2006163901A (en) Network device, program, and recording medium
JP5140351B2 (en) Information processing device
JP2007081771A (en) Job processor and job requesting device
JP2012192740A (en) Apparatus, method, program and recording medium
JP5140350B2 (en) Information processing device
JP4190991B2 (en) Information processing apparatus having net service function and net service providing method
JP5389413B2 (en) Image forming system
JP2005071040A (en) Equipment, and device and method for authenticating user
JP5040026B2 (en) Information processing device
JP2009064060A (en) Information processor
JP2018022444A (en) Information processing apparatus, control method, and program
JP2008234233A (en) Delivery system, equipment setting system, and delivery setting management method
JP5059523B2 (en) Information processing device
JP5389343B2 (en) Information processing device