説明

モジュール更新プログラム

【課題】モジュール更新時に保守要員による入替え作業を不要とするクライアントサーバシステムを提供する。
【解決手段】業務システムを提供するサーバとネットワークを介して接続し、クライアント端末上での業務処理を定義したモジュールの登録及び更新をするモジュール更新プログラムであって、クライアント端末の管理者権限のみが更新可能な領域に格納され、クライアント端末に適用されているモジュールの識別子及び格納先を有するモジュール一覧と、業務システムの利用開始時に適用すべきモジュールのバージョン設定ファイルを取得し、そのバージョン設定ファイルで指定されるバージョンとクライアント端末に適用されているモジュールのバージョンとを比較し、更新が必要と判定したときは適用すべきモジュールを取得する自動更新処理部とクライアント端末の管理者権限を有して動作し、取得したモジュールを登録する更新代行処理部とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
クライアントサーバシステムにおけるモジュール更新時のモジュール更新方法に関する。
【背景技術】
【0002】
システム構築業務では、顧客に提供したシステムの障害対応や機能追加等で修正又は作成したモジュールに対して、システム構築業者の開発環境において動作テストを行なった後、顧客の運用環境においても再度動作テストが行なわれる。
【0003】
顧客の運用環境での検証作業では、顧客(システムの利用者)と日程調整を行い、モジュール入れ替え作業が行なわれる。通常、この作業は、業務時間終了後の深夜か顧客がシステムを利用しない休日等に行なわれることが多い。
【0004】
しかし、入れ替えられた新しいモジュールの機能を顧客が検証するのは実質的に翌稼働日ということになり、顧客が利用してみて初めて障害が正常に対応されている、又は要求した機能が正常に追加されている等の確認が行なわれる。この確認を受けることにより、上記プログラムモジュールの障害対応や機能追加対応で更新されたモジュールの検証作業が完了となる。
【0005】
顧客のシステム環境での検証が完了した後は、顧客の各部署に散在している全クライアント端末に対し、更新されたモジュールの入れ替え作業が行なわれ、上記作業が完了後に更新後のシステムの運用が開始されることとなる。
【0006】
この入れ替え作業は、顧客の運用環境の規模に応じて入れ替え対象となるクライアントの台数が増加するため、顧客の運用環境の規模が大きくなるほど入替え作業に要する時間及び労力が大きくなり、作業要員の人為的ミスが生じる可能性が高くなる。そのため、顧客の運用環境の規模が大きくなるほど、更新後のシステム全体での不整合が生じる危険が高くなる。
【0007】
さらに、顧客の運用環境の規模が大きい場合、更新後のシステム全体での不整合が生じることによる顧客業務への影響範囲も大きくなり、入替え作業による障害が発生した場合、システム構築業者にとって顧客からの信用を失う度合も大きくなることにも繋がる。
【0008】
そこで、複数台の端末とサーバとで構成されるシステムにおいて、各端末にインストールされているモジュールのバージョンをシステム全体で統一する技術として、特許文献1がある。特許文献1では、ネットワーク上のサーバによってクライアントマシンのプログラムのインストール処理およびバージョンアップ処理を自動的に行うことにより、クライアントのソフトウェアのインストール作業およびバージョンアップ作業の効率化を図る技術が開示されている。
【特許文献1】特開平10−31590号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
特許文献1では、ネットワーク上のサーバに全クライアントに適用するモジュールを格納し、さらに、ネットワーク上の全クライアントの情報を一元管理している。サーバで管理しているクライアントの情報としては、各クライアントに適用するモジュールのバージョン及びモジュールの格納場所等となる。そして、特許文献1の方法では、管理者の指示に基づくサーバの処理により、システムで利用される複数のクライアントに対してモジュールの適用が行われる。
【0010】
このモジュールの適用処理は、サーバの処理により一元的に管理された情報に基づいて行なわれるため、クライアントの台数に応じてサーバの負荷が高くなるという問題があった。この問題に対応するために、従来は負荷に耐えうる性能を有したサーバを導入したり、または、一定期間内におけるサーバの処理においてモジュールの適用対象となるクライアントの台数に制限を設けることによりサーバの負荷を平滑化することがおこなわれてきた。前者の場合、システムの規模が大きくなるに従い、システムの保守作業のための設備費用も大きくなり、経済的に効率が良くなかった。また、後者の場合、保守作業を分割して行なうため、システムの規模が大きくなるに従い、システム全体の整合性を確保できるまでに多くの時間が必要となり、システムを利用する顧客業務への悪影響が生じる。
【0011】
上記問題を解決する方法として、システムの利用開始時にクライアントで使用するモジュールをダウンロードさせて動的に適用する方法がある。この方法では、クライアントで使用するモジュールを常に最新のバージョンに維持することが可能となり、サーバへの負荷を分散することも可能となる。
【0012】
しかしながら、システム利用開始時に動的に適用する方法では、クライアント上の資源のセキュリティ確保のために、適用するモジュールで実現できる機能に制限を設けていたり、または、動的に適用可能とする利用者の権限に制限を設けることが行なわれている。そのため、実現できる機能に制限を設けないモジュールを適用する場合には、特定の権限を付与された利用者により、システムの利用開始を行なう必要がある。しかしながら、通常のシステム運用における一般利用者は、動的適用の実行を許可された権限を付与されていない。そのため、システムの利用開始時に動的に適用される方法であっても、各クライアントに対して、特定の権限を有した保守要員による入替え作業が必要となる。
【0013】
そこで、本発明は、モジュール更新時に保守要員による入替え作業を不要とするクライアントサーバシステムを提供することを目的とする。
【課題を解決するための手段】
【0014】
本発明は、クライアント端末の利用時に入力した認証識別子に応じて管理者権限又は非管理者権限を付与されている利用者及び前記クライアント端末の管理者権限を有する動作システムの指示に基づいて起動し、業務システムを提供するサーバとネットワークを介して接続し、前記クライアント端末上での業務処理を定義したモジュールの登録及び更新をするモジュール更新プログラムであって、前記クライアント端末を、前記クライアント端末の管理者権限でのみ更新可能な領域に、前記モジュールを一意に特定する識別子と前記モジュールのバージョンと業務処理の定義を有するモジュールを格納するモジュール格納部と、前記クライアント端末の管理者権限でのみ更新可能な領域に、前記モジュール格納部に格納されているモジュールの識別子及び格納先の一覧を記憶するモジュール一覧記憶部と、業務システムの利用開始時に、適用すべきモジュールの識別子及び前記モジュールのバージョンを有するバージョン設定ファイルを前記サーバから取得し、前記取得したバージョン設定ファイルで指定されるモジュールのバージョンと、前記バージョン設定ファイルで指定されるモジュールと同じ識別子を有する前記モジュール格納部に格納されているモジュールのバージョンとを比較し、更新が必要であると判定したときは、前記適用すべきモジュールを取得する自動更新処理部と、クライアント端末の管理者権限を有して動作し、前記自動更新処理部の依頼に基づいて、前記取得したモジュールを前記モジュール格納部及び前記モジュール一覧記憶部に登録する更新代行処理部として、機能させることを特徴とする。
【0015】
また、本発明は、前記モジュール更新プログラムであって、前記バージョン設定ファイルは、適用すべきモジュールの識別子及び前記モジュールのバージョン及び更新処理の制御コードを有し、前記自動更新処理部は、前記バージョン設定ファイルの制御コードに基づいて、適用すべきモジュールのバージョンが前記モジュール格納部に格納されているモジュールより新しいときにのみ更新するか、適用すべきモジュールのバージョンが前記モジュール格納部に格納されているモジュールと一致しないときに更新するかを、切り換えて動作するように前記クライアント端末を機能させることを特徴とする。
【0016】
さらに、本発明は、前記モジュール更新プログラムであって、前記更新代行処理部は、前記サーバから取得したモジュールの識別子及びバージョンと、前記バージョン設定ファイルのモジュール識別子及びバージョンとの整合性を確認し、整合しないときには、前記サーバへ警告を通知するとともに、前記サーバから取得したモジュールの登録を行なわないように前記クライアント端末を機能させることを特徴とする。
【0017】
またさらに、本発明は、前記モジュール更新プログラムであって、前記自動更新処理部は、業務システムの利用開始時に、適用すべきモジュール更新プログラムのバージョンを有する自己バージョン情報を前記サーバから取得し、前記取得した自己バージョン情報で指定されるバージョンと、前記モジュール格納部に格納されているモジュール更新プログラムのバージョンとを比較し、更新が必要であると判定したときは、サーバから前記更新が必要と判定されたモジュール更新プログラムのモジュールを取得し、前記更新代行処理と同じ権限で動作し、前記自動更新処理部においてモジュール更新プログラムの更新が必要であると判定されたとき、前記自動更新処理部及び更新代行処理部の実行を停止させ、前記自動更新処理部及び更新代行処理部のモジュールを更新し、前記更新後のモジュールを用いて前記自動更新処理部及び更新代行処理部を再起動させる自己更新処理部として前記クライアント端末を機能させることを特徴とする。
【0018】
さらに、本発明は、前記モジュール更新プログラムであって、前記自己バージョン情報は、適用すべきモジュール更新プログラムのバージョンと更新処理の制御コードを有し、前記自動更新処理部は、前記自己バージョン情報の制御コードに基づいて、適用すべきモジュール更新プログラムのバージョンが前記モジュール格納部に格納されているモジュール更新プログラムのバージョンより新しいときにのみ更新するか、適用すべきモジュール更新プログラムのバージョンが前記モジュール格納部に格納されているモジュール更新プログラムのバージョンと一致しないときに更新するかを、切り換えて動作するように前記クライアント端末を機能させることを特徴とする。
【発明の効果】
【0019】
本発明では、非管理者権限を有する一般利用者であってもシステムの利用開始時に動的にモジュールの適用を行なうことが可能となり、従来は管理者権限でのみ更新可能なモジュールを、非管理者権限を有する一般利用者であっても常に最新のバージョンに維持することが可能となる。さらに、サーバ側で設定した制御コードに基づいて、モジュール更新処理の動作を切り換えて動作するため、モジュール更新直後の障害発生時に以前のモジュールに置き換えるための更新か、又は最新のモジュールだけを適用するための更新かを、使い分けることが可能となる。またさらに、サーバから取得したモジュールが適用すべきバージョンであるかをクライアント端末にて確認することにより、間違ったバージョンの適用を防止することが可能となる。
【0020】
以上より、モジュール更新時に保守要員による入替え作業が不要となり、人為的なミスによるシステム全体の不整合を抑止することが可能となる。さらに、モジュールの適用を自動化した際に生じるサーバへの負荷を軽減することが可能となる。
【発明を実施するための最良の形態】
【0021】
以下、実施例を図面に基づいて説明する。
【実施例1】
【0022】
本発明の実施形態を、図1を用いて以下に説明する。図1は、本発明のシステムの構成の一実施例を示した図である。本発明のシステムは、サーバ100とネットワークを介して接続される1つ以上のクライアント200で構成されている。サーバ100は、Webサーバ101とバージョン設定ファイル102と画面構成ファイル103と適用モジュール104を含んで構成されている。
【0023】
バージョン設定ファイル102は、自動更新処理部202のバージョン情報、適用モジュールの数、各適用モジュールのバージョン情報等が格納されている。
【0024】
クライアント200は、ブラウザ201と自動更新処理部202と更新代行処理部203と自己更新処理部204を含み、さらに、モジュール一覧205とモジュールファイル206を含んで構成される。
【0025】
ブラウザ201は、例えばWebブラウザであり、具体的にはHTTPプロトコルの送受信機能、及びHTML文書のレンダリング機能等を備えている。自動更新処理部202は、ブラウザ201からの依頼を受けてモジュールの更新処理を行う機能を備えており、ブラウザと同様に、利用者の権限と同じ権限で実行される。更新代行処理部203は自動更新処理部202の依頼を受けてクライアント端末上にモジュールを適用する機能を備えており、クライアントのオペレーティングシステムにより、クライアントの資源を管理する管理者と同じか又はそれ以上の権限で実行される。自己更新処理部204は、自動更新処理部202の依頼を受けて、自動更新処理部202及び更新代行処理部203の更新を行う機能を有する。
【0026】
モジュール一覧205には、クライアント200に適用されている既存のモジュールに関する情報が格納されている。具体的には、図3に示すように、モジュールを一意に特定するモジュールID2051、モジュールの格納場所2052が格納されている。
【0027】
モジュール一覧205のモジュール格納場所2052で示されるモジュールファイル206には、モジュールID2061とバージョン情報2062、及びバイナリーデータ2063が格納されている。
【0028】
次に、図2を用いてモジュール適用処理の流れを説明する。まず、クライアント200のブラウザ201は、利用者の指示を受けてシステム利用開始画面の取得要求をサーバ100へ送信する(図2のS101)。サーバ100のWebサーバ101は、ネットワークを介して、クライアント200のシステム利用開始画面の取得要求を受信し、システム利用開始画面ファイルを取得する(図2のS102)。さらに、サーバ100のWebサーバ101は、取得したシステム利用開始画面ファイルをクライアント200へ返信する(図2のS103)。
【0029】
クライアント200は、サーバ100より受信したシステム利用開始画面ファイルを解析し(図2のS104)、利用開始画面ファイル中に記述されているモジュールの初期化処理を実行する(図2のS105)。利用開始画面ファイルの内容例を図6に示す。図6に示す画面構成ファイルの内容例は、利用開始画面ファイルの内容例を示したもので、<OBJECT>タグの属性CLASSIDで、使用するモジュールのモジュールIDを指定している(図6の1031)。また、<SCRIPT>タグでは、モジュールに実装されている処理を呼び出すコマンドが記述されている(図6の1032)。この例では、モジュールの初期化処理を実行する内容例が示されており、その引数としてバージョン設定ファイルを格納するサーバのURLが指定されている。このとき、上述の画面構成ファイルを受信したブラウザは、<OBJECT>タグの属性CLASSIDで定義されているモジュールIDと一致する内容で登録されているモジュールをモジュール一覧205から取得し、<OBJECT>タグの属性IDで定義されている識別子(図6の例では"SYSTEM#START")に取得したモジュールの関連付けを行なう。上述の<SCRIPT>タグで記述されているコマンドの処理は、<OBJECT>タグで定義したモジュールに定義されており、ブラウザは、上述のモジュール一覧を参照することにより必要なモジュールを特定し、<SCRIPT>タグに記述されている処理を実行する。図6に示す例では、<OBJECT>タグの属性ID{xxxx-xxxx-0001}でモジュール一覧205に登録されているモジュールの格納先2052「/ddworks21/AutoUpdate/FDDAxUpd.ocx」に格納されているモジュールには、<SCRIPT>タグで記述されたコマンド「ExecActiveXCheck」の処理が定義されており、モジュール「/ddworks21/AutoUpdate/FDDAxUpd.ocx」に格納されているコマンドは引数「"http://www.system.ftk.fujitsu.co.jp/"」を受けて実行されることとなる。なお、モジュール一覧205は、その内容を更新する際にクライアント端末の管理者権限を有するが、更新を伴わない参照のみであれば管理者権限を有さない一般利用者権限でも実行することが可能となっている。
【0030】
モジュール初期化処理の実行指示を受けた自動更新処理部202は、バージョン設定ファイルの取得要求を、前述のシステム開始画面ファイルの1032で指定されたURLのサーバ100へ送信する。なお、本実施形態の説明では、上述のシステム開始画面ファイルで指定されたバージョン設定ファイルを格納するサーバと、システム開始画面ファイルを格納するサーバとが同一である場合を想定して説明を続ける。
【0031】
バージョン設定ファイルの取得要求を受信したサーバ100のWebサーバ101は、図示しない設定ファイルに定義された場所に格納されているバージョン設定ファイル102を取得し(図2のS107)、取得したバージョン設定ファイル102をクライアント200へ返信する(図2のS108)。
【0032】
クライアント200は、サーバ100より受信したバージョン設定ファイル102を解析し(図2のS109)、自己バージョンチェック処理を行う(図2のS110)。
【0033】
バージョン設定ファイル102の内容例を図5に示す。図5のバージョン設定ファイル102は、自己バージョン情報102a(図5の例では[UpdaterVersion]より始まる定義体)と、適用モジュール一覧情報102b(図5の例ではModuleNum,Module[n]の定義体)と、モジュールバージョン情報102c(図5の例では[DCFileCtl]より始まる定義体)が格納されている。自動更新処理部202は、バージョン設定ファイルの自己バージョン情報102aで示される自己バージョン1022と、クライアント200の自動更新処理部及び更新代行処理部のバージョンとを比較し、更新が必要であると判定した場合には、自己更新処理部204により、自動更新処理部202及び更新代行処理部204の更新処理を行う。
【0034】
上述の自己バージョンチェック処理の流れを図7に示す。
【0035】
まず、バージョン設定ファイルより自己バージョン情報102aを取得し、取得した自己バージョン情報102aに指定されているバージョンと自動更新処理部及び更新代行処理部のモジュールのバージョンとを比較する(図7のS200)。その結果、更新が必要であると判定した場合(図7のS200でNo)、自動更新処理部202は、バージョン設定ファイルの自己バージョン情報で指定されるダウンロードURL1023(DownloadUrl)から自己モジュールのダウンロードを実行する(図7のS201、S202及びS203)。
【0036】
自己モジュールをダウンロードした自動更新処理部200は、ダウンロードした自己モジュールに格納されているモジュールID2061及びバージョン情報2062と、既存の自動更新処理部及び更新代行処理部のモジュールに格納されているモジュールID及びバージョン設定ファイルの自己バージョン情報で指定されているバージョンとを比較し、一致していることを確認する(図7のS204)。なお、自己バージョン情報102aの置換モードフラグ(ModeFlag)1026は、自己モジュールを適用する際の自動更新処理部の動作を制御する。
【0037】
例えば、置換モードフラグ(ModeFlag)1026に「1」が設定されている場合、サーバから指定されるバージョンとクライアントに適用済みのバージョンとの一致性のみの判定を行なう。すなわち、サーバから指定されたバージョンよりクライアントのバージョンが新しくても、サーバから指定された古い方のバージョンをダウンロードすることになる。
【0038】
また、置換モードフラグ(ModeFlag)1026に「0」が設定されている場合、サーバから指定されるバージョンとクライアントに適用済みのバージョンとの一致性のみならず、サーバから指定されるバージョンがクライアントのバージョンより新しいときに、サーバから指定された新しいバージョンをダウンロードすることになる。
【0039】
上述の制御により、置換モードフラグ1026に「0」を設定しておくことで、適用すべきモジュールのバージョンを間違って古いものをサーバに格納した場合においても、サーバからモジュールの取得を行なうことなくクライアント端末上の最新のモジュールを維持することが可能となる。また、適用したモジュールに障害が発生した場合に、置換モードフラグ1026に「1」を設定しておくことで、障害が起きていない以前のバージョンを各クライアント端末上に適用することが可能となり、モジュールの動作検証を行なう検証環境と検証済みのモジュールでの運用を行なう本番環境との切換を容易に行なうことができる。
【0040】
ここで、ダウンロード後の自己モジュールのバージョンチェックを行なうことにより、サーバで格納しているバージョン設定ファイルの定義に誤りがあった場合、例えば、バージョン設定ファイルの自己バージョン情報で指定したバージョンと自己モジュールに格納されているバージョンとが整合しない場合(図7のS204でNo)に、クライアントに間違ったバージョンの自己モジュールを適用することを未然に防ぐことができる。図7に示す例では、バージョン設定ファイルの自己バージョン情報で指定したバージョンと自己モジュールに格納されているバージョンとが整合しない場合(図7のS204でNo)に、自動更新処理部202はサーバ100にエラー情報を送信し、エラー情報を受信したサーバ100のWebサーバ101は警告メッセージを画面に表示又は予め指定された管理者のメールアドレスへ警告メールを送信する(図7のS205)。
【0041】
上述のダウンロード後の自己バージョンチェックで、ダウンロードした自己モジュールのバージョンが指定されたバージョンと一致する場合(図7のS204でYes)、モジュールの適用を更新代行処理部203に依頼する(図7のS206)。依頼を受けた更新代行処理部203は、自己更新処理部204を起動する(図7のS207)。更新代行処理部203より起動指示を受けた自己更新処理部204は、更新代行処理部203と同じ権限で動作する(図7のS207')。すなわち、自己更新処理部204は、クライアントの資源を管理する管理者権限を有する動作状態となり、同権限を有する更新代行処理部203の活動を停止させることが可能となる。上述の動作状態において、一般利用者権限で動作する自動更新処理部の活動を停止させることも可能である。
【0042】
自己更新処理部204は、自動更新処理部202及び更新代行処理部203に対して、停止命令を通知する(図7のS208)。停止命令を受けた自動更新処理部202及び更新代行処理部203は、自らが動作する権限と同一か又はそれ以上の権限を有して動作する自己更新処理部204からの停止命令を受理し、処理を停止する(図7のS208')。
【0043】
自動更新処理部202及び更新代行処理部203の停止を受けた自己更新処理部204は、自動更新処理部202及び更新代行処理部203のモジュールをダウンロードした自己モジュールで置き換える(図7のS209)。ここで、置き換えられる既存のモジュールを削除するのではなく、別の格納先に保存しておき、モジュールの世代管理を行なっても良い。その場合、クライアントのモジュール一覧205にバージョン情報を追加し、モジュールIDとバージョン情報とをキーにすることにより、バージョン毎のモジュールの格納先を特定することが可能となる。
【0044】
次に、自己更新処理部204は、置換え後のモジュールを用いて、自動更新処理部202及び更新代行処理部203を再起動させる(図7のS210、S210')。その際、自動更新処理部202は利用者の権限で実行し、更新代行処理部203は自己更新処理部204と同じ権限で実行させる。
【0045】
自動更新処理部202及び更新代行処理部203が正常に起動したのを受けて、自己更新処理部204は、自動更新処理部202に適用モジュールのバージョンチェック処理の再開始命令を通知する(図7のS211)。通知を受けた自動更新処理部202は、適用モジュールのバージョンチェックを再開始する(図7のS212)。すなわち、図2に示す処理S111を実行する。なお、処理S200の判定においてYesの場合、すなわち指定されたモジュールのバージョンと適用されているバージョンとが一致した場合も、図2に示す処理S111を実行する。
【0046】
以上が、自己バージョンチェック処理の流れとなる。
【0047】
次に、自動更新処理部202は、適用モジュールのバージョンチェック処理を行う。まず、適用モジュール一覧情報102bで指定されるモジュール数1027(ModuleNum)により適用すべきモジュールの数を取得し、適用モジュール情報名(Module[n])1028より適用すべきモジュールのバージョン情報を特定する適用モジュール情報名を取得する。すなわち、モジュール数1027で指定された数だけ適用モジュール情報名が定義されている。
【0048】
自動更新処理部202は、取得した適用モジュール情報名と一致するモジュール情報名1029を有するモジュール情報102cを取得し、取得したモジュール情報202で指定されるモジュールID1032(CLSID)と一致するモジュールID2051に対応付けて登録されているモジュール格納場所2052をモジュール一覧205より取得する。さらに、モジュール格納先2052で特定されるモジュールファイル206よりバージョン情報2062を取得し、バージョン設定ファイルで指定されるモジュール情報102cのバージョン情報1030と比較し、更新が必要であると判定した場合(図2のS112でNo)は、後述のモジュールの適用処理を実行する。なお、クライアントのモジュール一覧205に、バージョン設定ファイルで指定されるモジュールIDが登録されていない場合(図2のS111でNo)も、後述のモジュール適用処理を実行する。なお、モジュール情報102cの置換モードフラグ(ModeFlag)1034は、更新モジュールを適用する際の自動更新処理部の動作を制御する。
【0049】
例えば、置換モードフラグ(ModeFlag)1034に「1」が設定されている場合、サーバから指定されるバージョンとクライアントに適用済みのバージョンとの一致性のみの判定を行なう。すなわち、サーバから指定されたバージョンよりクライアントのバージョンが新しくても、サーバから指定された古い方のバージョンをダウンロードすることになる。また、置換モードフラグ(ModeFlag)1034に「0」が設定されている場合、サーバから指定されるバージョンとクライアントに適用済みのバージョンとの一致性のみならず、サーバから指定されるバージョンがクライアントのバージョンより新しいときに、サーバから指定された新しいバージョンをダウンロードすることになる。上述の制御により、置換モードフラグ1034に「0」を設定しておくことで、適用すべきモジュールのバージョンを間違って古いものをサーバに格納した場合においても、サーバからモジュールの取得を行なうことなくクライアント端末上の最新のモジュールを維持することが可能となる。また、適用したモジュールに障害が発生した場合に、置換モードフラグ1034に「1」を設定しておくことで、障害が起きていない以前のバージョンを各クライアント端末上に適用することが可能となり、モジュールの動作検証を行なう検証環境と検証済みのモジュールでの運用を行なう本番環境との切換を容易に行なうことができる。
【0050】
上述の判定処理においてモジュールの適用が必要であると判定された場合、自動更新処理部202は、バージョン設定ファイルのモジュール情報で指定されるダウンロードURL1031(DownloadUrl)から適用モジュールのダウンロードを実行する(図2のS113、S114及びS115)。
【0051】
適用モジュールをダウンロードした自動更新処理部200は、適用モジュールに格納されているモジュールID2061及びバージョン情報2062と、バージョン設定ファイルのモジュール情報で指定されるモジュールID及びバージョン情報とを比較し、一致していることを確認する(図2のS116)。ここでダウンロード後の適用モジュールのバージョンチェックを行なうことにより、サーバで格納しているバージョン設定ファイルの定義に誤りがあった場合、例えば、バージョン設定ファイルのモジュール情報で指定したバージョンとモジュールに格納されているバージョンとが整合しない場合(図2のS116でNo)に、クライアントに間違ったバージョンのモジュールを適用することを未然に防ぐことができる。図2に示す例では、バージョン設定ファイルのモジュール情報で指定したバージョンとモジュールに格納されているバージョンとが整合しない場合(図2のS116でNo)に、自動更新処理部202はサーバ100にエラー情報を送信し、エラー情報を受信したサーバ100のWebサーバ101は警告メッセージを画面に表示又は予め指定された管理者のメールアドレスへ警告メールを送信する(図2のS117)。
【0052】
上述のダウンロード後のバージョンチェックで、ダウンロードしたモジュールのバージョンが指定されたバージョンと一致する場合(図2のS116でYes)、モジュールの適用を更新代行処理部203に依頼する(図2のS118)。適用依頼を受けた更新代行処理部203は、ダウンロードしたモジュールの情報をモジュール一覧205に登録又は更新する。なお、モジュール一覧205は特定の権限を有したプロセスのみ更新可能とする記憶領域に格納されており、例えば一般ユーザ権限で実行されているユーザアプリケーションのプロセスでは更新することができない。上述の更新代行処理部203は、クライアントのオペレーティングシステムにより、クライアントの利用者の権限のいかんにかわらずに、モジュール一覧205を更新可能とする権限を有して実行される。そのため、クライアントの利用者が一般ユーザ権限であっても、モジュール一覧205が更新可能となり、利用者の権限に関係なくモジュール適用を動的に行なうことが可能となる。特に、通常の利用者は、一般利用者権限でクライアントを利用するため、システムを利用する際のモジュールの更新に対する権限を有していない場合が多い。しかし、上述の更新代行処理部により、一般利用者権限でのクライアントの利用を継続したまま、クライアント環境の整備が自動的に実行でき、利用者の負荷が大幅に軽減されるとともに、更新漏れの防止にもなり、品質向上につながる。
【0053】
なお、上述のモジュールの適用処理が終了した後、又は、上述のバージョンチェックでモジュールの更新が不要と判定された場合、クライアント200のブラウザ201は、システム利用開始画面を表示して、システムの利用が開始される(図2のS120)。
【0054】
なお、上述の実施例では、更新対象をモジュールの場合としたが、各種定義体であっても良い。定義体としては、例えば、帳票定義体、表計算やワープロソフトなどのOAソフトにおけるテンプレート等が考えられる。この場合、従来技術では表計算やワープロなどのOAソフトにおけるテンプレートに値を埋めて帳票形式にしたものをクライアントに送信していたが、各種定義体やテンプレートは事前に置き換えられているため、クライアントへの送信はデータ(値)のみとなり、ネットワーク上のトラフィック量を軽減することが可能となる。
【0055】
上述のように、本実施例により、モジュール更新時に保守要員による入替え作業を不要となり、人為的なミスによるシステム全体の不整合を抑止することが可能となる。さらに、モジュールの適用を自動化した際に生じるサーバへの負荷を軽減することが可能となる。
(付記1)上記実施例1を含む実施形態に関し、更に以下の付記1を開示する。
【0056】
クライアント端末の利用時に入力した認証識別子に応じて管理者権限又は非管理者権限を付与されている利用者からの指示入力及び前記クライアント端末の管理者権限を有する動作システムの指示に基づいて起動し、業務システムを提供するサーバとネットワークを介して接続し、前記クライアント端末上での業務処理を定義したモジュールの登録及び更新をするモジュール更新プログラムであって、
前記クライアント端末を、
前記クライアント端末の管理者権限でのみ更新可能な領域に、前記モジュールを一意に特定する識別子と前記モジュールのバージョンと業務処理の定義を有するモジュールを格納するモジュール格納部と、
前記クライアント端末の管理者権限でのみ更新可能な領域に、前記モジュール格納部に格納されているモジュールの識別子及び格納先の一覧を記憶するモジュール一覧記憶部と、
業務システムの利用開始時に、適用すべきモジュールの識別子及び前記モジュールのバージョンを有するバージョン設定ファイルを前記サーバから取得し、前記取得したバージョン設定ファイルで指定されるモジュールのバージョンと、前記バージョン設定ファイルで指定されるモジュールと同じ識別子を有する前記モジュール格納部に格納されているモジュールのバージョンとを比較し、更新が必要であると判定したときは、前記適用すべきモジュールを取得する自動更新処理部と、
クライアント端末の管理者権限を有して動作し、前記自動更新処理部の依頼に基づいて、前記取得したモジュールを前記モジュール格納部及び前記モジュール一覧記憶部に登録する更新代行処理部として、
機能させることを特徴とするモジュール更新プログラム。
(付記2)上記実施例1を含む実施形態に関し、更に以下の付記2を開示する。
【0057】
付記1に記載のモジュール更新プログラムであって、
前記バージョン設定ファイルは、適用すべきモジュールの識別子及び前記モジュールのバージョン及び更新処理の制御コードを有し、
前記自動更新処理部は、前記バージョン設定ファイルの制御コードに基づいて、適用すべきモジュールのバージョンが前記モジュール格納部に格納されているモジュールより新しいときにのみ更新するか、適用すべきモジュールのバージョンが前記モジュール格納部に格納されているモジュールと一致しないときに更新するかを、切り換えて動作するように前記クライアント端末を機能させることを特徴とするモジュール更新プログラム。
(付記3)上記実施例1を含む実施形態に関し、更に以下の付記3を開示する。
【0058】
付記1又は2に記載のモジュール更新プログラムであって、
前記更新代行処理部は、前記サーバから取得したモジュールの識別子及びバージョンと、前記バージョン設定ファイルのモジュール識別子及びバージョンとの整合性を確認し、整合しないときには、前記サーバへ警告を通知するとともに、前記サーバから取得したモジュールの登録を行なわないように前記クライアント端末を機能させることを特徴とするモジュール更新プログラム。
(付記4)上記実施例1を含む実施形態に関し、更に以下の付記4を開示する。
【0059】
付記1乃至3に記載のモジュール更新プログラムであって、
前記自動更新処理部は、業務システムの利用開始時に、適用すべきモジュール更新プログラムのバージョンを有する自己バージョン情報を前記サーバから取得し、前記取得した自己バージョン情報で指定されるバージョンと、前記モジュール格納部に格納されているモジュール更新プログラムのバージョンとを比較し、更新が必要であると判定したときは、サーバから前記更新が必要と判定されたモジュール更新プログラムのモジュールを取得し、
前記更新代行処理と同じ権限で動作し、前記自動更新処理部においてモジュール更新プログラムの更新が必要であると判定されたとき、前記自動更新処理部及び更新代行処理部の実行を停止させ、前記自動更新処理部及び更新代行処理部のモジュールを更新し、前記更新後のモジュールを用いて前記自動更新処理部及び更新代行処理部を再起動させる自己更新処理部として前記クライアント端末を機能させることを特徴とするモジュール更新プログラム。
(付記5)上記実施例1を含む実施形態に関し、更に以下の付記5を開示する。
【0060】
付記4に記載のモジュール更新プログラムであって、
前記自己バージョン情報は、適用すべきモジュール更新プログラムのバージョンと更新処理の制御コードを有し、
前記自動更新処理部は、前記自己バージョン情報の制御コードに基づいて、適用すべきモジュール更新プログラムのバージョンが前記モジュール格納部に格納されているモジュール更新プログラムのバージョンより新しいときにのみ更新するか、適用すべきモジュール更新プログラムのバージョンが前記モジュール格納部に格納されているモジュール更新プログラムのバージョンと一致しないときに更新するかを、切り換えて動作するように前記クライアント端末を機能させることを特徴とするモジュール更新プログラム。
(付記6)上記実施例1を含む実施形態に関し、更に以下の付記6を開示する。
【0061】
クライアント端末の利用時に入力した認証識別子に応じて管理者権限又は非管理者権限を付与されている利用者からの指示入力及び前記クライアント端末の管理者権限を有する動作システムの指示に基づいて起動し、業務システムを提供するサーバとネットワークを介して接続し、前記クライアント端末上での業務処理を定義したモジュールの登録及び更新をする前記クライアント端末であって、
前記クライアント端末の管理者権限でのみ更新可能な領域に、前記モジュールを一意に特定する識別子と前記モジュールのバージョンと業務処理の定義を有するモジュールを格納するモジュール格納部と、
前記クライアント端末の管理者権限でのみ更新可能な領域に、前記モジュール格納部に格納されているモジュールの識別子及び格納先の一覧を記憶するモジュール一覧記憶部と、
業務システムの利用開始時に、適用すべきモジュールの識別子及び前記モジュールのバージョンを有するバージョン設定ファイルを前記サーバから取得し、前記取得したバージョン設定ファイルで指定されるモジュールのバージョンと、前記バージョン設定ファイルで指定されるモジュールと同じ識別子を有する前記モジュール格納部に格納されているモジュールのバージョンとを比較し、更新が必要であると判定したときは、前記適用すべきモジュールを取得する自動更新処理部と、
クライアント端末の管理者権限を有して動作し、前記自動更新処理部の依頼に基づいて、前記取得したモジュールを前記モジュール格納部及び前記モジュール一覧記憶部に登録する更新代行処理部とを有することを特徴とするクライアント端末。
(付記7)上記実施例1を含む実施形態に関し、更に以下の付記7を開示する。
【0062】
付記6に記載のクライアント端末であって、
前記バージョン設定ファイルは、適用すべきモジュールの識別子及び前記モジュールのバージョン及び更新処理の制御コードを有し、
前記自動更新処理部は、前記バージョン設定ファイルの制御コードに基づいて、適用すべきモジュールのバージョンが前記モジュール格納部に格納されているモジュールより新しいときにのみ更新するか、適用すべきモジュールのバージョンが前記モジュール格納部に格納されているモジュールと一致しないときに更新するかを、切り換えて動作することを特徴とするクライアント端末。
(付記8)上記実施例1を含む実施形態に関し、更に以下の付記8を開示する。
【0063】
付記6又は7に記載のクライアント端末であって、
前記更新代行処理部は、前記サーバから取得したモジュールの識別子及びバージョンと、前記バージョン設定ファイルのモジュール識別子及びバージョンとの整合性を確認し、整合しないときには、前記サーバへ警告を通知するとともに、前記サーバから取得したモジュールの登録を行なわないことを特徴とするクライアント端末。
(付記9)上記実施例1を含む実施形態に関し、更に以下の付記9を開示する。
【0064】
付記6乃至8に記載のクライアント端末であって、
前記自動更新処理部は、業務システムの利用開始時に、適用すべきモジュール更新プログラムのバージョンを有する自己バージョン情報を前記サーバから取得し、前記取得した自己バージョン情報で指定されるバージョンと、前記モジュール格納部に格納されているモジュール更新プログラムのバージョンとを比較し、更新が必要であると判定したときは、サーバから前記更新が必要と判定されたモジュール更新プログラムのモジュールを取得し、
前記更新代行処理と同じ権限で動作し、前記自動更新処理部においてモジュール更新プログラムの更新が必要であると判定されたとき、前記自動更新処理部及び更新代行処理部の実行を停止させ、前記自動更新処理部及び更新代行処理部のモジュールを更新し、前記更新後のモジュールを用いて前記自動更新処理部及び更新代行処理部を再起動させる自己更新処理部とを有することを特徴とするクライアント端末。
(付記10)上記実施例1を含む実施形態に関し、更に以下の付記10を開示する。
【0065】
付記9に記載のクライアント端末であって、
前記自己バージョン情報は、適用すべきモジュール更新プログラムのバージョンと更新処理の制御コードを有し、
前記自動更新処理部は、前記自己バージョン情報の制御コードに基づいて、適用すべきモジュール更新プログラムのバージョンが前記モジュール格納部に格納されているモジュール更新プログラムのバージョンより新しいときにのみ更新するか、適用すべきモジュール更新プログラムのバージョンが前記モジュール格納部に格納されているモジュール更新プログラムのバージョンと一致しないときに更新するかを、切り換えて動作することを特徴とするクライアント端末。
【図面の簡単な説明】
【0066】
【図1】本発明によるシステムの構成の一実施形態を示す図
【図2】モジュール適用処理の流れを示すフローチャート
【図3】モジュール一覧の内容例を示す図
【図4】モジュールファイルの内容例を示す図
【図5】バージョン設定ファイルの内容例を示す図
【図6】画面構成ファイルの内容例を示す図
【図7】自己バージョンチェック処理の流れを示すフローチャート

【特許請求の範囲】
【請求項1】
クライアント端末の利用時に入力した認証識別子に応じて管理者権限又は非管理者権限を付与されている利用者からの指示入力及び前記クライアント端末の管理者権限を有する動作システムの指示に基づいて起動し、業務システムを提供するサーバとネットワークを介して接続し、前記クライアント端末上での業務処理を定義したモジュールの登録及び更新をするモジュール更新プログラムであって、
前記クライアント端末
前記クライアント端末の管理者権限でのみ更新可能な領域に、前記モジュールを一意に特定する識別子と前記モジュールのバージョンと業務処理の定義を有するモジュールをモジュール格納部へ格納するモジュール格納処理と、
前記クライアント端末の管理者権限でのみ更新可能な領域に、前記モジュール格納部に格納されているモジュールの識別子及び格納先の一覧をモジュール一覧記憶部へ記憶するモジュール一覧記憶処理と、
業務システムの利用開始時に、適用すべきモジュールの識別子及び前記モジュールのバージョン及び更新処理の制御コードを有するバージョン設定ファイルを前記サーバから取得し、前記バージョン設定ファイルの制御コードに基づいて、適用すべきモジュールのバージョンが前記モジュール格納部に格納されているモジュールより新しいときにのみ更新するか、適用すべきモジュールのバージョンが前記モジュール格納部に格納されているモジュールと一致しないときに更新するかを、切り換えて、前記取得したバージョン設定ファイルで指定されるモジュールのバージョンと、前記バージョン設定ファイルで指定されるモジュールと同じ識別子を有する前記モジュール格納部に格納されているモジュールのバージョンとを比較し、更新が必要であると判定したときは、前記適用すべきモジュールを取得する自動更新処理と
クライアント端末の管理者権限を有して動作し、前記自動更新処理の依頼に基づいて、前記取得したモジュールを前記モジュール格納部及び前記モジュール一覧記憶部に登録する更新代行処理
実行させることを特徴とするモジュール更新プログラム。
【請求項2】
請求項に記載のモジュール更新プログラムであって、
前記更新代行処理は、前記サーバから取得したモジュールの識別子及びバージョンと、前記バージョン設定ファイルのモジュール識別子及びバージョンとの整合性を確認し、整合しないときには、前記サーバへ警告を通知するとともに、前記サーバから取得したモジュールの登録を行なわないように前記クライアント端末に実行させることを特徴とするモジュール更新プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−18353(P2011−18353A)
【公開日】平成23年1月27日(2011.1.27)
【国際特許分類】
【出願番号】特願2010−189452(P2010−189452)
【出願日】平成22年8月26日(2010.8.26)
【分割の表示】特願2004−187758(P2004−187758)の分割
【原出願日】平成16年6月25日(2004.6.25)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】