JP4844205B2 - ソフトウェアコンポーネントのインストール方法、インストーラ、及び複合機 - Google Patents
ソフトウェアコンポーネントのインストール方法、インストーラ、及び複合機 Download PDFInfo
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Description
しかしながら、このように一台の複合機に複数のミドルウェアを搭載することとした場合、次のような問題点がある。
ところが、これら全ての手法によるパラメータの設定を可能とするには、各手法を可能とするソフトウェアを、それぞれ対応するミドルウェアにインストールしなければならない。第一の手法では、複合機固有のフレームワーク(以下、「固有フレームワーク」という)に対し、第二の手法では、Tomcat(登録商標)に対し、第三の手法では、Tomcat上で動作するAxisに対し、それぞれソフトウェアをインストールしなければならないのである。また、ソフトウェアのインストールについては、各ミドルウェアで独自の規則があるので、これにも注意を払わなければならない。
尚、特許文献1の技術は、複数のミドルウェアに対するソフトウェアのインストールを考慮しておらず、上記問題点を解決できるものではない。
その場合、本発明の第1のインストーラは、コンピュータに、ソフトウェアコンポーネントと、そのソフトウェアコンポーネントのインストール先のミドルウェアにおける配置すべきディレクトリとを対応付けた定義情報を読み込む機能と、複数のソフトウェアコンポーネントを取得する機能と、複数のミドルウェアの各々におけるディレクトリのうち、複数のソフトウェアコンポーネントの各々を配置すべきディレクトリを、定義情報に基づいて決定する機能と、複数のソフトウェアコンポーネントの各々を、決定されたディレクトリに配置する機能とを実現させるためのものである。
図1は、本実施の形態が適用されるコンピュータシステムの構成を示している。
図示するように、このコンピュータシステムは、複合機10と、端末装置20とが、ネットワーク90で接続されることにより構成されている。
更に、複合機10は、種々のインターフェイスを用いて各種設定を行うことが可能になっている。そのようなインターフェイスとしては、操作パネルによるもの、Webブラウザからの指示によるもの、Webサービスによるもの等が考えられる。
更に、ネットワーク90は、LAN(Local Area Network)であってもよいし、インターネット等のWAN(Wide Area Network)であってもよい。
図示するように、複合機10は、インストーラ11を有する。また、複合機10には、複数のミドルウェア(フレームワーク)が搭載されている。ここでは、ミドルウェアとして、複合機10に固有のフレームワークである固有フレームワーク12aと、Tomcat(登録商標)12bと、HTTPd12cと、OSGi(登録商標)12dとを例示している。
かかる構成の複合機10において、インストーラ11は、メタバンドル30b,30cを受け取り、その中に含まれるソフトウェアコンポーネントを、適切なミドルウェアにインストールする。
この第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要素41dは、source要素42dと、destination要素43dと、post−procs要素45dとを含んでいる。但し、これらの要素は、それぞれ、上述したsource要素42b、destination要素43b、post−procs要素45bと同様であるので、説明を省略する。
図4は、このときのインストーラ11の動作を示したフローチャートである。
まず、インストーラ11は、メタバンドル30からマニフェスト40を抽出する(ステップ101)。そして、マニフェスト40における記述からsub−bundle要素41を検索し(ステップ102)、sub−bundle要素41があったかどうかを判定する(ステップ103)。
即ち、まず、source要素42で指定されたサブバンドル50をメタバンドル30から抽出する(ステップ105)。例えば、図3のマニフェスト40のsource要素42bを参照した場合であれば、ディレクトリ「webapp-1」配下のWARファイル「foo.war」を抽出する。
・Tomcat12bが起動中であれば、次のシェルを実行し、Tomcat12bを停止する。
$TOMCAT_HOME/bin/shutdown.sh
・既に展開済みのディレクトリがあれば、次のシェルを実行し、それを削除する。
webapp-1/cleanup.sh
これは、実際は、次のようなコマンドに展開される。
pushd
cd $TOMCAT_HOME/webapps/
rm -fR foo
popd
・次のコマンドにより、WARファイル「foo.war」をディレクトリ「$TOMCAT_HOME/webapps」にコピーする。
cp foo.war $TOMCAT_HOME/webapps
・次のシェルを実行し、Tomcat12bを起動する。
$TOMCAT_HOME/bin/startup.sh
これにより、Tomcat12bが、WARファイル内のディレクトリやファイルを、ディレクトリ「$TOMCAT_HOME/webapps/foo」に展開する。
・次のコマンドにより、アプリケーションのバンドルをコピーする。
cp bar.jar $OSGI_HOME/bundle
・次のコマンドにより、バンドルをOSGiフレームワークにインストールし、起動する。
echo “start bundle/bar.jar”/dev/pts/1
そして、ステップ103で、sub−bundle要素41がないと判定されれば、処理は終了する。
その場合、ソフトウェアコンポーネントをインストールする方法としては、2つ考えられる。
この場合、マニフェスト40の記述は、次のようになる。
まず、source要素42でサブバンドル50を指定するのではなく、source−dir要素等の別の要素を用意し、ここにソフトウェアコンポーネントが存在するディレクトリを指定する。
また、pre−procs要素44では、例えば、以下のような処理を指定する。
・Tomcat12bが起動中の場合、次のシェルを実行し、Tomcat12bを停止する。
$TOMCAT_HOME/bin/shutdown.sh
・アプリケーション定義ファイル($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
この場合、マニフェスト40の記述は、次のようになる。
まず、source要素42でサブバンドル50を指定するのではなく、source−dir要素等の別の要素を用意し、ここにソフトウェアコンポーネントが存在するディレクトリを指定する。
また、ソフトウェアコンポーネントからサブバンドル50を作成する必要があるが、その処理を、pre−procs要素44で指定してもよい。
この第2の実施の形態でも、インストーラ11に入力されるメタバンドル30に、マニフェスト40とサブバンドル50が含まれるものとする。
図5は、本実施の形態で参照するマニフェスト40の一例を示したものである。
このマニフェスト40において、files要素は、file要素46b,46dから構成されている。このうち、file要素46bは、Tomcat12bへのインストールに関する定義を記述したものであり、file要素46dは、OSGi12dへのインストールに関する定義を記述したものである。
一方、file要素46dは、source要素47dと、type要素48dとを含んでいる。但し、これらの要素は、それぞれ、上述したsource要素47b、type要素48bと同様であるので、説明を省略する。
図6は、このときのインストーラ11の動作を示したフローチャートである。
まず、インストーラ11は、メタバンドル30からマニフェスト40を抽出する(ステップ111)。そして、マニフェスト40における記述からfile要素46を検索し(ステップ112)、file要素46があったかどうかを判定する(ステップ113)。
即ち、まず、source要素47で指定されたサブバンドル50をメタバンドル30から抽出する(ステップ115)。例えば、図5のマニフェスト40のsource要素47bを参照した場合であれば、ディレクトリ「webapp-1」配下のWARファイル「foo.war」を抽出する。
このうち、第1の実施の形態では、サブバンドル50やソフトウェアコンポーネントの配置先/配置方法を直接マニフェスト40に定義していた。また、第2の実施の形態では、サブバンドル50やソフトウェアコンポーネントの属性を定義しておき、インストーラ11側で配置先/配置方法を決定していた。しかしながら、配置先/配置方法を決定するために用いる情報は、これに限らない。例えば、サブバンドル50やソフトウェアコンポーネントのファイル名の一部(サフィックス等)に基づいて決定するようにしてもよい。
そのような構成としては、第一に、複合機10の構成情報を取得し、その構成情報に適合しないソフトウェアコンポーネントをインストール対象から除外することが考えられる。第二に、インストール先のミドルウェアのバージョンに応じて、インストールするソフトウェアコンポーネントを選択することも考えられる。第三に、インストールするソフトウェアコンポーネントに必要なミドルウェアが複合機10に搭載されているか検査し、その検査結果に基づいて、インストールするソフトウェアコンポーネントを選択することも考えられる。
また、メタバンドル30の中にインストール可能なソフトウェアコンポーネントが存在しない場合は、エラーを表示するようにしてもよい。
また、複数のソフトウェアコンポーネントを受け取り、複数のミドルウェアの中から適切なインストール先を決定してインストールするようにした。これにより、複数のミドルウェアに分散する機能を一度の作業で容易に組み込むことができるようになった。
Claims (14)
- ソフトウェアコンポーネントと、当該ソフトウェアコンポーネントのインストール先のミドルウェアとの対応関係を得るための定義情報を読み込むステップと、
複数のソフトウェアコンポーネントを取得するステップと、
複数のミドルウェアのうち、前記複数のソフトウェアコンポーネントの各々のインストール先のミドルウェアを、前記定義情報から得られる対応関係に基づいて決定するステップと、
前記複数のソフトウェアコンポーネントの各々を前記インストール先のミドルウェアにインストールするステップと
を含むことを特徴とするソフトウェアコンポーネントのインストール方法。 - 前記読み込むステップでは、ソフトウェアコンポーネントと、当該ソフトウェアコンポーネントを配置すべきディレクトリとを対応付けた前記定義情報を読み込み、
前記インストールするステップでは、前記複数のソフトウェアコンポーネントの各々を、前記定義情報に基づいて決定されるディレクトリに配置することを特徴とする請求項1記載のソフトウェアコンポーネントのインストール方法。 - 前記読み込むステップでは、ソフトウェアコンポーネントと、当該ソフトウェアコンポーネントをインストールする際に実行すべき処理とを対応付けた前記定義情報を読み込み、
前記インストールするステップでは、前記複数のソフトウェアコンポーネントの各々をインストールする際に、前記定義情報に基づいて決定される処理を実行することを特徴とする請求項1記載のソフトウェアコンポーネントのインストール方法。 - 前記読み込むステップでは、ソフトウェアコンポーネントと、当該ソフトウェアコンポーネントの属性とを対応付けた前記定義情報を読み込み、
前記インストールするステップでは、前記複数のソフトウェアコンポーネントの各々を、前記定義情報に基づいて決定される属性に応じたディレクトリに配置することを特徴とする請求項1記載のソフトウェアコンポーネントのインストール方法。 - 前記読み込むステップでは、ソフトウェアコンポーネントと、当該ソフトウェアコンポーネントの属性とを対応付けた前記定義情報を読み込み、
前記インストールするステップでは、前記複数のソフトウェアコンポーネントの各々をインストールする際に、前記定義情報に基づいて決定される属性に応じた処理を実行することを特徴とする請求項1記載のソフトウェアコンポーネントのインストール方法。 - コンピュータに、
ソフトウェアコンポーネントと、当該ソフトウェアコンポーネントのインストール先のミドルウェアにおける配置すべきディレクトリとを対応付けた定義情報を読み込む機能と、
複数のソフトウェアコンポーネントを取得する機能と、
複数のミドルウェアの各々におけるディレクトリのうち、前記複数のソフトウェアコンポーネントの各々を配置すべきディレクトリを、前記定義情報に基づいて決定する機能と、
前記複数のソフトウェアコンポーネントの各々を、決定された前記ディレクトリに配置する機能と
を実現させるためのインストーラ。 - 前記取得する機能では、前記複数のソフトウェアコンポーネントを、当該複数のソフトウェアコンポーネントをインストール先のミドルウェアごとに分けてアーカイブした複数のアーカイブファイルとして取得することを特徴とする請求項6記載のインストーラ。
- 前記配置する機能では、前記複数のソフトウェアコンポーネントを、当該複数のソフトウェアコンポーネントをインストール先のミドルウェアごとに分けてアーカイブした複数のアーカイブファイルとして配置することを特徴とする請求項6記載のインストーラ。
- コンピュータに、
ソフトウェアコンポーネントと、当該ソフトウェアコンポーネントの属性とを対応付けた定義情報を読み込む機能と、
複数のソフトウェアコンポーネントを取得する機能と、
複数のミドルウェアの各々におけるディレクトリのうち、前記複数のソフトウェアコンポーネントの各々を配置すべきディレクトリを、前記定義情報における当該複数のソフトウェアコンポーネントの各々の属性に基づいて決定する機能と、
前記複数のソフトウェアコンポーネントの各々を、決定された前記ディレクトリに配置する機能と
を実現させるためのインストーラ。 - 前記取得する機能では、前記複数のソフトウェアコンポーネントを、当該複数のソフトウェアコンポーネントをインストール先のミドルウェアごとに分けてアーカイブした複数のアーカイブファイルとして取得することを特徴とする請求項9記載のインストーラ。
- 前記配置する機能では、前記複数のソフトウェアコンポーネントを、当該複数のソフトウェアコンポーネントをインストール先のミドルウェアごとに分けてアーカイブした複数のアーカイブファイルとして配置することを特徴とする請求項9記載のインストーラ。
- 特定機能をソフトウェアコンポーネントにて実現可能な複合機であって、
複数のミドルウェアを動作させるミドルウェア手段と、
複数のソフトウェアコンポーネントを取得し、当該複数のソフトウェアコンポーネントの各々のインストール先のミドルウェアを前記複数のミドルウェアの中から決定し、各ソフトウェアコンポーネントを当該決定されたミドルウェアにインストールするインストール手段と
を備えたことを特徴とする複合機。 - 前記インストール手段は、前記複数のソフトウェアコンポーネントを、当該複数のソフトウェアコンポーネントをインストール先のミドルウェアごとに分けてアーカイブした複数のアーカイブファイルとして取得することを特徴とする請求項12記載の複合機。
- 前記インストール手段は、前記複数のソフトウェアコンポーネントを、当該複数のソフトウェアコンポーネントをインストール先のミドルウェアごとに分けてアーカイブした複数のアーカイブファイルを用いてインストールすることを特徴とする請求項12記載の複合機。
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)
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)
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 | インストール方法、情報処理装置、及びデバイスドライバ |
-
2006
- 2006-04-05 JP JP2006104190A patent/JP4844205B2/ja not_active Expired - Fee Related
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 |