JP4844205B2 - ソフトウェアコンポーネントのインストール方法、インストーラ、及び複合機 - Google Patents

ソフトウェアコンポーネントのインストール方法、インストーラ、及び複合機 Download PDF

Info

Publication number
JP4844205B2
JP4844205B2 JP2006104190A JP2006104190A JP4844205B2 JP 4844205 B2 JP4844205 B2 JP 4844205B2 JP 2006104190 A JP2006104190 A JP 2006104190A JP 2006104190 A JP2006104190 A JP 2006104190A JP 4844205 B2 JP4844205 B2 JP 4844205B2
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.)
Expired - Fee Related
Application number
JP2006104190A
Other languages
English (en)
Other versions
JP2007279959A (ja
Inventor
伸夫 岩田
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
Fujifilm Business Innovation Corp
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, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2006104190A priority Critical patent/JP4844205B2/ja
Publication of JP2007279959A publication Critical patent/JP2007279959A/ja
Application granted granted Critical
Publication of JP4844205B2 publication Critical patent/JP4844205B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、プリンタ機能、スキャナ機能、ファクシミリ機能等を一筐体内で実現する複合機等に関し、より詳しくは、これらの機能の拡張等のためのソフトウェアを追加可能な複合機等に関する。
近年、プリンタ機能、スキャナ機能、ファクシミリ機能等を一筐体内で実現する所謂複合機が普及している。その中には、これらの機能の拡張等のため、サードベンダ製のソフトウェアを追加できるようにしたものがある。また、昨今、多くのオープンソースソフトウェアが提供されるようになり、これらのソフトウェアを活用することで、複合機の機能を拡張するためのアプリケーションの開発も容易になっている。
尚、公報記載の従来技術としては、ソフトウェアモジュールが、自身が有するインストール関数を用いてインストールされ、従属性関数をコールすることにより、必要なサービスを取得して、アプリケーション環境内にインストールするものがある(例えば、特許文献1参照)。
特開2000−029713号公報
しかしながら、上記のようなソフトウェアの追加が可能な複合機では、複合機固有のミドルウェア(フレームワーク)を搭載しており、そのミドルウェアに適合するソフトウェアしか組み込むことができない。つまり、かかる複合機においては、オープンソースソフトウェアを用いてアプリケーションを開発したとしても、それを十分に活用することができないという状況が生じていた。
そこで、こうした状況に鑑み、本発明者は、複合機に対し、複合機固有のミドルウェアに加え、オープンソースソフトウェア用のミドルウェアを搭載することの検討を開始した。
しかしながら、このように一台の複合機に複数のミドルウェアを搭載することとした場合、次のような問題点がある。
例えば、何らかのパラメータを設定する機能を複合機に追加することを考える。この場合、同じパラメータの設定であっても、幾つかの手法で行うことができる。第一に、複合機の操作パネルにて行う手法、第二に、ネットワーク接続された端末のWebブラウザから行う手法、第三に、ネットワーク管理ソフトウェア等からSOAP(Simple Object Access Protocol)を用いて行う手法等である。
ところが、これら全ての手法によるパラメータの設定を可能とするには、各手法を可能とするソフトウェアを、それぞれ対応するミドルウェアにインストールしなければならない。第一の手法では、複合機固有のフレームワーク(以下、「固有フレームワーク」という)に対し、第二の手法では、Tomcat(登録商標)に対し、第三の手法では、Tomcat上で動作するAxisに対し、それぞれソフトウェアをインストールしなければならないのである。また、ソフトウェアのインストールについては、各ミドルウェアで独自の規則があるので、これにも注意を払わなければならない。
即ち、複数のミドルウェアの各々に対してソフトウェアを一度の作業で追加するのは、非常に煩雑で、間違いも多くなってしまいかねないという問題点がある。
尚、特許文献1の技術は、複数のミドルウェアに対するソフトウェアのインストールを考慮しておらず、上記問題点を解決できるものではない。
本発明は、以上のような技術的課題を解決するためになされたものであって、その目的は、複数のミドルウェアに対し一度の作業でソフトウェアを追加できるようにすることにある。
かかる目的のもと、本発明では、複数のソフトウェアコンポーネントを受け取り、複数のミドルウェアの中から適切なインストール先を決定してインストールするようにした。即ち、本発明のソフトウェアコンポーネントのインストール方法は、ソフトウェアコンポーネントと、そのソフトウェアコンポーネントのインストール先のミドルウェアとの対応関係を得るための定義情報を読み込むステップと、複数のソフトウェアコンポーネントを取得するステップと、複数のミドルウェアのうち、複数のソフトウェアコンポーネントの各々のインストール先のミドルウェアを、定義情報から得られる対応関係に基づいて決定するステップと、複数のソフトウェアコンポーネントの各々をインストール先のミドルウェアにインストールするステップとを含んでいる。
また、本発明は、このようなインストールを行うインストーラ、つまり、インストール用プログラムとして捉えることもできる。
その場合、本発明の第1のインストーラは、コンピュータに、ソフトウェアコンポーネントと、そのソフトウェアコンポーネントのインストール先のミドルウェアにおける配置すべきディレクトリとを対応付けた定義情報を読み込む機能と、複数のソフトウェアコンポーネントを取得する機能と、複数のミドルウェアの各々におけるディレクトリのうち、複数のソフトウェアコンポーネントの各々を配置すべきディレクトリを、定義情報に基づいて決定する機能と、複数のソフトウェアコンポーネントの各々を、決定されたディレクトリに配置する機能とを実現させるためのものである。
また、本発明の第2のインストーラは、コンピュータに、ソフトウェアコンポーネントと、そのソフトウェアコンポーネントの属性とを対応付けた定義情報を読み込む機能と、複数のソフトウェアコンポーネントを取得する機能と、複数のミドルウェアの各々におけるディレクトリのうち、複数のソフトウェアコンポーネントの各々を配置すべきディレクトリを、定義情報におけるその複数のソフトウェアコンポーネントの各々の属性に基づいて決定する機能と、複数のソフトウェアコンポーネントの各々を、決定されたディレクトリに配置する機能とを実現させるためのものである。
一方、本発明は、特定機能をソフトウェアコンポーネントにて実現可能であり、そのソフトウェアコンポーネントを追加可能な複合機として捉えることもできる。その場合、本発明の複合機は、複数のミドルウェアを動作させるミドルウェア手段と、複数のソフトウェアコンポーネントを取得し、その複数のソフトウェアコンポーネントの各々のインストール先のミドルウェアを複数のミドルウェアの中から決定し、各ソフトウェアコンポーネントをその決定されたミドルウェアにインストールするインストール手段とを備えている。
ここで、インストール手段は、複数のソフトウェアコンポーネントを、その複数のソフトウェアコンポーネントをインストール先のミドルウェアごとに分けてアーカイブした複数のアーカイブファイルとして取得するようにしてもよい。また、複数のソフトウェアコンポーネントを、その複数のソフトウェアコンポーネントをインストール先のミドルウェアごとに分けてアーカイブした複数のアーカイブファイルを用いてインストールするようにしてもよい。
本発明によれば、複数のミドルウェアに対し一度の作業でソフトウェアを追加することが可能となる。
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、「実施の形態」という)について詳細に説明する。
図1は、本実施の形態が適用されるコンピュータシステムの構成を示している。
図示するように、このコンピュータシステムは、複合機10と、端末装置20とが、ネットワーク90で接続されることにより構成されている。
このうち、複合機10は、プリンタ機能、スキャナ機能、ファクシミリ機能等を一筐体内で実現する装置である。即ち、プリンタ機能に着目すれば、画像形成装置として捉えることもでき、スキャナ機能に着目すれば、画像読取り装置として捉えることもできる。また、ファクシミリ機能に着目すれば、画像送信装置/画像受信装置として捉えることもでき、プリンタ機能とスキャナ機能を合わせたものは、複写機として捉えることもできる。
更に、複合機10は、種々のインターフェイスを用いて各種設定を行うことが可能になっている。そのようなインターフェイスとしては、操作パネルによるもの、Webブラウザからの指示によるもの、Webサービスによるもの等が考えられる。
また、端末装置20は、文書の印刷や文書のファクシミリ送信等を複合機10に指示する装置であり、PC(Personal Computer)が例示される。尚、端末装置20は、Webブラウザを有することもでき、その場合は、複合機10の各種設定をWebブラウザから行うことができる。
更に、ネットワーク90は、LAN(Local Area Network)であってもよいし、インターネット等のWAN(Wide Area Network)であってもよい。
ところで、本実施の形態において、複合機10には、複数のミドルウェア(フレームワーク)が搭載されている。そして、複合機10の機能を実現するソフトウェアコンポーネントが、適合するミドルウェア上で動作するようになっている。本実施の形態は、例えば、同じ機能を異なるミドルウェアで実現するための複数のソフトウェアコンポーネントを、一回の作業でインストールできるようにするものである。
図2は、このようなソフトウェアコンポーネントのインストールの一例を模式的に示したものである。
図示するように、複合機10は、インストーラ11を有する。また、複合機10には、複数のミドルウェア(フレームワーク)が搭載されている。ここでは、ミドルウェアとして、複合機10に固有のフレームワークである固有フレームワーク12aと、Tomcat(登録商標)12bと、HTTPd12cと、OSGi(登録商標)12dとを例示している。
かかる構成の複合機10において、インストーラ11は、メタバンドル30b,30cを受け取り、その中に含まれるソフトウェアコンポーネントを、適切なミドルウェアにインストールする。
例えば、メタバンドル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)ファイルが例示される。
また、メタバンドル30cには、ソフトウェアコンポーネントとして、APLと、exeファイルと、HTMLファイルと、イメージファイルとが含まれる。このうち、APLのインストール先は、上述したように、固有フレームワーク12aである。また、exeファイル、HTMLファイル及びイメージファイルのインストール先は、HTTPd12cである。このようなインストール先に関する定義が、メタバンドル30cに含まれるマニフェスト40cに記述されており、インストーラ11は、このマニフェスト40cを参照してソフトウェアコンポーネントを適切なインストール先に振り分ける。即ち、APLは、固有フレームワーク12aにインストールし、exeファイル、HTMLファイル及びイメージファイルは、サブバンドル50cにまとめてHTTPd12cにインストールする。
尚、図には示さなかったが、固有フレームワーク12aをインストール先とするソフトウェアコンポーネントと、OSGi12dをインストール先とするソフトウェアコンポーネントとを含むメタバンドルを入力し、各ソフトウェアコンポーネントを固有フレームワーク12aとOSGi12dとに振り分けてインストールすることも可能である。この場合も、OSGi12dにインストールする複数のソフトウェアコンポーネントは、サブバンドルにまとめることができるが、この場合のサブバンドルは、例えば、JAR(Java(登録商標) ARchive)ファイルである。
ところで、本実施の形態では、各ソフトウェアコンポーネントのインストール先を決定するために参照されるマニフェスト40として、2種類のものを想定する。1つは、インストール対象のソフトウェアコンポーネントに対し、そのソフトウェアコンポーネントの配置先及び配置方法を記述したものである。そして、もう1つは、インストール対象のソフトウェアコンポーネントに対し、そのソフトウェアコンポーネントの属性を記述したものである。以下、前者のマニフェスト40を参照することによるソフトウェアコンポーネントのインストールを第1の実施の形態として、また、後者のマニフェスト40を参照することによるソフトウェアコンポーネントのインストールを第2の実施の形態として、詳細に説明する。
[第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へのインストールに関する定義を記述したものである。
また、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と同様であるので、説明を省略する。
次に、インストーラ11が、図3のマニフェスト40を参照してソフトウェアコンポーネントをインストールする際の動作について説明する。
図4は、このときのインストーラ11の動作を示したフローチャートである。
まず、インストーラ11は、メタバンドル30からマニフェスト40を抽出する(ステップ101)。そして、マニフェスト40における記述からsub−bundle要素41を検索し(ステップ102)、sub−bundle要素41があったかどうかを判定する(ステップ103)。
その結果、sub−bundle要素41があったと判定されれば、その要素内の各要素を更に解析する(ステップ104)。具体的には、source要素42を解析し、処理対象となるサブバンドル50を認識する。また、destination要素43を解析し、サブバンドル50の配置先を認識する、更に、pre−procs要素44、post−procs要素45も存在すれば解析し、サブバンドル50を配置する際に実行すべき処理を認識する。
その後、インストーラ11は、この解析の結果に基づいて、インストールを行う。
即ち、まず、source要素42で指定されたサブバンドル50をメタバンドル30から抽出する(ステップ105)。例えば、図3のマニフェスト40のsource要素42bを参照した場合であれば、ディレクトリ「webapp-1」配下のWARファイル「foo.war」を抽出する。
次に、インストーラ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
また、インストーラ11は、ステップ105で抽出したサブバンドル50を、destination要素43で指定されたディレクトリに配置する(ステップ107)。例えば、図3のマニフェスト40のdestination要素43bを参照した場合であれば、以下のような処理を行う。
・次のコマンドにより、WARファイル「foo.war」をディレクトリ「$TOMCAT_HOME/webapps」にコピーする。
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」に展開する。
また、インストーラ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がないと判定されれば、処理は終了する。
尚、以上では、複数のソフトウェアコンポーネントから予め作成しておいたサブバンドル50をメタバンドル30に含めたが、図2に示したように、メタバンドル30には、複数のソフトウェアコンポーネントをそのまま含めておくこともできる。
その場合、ソフトウェアコンポーネントをインストールする方法としては、2つ考えられる。
第一に、ソフトウェアコンポーネントをそのまま適切なミドルウェアのディレクトリに配置する方法である。
この場合、マニフェスト40の記述は、次のようになる。
まず、source要素42でサブバンドル50を指定するのではなく、source−dir要素等の別の要素を用意し、ここにソフトウェアコンポーネントが存在するディレクトリを指定する。
また、pre−procs要素44では、例えば、以下のような処理を指定する。
・Tomcat12bが起動中の場合、次のシェルを実行し、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
第二に、ソフトウェアコンポーネントからサブバンドル50を作成し、そのサブバンドル50を適切なミドルウェアの適切なディレクトリに配置する方法(図2の方法)である。
この場合、マニフェスト40の記述は、次のようになる。
まず、source要素42でサブバンドル50を指定するのではなく、source−dir要素等の別の要素を用意し、ここにソフトウェアコンポーネントが存在するディレクトリを指定する。
また、ソフトウェアコンポーネントからサブバンドル50を作成する必要があるが、その処理を、pre−procs要素44で指定してもよい。
[第2の実施の形態]
この第2の実施の形態でも、インストーラ11に入力されるメタバンドル30に、マニフェスト40とサブバンドル50が含まれるものとする。
図5は、本実施の形態で参照するマニフェスト40の一例を示したものである。
このマニフェスト40において、files要素は、file要素46b,46dから構成されている。このうち、file要素46bは、Tomcat12bへのインストールに関する定義を記述したものであり、file要素46dは、OSGi12dへのインストールに関する定義を記述したものである。
また、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と同様であるので、説明を省略する。
次に、インストーラ11が、図5のマニフェスト40を参照してソフトウェアコンポーネントをインストールする際の動作について説明する。
図6は、このときのインストーラ11の動作を示したフローチャートである。
まず、インストーラ11は、メタバンドル30からマニフェスト40を抽出する(ステップ111)。そして、マニフェスト40における記述からfile要素46を検索し(ステップ112)、file要素46があったかどうかを判定する(ステップ113)。
その結果、file要素46があったと判定されれば、その要素内の各要素を更に解析する(ステップ114)。具体的には、source要素47を解析し、処理対象となるサブバンドル50を認識する。また、type要素48を解析し、サブバンドル50の属性を認識する。
その後、インストーラ11は、この解析の結果に基づいて、インストールを行う。
即ち、まず、source要素47で指定されたサブバンドル50をメタバンドル30から抽出する(ステップ115)。例えば、図5のマニフェスト40のsource要素47bを参照した場合であれば、ディレクトリ「webapp-1」配下のWARファイル「foo.war」を抽出する。
次に、インストーラ11は、ステップ114で認識した属性に対して予め定められた前処理があれば、その処理を実行する(ステップ116)。また、ステップ115で抽出したサブバンドル50を、ステップ114で認識した属性に対して予め定められたディレクトリに配置する(ステップ117)。そして、ステップ114で認識した属性に対して予め定められた後処理があれば、その処理を実行する(ステップ118)。
また、インストーラ11は、このような処理を、ステップ113で、file要素46がないと判定されるまで繰り返す。例えば、図5のマニフェスト40を参照した場合であれば、file要素46dについても、同様の処理を行う。そして、ステップ113で、file要素46がないと判定されれば、処理は終了する。
尚、この第2の実施の形態においても、第1の実施の形態で述べたのと同様の変形例が考えられる。即ち、複数のソフトウェアコンポーネントをそのままメタバンドル30に含めておき、それをそのまま、或いは、サブバンドル50の形で適切なミドルウェアの適切なディレクトリに配置することができる。
以上、具体的なマニフェスト40を用いたインストール方法である第1及び第2の実施の形態について説明してきた。
このうち、第1の実施の形態では、サブバンドル50やソフトウェアコンポーネントの配置先/配置方法を直接マニフェスト40に定義していた。また、第2の実施の形態では、サブバンドル50やソフトウェアコンポーネントの属性を定義しておき、インストーラ11側で配置先/配置方法を決定していた。しかしながら、配置先/配置方法を決定するために用いる情報は、これに限らない。例えば、サブバンドル50やソフトウェアコンポーネントのファイル名の一部(サフィックス等)に基づいて決定するようにしてもよい。
また、第1の実施の形態における図3のマニフェスト40、及び、第2の実施の形態における図5のマニフェスト40は、あくまで一例に過ぎない。即ち、最終的にサブバンドル50またはソフトウェアコンポーネントと、そのインストーラ先であるミドルウェアとの対応関係が得られるものであれば、どのような定義情報を用いるようにしてもよい。
更に、上記では、メタバンドル30に含まれるソフトウェアコンポーネントは、全てインストール対象にしてきた。しかしながら、種々の条件とソフトウェアコンポーネントの適合性を検査し、適合しないものはインストールしないような構成としてもよい。
そのような構成としては、第一に、複合機10の構成情報を取得し、その構成情報に適合しないソフトウェアコンポーネントをインストール対象から除外することが考えられる。第二に、インストール先のミドルウェアのバージョンに応じて、インストールするソフトウェアコンポーネントを選択することも考えられる。第三に、インストールするソフトウェアコンポーネントに必要なミドルウェアが複合機10に搭載されているか検査し、その検査結果に基づいて、インストールするソフトウェアコンポーネントを選択することも考えられる。
尚、第二の構成や第三の構成のように、複合機10に搭載されたミドルウェアの関係でインストールできないソフトウェアコンポーネントがある場合は、必要なミドルウェアを複合機10に搭載する動作を行うようにしてもよい。
また、メタバンドル30の中にインストール可能なソフトウェアコンポーネントが存在しない場合は、エラーを表示するようにしてもよい。
このように、本実施の形態では、複合機に対し、固有のミドルウェア以外に、オープンソースソフトウェア用のミドルウェアを搭載できるようにした。これにより、複合機に機能を追加する際にオープンソースソフトウェアを十分に活用できるようになった。
また、複数のソフトウェアコンポーネントを受け取り、複数のミドルウェアの中から適切なインストール先を決定してインストールするようにした。これにより、複数のミドルウェアに分散する機能を一度の作業で容易に組み込むことができるようになった。
尚、本実施の形態で述べた複合機は、ディスプレイやキーボードにより種々のコマンド等を駆使できる操作環境を有していない。従って、これまで、複数のミドルウェアを搭載しようとしても、それぞれのミドルウェアごとにインストール作業を行うことは困難であった。これに対し、本実施の形態は、操作環境に制限がある場合でも、複数のミドルウェアに対する機能追加を簡単に行えるようにし、種々のオープンソースソフトウェアを利用して高度な機能を提供できるようにするものである。
本発明の実施の形態が適用されるシステムの構成を示した図である。 本発明の実施の形態の概要を説明するための図である。 本発明の第1の実施の形態で参照するマニフェストの例を示した図である。 本発明の第1の実施の形態におけるインストーラの動作を示したフローチャートである。 本発明の第2の実施の形態で参照するマニフェストの例を示した図である。 本発明の第2の実施の形態におけるインストーラの動作を示したフローチャートである。
符号の説明
10…複合機、11…インストーラ、20…端末装置、30…メタバンドル、40…マニフェスト、50…サブバンドル

Claims (14)

  1. ソフトウェアコンポーネントと、当該ソフトウェアコンポーネントのインストール先のミドルウェアとの対応関係を得るための定義情報を読み込むステップと、
    複数のソフトウェアコンポーネントを取得するステップと、
    複数のミドルウェアのうち、前記複数のソフトウェアコンポーネントの各々のインストール先のミドルウェアを、前記定義情報から得られる対応関係に基づいて決定するステップと、
    前記複数のソフトウェアコンポーネントの各々を前記インストール先のミドルウェアにインストールするステップと
    を含むことを特徴とするソフトウェアコンポーネントのインストール方法。
  2. 前記読み込むステップでは、ソフトウェアコンポーネントと、当該ソフトウェアコンポーネントを配置すべきディレクトリとを対応付けた前記定義情報を読み込み、
    前記インストールするステップでは、前記複数のソフトウェアコンポーネントの各々を、前記定義情報に基づいて決定されるディレクトリに配置することを特徴とする請求項1記載のソフトウェアコンポーネントのインストール方法。
  3. 前記読み込むステップでは、ソフトウェアコンポーネントと、当該ソフトウェアコンポーネントをインストールする際に実行すべき処理とを対応付けた前記定義情報を読み込み、
    前記インストールするステップでは、前記複数のソフトウェアコンポーネントの各々をインストールする際に、前記定義情報に基づいて決定される処理を実行することを特徴とする請求項1記載のソフトウェアコンポーネントのインストール方法。
  4. 前記読み込むステップでは、ソフトウェアコンポーネントと、当該ソフトウェアコンポーネントの属性とを対応付けた前記定義情報を読み込み、
    前記インストールするステップでは、前記複数のソフトウェアコンポーネントの各々を、前記定義情報に基づいて決定される属性に応じたディレクトリに配置することを特徴とする請求項1記載のソフトウェアコンポーネントのインストール方法。
  5. 前記読み込むステップでは、ソフトウェアコンポーネントと、当該ソフトウェアコンポーネントの属性とを対応付けた前記定義情報を読み込み、
    前記インストールするステップでは、前記複数のソフトウェアコンポーネントの各々をインストールする際に、前記定義情報に基づいて決定される属性に応じた処理を実行することを特徴とする請求項1記載のソフトウェアコンポーネントのインストール方法。
  6. コンピュータに、
    ソフトウェアコンポーネントと、当該ソフトウェアコンポーネントのインストール先のミドルウェアにおける配置すべきディレクトリとを対応付けた定義情報を読み込む機能と、
    複数のソフトウェアコンポーネントを取得する機能と、
    複数のミドルウェアの各々におけるディレクトリのうち、前記複数のソフトウェアコンポーネントの各々を配置すべきディレクトリを、前記定義情報に基づいて決定する機能と、
    前記複数のソフトウェアコンポーネントの各々を、決定された前記ディレクトリに配置する機能と
    を実現させるためのインストーラ。
  7. 前記取得する機能では、前記複数のソフトウェアコンポーネントを、当該複数のソフトウェアコンポーネントをインストール先のミドルウェアごとに分けてアーカイブした複数のアーカイブファイルとして取得することを特徴とする請求項6記載のインストーラ。
  8. 前記配置する機能では、前記複数のソフトウェアコンポーネントを、当該複数のソフトウェアコンポーネントをインストール先のミドルウェアごとに分けてアーカイブした複数のアーカイブファイルとして配置することを特徴とする請求項6記載のインストーラ。
  9. コンピュータに、
    ソフトウェアコンポーネントと、当該ソフトウェアコンポーネントの属性とを対応付けた定義情報を読み込む機能と、
    複数のソフトウェアコンポーネントを取得する機能と、
    複数のミドルウェアの各々におけるディレクトリのうち、前記複数のソフトウェアコンポーネントの各々を配置すべきディレクトリを、前記定義情報における当該複数のソフトウェアコンポーネントの各々の属性に基づいて決定する機能と、
    前記複数のソフトウェアコンポーネントの各々を、決定された前記ディレクトリに配置する機能と
    を実現させるためのインストーラ。
  10. 前記取得する機能では、前記複数のソフトウェアコンポーネントを、当該複数のソフトウェアコンポーネントをインストール先のミドルウェアごとに分けてアーカイブした複数のアーカイブファイルとして取得することを特徴とする請求項9記載のインストーラ。
  11. 前記配置する機能では、前記複数のソフトウェアコンポーネントを、当該複数のソフトウェアコンポーネントをインストール先のミドルウェアごとに分けてアーカイブした複数のアーカイブファイルとして配置することを特徴とする請求項9記載のインストーラ。
  12. 特定機能をソフトウェアコンポーネントにて実現可能な複合機であって、
    複数のミドルウェアを動作させるミドルウェア手段と、
    複数のソフトウェアコンポーネントを取得し、当該複数のソフトウェアコンポーネントの各々のインストール先のミドルウェアを前記複数のミドルウェアの中から決定し、各ソフトウェアコンポーネントを当該決定されたミドルウェアにインストールするインストール手段と
    を備えたことを特徴とする複合機。
  13. 前記インストール手段は、前記複数のソフトウェアコンポーネントを、当該複数のソフトウェアコンポーネントをインストール先のミドルウェアごとに分けてアーカイブした複数のアーカイブファイルとして取得することを特徴とする請求項12記載の複合機。
  14. 前記インストール手段は、前記複数のソフトウェアコンポーネントを、当該複数のソフトウェアコンポーネントをインストール先のミドルウェアごとに分けてアーカイブした複数のアーカイブファイルを用いてインストールすることを特徴とする請求項12記載の複合機。
JP2006104190A 2006-04-05 2006-04-05 ソフトウェアコンポーネントのインストール方法、インストーラ、及び複合機 Expired - Fee Related JP4844205B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006104190A JP4844205B2 (ja) 2006-04-05 2006-04-05 ソフトウェアコンポーネントのインストール方法、インストーラ、及び複合機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006104190A JP4844205B2 (ja) 2006-04-05 2006-04-05 ソフトウェアコンポーネントのインストール方法、インストーラ、及び複合機

Publications (2)

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

Family

ID=38681357

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006104190A Expired - Fee Related JP4844205B2 (ja) 2006-04-05 2006-04-05 ソフトウェアコンポーネントのインストール方法、インストーラ、及び複合機

Country Status (1)

Country Link
JP (1) JP4844205B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459740B (zh) * 2007-12-14 2011-09-14 华为技术有限公司 部署SIP Servlet应用、管理SIP Servlet应用的方法及其系统
JP2010244141A (ja) * 2009-04-01 2010-10-28 Hitachi Software Eng Co Ltd ホームネットワークシステム、ゲートウェイ装置、及びファームウェア更新方法
JP5699500B2 (ja) * 2010-09-16 2015-04-08 株式会社リコー インストールプログラム、インストール方法、画像形成装置、及び記録媒体
JP5786535B2 (ja) * 2011-08-08 2015-09-30 株式会社リコー 機器、情報処理方法、情報処理プログラム、及び記録媒体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003390A1 (en) * 2002-06-27 2004-01-01 Microsoft Corporation System and method for installing a software application in a non-impactfull manner
JP2004302929A (ja) * 2003-03-31 2004-10-28 Fujitsu Ltd 自動インストーラプログラム
JP2005311907A (ja) * 2004-04-23 2005-11-04 Matsushita Electric Ind Co Ltd 複合機及び機能拡張方法
JP2005338940A (ja) * 2004-05-24 2005-12-08 Canon Inc インストール方法、情報処理装置、及びデバイスドライバ

Also Published As

Publication number Publication date
JP2007279959A (ja) 2007-10-25

Similar Documents

Publication Publication Date Title
US8094330B2 (en) Image forming apparatus that can launch external applications selectively after shipment of the apparatus
JP5447030B2 (ja) 電子機器、情報処理方法、及び情報処理プログラム
EP1385089A2 (en) Image forming apparatus, information processing apparatus, program execution method and program producing method
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
JP4844205B2 (ja) ソフトウェアコンポーネントのインストール方法、インストーラ、及び複合機
JP2004185595A (ja) 情報処理装置およびそのプログラム
JP2004303218A (ja) 情報提供装置及び情報表示装置
JP6737170B2 (ja) サーバー装置、画像処理ユニット及びプログラム
JP2008165654A (ja) 情報処理装置、画像形成装置、ドライバ更新方法、記憶媒体、プログラム
JP2004054791A (ja) 画像形成装置、アプリケーションインストール方法およびカスタマイズプログラム生成方法
JP4198551B2 (ja) 画像形成装置およびプログラム実行方法
JP5870490B2 (ja) 情報処理システム、画像形成装置、情報処理方法、及びプログラム
JP2002251261A (ja) 画像出力装置および情報処理装置およびデータ処理方法および記憶媒体
JP4291856B2 (ja) Webサービス機能を有する画像形成装置
JP2004185593A (ja) 画像形成装置およびアプリケーション実行方法
JP2009205262A (ja) アプリケーションプログラムインストール装置、アプリケーションプログラムインストール方法、プログラム、および記録媒体
JP2008147874A (ja) 電子機器、レポート作成方法及びレポート作成プログラム
JP5333035B2 (ja) リモート管理システム、管理装置、機器、プログラム更新方法、プログラム、及び記録媒体
JP4141209B2 (ja) Webサービス機能を有する画像形成装置
JP4500333B2 (ja) 画像情報処理装置、インストール方法、プログラムおよび記録媒体
JP2009194862A (ja) 情報取得方法、画像形成装置、および画像形成システム
JP4133085B2 (ja) 画像形成装置およびカスタマイズプログラム試験方法
JP5036273B2 (ja) 画像形成装置、表示データ生成方法及びプログラム
JP4340704B2 (ja) 画像情報処理装置およびアプリケーションインストール方法

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