(57)【要約】【課題】少ないリソースのサーバ機器上でアプリケーションプログラムを実行することを目的とする。【解決手段】組み込みサーバ機器２１と管理サーバ機器４とクライアント機器３４がネットワーク３８に接続されており、組み込みサーバ機器２１、管理サーバ機器２４上ではそれぞれＷｅｂサービスを提供する組み込みアプリケーションプログラム、アプリケーションプログラムである各エンジン、コンパイラが動作しており、クライアント機器３４上では組み込みアプリケーションプログラムが提供するＷｅｂサービスを利用するＷｅｂブラウザ３５が動作しており、実行部２２は、管理サーバ機器２４においてＪＳＰファイル３０から生成されるサーブレットを利用して、クライアント機器３４にＷｅｂサービスを提供することを特徴とするＷｅｂサービスシステム。【選択図】        図１
2004199486.tif 000002
【特許請求の範囲】
【請求項１】
プログラムのソースコードを登録するデータベースと、
上記データベースに登録されたプログラムのソースコードからクライアント機器が要求する所定の情報をクライアント機器に出力するためのモジュールプログラムを生成する生成部と、
モジュールプログラムを実行する組み込みサーバ機器に上記生成部によって生成されたモジュールプログラムを受信させ、受信させたモジュールプログラムを実行させることによってクライアント機器から要求された所定の情報をクライアント機器に出力する管理部とを備える管理サーバ機器。
【請求項２】
上記データベースは、上記生成部によって生成されたモジュールプログラムを登録し、
上記管理部は、組み込みサーバ機器からモジュールプログラムの生成依頼を受け、当該モジュールプログラムが上記データベースに登録されているかを検索し、登録されている場合には当該モジュールプログラムを組み込みサーバ機器に送信し、登録されていない場合には要求されたモジュールプログラムの生成を上記生成部に要求し、
上記生成部は、上記管理部からの要求に基づいて上記データベースに登録されたプログラムのソースコードから要求されたモジュールプログラムを生成し、生成したモジュールプログラムを組み込みサーバ機器に送信する請求項１に記載された管理サーバ機器。
【請求項３】
上記データベースは、クライアント機器から送信されたプログラムのソースコードを登録し、
上記生成部は、上記データベースへプログラムのソースコードを登録するタイミングに連動して登録されたプログラムのソースコードからモジュールプログラムを生成する請求項１に記載された管理サーバ機器。
【請求項４】
上記生成部は、組み込みサーバ機器からモジュールプログラムの生成を依頼されたタイミングに連動して上記データベースに登録されたプログラムのソースコードからモジュールプログラムを生成する請求項１に記載された管理サーバ機器。
【請求項５】
上記管理サーバ機器は、さらに、
所定のモジュールプログラムを記憶するキャッシュメモリを備え、
上記管理部は、組み込みサーバ機器からのモジュールプログラムの生成依頼に対応して、要求されたモジュールプログラムが上記データベースに登録されているかを検索する前に上記キャッシュメモリに記憶されているかを検索し、記憶されている場合には当該モジュールプログラムを組み込みサーバ機器に送信することによって所定の情報をクライアント機器に出力する請求項２に記載された管理サーバ機器。
【請求項６】
上記生成部は、さらに、
上記生成部が生成したモジュールプログラムを実行し、所定の情報を出力するかを確認し、確認した結果、所定の情報を出力しないモジュールプログラムを破棄する確認部を備える請求項１に記載された管理サーバ機器。
【請求項７】
上記データベースは、登録されたデータを管理する機能を持つ第１のアーカイブファイルと第２のアーカイブファイルとを有し、プログラムのソースコードを第１のアーカイブファイルに登録し、プログラムのソースコードから生成されたモジュールプログラムを第２のアーカイブファイルに登録する請求項２に記載された管理サーバ機器。
【請求項８】
上記生成部は、さらに、
上記第２のアーカイブファイルに登録されたモジュールプログラムを解析し、解析した結果、モジュールプログラムを実行するために必要なクラスファイルを抽出し、抽出したクラスファイルを上記第２のアーカイブファイルに登録する最適化部を備える請求項７に記載された管理サーバ機器。
【請求項９】
上記データベースは、上記プログラムのソースコードとしてＪＳＰ（Ｊａｖａ（登録商標）  Ｓｅｒｖｅｒ  Ｐａｇｅｓ）ファイルを登録し、
上記生成部は、ＪＳＰ（Ｊａｖａ（登録商標）  Ｓｅｒｖｅｒ  Ｐａｇｅｓ）ファイルから上記モジュールプログラムとしてサーバ側で実行されるアプリケーションであるサーブレットを生成する請求項１に記載された管理サーバ機器。
【請求項１０】
プログラムのソースコードを登録するデータベースと、
上記データベースに登録されたプログラムのソースコードからクライアント機器に所定の情報を出力するためのモジュールプログラムを生成する生成部とを備えた管理サーバ機器と、
上記生成部が生成したモジュールプログラムを実行することによってクライアント機器から要求された所定の情報をクライアント機器に出力する実行部を備えた組み込みサーバ機器とを備えるサーバシステム。
【請求項１１】
上記組み込みサーバ機器は、さらに、
モジュールプログラムを記憶するモジュール記憶部と、
上記生成部によって生成されたモジュールプログラムを上記モジュール記憶部に登録する登録部を備え、
上記実行部は、上記登録部によって登録されたモジュールプログラムを実行する請求項１０に記載されたサーバシステム。
【請求項１２】
上記サーバシステムは、上記組み込みサーバ機器を複数備え、
上記複数の組み込みサーバ機器の各登録部は、各々、上記生成部によって生成されたモジュールプログラムを上記複数の組み込みサーバ機器の各モジュール記憶部に登録する請求項１１に記載されたサーバシステム。
【請求項１３】
上記サーバシステムは、上記組み込みサーバ機器を複数備え、
上記複数の組み込みサーバ機器のうちクライアント機器から所定の情報を要求された組み込みサーバ機器の登録部は、上記生成部によって生成されたモジュールプログラムをモジュール記憶部に登録する請求項１１に記載されたサーバシステム。
【請求項１４】
上記登録部は、クライアント機器からプログラムのソースコードをモジュール記憶部に登録し、登録したプログラムのソースコードを送信し、
上記生成部は、上記送信されたプログラムのソースコードからモジュールプログラムを生成する請求項１１に記載されたサーバシステム。
【請求項１５】
上記登録部は、上記モジュール記憶部へプログラムのソースコードを登録するタイミングに連動して登録したプログラムのソースコードを送信し、
上記生成部は、上記プログラムのソースコードが送信されたタイミングに連動してプログラムのソースコードからモジュールプログラムを生成する請求項１４に記載されたサーバシステム。
【請求項１６】
上記登録部は、クライアント機器から所定の情報を要求されたタイミングに連動して所定の情報を出力するためのプログラムのソースコードをモジュール記憶部から選択し、選択したプログラムのソースコードを送信し、
上記生成部は、上記プログラムのソースコードが送信されたタイミングに連動してプログラムのソースコードからモジュールプログラムを生成する請求項１１に記載されたサーバシステム。
【請求項１７】
上記サーバシステムは、さらに、
プログラムのソースコードの管理し、所定の場合に管理したプログラムのソースコードを送信する管理クライアント機器を備え、
上記登録部は、上記管理クライアント機器によって送信されたプログラムのソースコードをモジュール記憶部に登録し、登録したプログラムのソースコードを送信し、
上記生成部は、上記送信されたプログラムのソースコードからモジュールプログラムを生成する請求項１１に記載されたサーバシステム。
【請求項１８】
上記サーバシステムは、上記管理サーバ機器の有するハードウエアの資源が上記組み込みサーバ機器の有するハードウエアの資源より豊富であることを特徴とする請求項１０に記載されたサーバシステム。
【請求項１９】
プログラムのソースコードをデータベースに登録し、
上記データベースに登録されたプログラムのソースコードからクライアント機器が要求する所定の情報をクライアント機器に出力するためのモジュールプログラムを生成し、
モジュールプログラムを実行する組み込みサーバ機器に上記生成したモジュールプログラムを受信させ、受信させたモジュールプログラムを組み込みサーバ機器に実行させることによってクライアント機器から要求された所定の情報をクライアント機器に出力する情報提供方法。
【請求項２０】
プログラムのソースコードをデータベースに登録する処理と、
上記データベースに登録されたプログラムのソースコードからクライアント機器が要求する所定の情報をクライアント機器に出力するためのモジュールプログラムを生成する処理と、
モジュールプログラムを実行する組み込みサーバ機器に上記生成したモジュールプログラムを受信させ、受信させたモジュールプログラムを組み込みサーバ機器に実行させることによってクライアント機器から要求された所定の情報をクライアント機器に出力する処理とをコンピュータに実行させる情報提供プログラム。
【請求項２１】
プログラムのソースコードをデータベースに登録する処理と、
上記データベースに登録されたプログラムのソースコードからクライアント機器が要求する所定の情報をクライアント機器に出力するためのモジュールプログラムを生成する処理と、
モジュールプログラムを実行する組み込みサーバ機器に上記生成したモジュールプログラムを受信させ、受信させたモジュールプログラムを組み込みサーバ機器に実行させることによってクライアント機器から要求された所定の情報をクライアント機器に出力する処理とをコンピュータに実行させるための情報提供プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、少ないリソースのプラットフォームのＨ／Ｗ上でアプリケーションプログラムを実行する装置及びシステムに関するものである。
【０００２】
【従来の技術】
現在、アプリケーションサーバは、ＪＳＰを利用してＷｅｂサービスを提供するものが増えてきている。ＪＳＰはＨＴＭＬファイルやＸＭＬファイル中に専用のタグやＪａｖａ（登録商標）のコードを記述して、動的なコンテンツをクライアントに提供するための技術である。
この技術を実現するために、例えば、Ｗｅｂサービスを提供するためのＨ／Ｗであるサーバ１、Ｗｅｂサービスを提供するためのＳ／Ｗであるアプリケーションサーバ２、サーブレットの実行環境であるサーブレットエンジン３、Ｊａｖａ（登録商標）で記述されたソースからプラットフォーム非依存のクラスファイルを生成するＪａｖａ（登録商標）コンパイラ４、ＪＳＰファイルからサーブレットのソースを生成し、さらに生成したサーブレットのソースからＪａｖａ（登録商標）コンパイラ４を使用してサーブレットの生成を行うＪＳＰエンジン５、ＨＴＭＬファイルやＸＭＬファイル中に専用のタグやＪａｖａ（登録商標）のコードが記述されているＪＳＰファイル６、ＪＳＰファイル６から生成されたサーブレットのソース７、サーブレットのソース７から生成されたサーブレット８、Ｗｅｂサービスを利用するためのＨ／Ｗであるクライアント９、Ｗｅｂサービスを利用するためのＳ／ＷであるＷｅｂブラウザ１０、サーバ１とクライアント９間を接続するネットワーク１１を構成要素としたシステムが考えられる（例えば、特開２００１−３４４１０５号公報参照）。
【０００３】
以下にＪＳＰを利用したＷｅｂサービスの実行手順を示す。
まず、Ｗｅｂサービスを利用したいユーザはクライアント９上にあるＷｅｂブラウザ１０を使用して、サーバ１上にあるアプリケーションサーバ２が提供するＪＳＰページにアクセスする。アプリケーションサーバ２はＷｅｂブラウザ１０からの要求に対応するＪＳＰページを提供するサーブレット８があるかをチェックし、ある場合はそのサーブレット８をサーブレットエンジン３で実行し、要求されたＪＳＰページをＷｅｂブラウザ１０に返す。
もし、対応するサーブレット８がない場合は、ＪＳＰエンジン５を使用して要求されたＪＳＰページに対応するＪＳＰファイル６からサーブレットのソース７を生成し、さらにＪａｖａ（登録商標）コンパイラ４を使用して、このサーブレットのソース７からサーブレット８を生成する。そして、この生成したサーブレット８をサーブレットエンジン３で実行し、要求されたＪＳＰページをＷｅｂブラウザ１０に返す。
【０００４】
【特許文献１】
特開２００１−３４４１０５号公報
【０００５】
【発明が解決しようとする課題】
ＪＳＰページに対応するサーブレットの生成には、上記したようにＪＳＰファイルからサーブレットのソースの生成のためのリソースと、生成されたサーブレットをコンパイルしてサーブレットを生成するためのリソースが必要になる。
またＪａｖａ（登録商標）コンパイラは実行速度等の問題から通常特定のプラットフォームに依存したネイディブコードで提供される。このためＪＳＰ機能を持つアプリケーションサーバは比較的大きなリソースを持つ特定のプラットフォームのサーバでしか実現できないという問題があった。
【０００６】
本発明は、アプリケーションサーバとは別に新たに管理サーバを設け、ＪＳＰファイルからサーブレットを生成する機能をこの管理サーバで行うようにすることによって、少ないリソースしか持たないＨ／Ｗや様々なプラットフォーム上でＪＳＰを利用できるアプリケーションサーバを動作させることを目的とする。
【０００７】
【課題を解決するための手段】
本発明に係る管理サーバ機器は、プログラムのソースコードを登録するデータベースと、上記データベースに登録されたプログラムのソースコードからクライアント機器が要求する所定の情報をクライアント機器に出力するためのモジュールプログラムを生成する生成部と、モジュールプログラムを実行する組み込みサーバ機器に上記生成部によって生成されたモジュールプログラムを受信させ、受信させたモジュールプログラムを組み込みサーバ機器に実行させることによってクライアント機器から要求された所定の情報をクライアント機器に出力する管理部とを備える。
【０００８】
【発明の実施の形態】
実施の形態１．
以下、図面を用いながら実施の形態１について説明する。
図１に本発明の実施の形態１におけるシステム構成及び動作を示す。
図１において、組み込みサーバ機器２１はＷｅｂサービスを提供する機器である。この組み込みサーバ機器２１は組み込み用であるため、ＣＰＵ、メモリなどのハードウエアの資源（リソース）に乏しく、また、さまざまなプラットフォーム（組み込みＯＳなど）のサーバである。
実行部２２は、組み込みサーバ機器２１上でＷｅｂサービスを提供するためのＳ／Ｗである組み込みサーブレットエンジン２３を実行する。組み込みサーブレットエンジン２３は実行部２２内でのサーブレットの実行環境である。
管理サーバ機器２４は、ＪＳＰ機能を提供する機器である。管理サーバ機器２４は通常のサーバのように比較的リソースに余裕があり、Ｊａｖａ（登録商標）コンパイラが利用できるような一般的なプラットフォームのサーバである。したがって、管理サーバ機器２４の有するハードウエアの資源は、組み込みサーバ機器２１の有するハードウエアの資源より豊富である。
【０００９】
生成部２５は管理サーバ機器２４上でＷｅｂサービスを提供するためのＳ／Ｗを生成する。実行部２２と生成部２５で実行されるＳ／Ｗであるアプリケーションプログラムの機能は基本的には同じであり、一般的には前者がリソース優先、後者が性能優先であるが、同じものでもかまわない。
サーブレットエンジン２６は生成部２５内でのサーブレットの実行環境である。組み込みサーブレットエンジン２３とサーブレットエンジン２６の機能は基本的には同じであり、これも一般的には前者がリソース優先、後者が性能優先であるが、同じものでもかまわない。
Ｊａｖａ（登録商標）コンパイラ２７はＪａｖａ（登録商標）で記述されたソースからプラットフォーム非依存のクラスファイルを生成する。ＪＳＰエンジン２８はＪＳＰファイルからサーブレットのソースコードを生成し、さらに生成されたサーブレットのソースコードからＪａｖａ（登録商標）コンパイラ２７を使用してサーブレットの生成を行う。
登録部２９は組み込みサーバ機器２１にサーブレットを外部から登録できるようにするためのサービスを提供する。
【００１０】
ＪＳＰファイル３０はＨＴＭＬファイルやＸＭＬファイル中に専用のタグやＪａｖａ（登録商標）のコードが記述されているファイルである。ここで、ＪＳＰファイル３０とは、動的に生成されたページを表示するＷｅｂサイトを実現するためのファイルをいう。ＪＳＰファイルはプログラムのソースコードの一例である。
サーブレットのソースコード３１はＪＳＰファイル３０から生成されるソースコードである。
サーブレット３２はサーブレットのソースコード３１から生成される。サーブレットとは、ネットワークからロード可能で、ダイナミックにサーバの機能を拡張するためのＪａｖａ（登録商標）アプリケーションである。サーブレット３２はクライアント機器３４が要求するＷｅｂページなどの情報をクライアント機器３４に出力するためのモジュールプログラムの一例である。
生成部２５は、ＪＳＰエンジン２８を使用してＪＳＰファイル３０からサーブレットのソースコード３１を生成し、さらにサーブレットのソースコード３１からＪａｖａ（登録商標）コンパイラ２７を使用してサーブレット３２を生成する。
ＪＳＰファイル３０及びサーブレットのソースコード３１及びサーブレット３２はデータベース１３０に登録されている。
管理部３３はＪＳＰファイル３０のデータベース１３０への登録等を行う管理ページの提供や管理ページが提供する機能を処理する管理サーブレット５１を使用してデータベース１３０内のデータ管理を行う。
【００１１】
クライアント機器３４はＷｅｂサービスを利用するための機器であり、Ｗｅｂブラウザ３５はＷｅｂサービスを利用するために使用するＳ／Ｗである。クライアント機器３４はＷｅｂブラウザ３５を用いてＷｅｂサービスを利用する。
管理クライアント機器３６はリモートで管理するための機器である。クライアント機器３４と管理クライアント機器３６のＨ／Ｗスペックは同じものでよい。またこの実施の形態ではクライアント機器３４と管理クライアント機器３６は別々のＨ／Ｗとして説明するが、同一のＨ／Ｗとしてもよい。
管理用Ｗｅｂブラウザ３７はリモートで管理するためのＳ／Ｗである。Ｗｅｂブラウザ３５と管理用Ｗｅｂブラウザ３７のＳ／Ｗスペックはサーブレット３２、管理サーブレット５１が作成するコンテンツを扱えるなら同じものでよい。また、この実施の形態ではＷｅｂブラウザ３５と管理用Ｗｅｂブラウザ３７は別々のＳ／Ｗとして説明するが、同一のＳ／Ｗとしてもよい。また、一般的なＷｅｂブラウザの代わりに専用の管理用Ｓ／Ｗを使用してもよい。
【００１２】
ネットワーク３８は組み込みサーバ機器２１、管理サーバ機器２４、クライアント機器３４、管理クライアント機器３６間を接続する。
キャッシュメモリ５０は、所定のサーブレット３２を記憶する。所定のサーブレット３２としては、例えば、データベース１３０に登録されたサーブレット３２の内、クライアント機器３４からの使用要求が多いものから優先してキャッシュメモリ５０へ記憶する方法が考えられる。
【００１３】
本実施の形態の構成は以上のようになっており、次に、ＪＳＰファイル３０の登録からＪＳＰファイル３０を利用したＷｅｂサービスの実行手順について説明する。図２、図３は、ＪＳＰファイル３０を利用したＷｅｂサービスの実行手順を示すフローチャートである。以下、図１〜図３を用いて動作を説明する。
まず、図１及び図２に示すように、管理クライアント機器３６は、管理者の要求に応じて管理用Ｗｅｂブラウザ３７を使用して、管理部３３上の管理サーブレット５１が提供する管理ページにアクセスする。管理ページはＨＴＭＬ、ＸＭＬ、アプレット等管理用Ｗｅｂブラウザ３７で利用できるものであればどのようなものでもかまわない（Ｓ１）。
次に管理部３３は、管理ページを用いて管理クライアント機器３６から渡されたＪＳＰファイル３０を管理サーバ機器２４に登録する（Ｓ２）。
次に管理部３３は、管理サーブレット５１を用いて管理サーバ機器２４上の生成部２５にＪＳＰファイル３０のコンパイルを依頼する（Ｓ３）。
【００１４】
次に、生成部２５はＪＳＰエンジン２８を使用してＪＳＰファイル３０からサーブレットのソースコード３１を生成し、さらに生成したサーブレットのソースコード３１からサーブレット３２を生成する（Ｓ４）。
次に、管理部３３は、管理サーブレット５１を使用して生成されたサーブレット３２を組み込みサーバ機器２１の登録部２９に登録を依頼する（Ｓ５）。この時の処理としては、管理部３３が管理サーブレット５１を使用してブロードキャスト（マルチキャストでもよい）で登録部２９に登録要求を出し、登録部２９がデータベース１３０に登録されたサーブレット３２を取り出すようにしてもよい。または、管理部３３が管理サーブレット５１を使用してブロードキャスト（マルチキャストでもよい）で登録部２９に登録要求と同時にデータとしてサーブレット３２を送信してもよい。または、管理部３３が管理サーブレット５１を使用して各組み込みサーバ機器２１上の登録部２９に個々に登録要求を出し、登録部２９が管理サーバ機器２４上のサーブレット３２を取り出すようにしてもよい。または、管理部３３が管理サーブレット５１を使用して各組み込みサーバ機器２１上の登録部２９に登録要求と同時にデータとしてサーブレット３２を送信するようにしてもよい。
次に、登録部２９はサーブレット３２をモジュール記憶部１３２に登録する（Ｓ６）。
【００１５】
次に、図２及び図３に示すように、Ｗｅｂサービスを利用したいユーザの要求に応じてクライアント機器３４は、Ｗｅｂブラウザ３５を使用して、組み込みサーバ機器２１上にある実行部２２が提供するＪＳＰページ（図示していない）にアクセスする。
次に、実行部２２はＷｅｂブラウザ３５からの要求に対応するＪＳＰページを提供するサーブレット３２がモジュール記憶部１３２に登録されているかをチェックする（Ｓ８）。
サーブレット３２が登録されている場合はサーブレット３２を組み込みサーブレットエンジン２３で実行し、要求されたＪＳＰページをクライアント機器３４上のＷｅｂブラウザ３５に返す（Ｓ９）。
一方、サーブレット３２が登録されていない場合はＷｅｂブラウザ３５にエラーを返す（Ｓ１０）。
【００１６】
管理部３３は、組み込みサーバ機器２１からのサーブレット３２の生成要求に対応して、上述したＳ８に替えて、要求されたサーブレット３２がデータベース１３０に登録されているかを検索する前にキャッシュメモリ５０に記憶されているかを検索し、記憶されている場合には当該サーブレットを組み込みサーバ機器２１に実行させることによって要求されたＪＳＰページをクライアント機器３４に表示させることも可能である。この方法では、要求されたサーブレット３２がキャッシュメモリ５０に記憶されていない場合には、管理部３３は、上述したＳ８に記載したように、要求されたサーブレット３２がデータベース１３０に登録されているかを検索する。管理部３３のキャッシュメモリ５０を使用した上記動作は本実施の形態だけでなく、以下のすべての実施の形態においても行うことが可能である。
【００１７】
また、サーブレット３２の生成時期については、Ｓ４に示したサーブレット３２の生成は、管理用Ｗｅｂブラウザ３７を用いて管理サーバ機器２４へＪＳＰファイル３０が渡された時点で、管理サーバ機器２４に渡されたＪＳＰファイル３０から生成する場合や、ＪＳＰファイル３０がデータベース１３０に登録された時点で、データベース１３０に登録されたＪＳＰファイル３０から生成する場合などが考えられる。これについても以下のすべての実施の形態において適用可能である
【００１８】
以上、リソースの少ない組み込みサーバ機器２１とリソースに余裕のある管理サーバ機器２４とクライアント機器３４がネットワーク３８に接続されており、組み込みサーバ機器２１ではＷｅｂサービスを提供する組み込みアプリケーションプログラムが動作しており、Ｗｅｂサービスを提供する組み込みアプリケーションプログラムは組み込みサーブレットエンジン２３を内包している。また、管理サーバ機器２４ではＷｅｂサービスを提供するアプリケーションプログラムが動作しており、Ｗｅｂサービスを提供するアプリケーションプログラムはサーブレットエンジン２６とＪＳＰエンジン２８とＪａｖａ（登録商標）コンパイラ２７とを内包している。さらに、クライアント機器３４上では組み込みアプリケーションプログラムが提供するＷｅｂサービスを利用するＷｅｂブラウザ３５が動作しており、実行部２２は、管理サーバ機器２４においてモジュールのソースコードから生成されるモジュールを利用して、クライアント機器３４にＷｅｂサービスを提供することを特徴とするＷｅｂサービスシステム及びＷｅｂサービス提供方法について説明した。
【００１９】
また、管理サーバ機器２４で生成されるモジュールが、モジュールのソースがデータベース１３０に登録された時点で、データベース１３０に登録されたモジュールのソースから生成されることを特徴とするＷｅｂサービスシステム及びＷｅｂサービス提供方法について説明した。
【００２０】
また、管理サーバ機器２４で生成されるモジュールが、ネットワーク３８に接続されている複数の組み込みサーバ機器２１に登録されることを特徴とするＷｅｂサービスシステム及びＷｅｂサービス提供方法について説明した。
【００２１】
また、管理サーバ機器２４で生成されるモジュールが、管理サーバ機器２４のキャッシュメモリ５０内でキャッシュされることを特徴とするＷｅｂサービスシステム及びＷｅｂサービス提供方法について説明した。
【００２２】
また、リソースの少ない組み込みサーバ機器２１とリソースに余裕のある管理サーバ機器２４とクライアント機器３４と管理クライアント機器３６がネットワーク３８に接続されており、組み込みサーバ機器２１、管理サーバ機器２４上ではそれぞれＷｅｂサービスを提供する組み込みアプリケーションプログラム、アプリケーションプログラムが動作しており、さらに管理サーバ機器２４では管理用モジュールが動作しており、クライアント機器３４上では実行部２２がモジュールを動作させることによって提供するＷｅｂサービスを利用するＷｅｂブラウザ３５が動作しており、管理クライアント機器３６上では管理用Ｗｅｂブラウザ３７が動作しており、モジュールのソースは管理用Ｗｅｂブラウザ３７から管理モジュールが使用されて管理サーバ機器２４に渡され、実行部２２は、上述のように管理サーバ機器２４においてモジュールのソースから生成されるモジュールを利用して、Ｗｅｂサービスをクライアント機器３４に提供することを特徴とするＷｅｂサービスシステム及びＷｅｂサービス提供方法について説明した。
【００２３】
また、管理サーバ機器２４で生成されるモジュールが、管理用Ｗｅｂブラウザ３７から管理モジュールへモジュールのソースが渡された時点で、管理サーバ機器２４に渡されたモジュールのソースから生成されることを特徴とするＷｅｂサービスシステム及びＷｅｂサービス提供方法について説明した。
【００２４】
また、モジュールのソースがＪＳＰファイル３０、モジュールがサーブレット３２であることを特徴とするＷｅｂサービスシステム及びＷｅｂサービス提供方法について説明した。
【００２５】
このように、本実施の形態の管理サーバ機器２４の上記データベース１３０は、管理クライアント機器３６から送信されたプログラムのソースコードを登録し、
上記生成部２５は、上記データベース１３０へプログラムのソースコードを登録するタイミングに連動して登録されたプログラムのソースコードからモジュールプログラムを生成する。なお、管理クライアント機器３６とクライアント機器３４を同一のＨ／Ｗとした場合には、同一のＨ／Ｗとされたクライアント側の機器から、プログラムのソースコードが送信されることとなる。
【００２６】
また、上記管理サーバ機器２４は、さらに、
所定のモジュールプログラムを記憶するキャッシュメモリ５０を備え、
上記管理部３３は、組み込みサーバ機器２１からのモジュールプログラムの生成依頼に対応して、要求されたモジュールプログラムが上記データベース１３０に登録されているかを検索する前に上記キャッシュメモリ５０に記憶されているかを検索し、記憶されている場合には当該モジュールプログラムを組み込みサーバ機器２１に送信することによって所定の情報をクライアント機器３４に出力する。
【００２７】
また、上記データベース１３０は、上記プログラムのソースコードとしてＪＳＰ（Ｊａｖａ（登録商標）  Ｓｅｒｖｅｒ  Ｐａｇｅｓ）ファイルを登録し、
上記生成部２５は、ＪＳＰ（Ｊａｖａ（登録商標）  Ｓｅｒｖｅｒ  Ｐａｇｅｓ）ファイルから上記モジュールプログラムとしてサーバ側で実行されるアプリケーションであるサーブレットを生成する。
【００２８】
また、プログラムのソースコードを登録するデータベース１３０と、
本実施の形態のサーバシステムは、上記データベース１３０に登録されたプログラムのソースコードからクライアント機器３４に所定の情報を出力するためのモジュールプログラムを生成する生成部２５とを備えた管理サーバ機器２４と、上記生成部２５が生成したモジュールプログラムを実行することによってクライアント機器３４から要求された所定の情報をクライアント機器３４に出力する実行部２２を備えた組み込みサーバ機器２１とを備える。
【００２９】
また、上記組み込みサーバ機器２１は、さらに、
モジュールプログラムを記憶するモジュール記憶部１３２と、
上記生成部２５によって生成されたモジュールプログラムを上記モジュール記憶部１３２に登録する登録部２９を備え、
上記実行部２２は、上記登録部２９によって登録されたモジュールプログラムを実行する。
【００３０】
また、上記サーバシステムは、上記組み込みサーバ機器２１を複数備え、
上記複数の組み込みサーバ機器２１の各登録部２９は、各々、上記生成部２５によって生成されたモジュールプログラムを上記複数の組み込みサーバ機器２１の各モジュール記憶部１３２に登録する。
【００３１】
また、上記サーバシステムは、上記組み込みサーバ機器２１を複数備え、
上記複数の組み込みサーバ機器２１のうちクライアント機器３４から所定の情報を要求された組み込みサーバ機器２１の登録部２９は、上記生成部２５によって生成されたモジュールプログラムをモジュール記憶部１３２に登録する。
【００３２】
上記サーバシステムは、上記管理サーバ機器２４の有するハードウエアの資源が上記組み込みサーバ機器２１の有するハードウエアの資源より豊富であることを特徴とする。
【００３３】
本実施の形態の情報提供方法は、プログラムのソースコードをデータベース１３０に登録し、
上記データベース１３０に登録されたプログラムのソースコードからクライアント機器３４が要求する所定の情報をクライアント機器３４に出力するためのモジュールプログラムを生成し、
モジュールプログラムを実行する組み込みサーバ機器２１に上記生成したモジュールプログラムを受信させ、受信させたモジュールプログラムを組み込みサーバ機器２１に実行させることによってクライアント機器３４から要求された所定の情報をクライアント機器３４に出力する。
【００３４】
また、本実施の形態の情報提供プログラムは、プログラムのソースコードをデータベース１３０に登録する処理と、
上記データベース１３０に登録されたプログラムのソースコードからクライアント機器３４が要求する所定の情報をクライアント機器３４に出力するためのモジュールプログラムを生成する処理と、
モジュールプログラムを実行する組み込みサーバ機器２１に上記生成したモジュールプログラムを受信させ、受信させたモジュールプログラムを組み込みサーバ機器２１に実行させることによってクライアント機器３４から要求された所定の情報をクライアント機器３４に出力する処理とをコンピュータに実行させる。
【００３５】
また、本実施の形態の情報提供プログラムを記録したコンピュータ読み取り可能な記録媒体は、プログラムのソースコードをデータベース１３０に登録する処理と、
上記データベース１３０に登録されたプログラムのソースコードからクライアント機器３４が要求する所定の情報をクライアント機器３４に出力するためのモジュールプログラムを生成する処理と、
モジュールプログラムを実行する組み込みサーバ機器２１に上記生成したモジュールプログラムを受信させ、受信させたモジュールプログラムを組み込みサーバ機器２１に実行させることによってクライアント機器３４から要求された所定の情報をクライアント機器３４に出力する処理とをコンピュータに実行させる。
【００３６】
以上のような方法により、ＪＳＰファイル３０のコンパイルはリソースに余裕のある特定のプラットフォームである管理サーバ機器２４上で行われるので、少ないリソースしか持たないＨ／Ｗを持つ組み込みサーバ機器２１や様々なプラットフォームを持つ組み込みサーバ機器２１上でＪＳＰファイル３０のコンパイルを実行することなくコンパイル後のサーブレット３２を動作させることができる。
【００３７】
実施の形態２．
次に実施の形態２ついて説明する。
図４に本発明の実施の形態２におけるシステム構成及び動作を示す。
図４におけるシステム構成は図２と同一である。以下、ＪＳＰファイル３０の登録からＪＳＰファイル３０を利用したＷｅｂサービスの実行手順について説明する。図５、図６は、実施の形態２におけるＪＳＰファイル３０を利用したＷｅｂサービスの実行手順を示すフローチャートである。
以下、図４〜図６を用いて動作を説明する。
【００３８】
まず、管理者の要求に応じて管理クライアント機器３６は、管理用Ｗｅｂブラウザ３７を使用して、管理部３３上の管理サーブレット５１が提供する管理ページにアクセスし、ＪＳＰファイル３０を管理サーバ機器２４のデータベース１３０に登録する（Ｓ１，Ｓ２）。
次にＷｅｂサービスを利用したいユーザの要求に応じてクライアント機器３４は、Ｗｅｂブラウザ３５を使用して、組み込みサーバ機器２１上にある組み込みアプリケーションプログラムが提供するＪＳＰページにアクセスする（Ｓ７）。次に実行部２２は、Ｗｅｂブラウザ３５からの要求に対応するＪＳＰページを提供するサーブレット３２が登録されているかモジュール記憶部１３２をチェックする（Ｓ８）。
サーブレット３２が登録されている場合、実行部２２はサーブレット３２を組み込みサーブレットエンジン２３で実行し、要求されたＪＳＰページをＷｅｂブラウザ３５に返す（Ｓ９）。
一方、サーブレット３２が登録されていない場合、実行部２２は登録部２９にサーブレット３２の登録を依頼し、登録部２９は管理サーバ機器２４の管理部３３にアクセスし、サーブレット３２を要求する（Ｓ１０）。
【００３９】
次に管理部３３はサーブレット３２がデータベース１３０に登録されているかをチェックし、登録されている場合はこれを送信する（Ｓ１１）。
サーブレット３２の送信処理は実施の形態１と同様に、管理部３３が、管理サーブレット５１を用いてブロードキャスト（マルチキャストでもよい）で登録部２９に登録要求を出し、登録部２９が管理サーバ機器２４上のサーブレット３２を取り出すようにしてもよい。または、管理部３３が管理サーブレット５１を用いてブロードキャスト（マルチキャストでもよい）で登録部２９に登録要求と同時にデータとしてサーブレット３２を送信してもよい。または、管理部３３が管理サーブレット５１を用いて各組み込みサーバ機器２１上の登録部２９に個々に登録要求を出し、登録部２９が管理サーバ機器２４上のサーブレット３２を取り出すようにしてもよい。または、管理部３３が管理サーブレット５１を用いて各組み込みサーバ機器２１上の登録部２９に登録要求と同時にデータとしてサーブレット３２を送信するようにしてもよい。またサーブレット３２を要求してきた登録部２９だけに生成したサーブレット３２を送信してもよい。
【００４０】
一方、サーブレット３２が登録されていない場合は図１及び図６に示すように、管理部３３は、対応するＪＳＰファイル３０がデータベース１３０に登録されているかをチェックする（Ｓ１２）。
ＪＳＰファイル３０が登録されている場合は生成部２５にＪＳＰファイル３０のコンパイルを依頼する（Ｓ１３）。
次に生成部２５はＪＳＰエンジン２８を使用してＪＳＰファイル３０からサーブレットのソースコード３１を生成し、さらに生成したサーブレットのソースコード３１からサーブレット３２を生成する（Ｓ１４）。
管理部３３は生成されたサーブレット３２を上記方法（Ｓ１１）で登録部２９に送信する（Ｓ１５）。
【００４１】
Ｓ１１、Ｓ１５でサーブレット３２を送信された登録部２９は、サーブレット３２をモジュール記憶部１３２に登録する（Ｓ１８）。
次に実行部２２は登録されたサーブレット３２を組み込みサーブレットエンジン２３で実行し、要求されたＪＳＰページをＷｅｂブラウザ３５に返す（Ｓ９）。
【００４２】
一方、Ｓ１２の結果、ＪＳＰファイル３０が登録されていない場合、管理部３３は登録部２９にエラーを返し（Ｓ１６）、さらに登録部２９は実行部２２にエラーを返し、さらに実行部２２はクライアント機器３４のＷｅｂブラウザ３５にエラーを返す（Ｓ１７）。
【００４３】
以上、管理サーバ機器２４で生成されるモジュールが、クライアント機器３４のＷｅｂブラウザ３５からの要求によってモジュールが必要になった時点で、データベース１３０に登録されているモジュールのソースから生成されることを特徴とするＷｅｂサービスシステム及びＷｅｂサービス提供方法について説明した。
【００４４】
また、管理サーバ機器２４で生成されるモジュールが、Ｗｅｂブラウザ３５からの要求があった組み込みサーバ機器２１にのみ登録されることを特徴とするＷｅｂサービスシステム及びＷｅｂサービス提供方法について説明した。
【００４５】
また、管理サーバ機器２４で生成されるモジュールが、ネットワーク３８に接続されている複数の組み込みサーバに登録されることを特徴とするＷｅｂサービスシステム及びＷｅｂサービス提供方法について説明した。
【００４６】
このように、本実施の形態の管理サーバ機器２４は、プログラムのソースコードを登録するデータベース１３０と、
上記データベース１３０に登録されたプログラムのソースコード（ＪＳＰファイル３０）からクライアント機器３４が要求する所定の情報をクライアント機器３４に出力するためのモジュールプログラム（サーブレット３２）を生成する生成部２５と、
モジュールプログラムを実行する組み込みサーバ機器２１に上記生成部２５によって生成されたモジュールプログラムを受信させ、受信させたモジュールプログラムを組み込みサーバ機器２１に実行させることによってクライアント機器３４から要求された所定の情報をクライアント機器３４に出力する管理部３３とを備え、
上記データベース１３０は、上記生成部２５によって生成されたモジュールプログラムを登録し、上記管理部３３は、組み込みサーバ機器２１からモジュールプログラムの生成依頼を受け、当該モジュールプログラムが上記データベース１３０に登録されているかを検索し、登録されている場合には当該モジュールプログラムを組み込みサーバ機器２１に送信し、登録されていない場合には要求されたモジュールプログラムの生成を上記生成部２５に要求し、上記生成部２５は、上記管理部３３からの要求に基づいて上記データベース１３０に登録されたプログラムのソースコードから要求されたモジュールプログラムを生成し、生成したモジュールプログラムを組み込みサーバ機器２１に送信する。
【００４７】
また、上記生成部２５は、組み込みサーバ機器２１からモジュールプログラムの生成を依頼されたタイミングに連動して上記データベース１３０に登録されたプログラムのソースコードからモジュールプログラムを生成する。
【００４８】
以上のような方法により、ＪＳＰファイル３０のコンパイルはリソースに余裕のある特定のプラットフォームである管理サーバ機器２４上で行われるので、少ないリソースしか持たないＨ／Ｗを持つ組み込みサーバ機器２１や様々なプラットフォームを持つ組み込みサーバ機器２１上でＪＳＰファイル３０のコンパイルを実行することなくコンパイル後のサーブレット３２を動作させることができる。
【００４９】
実施の形態３．
図７に本発明の実施の形態３におけるシステム構成を示す。
図７において２１〜３８は図１、図４と同一である。
以下、ＪＳＰファイル３０の登録からＪＳＰを利用したＷｅｂサービスの実行手順について説明する。
まず、管理者の要求に従って管理クライアント機器３６は、管理用Ｗｅｂブラウザ３７を使用して、組み込みサーバ機器２１上の組み込み管理部３９が提供する管理ページにアクセスし、管理ページからＪＳＰファイル３０を組み込みサーバ機器２１に登録するように依頼する（Ｓ２０）。管理ページはＨＴＭＬ、ＸＭＬ、アプレット等管理用Ｗｅｂブラウザ３７で利用できるものであればどのようなものでもかまわない。組み込み管理部３９は、ＪＳＰファイル３０をモジュール記憶部１３２に登録する（Ｓ２１）。
次に、組み込み管理部３９は組み込みサーバ機器２１の実行部２２にＪＳＰファイル３０に対応するサーブレット３２の登録を依頼する（Ｓ２２）。このように、組み込み管理部３９はリモートからＪＳＰファイル３０からサーブレット３２への生成要求を受け付け、生成したサーブレット３２を返すＪＳＰコンパイルサービスを行う。
次に、実行部２２は登録部２９にモジュール記憶部１３２に記憶されたＪＳＰファイル３０に対応するサーブレット３２の登録を依頼する（Ｓ２３）。
次に、登録部２９は管理サーバ機器２４上の管理部３３にアクセスし、ＪＳＰファイル３０からサーブレット３２へのＪＳＰコンパイルを依頼する（Ｓ２４）。
【００５０】
管理部３３は生成部２５にＪＳＰファイル３０のコンパイルを依頼する（Ｓ２５）。
次に、生成部２５はＪＳＰエンジン２８を使用してＪＳＰファイル３０からサーブレットのソースコード３１を生成し、さらに生成したサーブレットのソースコード３１からサーブレット３２を生成する（Ｓ２６）。
次に、管理部３３は生成されたサーブレット３２を登録部２９に送信する（Ｓ２７）。
【００５１】
登録部２９は、送信されたサーブレット３２を組み込みサーバ機器２１のモジュール記憶部１３２に登録する（Ｓ２８）。
次に、Ｗｅｂサービスを利用したいユーザの要求に応じてクライアント機器３４は、Ｗｅｂブラウザ３５を使用して、組み込みサーバ機器２１上にある実行部２２が提供するＪＳＰページにアクセスする。
次に、実行部２２はモジュール記憶部１３２に記憶されたサーブレット３２を組み込みサーブレットエンジン２３で実行し、要求されたＪＳＰページをＷｅｂブラウザ３５を通じてクライアント機器３４に返す（Ｓ２９）。
【００５２】
以上、リソースの少ない組み込みサーバ機器２１とリソースに余裕のある管理サーバ機器２４とクライアント機器３４と管理クライアント機器３６がネットワーク３８に接続されており、組み込みサーバ機器２１、管理サーバ機器２４上ではそれぞれＷｅｂサービスを提供する組み込みアプリケーションプログラム、アプリケーションプログラムが動作しており、さらに組み込みサーバ機器２１では管理用モジュールが動作しており、クライアント機器３４上では実行部２２が提供するＷｅｂサービスを利用するＷｅｂブラウザ３５が動作しており、管理クライアント機器３６上では管理用Ｗｅｂブラウザ３７が動作しており、モジュールのソースは管理用Ｗｅｂブラウザ３７から管理モジュールが使用されて組み込みサーバ機器２１に渡され、実行部２２では、管理サーバ機器２４において組み込みサーバ機器２１から管理サーバ機器２４に渡されるモジュールのソースから生成されるモジュールを利用して、Ｗｅｂサービスを提供することを特徴とするＷｅｂサービスシステム及びＷｅｂサービス提供方法について説明した。
【００５３】
また、管理サーバ機器２４で生成されるモジュールが、モジュールのソースが組み込みサーバ機器２１のモジュール記憶部１３２に登録された時点で、モジュール記憶部１３２に記憶されたモジュールのソースが管理サーバ機器２４に渡され、管理サーバ機器２４に渡されたモジュールのソースから生成されることを特徴とするＷｅｂサービスシステム及びＷｅｂサービス提供方法について説明した。
【００５４】
また、管理サーバ機器２４で生成されるモジュールが、管理用Ｗｅｂブラウザ３７から管理モジュールへモジュールのソースが渡された時点で、組み込みサーバ機器２１から管理サーバ機器２４に渡されるモジュールのソースから生成されることを特徴とするＷｅｂサービスシステム及びＷｅｂサービス提供方法について説明した。
【００５５】
本実施の形態における上記登録部２９は、クライアント機器３４からプログラムのソースコードをモジュール記憶部１３２に登録し、登録したプログラムのソースコードを送信し、
上記生成部２５は、上記送信されたプログラムのソースコードからモジュールプログラムを生成する。
【００５６】
また、上記登録部２９は、上記モジュール記憶部１３２へプログラムのソースコードを登録するタイミングに連動して登録したプログラムのソースコードを送信し、
上記生成部２５は、上記プログラムのソースコードが送信されたタイミングに連動してプログラムのソースコードからモジュールプログラムを生成する。
【００５７】
また、さらに、プログラムのソースコードを管理し、所定の場合に管理したプログラムのソースコードを送信する管理クライアント機器３６を備え、
上記登録部２９は、上記管理クライアント機器３６によって送信されたプログラムのソースコードをモジュール記憶部１３２に登録し、登録したプログラムのソースコードを送信し、
上記生成部２５は、上記送信されたプログラムのソースコードからモジュールプログラムを生成する。
【００５８】
以上のような方法により、ＪＳＰファイル３０のコンパイルはリソースに余裕のある特定のプラットフォームの管理サーバ機器２４上で行われるので、少ないリソースしか持たないＨ／Ｗや様々なプラットフォームの組み込みサーバ機器２１上でＪＳＰファイル３０を利用できるアプリケーションプログラムを動作させることができる。
【００５９】
実施の形態４．
図８に本発明の実施の形態４におけるシステム構成を示す。
図８において２１〜３９は図７と同一である。
以下、ＪＳＰファイル３０の登録からＪＳＰを利用したＷｅｂサービスの実行手順について説明する。
まず、管理者の要求に応じて管理クライアント機器３６は、管理用Ｗｅｂブラウザ３７を使用して、組み込みサーバ機器２１上の組み込み管理部３９が動作させる管理サーブレットが提供する管理ページにアクセスする（Ｓ２０）。管理ページはＨＴＭＬ、ＸＭＬ、アプレット等管理用Ｗｅｂブラウザ３７で利用できるものであればどのようなものでもかまわない。
次に管理者は管理ページからＪＳＰファイル３０を組み込みサーバ機器２１に登録する（Ｓ２１）。
【００６０】
次にＷｅｂサービスを利用したいユーザの要求に応じてクライアント機器３４は、Ｗｅｂブラウザ３５を使用して、組み込みサーバ機器２１上にある組み込み実行部２２が提供するＪＳＰページにアクセスする（Ｓ３１）。
次に、実行部２２はＷｅｂブラウザ３５からの要求に対応するＪＳＰページを提供するサーブレット３２がモジュール記憶部１３２に登録されているかをチェックし（Ｓ３２）、サーブレット３２が登録されている場合はサーブレット３２を組み込みサーブレットエンジン２３で実行し、要求されたＪＳＰページをＷｅｂブラウザ３５に返す（Ｓ３３）。
一方、サーブレット３２が登録されていない場合、実行部２２はサーブレット３２に対応するＪＳＰファイル３０が登録されているかをチェックし（Ｓ３４）、ＪＳＰファイル３０が登録されている場合は登録部２９にＪＳＰファイル３０に対応するサーブレット３２の登録を依頼する（Ｓ３５）。
一方、Ｓ３４において、ＪＳＰファイル３０が登録されていない場合はＷｅｂブラウザ３５を通じてクライアント機器３４にエラーを返す（Ｓ３６）。
【００６１】
登録部２９は、管理サーバ機器２４上の管理部３３にアクセスし、ＪＳＰファイル３０からサーブレット３２へのＪＳＰコンパイルを依頼する（Ｓ３７）。
次に、管理部３３は、生成部２５にＪＳＰファイル３０のコンパイルを依頼する（Ｓ３８）。
次に、生成部２５はＪＳＰエンジン２８を使用してＪＳＰファイル３０からサーブレットのソースコード３１を生成し、さらに生成したサーブレットのソースコード３１からサーブレット３２を生成する（Ｓ３９）。
管理部３３は、生成されたサーブレット３２を登録部２９に送信する（Ｓ４０）。
【００６２】
登録部２９は、送信されたサーブレット３２をモジュール記憶部１３２に登録する（Ｓ４１）。
次に、実行部２２は登録されたサーブレット３２を組み込みサーブレットエンジン２３で実行し、要求されたＪＳＰページをＷｅｂブラウザ３５を通じてクライアント機器３４に返す（Ｓ３６）。
【００６３】
以上、管理サーバ機器２４で生成されるモジュールが、Ｗｅｂブラウザ３５からの要求によってモジュールが必要になった時点で、モジュール記憶部１３２に記憶されているモジュールのソースが管理サーバ機器２４に渡され、管理サーバ機器２４に渡されたモジュールのソースからモジュールが生成されることを特徴とするＷｅｂサービスシステム及びＷｅｂサービス提供方法について説明した。
【００６４】
また、管理サーバ機器２４で生成されるモジュールが、Ｗｅｂブラウザ３５からの要求によってモジュールが必要になった時点で、組み込みサーバ機器２１から管理サーバ機器２４に渡されるモジュールのソースからモジュールが生成されることを特徴とするＷｅｂサービスシステム及びＷｅｂサービス提供方法について説明した。
【００６５】
本実施の形態における登録部２９は、クライアント機器３４から所定の情報を要求されたタイミングに連動して所定の情報を出力するためのプログラムのソースコードをモジュール記憶部１３２から選択し、選択したプログラムのソースコードを送信し、
上記生成部２５は、上記プログラムのソースコードが送信されたタイミングに連動してプログラムのソースコードからモジュールプログラムを生成する。
【００６６】
以上のような方法により、ＪＳＰファイル３０のコンパイルはリソースに余裕のある特定のプラットフォームの管理サーバ機器２４上でＷｅｂブラウザ３５からの要求時に動的に行われるので、少ないリソースしか持たないＨ／Ｗや様々なプラットフォーム上を持つ組み込みサーバ機器２１では、動的にコンパイルされるＪＳＰファイル３０を利用できるアプリケーションプログラムを動作させることができる。
【００６７】
実施の形態５．
図９に本発明の実施の形態５におけるシステム構成を示す。
図９において２１〜３８は、図１、図４、図７、図８と同一である。
４０は、Ｗｅｂサービスを提供するために必要なファイルからなるコンパイル前ＷＡＲ（Ｗｅｂ  Ａｒｃｈｉｖｅ）ファイルである。コンパイル前ＷＡＲファイル４０は図１０のようにＪＳＰファイル３０とその他のファイルからなっており、その他のファイルとはＨＴＭＬ、ＸＭＬ、クラスファイル、画像ファイル等などである。
４１はＷｅｂサービスを提供するために必要なファイルからなるコンパイル済みＷＡＲ（Ｗｅｂ  Ａｒｃｈｉｖｅ）ファイルである。コンパイル済みＷＡＲファイル４１はコンパイル前ＷＡＲファイル４０の中のＪＳＰファイルをコンパイルしてサーブレットとしたものである。
コンパイル済みＷＡＲファイルの内容を図１１に示す。コンパイル前ＷＡＲファイル及びコンパイル済みＷＡＲファイルは、記憶されたＪＳＰファイル、サーブレット、ＨＴＭＬ、ＸＭＬ、クラスファイル等の複数のファイルの整理、保管機能を持つアーカイブファイルの一形態である。
登録部４２は、組み込みサーバ機器２１にコンパイル済みＷＡＲファイル４１を外部から登録できるようにするためのサービスを行う。
【００６８】
本実施の形態のシステム構成は以上のようになっており、以下、コンパイル前ＷＡＲファイル４０の登録からＪＳＰを利用したＷｅｂサービスの実行手順について説明する。
まず、管理者の要求に応じて管理クライアント機器３６は、管理用Ｗｅｂブラウザ３７を使用して、管理サーバ機器２４上の管理部３３が提供する管理ページにアクセスする（Ｓ５１）。管理ページはＨＴＭＬ、ＸＭＬ、アプレット等管理用Ｗｅｂブラウザ３７で利用できるものであればどのようなものでもかまわない。
次に管理部３３は、管理ページからコンパイル前ＷＡＲファイル４０をデータベース１３０に登録する（Ｓ５２）。
次に、管理部３３はコンパイル前ＷＡＲファイル４０からＪＳＰファイル３０を取り出し、取り出したＪＳＰファイル３０のコンパイルを管理サーバ機器２４上の生成部２５に依頼する（Ｓ５３）。
また、管理部３３はコンパイル前ＷＡＲファイル４０からＪＳＰファイルを除いた部分をコンパイル済みＷＡＲファイル４１として生成する（Ｓ５４）。
【００６９】
次に、生成部２５はＪＳＰエンジン２８を使用してＪＳＰファイル３０からサーブレットのソースコード３１を生成し、さらに生成したサーブレットのソースコード３１からサーブレット３２を生成する（Ｓ５５）。
次に、管理部３３は生成されたサーブレット３２をコンパイル済みＷＡＲファイルに組み込み（Ｓ５６）、組み込みサーバ機器２１上の登録部４２に登録を依頼する（Ｓ５７）。この時の処理としては管理部３３がブロードキャスト（マルチキャストでもよい）で登録部４２に登録要求を出し、登録部４２がデータベース１３０上のコンパイル済みＷＡＲファイル４１を取り出すようにしてもよいし、管理部３３がブロードキャスト（マルチキャストでもよい）で登録部４２に登録要求と同時にデータとしてコンパイル済みＷＡＲファイル４１を送信してもよいし、管理部３３が各組み込みサーバ機器２１上の登録部４２に個々に登録要求を出し、登録部４２が管理サーバ機器２４上のコンパイル済みＷＡＲファイル４１を取り出すようにしてもよいし、管理部３３が各組み込みサーバ機器２１上の登録部４２に登録要求と同時にデータとしてコンパイル済みＷＡＲファイル４１を送信するようにしてもよい。
【００７０】
次に、登録部４２は、送信されたコンパイル済みＷＡＲファイル４１を組み込みサーバ機器２１のモジュール記憶部１３２に登録する（Ｓ５８）。登録方法に関しては現在行われているＷＡＲファイルの登録方法を使用するため、ここでは説明しない。
次にＷｅｂサービスを利用したいユーザの要求に応じてクライアント機器３４は、Ｗｅｂブラウザ３５を使用して、組み込みサーバ機器２１上にある実行部２２が提供するＪＳＰページにアクセスする。
次に実行部２２はＷｅｂブラウザ３５からの要求に対応するＪＳＰページを提供するコンパイル済みＷＡＲファイル４１が登録されているかをチェックし（Ｓ５９）、コンパイル済みＷＡＲファイル４１が登録されている場合はコンパイル済みＷＡＲファイル４１内のサーブレット３２およびその他のファイルを使用して、要求されたＪＳＰページをＷｅｂブラウザ３５を通じてクライアント機器３４に返す。一方、コンパイル済みＷＡＲファイルが登録されていない場合はＷｅｂブラウザ３５にエラーを返す（Ｓ６０）。
【００７１】
以上、モジュールのソースがＷＡＲファイル内のＪＳＰファイル３０、モジュールがＷＡＲファイル内のＪＳＰファイル３０をサーブレットにコンパイルしたＷＡＲファイルであることを特徴とするＷｅｂサービスシステム及びＷｅｂサービス提供方法について説明した。
【００７２】
本実施の形態の管理サーバ機器２４の上記データベース１３０は、登録されたデータを管理する機能を持つ第１のアーカイブファイル（コンパイル前ＷＡＲファイル４０）と第２のアーカイブファイル（コンパイル済みＷＡＲファイル４１）とを有し、プログラムのソースコードを第１のアーカイブファイルに登録し、プログラムのソースコードから生成されたモジュールプログラムを第２のアーカイブファイルに登録する。
【００７３】
以上のような方法により、ＪＳＰファイル３０のコンパイルはリソースに余裕のある特定のプラットフォームの管理サーバ機器２４上で行われるので、少ないリソースしか持たないＨ／Ｗや様々なプラットフォームの組み込みサーバ機器２１上でＪＳＰファイル３０を利用できるアプリケーションプログラムを動作させることができる。
【００７４】
実施の形態６．
図１２に本発明の実施の形態６におけるシステム構成を示す。
図１２において２１〜４２は図９と同一である。
４３はコンパイル済みＷＡＲファイル４１を管理サーバ機器２４上のサーブレットエンジン２６を使用して実行させ、コンパイル済みＷＡＲファイル４１の動作確認を行う確認部である。
本実施の形態の構成は以上のようになっており、以下、コンパイル前ＷＡＲファイルの登録からＪＳＰを利用したＷｅｂサービスの実行手順について説明する。
【００７５】
まず、管理者の要求に応じて管理クライアント機器３６は、管理用Ｗｅｂブラウザ３７を使用して、管理サーバ機器２４上の管理部３３が提供する管理ページにアクセスする。管理ページはＨＴＭＬ、ＸＭＬ、アプレット等管理用Ｗｅｂブラウザ３７で利用できるものであればどのようなものでもかまわない。
次に管理クライアント機器３６は、管理ページからコンパイル前ＷＡＲファイル４０を管理サーバ機器２４に登録依頼し（Ｓ６１）、管理部３３は、依頼されたコンパイル前ＷＡＲファイル４０をデータベース１３０に登録する（Ｓ６２）。
次に、管理部３３はコンパイル前ＷＡＲファイル４０からＪＳＰファイル３０を取り出し、取り出したＪＳＰファイルのコンパイルを管理サーバ機器２４上の生成部２５に依頼する（Ｓ６３）。
また管理部３３は、コンパイル前ＷＡＲファイル４０からＪＳＰファイルを除いた部分をコンパイル済みＷＡＲファイル４１として生成する（Ｓ６４）。
【００７６】
次に、生成部２５はＪＳＰエンジン２８を使用してＪＳＰファイル３０からサーブレットのソースコード３１を生成し、さらに生成したサーブレットのソースコード３１からサーブレット３２を生成する（Ｓ６５）。
次に、管理部３３は、生成されたサーブレット３２をコンパイル済みＷＡＲファイルに組み込み（Ｓ６６）、確認部にコンパイル済みＷＡＲファイル４１の動作確認を依頼する（Ｓ６７）。
【００７７】
確認部４３は、サーブレットエンジン２６を使用してコンパイル済みＷＡＲファイル４１を動作させ、その結果を管理部３３に報告する（Ｓ６８）。
管理部３３は、コンパイル済みＷＡＲファイル４１の動作確認が成功した場合は、組み込みサーバ機器２１上の登録部４２にコンパイル済みＷＡＲファイル４１の登録を依頼する（Ｓ６９）。この時の処理としては管理部３３がブロードキャスト（マルチキャストでもよい）で登録部４２に登録要求を出し、登録部４２が管理サーバ機器２４上のコンパイル済みＷＡＲファイル４１を取り出すようにしてもよいし、管理部３３がブロードキャスト（マルチキャストでもよい）で登録部４２に登録要求と同時にデータとしてコンパイル済みＷＡＲファイル４１を送信してもよいし、管理部３３が各組み込みサーバ機器２１上の登録部４２に個々に登録要求を出し、登録部４２が管理サーバ機器２４上のコンパイル済みＷＡＲファイル４１を取り出すようにしてもよいし、管理部３３が各組み込みサーバ機器２１上の登録部４２に登録要求と同時にデータとしてコンパイル済みＷＡＲファイル４１を送信するようにしてもよい。
【００７８】
一方、コンパイル済みＷＡＲファイル４１が所定の動作を行わない場合は、管理用Ｗｅｂブラウザ３７に動作失敗を報告し、コンパイル済みＷＡＲファイル４１をデータベース１３０に登録せずに破棄する。ここではコンパイル済みＷＡＲファイル４１の動作確認を自動的に行ったが、管理用Ｗｅｂブラウザ３７と管理部３３が対話的に処理を進めるようにしてもよく、こうすることによってデバッグにも使用することができるようになる。
登録部４２は、送信されたコンパイル済みＷＡＲファイル４１を組み込みサーバ機器２１のモジュール記憶部１３２に登録する（Ｓ７１）。登録方法に関しては現在行われているＷＡＲファイルの登録方法を使用するため、ここでは説明しない。
【００７９】
Ｗｅｂサービスを利用したいユーザの要求に応じてクライアント機器３４は、Ｗｅｂブラウザ３５を使用して、組み込みサーバ機器２１上にある実行部２２が提供するＪＳＰページにアクセスする。次に実行部２２はＷｅｂブラウザ３５からの要求に対応するＪＳＰページを提供するコンパイル済みＷＡＲファイル４１がモジュール記憶部１３２に登録されているかをチェックし（Ｓ７２）、コンパイル済みＷＡＲファイル４１が登録されている場合はコンパイル済みＷＡＲファイル４１内のサーブレットおよびその他のファイルを使用して、要求されたＪＳＰページをＷｅｂブラウザ３５を通じてクライアント機器３４に返す（Ｓ７３）。
一方、コンパイル済みＷＡＲファイル４１が登録されていない場合はＷｅｂブラウザ３５を通じてクライアント機器３４にエラーを返す（Ｓ７３）。
【００８０】
以上、管理サーバ機器２４で生成されるモジュールを、組み込みサーバ機器２１に登録する前に、管理サーバ機器２４の確認部４３に実行させ、モジュールの動作確認を行った後、組み込みサーバ機器２１のモジュール記憶部１３２に登録することを特徴とするＷｅｂサービスシステム及びＷｅｂサービス提供方法について説明した。
【００８１】
本実施の形態の管理サーバ機器２４の上記生成部２５は、さらに、
上記生成部２５が生成したモジュールプログラムを実行し、所定の情報を出力するかを確認し、確認した結果、所定の情報を出力しないモジュールプログラムを破棄する確認部４３を備える。
【００８２】
以上のような方法により、ＪＳＰファイル３０のコンパイルはリソースに余裕のある特定のプラットフォームの管理サーバ機器２４上で行われるので、少ないリソースしか持たないＨ／Ｗや様々なプラットフォームを持つ組み込みサーバ機器２１上でＪＳＰファイル３０を利用できるアプリケーションプログラムを動作させることができる。
また、実際の実施時ではなく、事前にサーブレットの動作確認を行うことができるため、組み込みサーバ機器２１上でエラーが発生し、組み込みサーバ機器２１の動作に悪影響を及ぼす確立を減らすことができる。
【００８３】
実施の形態７．
図１３に本発明の実施の形態７におけるシステム構成を示す。
図１３において２１〜４２は図９と同一である。
４４はコンパイル済みＷＡＲファイル４１内のサーブレット３２に付加する可能性の有るクラスファイルのみを抽出し、コンパイル済みＷＡＲファイル４１のサイズを最小にするための最適化部である。
本実施の形態の構成は以上のようになっており、以下、コンパイル前ＷＡＲファイル４０の登録からＪＳＰファイル３０を利用したＷｅｂサービスの実行手順について説明する。
【００８４】
まず、管理者の要求に応じて管理クライアント機器３６は、管理用Ｗｅｂブラウザ３７を使用して、管理サーバ機器２４上の管理部３３が提供する管理ページにアクセスする（Ｓ８１）。管理ページはＨＴＭＬ、ＸＭＬ、アプレット等管理用Ｗｅｂブラウザ３７で利用できるものであればどのようなものでもかまわない。
次に、管理クライアント機器３６は、管理ページからコンパイル前ＷＡＲファイル４０を管理サーバ機器２４に登録する（Ｓ８２）。
次に、管理部３３は、コンパイル前ＷＡＲファイル４０からＪＳＰファイル３０を取り出し、取り出したＪＳＰファイルのコンパイルを管理サーバ機器２４上の生成部２５に依頼する（Ｓ８３）。
また、管理部３３は、コンパイル前ＷＡＲファイル４０からＪＳＰファイル３０を除いた部分をコンパイル済みＷＡＲファイル４１として生成する（Ｓ８４）。
【００８５】
次に、生成部２５はＪＳＰエンジン２８を使用してＪＳＰファイル３０からサーブレットのソースコード３１を生成し、さらに生成したサーブレットのソースコード３１からサーブレット３２を生成する（Ｓ８５）。
次に、管理部３３は、生成されたサーブレット３２をコンパイル済みＷＡＲファイルに組み込み（Ｓ８６）、最適化部４４にコンパイル済みＷＡＲファイル４１の最適化を依頼する（Ｓ８７）。
最適化部４４は、コンパイル済みＷＡＲファイル４１内のサーブレットを解析し、サーブレットに付加して動作することが可能なクラスファイルのみを抽出し、それをコンパイル済みＷＡＲファイル４１に設定する（Ｓ８８）。
次に、管理部３３は組み込みサーバ機器２１上の登録部４２に最適化したコンパイル済みＷＡＲファイル４１の登録を依頼する（Ｓ８９）。この時の処理としては管理部３３がブロードキャスト（マルチキャストでもよい）で登録部４２に登録要求を出し、登録部４２が管理サーバ機器２４上のコンパイル済みＷＡＲファイル４１を取り出すようにしてもよいし、管理部３３がブロードキャスト（マルチキャストでもよい）で登録部４２に登録要求と同時にデータとしてコンパイル済みＷＡＲファイル４１を送信してもよいし、管理部３３が各組み込みサーバ機器２１上の登録部４２に個々に登録要求を出し、登録部４２が管理サーバ機器２４上のコンパイル済みＷＡＲファイル４１を取り出すようにしてもよいし、管理部３３が各組み込みサーバ機器２１上の登録部４２に登録要求と同時にデータとしてコンパイル済みＷＡＲファイル４１を送信するようにしてもよい。
【００８６】
次に、登録部４２はコンパイル済みＷＡＲファイルを組み込みサーバ機器２１に登録する（Ｓ９０）。登録方法に関しては現在行われているＷＡＲファイルの登録方法を使用するため、ここでは説明しない。
【００８７】
Ｗｅｂサービスを利用したいユーザの要求に応じてクライアント機器３４は、Ｗｅｂブラウザ３５を使用して、組み込みサーバ機器２１上にある実行部２２が提供するＪＳＰページにアクセスする（Ｓ９１）。
次に実行部２２はＷｅｂブラウザ３５からの要求に対応するＪＳＰページを提供するコンパイル済みＷＡＲファイル４１がモジュール記憶部１３２に登録されているかをチェックし（Ｓ９２）、コンパイル済みＷＡＲファイル４１が登録されている場合はコンパイル済みＷＡＲファイル４１内のサーブレットおよびその他のファイルを使用して、要求されたＪＳＰページをＷｅｂブラウザ３５を通じてクライアント機器３４に返す（Ｓ９３）。
一方、実行部２２は、コンパイル済みＷＡＲファイルが登録されていない場合にはＷｅｂブラウザ３５を通じてクライアント機器３４にエラーを返す（Ｓ９４）。
【００８８】
以上、ＷＡＲファイル内のＪＳＰファイル３０をサーブレット３２にコンパイルして、コンパイルしたサーブレット３２を登録したＷＡＲファイル内のクラスファイルはＪＳＰファイル３０をコンパイルして生成したサーブレット３２を実行するために必要なクラスファイルのみであることを特徴とするＷｅｂサービスシステム及びＷｅｂサービス提供方法について説明した。
【００８９】
本実施の形態の管理サーバ機器の上記生成部２５は、さらに、
上記第２のアーカイブファイル（コンパイル前ＷＡＲファイル４０）に登録されたモジュールプログラムを解析し、解析した結果、モジュールプログラムを実行するために必要なクラスファイルを抽出し、抽出したクラスファイルを上記第２のアーカイブファイルに登録する最適化部４４を備える。
【００９０】
以上のような方法により、ＪＳＰファイル３０のコンパイルはリソースに余裕のある特定のプラットフォームの管理サーバ機器２４上で行われ、かつ必要最小限のサイズのモジュールで実行されるので、少ないリソースしか持たないＨ／Ｗや様々なプラットフォーム上でＪＳＰを利用できるアプリケーションプログラムを動作させることができる。
【００９１】
図１４は、管理サーバ機器２４のコンピュータ基本構成図である。
図１４において、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１４０は、バス１３８を介してモニタ１４１、キーボード１４２、マウス１４３、通信ボード１４４、磁気ディスク装置１４６等と接続されている。
磁気ディスク装置１４６には、オペレーティングシステム（ＯＳ）１４７、プログラム群１４９、ファイル群１５０が記憶されている。ただし、プログラム群１４９、ファイル群１５０が一体となってオブジェクト指向のプログラム群１４９を形成する形態も一実施の形態として考えられる。
プログラム群１４９は、ＣＰＵ１４０、ＯＳ１４７により実行される。
上記各実施の形態では、管理サーバ機器２４は、通信ボード１４４の機能を使用して、ネットワークを経由してクライアント機器３４及び管理クライアント機器３６と通信を行う。
【００９２】
組み込みサーバ機器２１は、例えば、家電、ＯＡ機器、監視装置、自動車（カーナビを含む）、電力量計など、さまざまな機器により実現される。従って、組み込みサーバ機器２１は、図１４に示す構成をとってもよいが、モニタ、キーボード、マウス等が含まれない構成をとることもできる。また、記憶装置としては、磁気ディスク装置１４６のかわりに、フラッシュメモリ、ＳＲＡＭ、ＲＡＭ（バッテリバックアップＲＡＭを含む）、ＲＯＭ等を含む構成をとってもよい。
【００９３】
以上に記載した「登録する」、「記憶する」という用語は、記録媒体に保存することを意味する。
【００９４】
すべての実施の形態では、各構成要素の各動作はお互いに関連しており、各構成要素の動作は、上記に示された動作の関連を考慮しながら、一連の動作として置き換えることができる。そして、このように置き換えることにより、方法の発明の実施形態とすることができる。
また、上記各構成要素の動作を、各構成要素の処理と置き換えることにより、プログラムの実施の形態とすることができる。
また、プログラムを、プログラムを記録したコンピュータ読み取り可能な記録媒体に記憶させることで、プログラムに記録したコンピュータ読み取り可能な記録媒体の実施の形態とすることができる。
【００９５】
プログラムの実施の形態及びプログラムに記録したコンピュータ読み取り可能な記録媒体の実施の形態は、すべてコンピュータで動作可能なプログラムにより構成することができる。
プログラムの実施の形態およびプログラムを記録したコンピュータ読み取り可能な記録媒体の実施の形態における各処理はプログラムで実行されるが、このプログラムは、記録装置に記録されていて、記録装置から中央処理装置（ＣＰＵ）に読み込まれ、中央処理装置によって、各フローチャートが実行されることになる。
また、各実施の形態のソフトウェアやプログラムは、ＲＯＭ（ＲＥＡＤ  ＯＮＬＹ  ＭＥＭＯＲＹ）に記憶されたファームウェアで実現されていても構わない。あるいは、ソフトウェアとファームウェアとハードウェアとの組み合わせで前述したプログラムの各機能を実現しても構わない。
【００９６】
【発明の効果】
本発明によれば、少ないリソースのサーバ機器上でアプリケーションプログラムを実行することができる。
【図面の簡単な説明】
【図１】実施の形態１のシステム構成図である。
【図２】実施の形態１の動作フローである。
【図３】実施の形態１の動作フローである。
【図４】実施の形態２のシステム構成図である。
【図５】実施の形態２の動作フローである。
【図６】実施の形態２の動作フローである。
【図７】実施の形態３のシステム構成図である。
【図８】実施の形態４のシステム構成図である。
【図９】実施の形態５のシステム構成図である。
【図１０】コンパイル前ＷＡＲファイルである。
【図１１】コンパイル済みＷＡＲファイルである。
【図１２】実施の形態６のシステム構成図である。
【図１３】実施の形態７のシステム構成図である。
【図１４】管理サーバ機器２４のコンピュータ基本構成図である。
【符号の説明】
２１  組み込みサーバ機器、２２  実行部、２３  組み込みサーブレットエンジン、２４  管理サーバ機器、２５  生成部、２６  サーブレットエンジン、２７  Ｊａｖａ（登録商標）コンパイラ、２８  ＪＳＰエンジン、２９，４２  登録部、３０  ＪＳＰファイル、３１  サーブレットのソースコード、３２  サーブレット、３３  管理部、３４  クライアント機器、３５  Ｗｅｂブラウザ、３６  管理クライアント機器、３７  管理用Ｗｅｂブラウザ、３８  ネットワーク、３９  組み込み管理部、４０  コンパイル前ＷＡＲファイル、４１  コンパイル済みＷＡＲファイル、４３  確認部、４４  最適化部、５０  キャッシュメモリ、１３０  データベース、１３２  モジュール記憶部、１４１  モニタ、１４２  キーボード、１４３  マウス、１４４  通信ボード、１４０  ＣＰＵ、１４６  磁気ディスク装置、１４７  ＯＳ、１４９  プログラム群、１５０  ファイル群。
【図１】
2004199486.tif 000003
【図２】
2004199486.tif 000004
【図３】
2004199486.tif 000005
【図４】
2004199486.tif 000006
【図５】
2004199486.tif 000007
【図６】
2004199486.tif 000008
【図７】
2004199486.tif 000009
【図８】
2004199486.tif 000010
【図９】
2004199486.tif 000011
【図１０】
2004199486.tif 000012
【図１１】
2004199486.tif 000013
【図１２】
2004199486.tif 000014
【図１３】
2004199486.tif 000015
【図１４】
2004199486.tif 000016