JP2007279959A - Installation method for software component, installer and compound machine - Google Patents

Installation method for software component, installer and compound machine Download PDF

Info

Publication number
JP2007279959A
JP2007279959A JP2006104190A JP2006104190A JP2007279959A JP 2007279959 A JP2007279959 A JP 2007279959A JP 2006104190 A JP2006104190 A JP 2006104190A JP 2006104190 A JP2006104190 A JP 2006104190A JP 2007279959 A JP2007279959 A JP 2007279959A
Authority
JP
Japan
Prior art keywords
software components
middleware
software
software component
installation
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.)
Granted
Application number
JP2006104190A
Other languages
Japanese (ja)
Other versions
JP4844205B2 (en
Inventor
Nobuo Iwata
伸夫 岩田
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2006104190A priority Critical patent/JP4844205B2/en
Publication of JP2007279959A publication Critical patent/JP2007279959A/en
Application granted granted Critical
Publication of JP4844205B2 publication Critical patent/JP4844205B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To add software by one time operation to a plurality of pieces of middleware. <P>SOLUTION: This compound machine is provided with an installer 11, and loaded with a unique framework 12a, Tomcat 12b, HTTPd 12c and OSGi 12d. When receiving a meta bundle 30b, the installer 11 installs an APL in the unique framework 12a based on a manifest 40b, and installs a servlet and JSP in the Tomcat 12b in the form of a sub-bundle 50b. Also, when receiving a meta bundle 30c, the installer 11 installs the APL in the unique framework 12a based on a manifest 40c, and installs an exe file and HTML file in an HTTPd 12c in the form of a sub-bundle 50c. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、プリンタ機能、スキャナ機能、ファクシミリ機能等を一筐体内で実現する複合機等に関し、より詳しくは、これらの機能の拡張等のためのソフトウェアを追加可能な複合機等に関する。   The present invention relates to a multifunction device that implements a printer function, a scanner function, a facsimile function, and the like in a single housing, and more particularly, to a multifunction device that can add software for extending these functions.

近年、プリンタ機能、スキャナ機能、ファクシミリ機能等を一筐体内で実現する所謂複合機が普及している。その中には、これらの機能の拡張等のため、サードベンダ製のソフトウェアを追加できるようにしたものがある。また、昨今、多くのオープンソースソフトウェアが提供されるようになり、これらのソフトウェアを活用することで、複合機の機能を拡張するためのアプリケーションの開発も容易になっている。   2. Description of the Related Art In recent years, so-called multi-function machines that realize a printer function, a scanner function, a facsimile function, and the like in one housing have become widespread. Among them, there is one in which software from a third vendor can be added to expand these functions. In recent years, a lot of open source software has been provided, and by using these software, it has become easy to develop an application for extending the functions of the multifunction peripheral.

尚、公報記載の従来技術としては、ソフトウェアモジュールが、自身が有するインストール関数を用いてインストールされ、従属性関数をコールすることにより、必要なサービスを取得して、アプリケーション環境内にインストールするものがある(例えば、特許文献1参照)。
特開2000−029713号公報
In addition, as a prior art described in the publication, a software module is installed using its own installation function, acquires a necessary service by calling a dependency function, and installs it in an application environment. Yes (see, for example, Patent Document 1).
JP 2000-029713 A

しかしながら、上記のようなソフトウェアの追加が可能な複合機では、複合機固有のミドルウェア(フレームワーク)を搭載しており、そのミドルウェアに適合するソフトウェアしか組み込むことができない。つまり、かかる複合機においては、オープンソースソフトウェアを用いてアプリケーションを開発したとしても、それを十分に活用することができないという状況が生じていた。   However, a multifunction machine to which software can be added as described above includes middleware (framework) unique to the multifunction machine, and only software compatible with the middleware can be incorporated. In other words, in such a multi-function peripheral, even if an application was developed using open source software, there was a situation where it could not be fully utilized.

そこで、こうした状況に鑑み、本発明者は、複合機に対し、複合機固有のミドルウェアに加え、オープンソースソフトウェア用のミドルウェアを搭載することの検討を開始した。
しかしながら、このように一台の複合機に複数のミドルウェアを搭載することとした場合、次のような問題点がある。
In view of this situation, the present inventor has started studying to install middleware for open source software in addition to middleware specific to the multifunction machine.
However, in the case where a plurality of middlewares are installed in a single multifunction device, there are the following problems.

例えば、何らかのパラメータを設定する機能を複合機に追加することを考える。この場合、同じパラメータの設定であっても、幾つかの手法で行うことができる。第一に、複合機の操作パネルにて行う手法、第二に、ネットワーク接続された端末のWebブラウザから行う手法、第三に、ネットワーク管理ソフトウェア等からSOAP(Simple Object Access Protocol)を用いて行う手法等である。
ところが、これら全ての手法によるパラメータの設定を可能とするには、各手法を可能とするソフトウェアを、それぞれ対応するミドルウェアにインストールしなければならない。第一の手法では、複合機固有のフレームワーク(以下、「固有フレームワーク」という)に対し、第二の手法では、Tomcat(登録商標)に対し、第三の手法では、Tomcat上で動作するAxisに対し、それぞれソフトウェアをインストールしなければならないのである。また、ソフトウェアのインストールについては、各ミドルウェアで独自の規則があるので、これにも注意を払わなければならない。
For example, consider adding a function for setting some parameters to a multifunction peripheral. In this case, even if the same parameter is set, several methods can be used. First, using the operation panel of the MFP, second, using a Web browser on a network-connected terminal, and third, using SOAP (Simple Object Access Protocol) from network management software, etc. Technique.
However, in order to be able to set parameters by all these methods, software enabling each method must be installed in the corresponding middleware. The first method operates on a Tomcat, while the second method operates on Tomcat (registered trademark), while the second method operates on a multifunction machine-specific framework (hereinafter referred to as “specific framework”). Each Axis must have its software installed. Also, with regard to software installation, each middleware has its own rules, so care must also be taken.

即ち、複数のミドルウェアの各々に対してソフトウェアを一度の作業で追加するのは、非常に煩雑で、間違いも多くなってしまいかねないという問題点がある。
尚、特許文献1の技術は、複数のミドルウェアに対するソフトウェアのインストールを考慮しておらず、上記問題点を解決できるものではない。
That is, there is a problem that adding software to each of a plurality of middlewares in a single operation is very complicated and may lead to many mistakes.
Note that the technique of Patent Document 1 does not consider software installation for a plurality of middleware, and cannot solve the above problems.

本発明は、以上のような技術的課題を解決するためになされたものであって、その目的は、複数のミドルウェアに対し一度の作業でソフトウェアを追加できるようにすることにある。   The present invention has been made to solve the technical problems as described above, and an object of the present invention is to enable software to be added to a plurality of middleware in one operation.

かかる目的のもと、本発明では、複数のソフトウェアコンポーネントを受け取り、複数のミドルウェアの中から適切なインストール先を決定してインストールするようにした。即ち、本発明のソフトウェアコンポーネントのインストール方法は、ソフトウェアコンポーネントと、そのソフトウェアコンポーネントのインストール先のミドルウェアとの対応関係を得るための定義情報を読み込むステップと、複数のソフトウェアコンポーネントを取得するステップと、複数のミドルウェアのうち、複数のソフトウェアコンポーネントの各々のインストール先のミドルウェアを、定義情報から得られる対応関係に基づいて決定するステップと、複数のソフトウェアコンポーネントの各々をインストール先のミドルウェアにインストールするステップとを含んでいる。   For this purpose, in the present invention, a plurality of software components are received, and an appropriate installation destination is determined from a plurality of middlewares and installed. That is, the software component installation method of the present invention includes a step of reading definition information for obtaining a correspondence relationship between a software component and middleware of the installation destination of the software component, a step of acquiring a plurality of software components, Determining the middleware of each of the plurality of software components to be installed based on the correspondence obtained from the definition information, and installing each of the plurality of software components in the middleware of the installation destination. Contains.

また、本発明は、このようなインストールを行うインストーラ、つまり、インストール用プログラムとして捉えることもできる。
その場合、本発明の第1のインストーラは、コンピュータに、ソフトウェアコンポーネントと、そのソフトウェアコンポーネントのインストール先のミドルウェアにおける配置すべきディレクトリとを対応付けた定義情報を読み込む機能と、複数のソフトウェアコンポーネントを取得する機能と、複数のミドルウェアの各々におけるディレクトリのうち、複数のソフトウェアコンポーネントの各々を配置すべきディレクトリを、定義情報に基づいて決定する機能と、複数のソフトウェアコンポーネントの各々を、決定されたディレクトリに配置する機能とを実現させるためのものである。
The present invention can also be understood as an installer for performing such installation, that is, an installation program.
In this case, the first installer according to the present invention acquires a plurality of software components and a function for reading definition information in which a software component is associated with a directory to be arranged in middleware to which the software component is installed. A function for determining each of a plurality of software components among directories in each of the plurality of middlewares based on the definition information, and each of the plurality of software components in the determined directories. It is for realizing the function to arrange.

また、本発明の第2のインストーラは、コンピュータに、ソフトウェアコンポーネントと、そのソフトウェアコンポーネントの属性とを対応付けた定義情報を読み込む機能と、複数のソフトウェアコンポーネントを取得する機能と、複数のミドルウェアの各々におけるディレクトリのうち、複数のソフトウェアコンポーネントの各々を配置すべきディレクトリを、定義情報におけるその複数のソフトウェアコンポーネントの各々の属性に基づいて決定する機能と、複数のソフトウェアコンポーネントの各々を、決定されたディレクトリに配置する機能とを実現させるためのものである。   Further, the second installer of the present invention includes a function for reading definition information in which a software component is associated with an attribute of the software component, a function for acquiring a plurality of software components, and a plurality of middlewares. Among the plurality of software components, a function for determining a directory in which each of the plurality of software components is to be arranged based on an attribute of each of the plurality of software components in the definition information, and each of the plurality of software components determined in the directory It is for realizing the function to be arranged in the.

一方、本発明は、特定機能をソフトウェアコンポーネントにて実現可能であり、そのソフトウェアコンポーネントを追加可能な複合機として捉えることもできる。その場合、本発明の複合機は、複数のミドルウェアを動作させるミドルウェア手段と、複数のソフトウェアコンポーネントを取得し、その複数のソフトウェアコンポーネントの各々のインストール先のミドルウェアを複数のミドルウェアの中から決定し、各ソフトウェアコンポーネントをその決定されたミドルウェアにインストールするインストール手段とを備えている。   On the other hand, according to the present invention, a specific function can be realized by a software component, and can also be regarded as a multifunction peripheral to which the software component can be added. In that case, the multifunction peripheral of the present invention acquires middleware means for operating a plurality of middleware and a plurality of software components, determines middleware of each of the plurality of software components to be installed from the plurality of middlewares, Installation means for installing each software component in the determined middleware.

ここで、インストール手段は、複数のソフトウェアコンポーネントを、その複数のソフトウェアコンポーネントをインストール先のミドルウェアごとに分けてアーカイブした複数のアーカイブファイルとして取得するようにしてもよい。また、複数のソフトウェアコンポーネントを、その複数のソフトウェアコンポーネントをインストール先のミドルウェアごとに分けてアーカイブした複数のアーカイブファイルを用いてインストールするようにしてもよい。   Here, the installation unit may acquire the plurality of software components as a plurality of archive files obtained by archiving the plurality of software components for each middleware of the installation destination. In addition, a plurality of software components may be installed using a plurality of archive files obtained by archiving the plurality of software components for each installation destination middleware.

本発明によれば、複数のミドルウェアに対し一度の作業でソフトウェアを追加することが可能となる。   According to the present invention, software can be added to a plurality of middleware by a single operation.

以下、添付図面を参照して、本発明を実施するための最良の形態(以下、「実施の形態」という)について詳細に説明する。
図1は、本実施の形態が適用されるコンピュータシステムの構成を示している。
図示するように、このコンピュータシステムは、複合機10と、端末装置20とが、ネットワーク90で接続されることにより構成されている。
The best mode for carrying out the present invention (hereinafter referred to as “embodiment”) will be described below in detail with reference to the accompanying drawings.
FIG. 1 shows the configuration of a computer system to which this embodiment is applied.
As shown in the figure, this computer system is configured by connecting a multifunction machine 10 and a terminal device 20 via a network 90.

このうち、複合機10は、プリンタ機能、スキャナ機能、ファクシミリ機能等を一筐体内で実現する装置である。即ち、プリンタ機能に着目すれば、画像形成装置として捉えることもでき、スキャナ機能に着目すれば、画像読取り装置として捉えることもできる。また、ファクシミリ機能に着目すれば、画像送信装置/画像受信装置として捉えることもでき、プリンタ機能とスキャナ機能を合わせたものは、複写機として捉えることもできる。
更に、複合機10は、種々のインターフェイスを用いて各種設定を行うことが可能になっている。そのようなインターフェイスとしては、操作パネルによるもの、Webブラウザからの指示によるもの、Webサービスによるもの等が考えられる。
Among these, the multifunction device 10 is a device that realizes a printer function, a scanner function, a facsimile function, and the like in one housing. That is, if attention is paid to the printer function, it can be understood as an image forming apparatus, and if attention is paid to the scanner function, it can be regarded as an image reading apparatus. If attention is paid to the facsimile function, it can be regarded as an image transmission device / image reception device, and a combination of a printer function and a scanner function can be regarded as a copying machine.
Furthermore, the multifunction device 10 can perform various settings using various interfaces. As such an interface, an operation panel, an instruction from a Web browser, an Web service, or the like can be considered.

また、端末装置20は、文書の印刷や文書のファクシミリ送信等を複合機10に指示する装置であり、PC(Personal Computer)が例示される。尚、端末装置20は、Webブラウザを有することもでき、その場合は、複合機10の各種設定をWebブラウザから行うことができる。
更に、ネットワーク90は、LAN(Local Area Network)であってもよいし、インターネット等のWAN(Wide Area Network)であってもよい。
The terminal device 20 is a device that instructs the multifunction device 10 to print a document, send a facsimile of a document, and the like, and is exemplified by a PC (Personal Computer). The terminal device 20 can also have a Web browser, and in that case, various settings of the multifunction machine 10 can be performed from the Web browser.
Furthermore, the network 90 may be a LAN (Local Area Network) or a WAN (Wide Area Network) such as the Internet.

ところで、本実施の形態において、複合機10には、複数のミドルウェア(フレームワーク)が搭載されている。そして、複合機10の機能を実現するソフトウェアコンポーネントが、適合するミドルウェア上で動作するようになっている。本実施の形態は、例えば、同じ機能を異なるミドルウェアで実現するための複数のソフトウェアコンポーネントを、一回の作業でインストールできるようにするものである。   Incidentally, in the present embodiment, a plurality of middleware (framework) is mounted on the multifunction machine 10. Software components that realize the functions of the multifunction machine 10 operate on suitable middleware. In the present embodiment, for example, a plurality of software components for realizing the same function with different middleware can be installed in one operation.

図2は、このようなソフトウェアコンポーネントのインストールの一例を模式的に示したものである。
図示するように、複合機10は、インストーラ11を有する。また、複合機10には、複数のミドルウェア(フレームワーク)が搭載されている。ここでは、ミドルウェアとして、複合機10に固有のフレームワークである固有フレームワーク12aと、Tomcat(登録商標)12bと、HTTPd12cと、OSGi(登録商標)12dとを例示している。
かかる構成の複合機10において、インストーラ11は、メタバンドル30b,30cを受け取り、その中に含まれるソフトウェアコンポーネントを、適切なミドルウェアにインストールする。
FIG. 2 schematically shows an example of installation of such software components.
As illustrated, the multifunction machine 10 includes an installer 11. In addition, the multifunction device 10 is loaded with a plurality of middleware (framework). Here, as the middleware, a unique framework 12a, which is a framework unique to the multifunction machine 10, Tomcat (registered trademark) 12b, HTTPd 12c, and OSGi (registered trademark) 12d are illustrated.
In the MFP 10 having such a configuration, the installer 11 receives the meta-bundles 30b and 30c, and installs the software components included therein into appropriate middleware.

例えば、メタバンドル30bには、ソフトウェアコンポーネントとして、APLと、サーブレットと、JSP(Java(登録商標) Server Pages)とが含まれる。このうち、APLは、例えば、Corbaコンポーネントであり、そのインストール先は、Corbaフレームワークである固有フレームワーク12aである。また、サーブレット及びJSPのインストール先は、Tomcat12bである。このようなインストール先に関する定義が、メタバンドル30bに含まれるマニフェスト40bに記述されており、インストーラ11は、このマニフェスト40bを参照してソフトウェアコンポーネントを適切なインストール先に振り分ける。即ち、APLは、固有フレームワーク12aにインストールし、サーブレット及びJSPは、サブバンドル50bにまとめてTomcat12bにインストールする。ここで、サブバンドル50bとは、複数のソフトウェアコンポーネントを圧縮して得られるアーカイブファイルであり、この場合は、WAR(Web ARchive)ファイルが例示される。   For example, the meta bundle 30b includes APL, a servlet, and JSP (Java (registered trademark) Server Pages) as software components. Among these, APL is, for example, a Corba component, and its installation destination is a specific framework 12a which is a Corba framework. The installation destination of the servlet and JSP is Tomcat12b. A definition related to such an installation destination is described in a manifest 40b included in the meta bundle 30b, and the installer 11 refers to the manifest 40b and distributes the software components to an appropriate installation destination. That is, the APL is installed in the unique framework 12a, and the servlet and JSP are installed together in the sub-bundle 50b and installed in the Tomcat 12b. Here, the sub-bundle 50b is an archive file obtained by compressing a plurality of software components. In this case, a WAR (Web ARchive) file is exemplified.

また、メタバンドル30cには、ソフトウェアコンポーネントとして、APLと、exeファイルと、HTMLファイルと、イメージファイルとが含まれる。このうち、APLのインストール先は、上述したように、固有フレームワーク12aである。また、exeファイル、HTMLファイル及びイメージファイルのインストール先は、HTTPd12cである。このようなインストール先に関する定義が、メタバンドル30cに含まれるマニフェスト40cに記述されており、インストーラ11は、このマニフェスト40cを参照してソフトウェアコンポーネントを適切なインストール先に振り分ける。即ち、APLは、固有フレームワーク12aにインストールし、exeファイル、HTMLファイル及びイメージファイルは、サブバンドル50cにまとめてHTTPd12cにインストールする。   Further, the meta bundle 30c includes an APL, an exe file, an HTML file, and an image file as software components. Among these, the installation destination of APL is the specific framework 12a as described above. The installation destination of the exe file, HTML file, and image file is HTTPd12c. The definition regarding such an installation destination is described in the manifest 40c included in the meta bundle 30c, and the installer 11 refers to the manifest 40c and distributes the software components to an appropriate installation destination. That is, the APL is installed in the unique framework 12a, and the exe file, the HTML file, and the image file are installed together in the sub bundle 50c and installed in the HTTPd 12c.

尚、図には示さなかったが、固有フレームワーク12aをインストール先とするソフトウェアコンポーネントと、OSGi12dをインストール先とするソフトウェアコンポーネントとを含むメタバンドルを入力し、各ソフトウェアコンポーネントを固有フレームワーク12aとOSGi12dとに振り分けてインストールすることも可能である。この場合も、OSGi12dにインストールする複数のソフトウェアコンポーネントは、サブバンドルにまとめることができるが、この場合のサブバンドルは、例えば、JAR(Java(登録商標) ARchive)ファイルである。   Although not shown in the figure, a meta-bundle including a software component having the unique framework 12a as an installation destination and a software component having the OSGi 12d as an installation destination is input, and each software component is assigned to the unique framework 12a and the OSGi 12d. It is also possible to install by sorting them. In this case as well, a plurality of software components to be installed in the OSGi 12d can be collected into sub-bundles. In this case, the sub-bundle is, for example, a JAR (Java (registered trademark) ARchive) file.

ところで、本実施の形態では、各ソフトウェアコンポーネントのインストール先を決定するために参照されるマニフェスト40として、2種類のものを想定する。1つは、インストール対象のソフトウェアコンポーネントに対し、そのソフトウェアコンポーネントの配置先及び配置方法を記述したものである。そして、もう1つは、インストール対象のソフトウェアコンポーネントに対し、そのソフトウェアコンポーネントの属性を記述したものである。以下、前者のマニフェスト40を参照することによるソフトウェアコンポーネントのインストールを第1の実施の形態として、また、後者のマニフェスト40を参照することによるソフトウェアコンポーネントのインストールを第2の実施の形態として、詳細に説明する。   By the way, in the present embodiment, two types of manifests 40 are assumed as references for determining the installation destination of each software component. One is a description of the placement destination and placement method of the software component to be installed. The other describes the attributes of the software component to be installed. Hereinafter, the installation of the software component by referring to the former manifest 40 will be described in detail as the first embodiment, and the installation of the software component by referring to the latter manifest 40 will be described in detail as the second embodiment. explain.

[第1の実施の形態]
この第1の実施の形態では、インストーラ11に入力されるメタバンドル30に、マニフェスト40とサブバンドル50が含まれるものとする。即ち、図2では、メタバンドル30に含まれるソフトウェアコンポーネントから、インストーラ11がサブバンドル50を作成していたが、サブバンドル50を予め作成してメタバンドル30に含めておくこともできるので、本実施の形態ではそのようにしている。
図3は、本実施の形態で参照するマニフェスト40の一例を示したものである。
このマニフェスト40は、大きく、sub−bundle要素41b,41dから構成されている。このうち、sub−bundle要素41bは、Tomcat12bへのインストールに関する定義を記述したものであり、sub−bundle要素41dは、OSGi12dへのインストールに関する定義を記述したものである。
[First Embodiment]
In the first embodiment, it is assumed that the meta bundle 30 input to the installer 11 includes a manifest 40 and a sub-bundle 50. That is, in FIG. 2, the installer 11 has created the sub-bundle 50 from the software components included in the meta-bundle 30, but the sub-bundle 50 can be created in advance and included in the meta-bundle 30. This is the case in the embodiment.
FIG. 3 shows an example of the manifest 40 referred to in the present embodiment.
The manifest 40 is large and includes sub-bundle elements 41b and 41d. Among them, the sub-bundle element 41b describes the definition related to installation in the Tomcat 12b, and the sub-bundle element 41d describes the definition related to installation in the OSGi 12d.

また、sub−bundle要素41bは、source要素42bと、destination要素43bと、pre−procs要素44bと、post−procs要素45bとを含んでいる。このうち、source要素42bは、インストール対象のソフトウェアコンポーネントから作成されたサブバンドル50を指定する。また、destination要素43bは、サブバンドル50の配置先(配置すべきディレクトリ)を指定する。更に、pre−procs要素44b及びpost−procs要素45bは、サブバンドル50の配置方法(配置前後に行うべき処理)を指定する。
一方、sub−bundle要素41dは、source要素42dと、destination要素43dと、post−procs要素45dとを含んでいる。但し、これらの要素は、それぞれ、上述したsource要素42b、destination要素43b、post−procs要素45bと同様であるので、説明を省略する。
The sub-bundle element 41b includes a source element 42b, a destination element 43b, a pre-procs element 44b, and a post-procs element 45b. Among these, the source element 42b specifies the sub-bundle 50 created from the software component to be installed. Further, the destination element 43b designates an arrangement destination (directory to be arranged) of the sub-bundle 50. Furthermore, the pre-procs element 44b and the post-procs element 45b specify the arrangement method of the sub-bundle 50 (processing to be performed before and after arrangement).
On the other hand, the sub-bundle element 41d includes a source element 42d, a destination element 43d, and a post-procs element 45d. However, these elements are the same as the above-described source element 42b, destination element 43b, and post-procs element 45b, respectively, and thus description thereof is omitted.

次に、インストーラ11が、図3のマニフェスト40を参照してソフトウェアコンポーネントをインストールする際の動作について説明する。
図4は、このときのインストーラ11の動作を示したフローチャートである。
まず、インストーラ11は、メタバンドル30からマニフェスト40を抽出する(ステップ101)。そして、マニフェスト40における記述からsub−bundle要素41を検索し(ステップ102)、sub−bundle要素41があったかどうかを判定する(ステップ103)。
Next, the operation when the installer 11 installs the software component with reference to the manifest 40 of FIG. 3 will be described.
FIG. 4 is a flowchart showing the operation of the installer 11 at this time.
First, the installer 11 extracts the manifest 40 from the meta bundle 30 (step 101). Then, the sub-bundle element 41 is searched from the description in the manifest 40 (step 102), and it is determined whether or not the sub-bundle element 41 exists (step 103).

その結果、sub−bundle要素41があったと判定されれば、その要素内の各要素を更に解析する(ステップ104)。具体的には、source要素42を解析し、処理対象となるサブバンドル50を認識する。また、destination要素43を解析し、サブバンドル50の配置先を認識する、更に、pre−procs要素44、post−procs要素45も存在すれば解析し、サブバンドル50を配置する際に実行すべき処理を認識する。   As a result, if it is determined that there is a sub-bundle element 41, each element in the element is further analyzed (step 104). Specifically, the source element 42 is analyzed and the sub-bundle 50 to be processed is recognized. In addition, the destination element 43 is analyzed to recognize the location where the sub-bundle 50 is arranged. Further, if the pre-procs element 44 and the post-procs element 45 exist, it is analyzed and should be executed when the sub-bundle 50 is arranged. Recognize processing.

その後、インストーラ11は、この解析の結果に基づいて、インストールを行う。
即ち、まず、source要素42で指定されたサブバンドル50をメタバンドル30から抽出する(ステップ105)。例えば、図3のマニフェスト40のsource要素42bを参照した場合であれば、ディレクトリ「webapp-1」配下のWARファイル「foo.war」を抽出する。
Thereafter, the installer 11 performs installation based on the result of this analysis.
That is, first, the sub-bundle 50 designated by the source element 42 is extracted from the meta-bundle 30 (step 105). For example, if the source element 42b of the manifest 40 in FIG. 3 is referred to, the WAR file “foo.war” under the directory “webapp-1” is extracted.

次に、インストーラ11は、必要に応じて、pre−procs要素44で指定された処理を実行する(ステップ106)。例えば、図3のマニフェスト40のpre−procs要素43bを参照した場合であれば、以下のような処理を行う。
・Tomcat12bが起動中であれば、次のシェルを実行し、Tomcat12bを停止する。
$TOMCAT_HOME/bin/shutdown.sh
・既に展開済みのディレクトリがあれば、次のシェルを実行し、それを削除する。
webapp-1/cleanup.sh
これは、実際は、次のようなコマンドに展開される。
pushd
cd $TOMCAT_HOME/webapps/
rm -fR foo
popd
Next, the installer 11 executes the process specified by the pre-procs element 44 as necessary (step 106). For example, if the pre-procs element 43b of the manifest 40 in FIG. 3 is referred to, the following processing is performed.
If Tomcat12b is running, execute the next shell and stop Tomcat12b.
$ TOMCAT_HOME / bin / shutdown.sh
・ If there is an already expanded directory, execute the following shell and delete it.
webapp-1 / cleanup.sh
This is actually expanded into the following command:
pushd
cd $ TOMCAT_HOME / webapps /
rm -fR foo
popd

また、インストーラ11は、ステップ105で抽出したサブバンドル50を、destination要素43で指定されたディレクトリに配置する(ステップ107)。例えば、図3のマニフェスト40のdestination要素43bを参照した場合であれば、以下のような処理を行う。
・次のコマンドにより、WARファイル「foo.war」をディレクトリ「$TOMCAT_HOME/webapps」にコピーする。
cp foo.war $TOMCAT_HOME/webapps
Further, the installer 11 places the sub-bundle 50 extracted in step 105 in the directory specified by the destination element 43 (step 107). For example, if the destination element 43b of the manifest 40 in FIG. 3 is referred to, the following processing is performed.
Copy the WAR file “foo.war” to the directory “$ TOMCAT_HOME / webapps” with the following command:
cp foo.war $ TOMCAT_HOME / webapps

更に、インストーラ11は、必要に応じて、post−procs要素44で指定された処理を実行する(ステップ108)。例えば、図3のマニフェスト40のpost−procs要素44bを参照した場合であれば、以下のような処理を行う。
・次のシェルを実行し、Tomcat12bを起動する。
$TOMCAT_HOME/bin/startup.sh
これにより、Tomcat12bが、WARファイル内のディレクトリやファイルを、ディレクトリ「$TOMCAT_HOME/webapps/foo」に展開する。
Furthermore, the installer 11 executes the process specified by the post-procs element 44 as necessary (step 108). For example, if the post-procs element 44b of the manifest 40 in FIG. 3 is referred to, the following processing is performed.
-Execute the following shell and start Tomcat12b.
$ TOMCAT_HOME / bin / startup.sh
Thereby, Tomcat 12b expands the directories and files in the WAR file into the directory “$ TOMCAT_HOME / webapps / foo”.

また、インストーラ11は、このような処理を、ステップ103で、sub−bundle要素41がないと判定されるまで繰り返す。例えば、図3のマニフェスト40を参照した場合であれば、sub−bundle要素41dについても、同様の処理を行う。即ち、以下のような処理を行う。
・次のコマンドにより、アプリケーションのバンドルをコピーする。
cp bar.jar $OSGI_HOME/bundle
・次のコマンドにより、バンドルをOSGiフレームワークにインストールし、起動する。
echo “start bundle/bar.jar”/dev/pts/1
そして、ステップ103で、sub−bundle要素41がないと判定されれば、処理は終了する。
Further, the installer 11 repeats such processing until it is determined in step 103 that there is no sub-bundle element 41. For example, if the manifest 40 in FIG. 3 is referred to, the same processing is performed for the sub-bundle element 41d. That is, the following processing is performed.
-Copy the application bundle with the following command.
cp bar.jar $ OSGI_HOME / bundle
-Install the bundle in the OSGi framework and start it with the following command.
echo “start bundle / bar.jar” / dev / pts / 1
If it is determined in step 103 that there is no sub-bundle element 41, the process ends.

尚、以上では、複数のソフトウェアコンポーネントから予め作成しておいたサブバンドル50をメタバンドル30に含めたが、図2に示したように、メタバンドル30には、複数のソフトウェアコンポーネントをそのまま含めておくこともできる。
その場合、ソフトウェアコンポーネントをインストールする方法としては、2つ考えられる。
In the above description, the sub-bundle 50 created in advance from a plurality of software components is included in the meta bundle 30, but as shown in FIG. 2, the meta bundle 30 includes a plurality of software components as they are. It can also be left.
In that case, there are two possible methods for installing the software component.

第一に、ソフトウェアコンポーネントをそのまま適切なミドルウェアのディレクトリに配置する方法である。
この場合、マニフェスト40の記述は、次のようになる。
まず、source要素42でサブバンドル50を指定するのではなく、source−dir要素等の別の要素を用意し、ここにソフトウェアコンポーネントが存在するディレクトリを指定する。
また、pre−procs要素44では、例えば、以下のような処理を指定する。
・Tomcat12bが起動中の場合、次のシェルを実行し、Tomcat12bを停止する。
$TOMCAT_HOME/bin/shutdown.sh
First, the software component is placed in an appropriate middleware directory as it is.
In this case, the description of the manifest 40 is as follows.
First, instead of designating the sub-bundle 50 by the source element 42, another element such as a source-dir element is prepared, and a directory where the software component exists is designated here.
In the pre-procs element 44, for example, the following processing is designated.
If Tomcat12b is running, execute the next shell and stop Tomcat12b.
$ TOMCAT_HOME / bin / shutdown.sh

更に、pre−procs要素44又はpost−procs要素45では、例えば、以下のような処理を指定する。
・アプリケーション定義ファイル($TOMCAT_HOME/conf/server.xml)に、「<Context path="/foo" docBase=".(snip)./foo" reloadable="true"/>」なる記述を追加する。ここで、「path」には、アプリケーションをブラウザから呼び出すためのURLを指定し、「docBase」には、アプリケーションが配置されたディレクトリを指定する。
また、post−procs要素45では、例えば、以下のような処理を指定する。
・次のシェルを実行し、Tomcat12bを起動する。
$TOMCAT_HOME/bin/startup.sh
Further, in the pre-procs element 44 or the post-procs element 45, for example, the following processing is specified.
-Add the description "<Context path =" / foo "docBase =". (Snip) ./ foo "reloadable =" true "/>" to the application definition file ($ TOMCAT_HOME / conf / server.xml). Here, the URL for calling the application from the browser is designated in “path”, and the directory in which the application is arranged is designated in “docBase”.
In the post-procs element 45, for example, the following processing is specified.
-Execute the following shell and start Tomcat12b.
$ TOMCAT_HOME / bin / startup.sh

第二に、ソフトウェアコンポーネントからサブバンドル50を作成し、そのサブバンドル50を適切なミドルウェアの適切なディレクトリに配置する方法(図2の方法)である。
この場合、マニフェスト40の記述は、次のようになる。
まず、source要素42でサブバンドル50を指定するのではなく、source−dir要素等の別の要素を用意し、ここにソフトウェアコンポーネントが存在するディレクトリを指定する。
また、ソフトウェアコンポーネントからサブバンドル50を作成する必要があるが、その処理を、pre−procs要素44で指定してもよい。
Second, a method of creating a sub-bundle 50 from software components and placing the sub-bundle 50 in an appropriate directory of an appropriate middleware (method in FIG. 2).
In this case, the description of the manifest 40 is as follows.
First, instead of designating the sub-bundle 50 by the source element 42, another element such as a source-dir element is prepared, and a directory where the software component exists is designated here.
Moreover, although it is necessary to create the sub-bundle 50 from the software component, the process may be specified by the pre-procs element 44.

[第2の実施の形態]
この第2の実施の形態でも、インストーラ11に入力されるメタバンドル30に、マニフェスト40とサブバンドル50が含まれるものとする。
図5は、本実施の形態で参照するマニフェスト40の一例を示したものである。
このマニフェスト40において、files要素は、file要素46b,46dから構成されている。このうち、file要素46bは、Tomcat12bへのインストールに関する定義を記述したものであり、file要素46dは、OSGi12dへのインストールに関する定義を記述したものである。
[Second Embodiment]
Also in the second embodiment, it is assumed that the manifest 40 and the sub-bundle 50 are included in the meta bundle 30 input to the installer 11.
FIG. 5 shows an example of the manifest 40 referred to in the present embodiment.
In the manifest 40, the files element is composed of file elements 46b and 46d. Among these, the file element 46b describes the definition related to installation in the Tomcat 12b, and the file element 46d describes the definition related to installation in the OSGi 12d.

また、file要素46bは、source要素47bと、type要素48bとを含んでいる。このうち、source要素47bは、インストール対象のソフトウェアコンポーネントから作成されたサブバンドル50を指定する。また、type要素48bは、サブバンドル50の属性をMIME(Multipurpose Internet Mail Extension)タイプで指定する。
一方、file要素46dは、source要素47dと、type要素48dとを含んでいる。但し、これらの要素は、それぞれ、上述したsource要素47b、type要素48bと同様であるので、説明を省略する。
The file element 46b includes a source element 47b and a type element 48b. Of these, the source element 47b specifies the sub-bundle 50 created from the software component to be installed. Further, the type element 48b specifies the attribute of the sub-bundle 50 in the MIME (Multipurpose Internet Mail Extension) type.
On the other hand, the file element 46d includes a source element 47d and a type element 48d. However, these elements are the same as the above-described source element 47b and type element 48b, respectively, and thus description thereof is omitted.

次に、インストーラ11が、図5のマニフェスト40を参照してソフトウェアコンポーネントをインストールする際の動作について説明する。
図6は、このときのインストーラ11の動作を示したフローチャートである。
まず、インストーラ11は、メタバンドル30からマニフェスト40を抽出する(ステップ111)。そして、マニフェスト40における記述からfile要素46を検索し(ステップ112)、file要素46があったかどうかを判定する(ステップ113)。
Next, the operation when the installer 11 installs the software component with reference to the manifest 40 in FIG. 5 will be described.
FIG. 6 is a flowchart showing the operation of the installer 11 at this time.
First, the installer 11 extracts the manifest 40 from the meta bundle 30 (step 111). Then, the file element 46 is searched from the description in the manifest 40 (step 112), and it is determined whether or not the file element 46 exists (step 113).

その結果、file要素46があったと判定されれば、その要素内の各要素を更に解析する(ステップ114)。具体的には、source要素47を解析し、処理対象となるサブバンドル50を認識する。また、type要素48を解析し、サブバンドル50の属性を認識する。   As a result, if it is determined that there is a file element 46, each element in the element is further analyzed (step 114). Specifically, the source element 47 is analyzed, and the sub-bundle 50 to be processed is recognized. Further, the type element 48 is analyzed to recognize the attribute of the sub-bundle 50.

その後、インストーラ11は、この解析の結果に基づいて、インストールを行う。
即ち、まず、source要素47で指定されたサブバンドル50をメタバンドル30から抽出する(ステップ115)。例えば、図5のマニフェスト40のsource要素47bを参照した場合であれば、ディレクトリ「webapp-1」配下のWARファイル「foo.war」を抽出する。
Thereafter, the installer 11 performs installation based on the result of this analysis.
That is, first, the sub-bundle 50 specified by the source element 47 is extracted from the meta-bundle 30 (step 115). For example, if the source element 47b of the manifest 40 in FIG. 5 is referenced, the WAR file “foo.war” under the directory “webapp-1” is extracted.

次に、インストーラ11は、ステップ114で認識した属性に対して予め定められた前処理があれば、その処理を実行する(ステップ116)。また、ステップ115で抽出したサブバンドル50を、ステップ114で認識した属性に対して予め定められたディレクトリに配置する(ステップ117)。そして、ステップ114で認識した属性に対して予め定められた後処理があれば、その処理を実行する(ステップ118)。   Next, if there is a predetermined pre-process for the attribute recognized in step 114, the installer 11 executes the process (step 116). Further, the sub-bundle 50 extracted in step 115 is placed in a directory predetermined for the attribute recognized in step 114 (step 117). If there is a predetermined post-process for the attribute recognized in step 114, the process is executed (step 118).

また、インストーラ11は、このような処理を、ステップ113で、file要素46がないと判定されるまで繰り返す。例えば、図5のマニフェスト40を参照した場合であれば、file要素46dについても、同様の処理を行う。そして、ステップ113で、file要素46がないと判定されれば、処理は終了する。   The installer 11 repeats such processing until it is determined in step 113 that there is no file element 46. For example, if the manifest 40 in FIG. 5 is referred to, the same processing is performed for the file element 46d. If it is determined in step 113 that there is no file element 46, the process ends.

尚、この第2の実施の形態においても、第1の実施の形態で述べたのと同様の変形例が考えられる。即ち、複数のソフトウェアコンポーネントをそのままメタバンドル30に含めておき、それをそのまま、或いは、サブバンドル50の形で適切なミドルウェアの適切なディレクトリに配置することができる。   In the second embodiment, the same modification as described in the first embodiment can be considered. That is, a plurality of software components can be included in the meta bundle 30 as they are, and can be arranged as they are or in an appropriate directory of appropriate middleware in the form of the sub-bundle 50.

以上、具体的なマニフェスト40を用いたインストール方法である第1及び第2の実施の形態について説明してきた。
このうち、第1の実施の形態では、サブバンドル50やソフトウェアコンポーネントの配置先/配置方法を直接マニフェスト40に定義していた。また、第2の実施の形態では、サブバンドル50やソフトウェアコンポーネントの属性を定義しておき、インストーラ11側で配置先/配置方法を決定していた。しかしながら、配置先/配置方法を決定するために用いる情報は、これに限らない。例えば、サブバンドル50やソフトウェアコンポーネントのファイル名の一部(サフィックス等)に基づいて決定するようにしてもよい。
The first and second embodiments that are specific installation methods using the manifest 40 have been described above.
Among these, in the first embodiment, the placement / placement method of the sub-bundle 50 and the software component is directly defined in the manifest 40. In the second embodiment, the attributes of the sub-bundle 50 and software components are defined, and the placement destination / placement method is determined on the installer 11 side. However, the information used for determining the placement destination / placement method is not limited to this. For example, it may be determined based on part of the file name of the sub-bundle 50 or software component (suffix or the like).

また、第1の実施の形態における図3のマニフェスト40、及び、第2の実施の形態における図5のマニフェスト40は、あくまで一例に過ぎない。即ち、最終的にサブバンドル50またはソフトウェアコンポーネントと、そのインストーラ先であるミドルウェアとの対応関係が得られるものであれば、どのような定義情報を用いるようにしてもよい。   Further, the manifest 40 of FIG. 3 in the first embodiment and the manifest 40 of FIG. 5 in the second embodiment are merely examples. That is, any definition information may be used as long as the correspondence between the sub-bundle 50 or the software component and the middleware that is the installer destination is finally obtained.

更に、上記では、メタバンドル30に含まれるソフトウェアコンポーネントは、全てインストール対象にしてきた。しかしながら、種々の条件とソフトウェアコンポーネントの適合性を検査し、適合しないものはインストールしないような構成としてもよい。
そのような構成としては、第一に、複合機10の構成情報を取得し、その構成情報に適合しないソフトウェアコンポーネントをインストール対象から除外することが考えられる。第二に、インストール先のミドルウェアのバージョンに応じて、インストールするソフトウェアコンポーネントを選択することも考えられる。第三に、インストールするソフトウェアコンポーネントに必要なミドルウェアが複合機10に搭載されているか検査し、その検査結果に基づいて、インストールするソフトウェアコンポーネントを選択することも考えられる。
Further, in the above, all software components included in the meta bundle 30 have been set as installation targets. However, the configuration may be such that the compatibility of various conditions and software components is inspected, and those that do not conform are not installed.
As such a configuration, first, it is conceivable that configuration information of the multifunction machine 10 is acquired and software components that do not conform to the configuration information are excluded from installation targets. Secondly, it is conceivable to select a software component to be installed in accordance with the version of the middleware at the installation destination. Thirdly, it is conceivable to check whether middleware necessary for the software component to be installed is installed in the multi-function peripheral 10 and to select the software component to be installed based on the inspection result.

尚、第二の構成や第三の構成のように、複合機10に搭載されたミドルウェアの関係でインストールできないソフトウェアコンポーネントがある場合は、必要なミドルウェアを複合機10に搭載する動作を行うようにしてもよい。
また、メタバンドル30の中にインストール可能なソフトウェアコンポーネントが存在しない場合は、エラーを表示するようにしてもよい。
If there is a software component that cannot be installed due to the middleware installed in the multifunction device 10 as in the second configuration or the third configuration, the operation to install the necessary middleware in the multifunction device 10 is performed. May be.
Further, when there is no installable software component in the meta bundle 30, an error may be displayed.

このように、本実施の形態では、複合機に対し、固有のミドルウェア以外に、オープンソースソフトウェア用のミドルウェアを搭載できるようにした。これにより、複合機に機能を追加する際にオープンソースソフトウェアを十分に活用できるようになった。
また、複数のソフトウェアコンポーネントを受け取り、複数のミドルウェアの中から適切なインストール先を決定してインストールするようにした。これにより、複数のミドルウェアに分散する機能を一度の作業で容易に組み込むことができるようになった。
As described above, according to the present embodiment, middleware for open source software can be mounted on the multifunction peripheral in addition to the specific middleware. As a result, open source software can be fully utilized when adding functions to multifunction devices.
Also, multiple software components are received, and an appropriate installation destination is determined from multiple middlewares and installed. As a result, it is possible to easily incorporate a function distributed to a plurality of middlewares in a single operation.

尚、本実施の形態で述べた複合機は、ディスプレイやキーボードにより種々のコマンド等を駆使できる操作環境を有していない。従って、これまで、複数のミドルウェアを搭載しようとしても、それぞれのミドルウェアごとにインストール作業を行うことは困難であった。これに対し、本実施の形態は、操作環境に制限がある場合でも、複数のミドルウェアに対する機能追加を簡単に行えるようにし、種々のオープンソースソフトウェアを利用して高度な機能を提供できるようにするものである。   Note that the multifunction peripheral described in this embodiment does not have an operation environment in which various commands can be used with a display and a keyboard. Therefore, until now, even if a plurality of middlewares are to be installed, it has been difficult to perform installation for each middleware. On the other hand, the present embodiment makes it possible to easily add functions to a plurality of middleware and provide advanced functions using various open source software even when the operation environment is limited. Is.

本発明の実施の形態が適用されるシステムの構成を示した図である。It is the figure which showed the structure of the system with which embodiment of this invention is applied. 本発明の実施の形態の概要を説明するための図である。It is a figure for demonstrating the outline | summary of embodiment of this invention. 本発明の第1の実施の形態で参照するマニフェストの例を示した図である。It is the figure which showed the example of the manifest referred in the 1st Embodiment of this invention. 本発明の第1の実施の形態におけるインストーラの動作を示したフローチャートである。It is the flowchart which showed the operation | movement of the installer in the 1st Embodiment of this invention. 本発明の第2の実施の形態で参照するマニフェストの例を示した図である。It is the figure which showed the example of the manifest referred in the 2nd Embodiment of this invention. 本発明の第2の実施の形態におけるインストーラの動作を示したフローチャートである。It is the flowchart which showed the operation | movement of the installer in the 2nd Embodiment of this invention.

符号の説明Explanation of symbols

10…複合機、11…インストーラ、20…端末装置、30…メタバンドル、40…マニフェスト、50…サブバンドル DESCRIPTION OF SYMBOLS 10 ... MFP, 11 ... Installer, 20 ... Terminal device, 30 ... Meta bundle, 40 ... Manifest, 50 ... Sub bundle

Claims (14)

ソフトウェアコンポーネントと、当該ソフトウェアコンポーネントのインストール先のミドルウェアとの対応関係を得るための定義情報を読み込むステップと、
複数のソフトウェアコンポーネントを取得するステップと、
複数のミドルウェアのうち、前記複数のソフトウェアコンポーネントの各々のインストール先のミドルウェアを、前記定義情報から得られる対応関係に基づいて決定するステップと、
前記複数のソフトウェアコンポーネントの各々を前記インストール先のミドルウェアにインストールするステップと
を含むことを特徴とするソフトウェアコンポーネントのインストール方法。
Reading definition information for obtaining a correspondence relationship between the software component and the middleware of the installation destination of the software component;
Obtaining a plurality of software components;
Determining middleware of each of the plurality of software components among a plurality of middleware based on the correspondence obtained from the definition information; and
Installing each of the plurality of software components in the middleware of the installation destination.
前記読み込むステップでは、ソフトウェアコンポーネントと、当該ソフトウェアコンポーネントを配置すべきディレクトリとを対応付けた前記定義情報を読み込み、
前記インストールするステップでは、前記複数のソフトウェアコンポーネントの各々を、前記定義情報に基づいて決定されるディレクトリに配置することを特徴とする請求項1記載のソフトウェアコンポーネントのインストール方法。
In the reading step, the definition information in which a software component and a directory in which the software component is to be placed is associated is read,
2. The software component installation method according to claim 1, wherein in the installing step, each of the plurality of software components is arranged in a directory determined based on the definition information.
前記読み込むステップでは、ソフトウェアコンポーネントと、当該ソフトウェアコンポーネントをインストールする際に実行すべき処理とを対応付けた前記定義情報を読み込み、
前記インストールするステップでは、前記複数のソフトウェアコンポーネントの各々をインストールする際に、前記定義情報に基づいて決定される処理を実行することを特徴とする請求項1記載のソフトウェアコンポーネントのインストール方法。
In the reading step, the definition information in which a software component is associated with a process to be executed when the software component is installed is read,
2. The software component installation method according to claim 1, wherein in the installation step, a process determined based on the definition information is executed when each of the plurality of software components is installed.
前記読み込むステップでは、ソフトウェアコンポーネントと、当該ソフトウェアコンポーネントの属性とを対応付けた前記定義情報を読み込み、
前記インストールするステップでは、前記複数のソフトウェアコンポーネントの各々を、前記定義情報に基づいて決定される属性に応じたディレクトリに配置することを特徴とする請求項1記載のソフトウェアコンポーネントのインストール方法。
In the reading step, the definition information in which the software component is associated with the attribute of the software component is read,
2. The software component installation method according to claim 1, wherein in the installing step, each of the plurality of software components is arranged in a directory according to an attribute determined based on the definition information.
前記読み込むステップでは、ソフトウェアコンポーネントと、当該ソフトウェアコンポーネントの属性とを対応付けた前記定義情報を読み込み、
前記インストールするステップでは、前記複数のソフトウェアコンポーネントの各々をインストールする際に、前記定義情報に基づいて決定される属性に応じた処理を実行することを特徴とする請求項1記載のソフトウェアコンポーネントのインストール方法。
In the reading step, the definition information in which the software component is associated with the attribute of the software component is read,
2. The software component installation according to claim 1, wherein in the installation step, when each of the plurality of software components is installed, a process according to an attribute determined based on the definition information is executed. Method.
コンピュータに、
ソフトウェアコンポーネントと、当該ソフトウェアコンポーネントのインストール先のミドルウェアにおける配置すべきディレクトリとを対応付けた定義情報を読み込む機能と、
複数のソフトウェアコンポーネントを取得する機能と、
複数のミドルウェアの各々におけるディレクトリのうち、前記複数のソフトウェアコンポーネントの各々を配置すべきディレクトリを、前記定義情報に基づいて決定する機能と、
前記複数のソフトウェアコンポーネントの各々を、決定された前記ディレクトリに配置する機能と
を実現させるためのインストーラ。
On the computer,
A function for reading definition information that associates a software component with a directory to be placed in the middleware where the software component is installed;
The ability to obtain multiple software components,
A function for determining a directory in which each of the plurality of software components is to be arranged based on the definition information, among directories in each of a plurality of middlewares;
An installer for realizing a function of arranging each of the plurality of software components in the determined directory.
前記取得する機能では、前記複数のソフトウェアコンポーネントを、当該複数のソフトウェアコンポーネントをインストール先のミドルウェアごとに分けてアーカイブした複数のアーカイブファイルとして取得することを特徴とする請求項6記載のインストーラ。   The installer according to claim 6, wherein the obtaining function obtains the plurality of software components as a plurality of archive files obtained by archiving the plurality of software components for each installation destination middleware. 前記配置する機能では、前記複数のソフトウェアコンポーネントを、当該複数のソフトウェアコンポーネントをインストール先のミドルウェアごとに分けてアーカイブした複数のアーカイブファイルとして配置することを特徴とする請求項6記載のインストーラ。   7. The installer according to claim 6, wherein in the function of arranging, the plurality of software components are arranged as a plurality of archive files obtained by archiving the plurality of software components for each middleware of installation destinations. コンピュータに、
ソフトウェアコンポーネントと、当該ソフトウェアコンポーネントの属性とを対応付けた定義情報を読み込む機能と、
複数のソフトウェアコンポーネントを取得する機能と、
複数のミドルウェアの各々におけるディレクトリのうち、前記複数のソフトウェアコンポーネントの各々を配置すべきディレクトリを、前記定義情報における当該複数のソフトウェアコンポーネントの各々の属性に基づいて決定する機能と、
前記複数のソフトウェアコンポーネントの各々を、決定された前記ディレクトリに配置する機能と
を実現させるためのインストーラ。
On the computer,
A function for reading definition information in which a software component is associated with an attribute of the software component;
The ability to obtain multiple software components;
A function for deciding a directory in which each of the plurality of software components is to be placed among directories in each of the plurality of middlewares based on attributes of the plurality of software components in the definition information;
An installer for realizing a function of arranging each of the plurality of software components in the determined directory.
前記取得する機能では、前記複数のソフトウェアコンポーネントを、当該複数のソフトウェアコンポーネントをインストール先のミドルウェアごとに分けてアーカイブした複数のアーカイブファイルとして取得することを特徴とする請求項9記載のインストーラ。   The installer according to claim 9, wherein the obtaining function obtains the plurality of software components as a plurality of archive files obtained by archiving the plurality of software components for each installation destination middleware. 前記配置する機能では、前記複数のソフトウェアコンポーネントを、当該複数のソフトウェアコンポーネントをインストール先のミドルウェアごとに分けてアーカイブした複数のアーカイブファイルとして配置することを特徴とする請求項9記載のインストーラ。   10. The installer according to claim 9, wherein, in the function of arranging, the plurality of software components are arranged as a plurality of archive files obtained by archiving the plurality of software components for each installation destination middleware. 特定機能をソフトウェアコンポーネントにて実現可能な複合機であって、
複数のミドルウェアを動作させるミドルウェア手段と、
複数のソフトウェアコンポーネントを取得し、当該複数のソフトウェアコンポーネントの各々のインストール先のミドルウェアを前記複数のミドルウェアの中から決定し、各ソフトウェアコンポーネントを当該決定されたミドルウェアにインストールするインストール手段と
を備えたことを特徴とする複合機。
A multi-function machine capable of realizing specific functions with software components,
Middleware means for operating a plurality of middleware,
Installation means for obtaining a plurality of software components, determining middleware of each of the plurality of software components to be installed from among the plurality of middleware, and installing each software component in the determined middleware A multi-function machine characterized by
前記インストール手段は、前記複数のソフトウェアコンポーネントを、当該複数のソフトウェアコンポーネントをインストール先のミドルウェアごとに分けてアーカイブした複数のアーカイブファイルとして取得することを特徴とする請求項12記載の複合機。   13. The multi-function peripheral according to claim 12, wherein the installing unit acquires the plurality of software components as a plurality of archive files obtained by archiving the plurality of software components for each install destination middleware. 前記インストール手段は、前記複数のソフトウェアコンポーネントを、当該複数のソフトウェアコンポーネントをインストール先のミドルウェアごとに分けてアーカイブした複数のアーカイブファイルを用いてインストールすることを特徴とする請求項12記載の複合機。   13. The multi-function peripheral according to claim 12, wherein the installation means installs the plurality of software components using a plurality of archive files obtained by archiving the plurality of software components for each middleware of installation destinations.
JP2006104190A 2006-04-05 2006-04-05 Software component installation method, installer, and multifunction machine Expired - Fee Related JP4844205B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006104190A JP4844205B2 (en) 2006-04-05 2006-04-05 Software component installation method, installer, and multifunction machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006104190A JP4844205B2 (en) 2006-04-05 2006-04-05 Software component installation method, installer, and multifunction machine

Publications (2)

Publication Number Publication Date
JP2007279959A true JP2007279959A (en) 2007-10-25
JP4844205B2 JP4844205B2 (en) 2011-12-28

Family

ID=38681357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006104190A Expired - Fee Related JP4844205B2 (en) 2006-04-05 2006-04-05 Software component installation method, installer, and multifunction machine

Country Status (1)

Country Link
JP (1) JP4844205B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009076877A1 (en) * 2007-12-14 2009-06-25 Huawei Technologies Co., Ltd. A method for deploying and managing the sip servlet application and the osgi service platform thereof
JP2010244141A (en) * 2009-04-01 2010-10-28 Hitachi Software Eng Co Ltd Home network system, gateway device and firmware update method
WO2012036174A1 (en) * 2010-09-16 2012-03-22 Ricoh Company, Ltd. Install method, apparatus
JP2013037511A (en) * 2011-08-08 2013-02-21 Ricoh Co Ltd Device, information processing method, information processing program, and recording medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038962A (en) * 2002-06-27 2004-02-05 Microsoft Corp System and method of installing software application by uninfluential system
JP2004302929A (en) * 2003-03-31 2004-10-28 Fujitsu Ltd Automatic installer program
JP2005311907A (en) * 2004-04-23 2005-11-04 Matsushita Electric Ind Co Ltd Composite machine and function expanding method
JP2005338940A (en) * 2004-05-24 2005-12-08 Canon Inc Installation method, information processor and device driver

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004038962A (en) * 2002-06-27 2004-02-05 Microsoft Corp System and method of installing software application by uninfluential system
JP2004302929A (en) * 2003-03-31 2004-10-28 Fujitsu Ltd Automatic installer program
JP2005311907A (en) * 2004-04-23 2005-11-04 Matsushita Electric Ind Co Ltd Composite machine and function expanding method
JP2005338940A (en) * 2004-05-24 2005-12-08 Canon Inc Installation method, information processor and device driver

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009076877A1 (en) * 2007-12-14 2009-06-25 Huawei Technologies Co., Ltd. A method for deploying and managing the sip servlet application and the osgi service platform thereof
JP2010244141A (en) * 2009-04-01 2010-10-28 Hitachi Software Eng Co Ltd Home network system, gateway device and firmware update method
WO2012036174A1 (en) * 2010-09-16 2012-03-22 Ricoh Company, Ltd. Install method, apparatus
JP2012064022A (en) * 2010-09-16 2012-03-29 Ricoh Co Ltd Installation program, installation method, image forming apparatus, and recording medium
AU2011303103B2 (en) * 2010-09-16 2014-06-05 Ricoh Company, Ltd. Install method, apparatus
US9274776B2 (en) 2010-09-16 2016-03-01 Ricoh Company, Ltd. Product, method, and apparatus for installing a second program based on a call from a first program
JP2013037511A (en) * 2011-08-08 2013-02-21 Ricoh Co Ltd Device, information processing method, information processing program, and recording medium

Also Published As

Publication number Publication date
JP4844205B2 (en) 2011-12-28

Similar Documents

Publication Publication Date Title
US8595720B2 (en) Program management system, program management method, client, and computer program product
US8996608B2 (en) Service providing method, service provider apparatus, information processing method and apparatus and computer-readable storage medium
JP5447030B2 (en) Electronic device, information processing method, and information processing program
US8094330B2 (en) Image forming apparatus that can launch external applications selectively after shipment of the apparatus
US8504612B2 (en) Image forming system, image forming apparatus, and image forming method for the development, distribution, and maintenance of image forming apparatus operation screens
EP2287719A2 (en) Information processing apparatus, workflow system, workflow management method, and storage medium of program for workflow management method
JP2011076171A (en) Terminal device connected to internet
JP4844205B2 (en) Software component installation method, installer, and multifunction machine
JP2004303218A (en) Information providing device and information display device
JP4090806B2 (en) Image information processing apparatus and application installation method
JP2008165654A (en) Information processor, image forming device, driver update method, storage medium, and program
JP4198551B2 (en) Image forming apparatus and program execution method
JP5870490B2 (en) Information processing system, image forming apparatus, information processing method, and program
JP2002251261A (en) Picture outputting device and information processor and data processing method and storage medium
JP2004185593A (en) Image forming apparatus and application execution method
JP2008147874A (en) Electronic equipment, report preparing method and report preparing program
JP5333035B2 (en) REMOTE MANAGEMENT SYSTEM, MANAGEMENT DEVICE, DEVICE, PROGRAM UPDATE METHOD, PROGRAM, AND RECORDING MEDIUM
JP4500333B2 (en) Image information processing apparatus, installation method, program, and recording medium
JP2009137165A (en) Image formation device, information processing method and program
JP2009194862A (en) Information acquisition method, image forming apparatus, and image forming system
JP5036273B2 (en) Image forming apparatus, display data generation method and program
JP4340704B2 (en) Image information processing apparatus and application installation method
JP5825302B2 (en) REMOTE MANAGEMENT SYSTEM, MANAGEMENT DEVICE, DEVICE, PROGRAM UPDATE METHOD, PROGRAM, AND RECORDING MEDIUM
JP2009064108A (en) Conversion device, conversion method, and conversion system
JP4136738B2 (en) Image forming apparatus having Web service function

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090210

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110824

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110913

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110926

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141021

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4844205

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees