(57)【特許請求の範囲】
【請求項１】
ネットワークを介して接続されているクライアント装置からの要求を受信し、要求に対応したプログラムを実行するサーバ装置であって、
前記プログラムを含む１つ以上のプラグインと、
前記プラグインから前記プログラムを取得するプログラム取得手段と、
前記クライアント装置からの要求を受信するＷＥＢサーバと、
前記ＷＥＢサーバが前記クライアント装置からの要求を受信すると、要求に対応した前記プログラムを前記プログラム取得手段から取得し、取得した前記プログラムに処理を委託し、前記クライアント装置に送信するＷＥＢページを生成させる制御手段と
を有することを特徴とするサーバ装置。
【請求項２】
前記プログラムはサーブレットであり、
前記ＷＥＢサーバは前記サーブレットを動作させるためにサーブレットコンテナにより拡張されており、
前記プログラム取得手段は前記サーブレットを含むプラグインを前記サーブレットコンテナの子クラスローダに切り替える切り替え機能部と、
前記サーブレットコンテナの子クラスローダに切り替えられた前記プラグインに含まれる前記サーブレットを取得して保持するサーブレット取得機能部と
を有することを特徴とする請求項１記載のサーバ装置。
【請求項３】
前記プラグインは、更にＨＴＭＬデータ及びＪａｖａ（登録商標）Ｓｃｒｉｐｔを含むことを特徴とする請求項１又は２記載のサーバ装置。
【請求項４】
コンピュータによって実行されるＷＥＢページ提供方法であって、
プログラムを含む１つ以上のプラグインからプログラム取得手段が前記プログラムを取得するステップと、
ネットワークを介して接続されているクライアント装置からの要求をＷＥＢサーバが受信するステップと、
前記ＷＥＢサーバが前記クライアント装置からの要求を受信すると、制御手段が要求に対応した前記プログラムを前記プログラム取得手段から取得し、取得した前記プログラムに処理を委託し、前記クライアント装置に送信するＷＥＢページを生成させるステップと
を有することを特徴とするＷＥＢページ提供方法。
【請求項５】
前記プログラムはサーブレットであり、
前記ＷＥＢサーバは前記サーブレットを動作させるためにサーブレットコンテナにより拡張されており、
前記プラグインから前記サーブレットを取得するステップは、
前記サーブレットを含むプラグインを前記サーブレットコンテナの子クラスローダに切り替えるステップと、
前記サーブレットコンテナの子クラスローダに切り替えられた前記プラグインに含まれる前記サーブレットを取得して保持するステップと
を有することを特徴とする請求項４記載のＷＥＢページ提供方法。
【請求項６】
前記プラグインは、更にＨＴＭＬデータ及びＪａｖａ（登録商標）Ｓｃｒｉｐｔを含むことを特徴とする請求項４又は５記載のＷＥＢページ提供方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ装置及びＷＥＢページ提供方法に関する。
【背景技術】
【０００２】
近年、サーバ装置及びクライアント装置を含むシステムには、何らかの設定を行うためのＷＥＢページ（以下、設定ページという）をサーバ装置で作成してクライアント装置に提供し、ユーザにクライアント装置から何らかの設定を行わせるものがあった。上記システムでは設定項目の異なる設定ページの追加や修正が必要となった場合、サーバ装置に搭載されている既存のプログラムとの連携など、既存のプログラムの修正が必要となる。
【０００３】
例えば審査／承認等のワークフロー機能を有する業務システムにおいて入力／表示項目および処理内容の変更を行う業務システムは従来から知られている。上記した従来の業務システムは審査／承認等の対象となる電子文書上の入力／表示項目の設計情報を定義するテキストベースのコンフィギュレーションファイルと、コンフィギュレーションファイルを読み込んで環境設定を行う手段とを備えている（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来のサーバ装置及びクライアント装置を含むシステムでは、設定項目の異なる設定ページの追加や修正が必要となった場合、サーバ装置に搭載されている既存のプログラムとの連携など既存のプログラムの修正が必要となる為、再度、既存のプログラム全体のテストを行わなければならず、莫大な工数が掛かるという問題があった。また、既存のプログラムの修正はデグレード（品質低下）を発生させる可能性もあった。
【０００５】
なお、上記した従来の業務システムでは、コンフィグレーションファイル作成の為の知識が必要である。コンフィグレーションファイルには、画面定義系に分類されるＨＴＭＬテンプレート定義ファイルＦ１とタグ定義ファイルＦ２が、ＲＤＢアクセス系に分類される論理列名定義ファイルＦ３とＳＱＬテンプレート定義ファイルＦ４が、アクション定義系に分類されるＰｌｕｇＩｎ定義ファイルＦ５が設けられている。コンフィグレーションファイルの作成には、ＷＥＢシステム開発等の知識と比べて専門的な知識が必要という問題があった。
【０００６】
このように、従来のサーバ装置及びクライアント装置を含むシステムでは、設定項目の異なる設定ページの追加や修正に莫大な工数が掛かり、設定ページの追加や修正を容易に行うことができないという問題があった。
【０００７】
本発明は、上記の点に鑑みなされたもので、ＷＥＢページの追加や修正を容易に行うことができるサーバ装置及びＷＥＢページ提供方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するため、本発明は、ネットワークを介して接続されているクライアント装置からの要求を受信し、要求に対応したプログラムを実行するサーバ装置であって、前記プログラムを含む１つ以上のプラグインと、前記プラグインから前記プログラムを取得するプログラム取得手段と、前記クライアント装置からの要求を受信するＷＥＢサーバと、前記ＷＥＢサーバが前記クライアント装置からの要求を受信すると、要求に対応した前記プログラムを前記プログラム取得手段から取得し、取得した前記プログラムに処理を委託し、前記クライアント装置に送信するＷＥＢページを生成させる制御手段とを有することを特徴とする。
【０００９】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１０】
本発明によれば、ＷＥＢページの追加や修正を容易に行うことができるサーバ装置及びＷＥＢページ提供方法を提供可能である。
【図面の簡単な説明】
【００１１】
【図１】サーブレットプラグイン化システムの一例の構成図である。
【図２】サーバ装置の一例のハードウェア構成図である。
【図３】サーバ装置の一例のブロック図である。
【図４】本実施の形態のサーブレットプラグイン化システムの処理の一例のシーケンス図である。
【図５】サーブレットプラグイン化システムを利用したＲＦＩＤシステムの一例の構成図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施の形態について、詳細に説明する。なお、本実施の形態におけるＳｅｒｖｌｅｔ（サーブレット）プラグイン化システムはサーバ装置及びクライアント装置を含むシステムの一例である。設定ページはＷＥＢページの一例である。
【００１３】
（構成図）
図１はサーブレットプラグイン化システムの一例の構成図である。図１のサーブレットプラグイン化システム１はクライアント装置１０とサーバ装置１１とがインターネットやＬＡＮなどのネットワーク１２を介して接続されている。また、サーバ装置１１はＷＥＢサーバ２１とＷＥＢシステム２２とサーブレット取得システム２３とプラグイン２４とを有する。図１のサーブレットプラグイン化システム１はクライアント装置１０が３つの例を示しているが、３つ以外であってもよい。また、ＷＥＢサーバ２１とＷＥＢシステム２２とサーブレット取得システム２３とプラグイン２４とは別の筐体に分けてもよい。
【００１４】
クライアント装置１０はユーザが操作する端末である。クライアント装置１０は例えばＷＥＢブラウザを搭載している。クライアント装置１０はネットワーク１２経由でサーバ装置１１と通信を行う。クライアント装置１０はＷＥＢシステム２２を利用する。クライアント装置１０はＷＥＢサーバ２１を介してＷＥＢシステム２２と通信を行う。ＷＥＢシステム２２はサーブレット取得システム２３から、サーブレットを取得する。ＷＥＢシステム２２はクライアント装置１０へ設定ページを返すためにサーブレット取得システム２３を利用する。
【００１５】
サーブレット取得システム２３はプラグイン２４からサーブレットを取得する。サーブレット取得システム２３は、プラグイン２４から取得したサーブレットを保持し、要求があるとＷＥＢシステム２２へサーブレットを提供する。プラグイン２４はサーブレット取得システム２３のサーブレットの取得先である。ＷＥＢシステム２２がサーブレットに対してｓｅｒｖｉｃｅメソッドを実行すると、サーブレットは設定ページのＨＴＭＬデータを生成して応答する。
【００１６】
例えばクライアント装置１０はネットワーク１２経由でＷＥＢサーバ２１に設定ページ表示要求を送信する。ＷＥＢサーバ２１は設定ページ表示応答として設定ページのＨＴＭＬデータを返す。Ｗｅｂサーバ２１が設定ページ表示要求を受け取ってから設定ページ表示応答として設定ページのＨＴＭＬデータを返すまでの詳細は後述する。
【００１７】
図２はサーバ装置の一例のハードウェア構成図である。サーバ装置１１は例えば図２に示すようなハードウェア構成により実現される。サーバ装置１１はバス３９で相互に接続されている入力装置３１、出力装置３２、記録媒体読取装置３３、補助記憶装置３４、主記憶装置３５、演算処理装置３６及びインタフェース装置３７を含む。
【００１８】
入力装置３１はキーボードやマウス等である。入力装置３１は各種信号を入力するために用いられる。出力装置３２はディスプレイ装置等である。出力装置３２は各種ウインドウやデータ等を表示するために用いられる。インタフェース装置３７は、モデム，ＬＡＮカード等である。インタフェース装置３７はインターネットやＬＡＮなどのネットワーク１２に接続するために用いられる。
【００１９】
サーバ装置１１のＷＥＢサーバ２１、ＷＥＢシステム２２、サーブレット取得システム２３、プラグイン２４を実現するプログラムは、サーバ装置１１を制御する各種プログラムの少なくとも一部である。プログラムは例えば記録媒体３８の配布やネットワーク１２等からのダウンロードなどによって提供される。
【００２０】
記録媒体３８はＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等の様に情報を光学的，電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
【００２１】
プログラムを記録した記録媒体３８が記録媒体読取装置３３にセットされると、プログラムは記録媒体３８から記録媒体読取装置３３を介して補助記憶装置３４にインストールされる。ネットワーク１２等からダウンロードされたプログラムはインタフェース装置３７を介して補助記憶装置３４にインストールされる。
【００２２】
補助記憶装置３４はプログラム、必要なファイル、データ等を格納する。主記憶装置３５はプログラムの起動時に補助記憶装置３４からプログラムを読み出して格納する。演算処理装置３６は主記憶装置３５に格納されたプログラムに従って各種処理を実現する。
【００２３】
図３はサーバ装置の一例のブロック図である。ＷＥＢサーバ２１は、Ｊａｖａ（登録商標）ＳｅｒｖｅｒＡＰＩに対応したＷＥＢサーバソフトウェアである。ＷＥＢサーバ２１はサーブレットエンジンやサーブレットコンテナと呼ぶモジュールによりサーブレットが動作するように拡張される。
【００２４】
サーブレット取得システム２３はクラスローダ切り替え機能部４２とサーブレット取得機能部４３とを有する。クラスローダ切り替え機能部４２はＷＥＢサーバ２１の起動時に実行される。クラスローダ切り替え機能部４２はプラグイン２４をＷＥＢサーバ２１の子クラスローダに切り替える機能を提供する。クラスローダとはロードしたクラスを管理するためのモジュールである。クラスローダには親子関係がある。サーブレット取得機能部４３はＷＥＢサーバ２１の子クラスローダに切り替えたプラグイン２４内のサーブレット４４のインスタンスを生成し、そのインスタンスを保持する。
【００２５】
ＷＥＢサーバ２１はサーブレット取得機能部４３で生成したインスタンスの呼び出しリクエストを受けた場合、その呼び出しリクエストをＷＥＢシステム２２に送る。ＷＥＢシステム２２はＷＥＢサーバ２１から呼び出しリクエストを受け取ると、サーブレット取得システム２３から呼び出しリクエストに対応したサーブレット４４を取得する。
【００２６】
ＷＥＢシステム２２は取得したサーブレット４４に対してｓｅｒｖｉｃｅメソッドを実行する（呼び出す）ことで、サーブレット４４に処理を委託する。サーブレット４４はＷＥＢサーバ２１に対してＨＴＭＬデータをレスポンスとして返す。プラグイン２４内に組み込まれているＨＴＭＬデータ４５及びＪａｖａ（登録商標）Ｓｃｒｉｐｔ４６はサーブレット４４の処理実行時に読み込まれるファイルである。サーブレット４４は読み込んだＨＴＭＬデータ４５及びＪａｖａ（登録商標）Ｓｃｒｉｐｔ４６を利用してＷＥＢサーバ２１にＨＴＭＬデータをレスポンスとして返す。
【００２７】
（処理手順）
図４は本実施の形態のサーブレットプラグイン化システムの処理の一例のシーケンス図である。プラグイン２４の設定ページの表示は例えば図４に示すシーケンス図の手順で行われる。
【００２８】
ステップＳ１において、ＷＥＢサーバ２１は起動される。サーブレット取得システム２３はＷＥＢサーバ２１の起動を通知される。ステップＳ２において、サーブレット取得システム２３内のクラスローダ切り替え機能部４２はプラグイン２４をＷＥＢサーバ２１の子クラスローダに切り替える。
【００２９】
ステップＳ３において、サーブレット取得システム２３内のサーブレット取得機能部４３はＷＥＢサーバ２１の子クラスローダに切り替えられたプラグイン２４のサーブレット４４のインスタンスを生成する。ステップＳ４において、サーブレット取得システム２３内のサーブレット取得機能部４３は、生成したサーブレット４４のインスタンスをサーブレット取得システム２３内に保持させる。ステップＳ２〜Ｓ４の処理はプラグイン２４の数だけ繰り返される。
【００３０】
ステップＳ５において、サーブレット取得システム２３内のクラスローダ切り替え機能部４２はＷＥＢサーバ２１のクラスローダを初期状態に戻す。例えばサーブレット取得システム２３内のクラスローダ切り替え機能部４２は、ＷＥＢサーバ２１の子クラスローダをプラグイン２４からＪａｖａ（登録商標）ＳｅｒｖｅｒＡＰＩに戻す。
【００３１】
ステップＳ６において、クライアント装置１０はＷＥＢサーバ２１を介してＷＥＢシステム２２にプラグイン２４の設定ページ表示要求を送信する。また、ＷＥＢシステム２２はステップＳ７において、ステップＳ２〜Ｓ４で生成したサーブレット４４のインスタンスをプラグイン２４の設定ページ表示要求に応じてサーブレット取得システム２３から取得する。
【００３２】
ステップＳ８において、ＷＥＢシステム２２は、取得したインスタンスのサーブレット４４に対してｓｅｒｖｉｃｅ（）メソッドを実行して処理を委託する。ステップＳ９において、ｓｅｒｖｉｃｅ（）メソッドを実行されたサーブレット４４はプラグイン２４内に組み込まれているＨＴＭＬデータ４５及びＪａｖａ（登録商標）Ｓｃｒｉｐｔ４６を読み込んで動的にＨＴＭＬデータを生成する。
【００３３】
ステップＳ１０において、ｓｅｒｖｉｃｅ（）メソッドを実行されたサーブレット４４はステップＳ９で生成したＨＴＭＬデータをクライアント装置１０へプラグイン２４の設定ページ表示応答として返す。ステップＳ１１、Ｓ１２において、クライアント装置１０にＨＴＭＬデータが返ると、クライアント装置１０のＷＥＢブラウザには、プラグイン２４の設定ページが表示される。
【００３４】
本実施の形態のサーブレットプラグイン化システム１は、全ての機能（サーブレット４４、ＨＴＭＬデータ４５、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ４６等）を一つのプラグイン２４に含ませているため、プラグイン２４単位でＷＥＢサーバ２１上での制御からＨＴＭＬデータの出力までの全ての工程を行うことができる。
【００３５】
したがって、本実施の形態のサーブレットプラグイン化システム１では既存のＷＥＢシステム２２に修正を入れることなくプラグイン２４の追加や修正を行うことで新規の設定ページの追加や修正を容易に行うことができる。
【実施例１】
【００３６】
例えばＲＦＩＤシステムのアウトプットプラグインはアウトプットプラグインによって設定項目が異なる場合がある。ＲＦＩＤシステムは無線通信を用いてＩＣタグ（ＲＦＩＤタグ）のタグデータの読み書きを行うシステムである。アウトプットプラグインは読み込んだタグデータを外部に通知または保存するプラグインである。ＲＦＩＤシステムでは新規にアウトプットプラグインを追加するとき、追加するアウトプットプラグイン専用の設定ページを新規追加する方法が知られていた。
【００３７】
しかし、追加するアウトプットプラグイン専用の設定ページを新規追加する方法は設定ページを追加するために既存のＷＥＢシステムに対して追加や修正を加えていた。具体的には既存のＷＥＢシステム内にサーブレット、ＨＴＭＬデータ、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ等を追加し、更に既存のＷＥＢシステムと連携させる必要があった。
【００３８】
そのため、追加するアウトプットプラグイン専用の設定ページを新規追加する方法はＷＥＢシステムに対して再度テストを行わなければならず、膨大な工数が掛かったり、デグレードが発生したりする問題があった。また、サードベンダがアウトプットプラグインを作成する場合は既存のＷＥＢシステムを構築する必要があった。
【００３９】
以下では、本実施の形態のサーブレットプラグイン化システム１を利用したＲＦＩＤシステム５１について説明する。図５はサーブレットプラグイン化システムを利用したＲＦＩＤシステムの一例の構成図である。
【００４０】
ＲＦＩＤシステム５１はサーブレットプラグイン化システム５２、サーブレットプラグイン５３、アウトプットプラグイン５４を有する。サーブレットプラグイン５３は上記のプラグイン２４に相当する。サーブレットプラグイン５３とアウトプットプラグイン５４とは一対一に対応している。サーブレットプラグイン５３はアウトプットプラグイン５４の設定ページをクライアント装置５５に提供する。ユーザはクライアント装置５５からタグデータの通知先や保存先などを変更できる。
【００４１】
ＲＦＩＤシステム５１に接続されたＲＦＩＤリーダライタ５６はアンテナ５７と接続されている。ＲＦＩＤリーダライタ５６はＲＦＩＤタグ５８のタグデータの読み書きを行うことが可能である。ＲＦＩＤリーダライタ５６を利用するとき、ユーザはクライアント装置５５から使用するアウトプットプラグイン５４及びアンテナ５７等を指定する。
【００４２】
ＲＦＩＤリーダライタ５６によってＲＦＩＤタグ５８から読み出されたタグデータはＲＦＩＤシステム５１のサーブレットプラグイン化システム５２を介してアウトプットプラグイン５４のタグデータの通知先や保存先に送信される。アウトプットプラグイン５４が追加された場合はサーブレットプラグイン５３を追加することで対応できる。
【００４３】
なお、図５のＲＦＩＤシステム５１は本実施例の説明に不要なシステムについて図示及び説明を省略している。
【００４４】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。なお、特許請求の範囲に記載したプログラム取得手段はサーブレット取得システム２３に相当する。制御手段はＷＥＢシステム２２に相当する。切り替え機能部はクラスローダ切り替え機能部２３に相当する。
【符号の説明】
【００４５】
１、５２    サーブレットプラグイン化システム
１０、５５    クライアント装置
１１    サーバ装置
１２    ネットワーク
２１    ＷＥＢサーバ
２２    ＷＥＢシステム
２３    サーブレット取得システム
２４    プラグイン
３１    入力装置
３２    出力装置
３３    記録媒体読取装置
３４    補助記憶装置
３５    主記憶装置
３６    演算処理装置
３７    インタフェース装置
３８    記録媒体
３９    バス
４２    クラスローダ切り替え機能部
４３    サーブレット取得機能部
４４    サーブレット
４５    ＨＴＭＬデータ
４６    Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ
５１    ＲＦＩＤシステム
５３    サーブレットプラグイン
５４    アウトプットプラグイン
５６    ＲＦＩＤリーダライタ
５７    アンテナ
５８    ＲＦＩＤタグ
【先行技術文献】
【特許文献】
【００４６】
【特許文献１】特開２００５−２７５７４５号公報
【図１】
0005733063.tif 000002
【図２】
0005733063.tif 000003
【図３】
0005733063.tif 000004
【図４】
0005733063.tif 000005
【図５】
0005733063.tif 000006