(57)【要約】【課題】リッチクライアントシステムを構成する端末装置向けに作成されたアプリケーションプログラムをシンクライアントシステムを構成する端末装置で利用することを可能にすること。【解決手段】リッチクライアントシステムを構成する端末装置で実行された場合に、ある情報を該端末装置に報知させるアプリケーションプログラムをＡＰＰ実行装置１０に記憶させておく。このＡＰＰ実行装置１０は、情報の報知を行う端末装置３０から通信網２０を介して上記アプリケーションプログラムを実行することを要求にされた場合に、自装置が情報を報知することに替えて、該情報を表すデータを生成し、生成したデータを通信網２０を介して端末装置３０へ送信する。【選択図】        図１
2004234345.tif 000002
【特許請求の範囲】
【請求項１】
通信網を介して受信したデータで表される情報を報知する端末装置と該通信網を介して通信するアプリケーションプログラム実行装置において、
前記端末装置で実行された場合に、ある情報を該端末装置に報知させるアプリケーションプログラムを記憶する記憶手段と、
前記端末装置からの要求に基づいて、前記アプリケーションプログラムを実行する実行手段と、
前記実行手段により前記アプリケーションプログラムを実行する過程で、前記ある情報の報知を行うことに替えて、該情報を表すデータを生成する生成手段と、
前記アプリケーションプログラムの実行を要求した前記端末装置へ、前記生成手段により生成されたデータを前記通信網を介して送信する送信手段と
を有することを特徴とするアプリケーションプログラム実行装置。
【請求項２】
前記アプリケーションプログラムを実行している前記実行手段へデータを引渡す引渡し手段と、
前記引渡し手段により前記実行手段へ引渡されるデータを前記アプリケーションプログラムの実行を要求した前記端末装置から取得する取得手段と
を有する請求項１に記載のアプリケーションプログラム実行装置。
【請求項３】
前記取得手段は、前記アプリケーションプログラムの実行を要求した前記端末装置において所定の入力操作が行われた場合にのみ、前記実行手段へ引渡すデータを取得する
ことを特徴とする請求項２に記載のアプリケーションプログラム実行装置。
【請求項４】
前記生成手段は、前記ある情報を表すデータを、前記アプリケーションプログラムの実行を要求した前記端末装置の解釈可能な記述言語で記述し生成する
ことを特徴とする請求項１に記載のアプリケーションプログラム実行装置。
【請求項５】
通信網を介して受信したデータで表される情報を報知する端末装置と該通信網を介して通信するとともに、該端末装置で実行された場合に、ある情報を該端末装置に報知させるアプリケーションプログラムを記憶しているコンピュータ装置に、
前記端末装置からの要求に基づいて、前記アプリケーションプログラムを実行する実行手段と、
前記実行手段により前記アプリケーションプログラムを実行する過程で、前記ある情報の報知を行うことに替えて、該情報を表すデータを生成する生成手段と、
前記アプリケーションプログラムの実行を要求した前記端末装置へ、前記生成手段により生成されたデータを前記通信網を介して送信する送信手段と
を実現させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
アプリケーションプログラムを複数のユーザに共同利用させる技術に関する。
【０００２】
【従来の技術】
近年、各企業においては、業務効率の向上および経営意思決定のために、当該企業が有する様々なデータを格納したデータベースを作成し、これらデータの集計および分析を行うための情報システムを構築することが盛んに行われている。このような情報システムは、データを管理するためのサーバ装置と、各社員に使用させるための端末装置とで構成されている。そして、このような情報システムの実施形態としては、主にクライアント／サーバ型情報システムとＷｅｂ型情報システムとがある。
【０００３】
クライアント／サーバ型情報システムでは、通信網を介してサーバ装置と通信可能な端末装置には、各種データを操作するためのアプリケーションプログラムと、日々の処理では参照のみが行われるデータとが記憶され、サーバ装置には、日々の処理に伴い更新され得るデータが記憶される。このように、クライアント／サーバ型情報システムは、各種データ処理を行うためのアプリケーションプログラムを端末装置に記憶させているために、「リッチクライアントシステム」と呼ばれている。
【０００４】
Ｗｅｂ型情報システムでは、サーバ装置には、全てのデータと、このデータを端末装置からの要求に従って処理するためのアプリケーションプログラムとが記憶され、端末装置には、サーバ装置にアプリケーションプログラムを実行させると共に、その実行結果を閲覧するためのブラウザソフトウェアが記憶されている。このように、Ｗｅｂ型情報システムは、各種データ処理を行うためのアプリケーションプログラムを端末装置に記憶させていないために、「シンクライアントシステム」と呼ばれている。
【０００５】
一般に、情報システムでは、当該システムが提供するサービスの新設および廃止に伴い、当該システムの管理者により、アプリケーションプログラムの入れ替えが行われる。このような入れ替えをリッチクライアントシステムについて行う場合、そのシステムを構成する全ての端末装置についてアプリケーションプログラムの入れ替えを行う必要がある。これに対して、上記入れ替えをシンクライアントシステムについて行う場合には、サーバ装置のアプリケーションプログラムのみを入れ替えれば良い。つまり、シンクライアントシステムは、リッチクライアントシステムに比較して、アプリケーションプログラムの入れ替えを容易に行うことができるといった長所を有する。また、近年、サーバ装置に記憶されている各種データを営業先や出張先などの外出先から携帯電話機などの端末装置を用いて参照したり更新したりできるようにしたいという要望がある。このようなことをリッチクライアントシステムで実現するためには、アプリケーションプログラムを携帯電話機などの端末装置に記憶させ実行させる必要がある。しかしながら、この種の端末装置は携帯性を確保するために、記憶容量やプログラム実行性能が制限されているため、複雑な処理を行うアプリケーションプログラムを記憶し、実行することは不可能である。つまり、リッチクライアントシステムで、このような要望を実現することは不可能である。これに対して、シンクライアントシステムでは、端末装置にブラウザソフトウェアのみを記憶させておけば良く、このような要望を容易に実現することができる。このように、シンクライアントシステムはリッチクライアントシステムに対して様々な長所を有するため、過去にリッチクライアントシステムで情報システムを構築した企業の中にも、その情報システムをシンクライアントシステムへ変更することを望むものが存在する。
【０００６】
リッチクライアントシステムとして構築された情報システムを、シンクライアントシステムへ変更するためには、この情報システムを構成する端末装置に記憶されているアプリケーションプログラムを、シンクライアントシステムのサーバで動作するアプリケーションプログラムへ変更する必要がある。しかしながら、あるコンピュータ装置で動作するように作成されたアプリケーションプログラムを他のコンピュータ装置で動作させるようにするためには、そのアプリケーションプログラムのソースコードを他のコンピュータ装置向けに修正する必要がある。一般に、企業の情報システムには、多数のアプリケーションプログラムが含まれており、これらのアプリケーションプログラムを全て修正することに要する費用や時間（以下、「コスト」と称する）は多大なものになってしまう。このため、このようなコストを負担することができない場合には、過去に構築した情報システムをそのまま使用し続けるしかない。
【０００７】
本出願人は、このような問題を解決するための先行技術を抽出するために先行技術調査を行ったところ、特許文献１が抽出された。特許文献１に開示されている技術によれば、あるコンピュータ装置で動作するように作成されたアプリケーションプログラムを他のコンピュータ装置で同一の動作をするように修正する際のコストを削減することができる。
【０００８】
【特許文献１】
特開平１１−３４５１４７号公報
【０００９】
【発明が解決しようとする課題】
しかしながら、リッチクライアントシステムを構成する端末装置で動作するように作成されたアプリケーションプログラムに、特許文献１に開示されている技術を適用したとしても、シンクライアントシステムを構成するサーバ装置で動作するアプリケーションプログラムを得ることはできない。例えば、リッチクライアントシステムを構成する端末装置で実行された場合に、ある画面をその端末装置に表示させるアプリケーションプログラムを想定する。このアプリケーションプログラムに上記特許文献１に開示されている技術を適用し、上記サーバ装置で動作するアプリケーションプログラムへ変換したとする。このようにして変換されるアプリケーションプログラムは、上記ある画面をそのサーバ装置に表示させるアプリケーションプログラムである。つまり、このようなアプリケーションプログラムをサーバ装置で実行させたとしても、上記ある画面は端末装置に表示されないことになる。これでは役に立たない。このように、特許文献１に開示されている技術を用いたとしても、上記問題点が解決される訳ではない。
【００１０】
本発明は、上記問題点に鑑みて為されたものであり、リッチクライアントシステムで利用されているアプリケーションプログラムを、シンクライアントシステムを構成するサーバ装置で利用することを可能にする技術を提供することを目的としている。
【００１１】
【課題を解決するための手段】
上記課題を解決するために、本発明は、通信網を介して受信したデータで表される情報を報知する端末装置と該通信網を介して通信するアプリケーションプログラム実行装置において、前記端末装置で実行された場合に、ある情報を該端末装置に報知させるアプリケーションプログラムを記憶する記憶手段と、前記端末装置からの要求に基づいて、前記アプリケーションプログラムを実行する実行手段と、前記実行手段により前記アプリケーションプログラムを実行する過程で、前記ある情報の報知を行うことに替えて、該情報を表すデータを生成する生成手段と、前記アプリケーションプログラムの実行を要求した前記端末装置へ、前記生成手段により生成されたデータを前記通信網を介して送信する送信手段とを有することを特徴とするアプリケーションプログラム実行装置を提供する。
【００１２】
このようなアプリケーションプログラム実行装置を用いると、情報の報知を行う端末装置からの要求に基づいて上記アプリケーションプログラムが実行される。そして、該アプリケーションプログラムの実行過程で報知される情報を表すデータが生成され、該データがその端末装置へ送信される。
【００１３】
また、上記課題を解決するために、本発明は、通信網を介して受信したデータで表される情報を報知する端末装置と該通信網を介して通信するとともに、該端末装置で実行された場合に、ある情報を該端末装置に報知させるアプリケーションプログラムを記憶しているコンピュータ装置に、前記端末装置からの要求に基づいて、前記アプリケーションプログラムを実行する実行手段と、前記実行手段により前記アプリケーションプログラムを実行する過程で、前記ある情報の報知を行うことに替えて、該情報を表すデータを生成する生成手段と、前記アプリケーションプログラムの実行を要求した前記端末装置へ、前記生成手段により生成されたデータを前記通信網を介して送信する送信手段とを実現させるプログラムを提供する。
【００１４】
このようなプログラムを用いると、係るプログラムを実行中のコンピュータ装置は、情報の報知を行う端末装置からの要求に基づいて上記アプリケーションプログラムを実行する。そして、該アプリケーションプログラムの実行過程で報知される情報を表すデータが生成され、該データがその端末装置へ送信される。
【００１５】
【発明の実施の形態】
以下、図面を参照しつつ、本発明の実施形態について説明する。
【００１６】
［Ａ．構成］
（１：システムの全体構成）
図１は本発明の実施形態に係るアプリケーションプログラム（以下、「ＡＰＰ」と称する）実行装置を有する情報システムの構成例を示す図である。図１に示されるように、この情報システムは、例えばＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの通信網２０で接続されたＡＰＰ実行装置１０と端末装置３０とを有している。なお、図１には、１つのＡＰＰ実行装置１０と１つの端末装置３０とが例示されているが、実際には、複数のＡＰＰ実行装置と、複数の端末装置とが存在する。
【００１７】
ＡＰＰ実行装置１０は、オブジェクト指向のプログラミング言語の１つであるＪａｖａ（登録商標）で記述されたＡＰＰ（以下、「ＪａｖａＡＰＰ」と称する）を記憶している。なお、このＪａｖａＡＰＰは、後述するＪａｖａ実行環境で解釈し実行可能なＪａｖａバイトコードで構成されている。このＡＰＰ実行装置１０は、通信網２０を介して端末装置３０とパケット通信を行う機能と、Ｊａｖａ実行環境とを備えており、端末装置３０からの要求に応じて上記ＪａｖａＡＰＰを実行することができる。
【００１８】
ここで、ＡＰＰ実行装置１０に記憶されているＪａｖａＡＰＰについて説明する。このＪａｖａＡＰＰには、例えば、図２に示すような社員テーブルが内包されている。図２に示されるように、この社員テーブルには、図１に示す情報システムを有する企業を構成する各社員について、社員番号、氏名および所属部署などの社員データが格納されている。このＪａｖａＡＰＰは、一般的なＪａｖａ実行環境を有するコンピュータ装置で実行された場合に、そのコンピュータ装置に図３に示すフローチャートに従った処理を行わせるものである。図３に示されるように、このＪａｖａＡＰＰを実行中のコンピュータ装置は、上記社員テーブルに格納されている社員データをそのコンピュータ装置のユーザに閲覧させるために、例えば図４に示す一覧表示画面を表示部（図示省略）へ表示させるものである。このように、このＪａｖａＡＰＰは、ブラウザソフトウェアを用いただけでは不可能な処理をコンピュータ装置に行わせるものであるから、リッチクライアントシステムを構成する端末装置向けに作成されたＡＰＰといえる。
【００１９】
上述したように、ＡＰＰ実行装置１０は、端末装置３０からの要求に基づいて上記ＪａｖａＡＰＰを実行することができる。但し、このＡＰＰ実行装置１０は、上記ＪａｖａＡＰＰを実行する際に、図４に示す一覧表示画面を自装置の表示部（図示省略）へ表示させることに替えて、この一覧表示画面を端末装置３０に表示させるためのデータであって、所定のマークアップ言語（例えば、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ））で記述されたデータを生成し送信するように実行する。なお、以下では、ＸＭＬで記述されたデータを「ＸＭＬデータ」と称する。
【００２０】
端末装置３０は、一般的なパーソナルコンピュータ装置（以下、「ＰＣ」と称する）であり、ブラウザソフトウェアの他にＡＰＰを記憶していない。端末装置３０のユーザは、このブラウザソフトウェアを用いて、上記ＪａｖａＡＰＰをＡＰＰ実行装置１０に実行させることができる。具体的には、ブラウザソフトウェアを実行中の端末装置３０は、ユーザにより上記ＪａｖａＡＰＰのＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）が入力されると、このＵＲＬで特定されるＪａｖａＡＰＰの実行を要求する旨の通信メッセージ（例えば、ＰＯＳＴメソッドを内包した通信メッセージ）を通信網２０へ送出する。そして、端末装置３０は、このブラウザソフトウェアを用いてＡＰＰ実行装置１０から送信されてくるＸＭＬデータを受信し、そのＸＭＬデータに応じた画面（すなわち、図４に示す一覧表示画面）を表示部（図示省略）に表示させることができる。
【００２１】
以上に説明したように、図１に示す情報システムは、ＡＰＰ実行装置１０にのみＡＰＰを記憶させ、端末装置３０にはブラウザソフトウェア以外のＡＰＰを記憶させていないシンクライアントシステムである。但し、ＡＰＰ実行装置１０に記憶されているＪａｖａＡＰＰがリッチクライアントシステムを構成する端末装置向けに作成されたＡＰＰである点が、従来のシンクライアントシステムと異なっている。このように、本発明に係るＡＰＰ実行装置１０は、リッチクライアントシステムを構成する端末装置向けに作成されたＪａｖａＡＰＰをシンクライアントシステムで利用することを可能にするためのものである。なお、本実施形態においては、端末装置３０にブラウザソフトウェア以外のＡＰＰを記憶させておかない場合について説明するが、この端末装置３０にブラウザソフトウェア以外のＡＰＰを記憶させておくとしても勿論良い。要は、ブラウザソフトウェアを用いてＡＰＰ実行装置１０に上記ＪａｖａＡＰＰを実行することを要求する端末装置であれば、いずれであっても良い。
【００２２】
（２：ＡＰＰ実行装置１０の構成）
次に、ＡＰＰ実行装置１０の構成について図５を参照しつつ説明する。図５に示されるように、ＡＰＰ実行装置１０は、制御部５１０と、通信部５２０と、記憶部５３０と、これら構成要素間のデータ授受を仲介するバス５４０とを有している。
【００２３】
制御部５１０は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）であり、このＡＰＰ実行装置１０に記憶されているソフトウェアを実行するためのものである。通信部５２０は、通信網２０に接続されており、通信網２０を介して端末装置３０と通信するためのものである。通信部５２０は、端末装置３０から送信された通信メッセージを受信し、受信した通信メッセージを制御部５１０へ引渡すと共に、制御部５１０から引渡された通信メッセージを通信網２０へ送出する。
【００２４】
記憶部５３０は、揮発性記憶部５３１と不揮発性記憶部５３２とを有している。揮発性記憶部５３１は、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）であり、各種ソフトウェアを実行中の制御部５１０によりワークエリアとして使用される。不揮発性記憶部５３２は、例えばハードディスクであり、データを永続的に記憶する。この不揮発性記憶部５３２には、オペレーティングシステム（以下、「ＯＳ」と称する）を実現するためのＯＳソフトウェアと、上述したＪａｖａＡＰＰと、このＪａｖａＡＰＰを実行するためのＡＰＰ実行環境を構築するためのソフトウェアと、対応管理テーブル５３２ａとが格納されている。
【００２５】
ＡＰＰ実行装置１０の制御部５１０は、このＡＰＰ実行装置１０の電源（図示省略）が投入されると、まず、ＯＳソフトウェアを不揮発性記憶部５３２から読み出して実行する。ＯＳソフトウェアの実行を完了し、ＯＳを実現している状態の制御部５１０は、ＡＰＰ実行装置１０の各部を制御すること、複数のソフトウェアを並列に実行することができる。ＯＳを実現している状態の制御部５１０は、ＡＰＰ実行環境を構築するためのソフトウェアを不揮発性記憶部５３２から読み出して実行する。以下では、ＡＰＰ実行環境を構築するためのソフトウェアを実行している状態の制御部５１０に付与される機能について説明する。
【００２６】
まず、ＡＰＰ実行環境を構築するためのソフトウェアについて、図６を参照しつつ説明する。図６は、ＡＰＰ実行装置１０におけるＡＰＰ実行環境を説明するための図である。この図に示されるように、ＡＰＰ実行環境を構築するためのソフトウェアには、Ｊａｖａ実行環境の規格の１つであるＪ２ＳＥ（Ｊａｖａ  ２  Ｓｔａｎｄａｒｄ  Ｅｄｉｔｉｏｎ）に準拠したＪａｖａ実行環境を構築するためソフトウェアと、このＪａｖａ実行環境に従って上記ＪａｖａＡＰＰを実行するためのソフトウェアであるサーブレットコンテナとが含まれている。なお、Ｊ２ＳＥとはＰＣ向けに定められたＪａｖａ実行環境の規格である。
【００２７】
Ｊａｖａ実行環境を構築するためのソフトウェアには、ＶＭと、クラスライブラリとが含まれている。ＶＭとは、ＪａｖａＡＰＰを構成するＪａｖａバイトコードを制御部５１０が解釈可能なマシン語コードに変換し、そのマシン語コードを実行する機能を制御部５１０に付与するためのものである。また、クラスライブラリには、ＰＣ向けの基本的な機能を提供するためのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）が含まれている。不揮発性記憶部５３２に格納されているＪａｖａＡＰＰには、これらＡＰＩを呼出す旨のＪａｖａバイトコードが内包されている。ＪａｖａＡＰＰを実行中の制御部５１０には、これらＡＰＩを呼出す旨のＪａｖａバイトコードをＶＭに従って解釈し実行することにより、これらＡＰＩの提供する機能が付与される。クラスライブラリに含まれているＡＰＩの一例としては、データ表示ＡＰＩや、ネットワーキングＡＰＩおよびＸＭＬデータ生成ＡＰＩが挙げられる。データ表示ＡＰＩとは、このデータ表示ＡＰＩの呼出元から引渡されたデータをコンピュータ装置の表示部に表示させるためのＡＰＩである。ネットワーキングＡＰＩとは、呼出元により指定されたＵＲＬによりネットワークリソースへアクセスするためのＡＰＩである。また、ＸＭＬデータ生成ＡＰＩは、このＸＭＬデータ生成ＡＰＩの呼出元から引渡されたデータを端末装置３０に表示させる旨のＸＭＬデータを生成するためのＡＰＩである。
【００２８】
次に、サーブレットコンテナについて説明する。サーブレットコンテナを実行中の制御部５１０には、以下に述べる２つの機能が付与される。第１の機能は、不揮発性記憶部５３２に格納されているＪａｖａＡＰＰの実行を要求する旨の通信メッセージを受信し、そのＪａｖａＡＰＰを実行する機能である。なお、サーブレットコンテナが当該ＪａｖａＡＰＰを実行する際には、そのＪａｖａＡＰＰに含まれているＪａｖａバイトコードを、図７に示す対応管理テーブル５３２ａの格納内容に基づいて書き換えてから、そのＪａｖａＡＰＰをＶＭに従って実行する。
【００２９】
図７は対応管理テーブル５３２ａのテーブルフォーマットの一例を示す図である。この対応管理テーブル５３２ａには、不揮発性記憶部５３２に格納されているＪａｖａＡＰＰを端末装置３０のユーザに利用させるために、書き換える必要があるＪａｖａバイトコードを特定する情報が格納されている。具体的には、図７に示される対応管理テーブル５３２ａでは、データ表示ＡＰＩを呼出す旨のＪａｖａバイトコードを、ＸＭＬデータ生成ＡＰＩを呼出す旨のＪａｖａバイトコードへ書き換えることが示されている。
【００３０】
そして、第２の機能は、ＪａｖａＡＰＰの実行過程で生成されたＸＭＬデータを端末装置３０へ送信し、このＸＭＬデータに応じた画面を端末装置３０に表示させると共に、当該画面を表示させている状態の端末装置３０に対して行われたユーザの入力操作を示すデータを取得する機能である。このように、サーブレットコンテナは、不揮発性記憶部５３２に格納されているＪａｖａＡＰＰを端末装置３０に利用させるための機能を制御部５１０に付与するためのソフトウェアである。
【００３１】
以上に説明したように、ＡＰＰ実行装置１０の構成は一般的なコンピュータ装置と同一であり、不揮発性記憶部５３２に格納されている各種ソフトウェアを実行することにより、本発明に係るＡＰＰ実行装置に特有な機能が制御部５１０に付与される。
【００３２】
［Ｂ．動作］
次に、ＡＰＰ実行装置１０の動作のうち、このＡＰＰ実行装置１０の特徴を顕著に示す動作について図を参照しつつ説明する。なお、本動作例を説明する前提として、ＡＰＰ実行装置１０は、既に電源（図示省略）を投入されており、ＡＰＰ実行装置１０の制御部５１０は、上述したＡＰＰ実行環境を構築するためのソフトウェアを既に実行中であるものとする。
【００３３】
（１：ＪａｖａＡＰＰ起動動作）
まず、サーブレットコンテナを実行中の制御部５１０が、端末装置３０から送信された通信メッセージに基づいて、不揮発性記憶５３２に格納されているＪａｖａＡＰＰを起動するまでの動作について図８を参照しつつ説明する。図８に示されるように、サーブレットコンテナを実行中の制御部５１０は、不揮発性記憶部５３２に格納しているＪａｖａＡＰＰの実行を要求する旨の通信メッセージを通信部５２０を介して受信（ステップＳＢ１）すると、この通信メッセージに内包されているＵＲＬで特定されるＪａｖａＡＰＰを不揮発性記憶部５３２から読み出し、揮発性記憶部５３１へ格納する（ステップＳＢ２）。
【００３４】
次に、制御部５１０は、ステップＳＢ２にて揮発性記憶部５３１へ格納したＪａｖａＡＰＰを構成しているＪａｖａバイトコードを対応管理テーブル５３２ａの格納内容に基づいて書き換える（ステップＳＢ３）。このような書き換えが行われることにより、揮発性記憶部５３１に格納されているＪａｖａＡＰＰは、図９に示すフローチャートに従った動作を制御部５１０に実行させるＪａｖａＡＰＰになる。そして、制御部５１０は、揮発性記憶部５３１に格納されているＪａｖａＡＰＰをＶＭに従って解釈し、実行する（ステップＳＢ４）。
【００３５】
なお、上述のように、本実施形態では、Ｊａｖａバイトコードの書き換えのトリガを、ＪａｖａＡＰＰの実行を要求する旨の通信メッセージを受信したときとしたが、これに限られず、例えば、ＡＰＰ実行装置１０の電源が投入されたときとしても勿論良い。
【００３６】
（２：ＪａｖａＡＰＰの動作）
次に、上述したステップＳＢ４（図８参照）における制御装置５１０の動作を図９を参照しつつ説明する。図９に示すフローチャートが図２に示すフローチャートと異なっている点は、ステップＳＡ１（図２参照）に替えて、ステップＳＣ１（図９参照）を有する点のみである。なお、ステップＳＡ１は、データ表示ＡＰＩを呼出して、図４に示す一覧表示画面をＡＰＰ実行装置１０の表示部（図示省略）に表示させるステップであり、ステップＳＣ１は、ＸＭＬデータ生成ＡＰＩ呼出して、図４に示す一覧表示画面を端末装置３０に表示させるためのＸＭＬデータを生成すると共に、このＸＭＬデータを内包した通信メッセージを端末装置３０へ送信するステップである。
【００３７】
このステップＳＣ１における制御部５１０の動作について詳細に説明する。制御部５１０は、まず、図４に示す一覧表示画面を端末装置３０に表示させるためのＸＭＬデータを生成する。そして、このＸＭＬデータに、図４に示す一覧表示画面を表示している状態の端末装置３０で何らかの入力操作が行われた場合に、その入力操作を示すデータをＡＰＰ実行装置１０へ送信する旨のＸＭＬデータを付加したＸＭＬデータを生成し、このＸＭＬデータを内包した通信メッセージを端末装置３０宛てに送信する。上述したように端末装置３０では、既に、ブラウザソフトウェアが実行されており、この通信メッセージを受信すると、この通信メッセージに内包されているＸＭＬデータをブラウザソフトウェアに従って解釈し、図４に示す一覧表示画面を表示部（図示省略）に表示させる。
【００３８】
そして、図４に示す一覧表示画面を表示している状態の端末装置３０で、終了操作（例えば、終了ボタンＢ１の押下）が行われると、端末装置３０は、終了操作が行われたことを示すデータを内包した通信メッセージをＡＰＰ実行装置１０へ送信する。
【００３９】
上記ＪａｖａＡＰＰを実行中の制御部５１０は、この通信メッセージを受信すると、受信した通信メッセージをサーブレットコンテナに従って解析し、この通信メッセージに内包されているデータを取得する（ステップＳＡ２）。次に、制御部５１０は、ステップＳＡ２にて取得したデータに基づいて終了操作が行われたか否かを判定（ステップＳＡ３）し、終了操作が行われたと判定した場合にのみ、ＪａｖａＡＰＰの実行を終了する。本動作例では、ステップＳＡ２にて取得されたデータは、ユーザにより終了操作が行われたことを示すデータであるから、制御部５１０は、ＪａｖａＡＰＰの実行を終了する。以降、ＡＰＰ実行装置１０の制御部５１０は、サーブレットコンテナに従って、ＪａｖａＡＰＰの実行を要求する旨の通信メッセージが端末装置３０から送信されてくることを待ち受ける。
【００４０】
以上に説明したように、本実施形態に係るＡＰＰ実行装置１０を用いることにより、リッチクライアントシステムで利用されているＪａｖａＡＰＰをシンクライアントで利用することが可能になる。
【００４１】
［Ｃ．変形例］
以上、本発明の実施形態について説明したが、本発明は係る実施形態に限定されるものではなく、その技術思想の範囲内で様々な変形が可能である。なお、変形例としては、例えば、以下のようなものが考えられる。
【００４２】
（変形例１）上述した実施形態では、ＡＰＰ実行装置１０と端末装置３０との間の通信を仲介する通信網２０として、ＬＡＮを用いる場合について説明した。しかしながら、係る通信網２０はＬＡＮに限定されるものではない。例えば、通信網２０は、インターネットであっても良く、また、インターネットと、ゲートウェイ装置を介してインターネットに接続されたＬＡＮとで構成されていても良い。要は、ＡＰＰ実行装置１０と端末装置３０との通信を仲介する通信網であれば、いずれであっても良い。また、上述した実施形態では、ＡＰＰ実行装置１０にＪａｖａＡＰＰの実行を要求する端末装置３０として、ブラウザソフトウェアを記憶したＰＣを用いる場合について説明した。しかしながら、係る端末装置３０は、ブラウザソフトウェアを記憶した携帯電話機やＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ
Ａｓｓｉｓｔａｎｃｅ）であっても良いことは、勿論である。
【００４３】
（変形例２）上述した実施形態では、１つのＪａｖａＡＰＰのみをＡＰＰ実行装置１０に記憶させておく場合について説明した。しかしながら、ＡＰＰ実行装置１０に記憶させておくＪａｖａＡＰＰの数は一に限定されるものではない。複数のＪａｖａＡＰＰがＡＰＰ実行装置１０に記憶されているとしても勿論良い。
【００４４】
（変形例３）上述した実施形態では、ＪａｖａＡＰＰの実行過程で行われる情報の報知の一例として、ある画面をコンピュータ装置の表示部に表示させる場合について説明した。しかしながら、ＪａｖａＡＰＰの実行過程で行われる情報の報知は、係る態様に限定されるものではない。例えば、音声による報知であっても良い。これは、音声による報知を行うＪａｖａＡＰＰをＡＰＰ実行装置１０で実行する場合に、そのＪａｖａＡＰＰに内包されているＪａｖａバイトコードのうち、音声を報知するＡＰＩを呼出す旨のＪａｖａバイトコードを、その音声を端末装置３０に報知させるためのＸＭＬデータを生成するＪａｖａバイトコードに書き換えて実行することで実現される。
【００４５】
（変形例４）上述した実施形態では、ＡＰＰ実行装置１０の備えるＪａｖａ実行環境として、Ｊ２ＳＥに準拠したＪａｖａ実行環境を用いる場合について説明したが、Ｊ２ＥＥ（Ｊａｖａ  ２  Ｅｎｔｅｒｐｒｉｓｅ  Ｅｄｉｔｉｏｎ）に準拠したＪａｖａ実行環境でも良いことは勿論である。Ｊ２ＥＥとは、複数のユーザに対して通信サービスを提供するためのサーバ装置向けに定められたＪａｖａ実行環境の規格である。
【００４６】
また、上述した実施形態では、ＡＰＰ実行装置１０に記憶させるＡＰＰとして、Ｊａｖａで記述されたＡＰＰを用いる場合について説明した。しかしながら、係るＡＰＰは、Ｊａｖａで記述されたＡＰＰに限定されるものではない。例えば、Ｃ＋＋などの他のプログラミング言語で記述されたＡＰＰであっても良いことは勿論である。
【００４７】
（変形例５）上述した実施形態では、サーブレットコンテナを実行中の制御部５１０が対応管理テーブル５３２ａの格納内容に基づいてＪａｖａＡＰＰに記述されているデータ表示ＡＰＩをＸＭＬデータ生成ＡＰＩに書き換える場合について説明した。しかしながら、データ表示ＡＰＩをＸＭＬデータ生成ＡＰＩに書き換える態様は対応管理テーブル５３２ａを用いる態様に限定されるものではない。例えば、ＪａｖａＡＰＰに内包されているデータ表示ＡＰＩを呼出す旨のＪａｖａバイトコードをＸＭＬデータ生成ＡＰＩを呼出す旨のＪａｖａバイトコードへ予め書き換えてＡＰＰ実行装置１０に記憶させる場合には、対応管理テーブル５３２ａを不揮発性記憶部５３２に記憶させておく必要はない。また、ＸＭＬデータ生成ＡＰＩの名称をデータ表示ＡＰＩの名称と同一にしておけば、対応管理テーブル５３２ａを不揮発性記憶部５３２に記憶させておく必要はない。但し、この場合には、ＶＭを実行中の制御部５１０がＪａｖａＡＰＰの実行過程で呼出すＡＰＩを一意に特定できるようにするために、データ表示ＡＰＩをクラスライブラリから削除しておく必要がある。
【００４８】
（変形例６）上述した実施形態では、ＡＰＰ実行装置１０に記憶させておくＡＰＰの一例として、コンピュータ装置に表示させるデータを予め内包しているＪａｖａＡＰＰについて説明した。しかしながら、本発明に係るＡＰＰ実行装置１０に記憶させ実行させるＪａｖａＡＰＰは、係るＪａｖａＡＰＰに限定されるものではない。例えば、データベース（ＤａｔａＢａｓｅ：以下、「ＤＢ」と称する）からデータを取得し、そのデータを表示させる処理をコンピュータ装置に実行させるＪａｖａＡＰＰであっても良い。また、例えば、ＴＰ（Ｔｒａｎｓａｃｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ）モニタなどの管理の元で他のコンピュータ装置で動作しているアプリケーションプログラムと、あるプロトコルに準拠した通信を行い、このアプリケーションプログラムから取得したデータを表示するＪａｖａＡＰＰであっても良い。このようなプロトコルの一例としては、ＣＯＲＢＡ（Ｃｏｍｍｏｎ  Ｏｂｊｅｃｔ  Ｒｅｑｕｅｓｔ  ＢｒｏｋｅｒＡｒｃｈｉｔｅｃｔｕｒｅ）や、ＲＭＩ（Ｒｅｍｏｔｅ  Ｍｅｔｈｏｄ  Ｉｎｖｏｃａｔｉｏｎ）、ＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）などが挙げられる。具体的には、ＡＰＰ実行装置１０に記憶されているＪａｖａＡＰＰは、ＤＢアクセスＡＰＩを呼出す旨のＪａｖａバイトコードと、このＤＢアクセスＡＰＩにより取得されるデータを表示するためにデータ表示ＡＰＩを呼出す旨のＪａｖａバイトコードとが記述されているＪａｖａＡＰＰであっても良い。なお、ＤＢアクセスＡＰＩとは、ＤＢからデータを取得したり、ＤＢに格納されているデータを更新する機能を提供するためのＡＰＩである。ここで、注目すべき点は、ＤＢアクセスＡＰＩを制御部５１０が呼出し実行することにより取得されるデータは揮発性記憶部５３１へ格納される点である。このように、ＤＢアクセスＡＰＩが実行され、データが取得された後では、ＤＢアクセスＡＰＩにより取得されたデータと、ＪａｖａＡＰＰに予め内包されていたデータとを区別する必要はない。従って、ＤＢアクセスＡＰＩを呼出す旨のＪａｖａバイトコードを含んでいるＪａｖａＡＰＰを実行することを要求された場合であっても、ＡＰＰ実行装置１０の制御部５１０は、このＪａｖａＡＰＰを構成するＪａｖａバイトコードのうち、データ表示ＡＰＩを呼出す旨のＪａｖａバイトコードのみをＸＭＬデータ生成ＡＰＩに書き換えて実行すれば良い。
【００４９】
（変形例７）上述した実施形態では、ＡＰＰ実行装置１０から送信されたＸＭＬデータに応じた画面を表示させている状態の端末装置３０から、ユーザにより行われた入力操作を示すデータをＡＰＰ実行装置１０が取得する場合について説明した。このようにすると、ユーザにより行われた入力操作の内容に応じて複雑な処理を行うようなＪａｖａＡＰＰをＡＰＰ実行装置１０で実行することが可能になるといった効果を奏する。しかしながら、ＡＰＰ実行装置１０に記憶されているＪａｖａＡＰＰが、単にデータの報知を行うなど、単純な処理を行うものである場合には、必ずしも、ユーザにより行われた入力操作を全てＡＰＰ実行装置１０が取得する必要はない。例えば、予め定められた入力操作が行われた場合にのみ、その入力操作を示すデータを端末装置３０から取得するとしても良い。このようにすると、端末装置３０とＡＰＰ実行装置１０との間の通信トラヒックが削減されるといった効果を奏する。
【００５０】
（変形例８）上述した実施形態では、端末装置３０に一覧表示画面を表示させるためのデータを記述するマークアップ言語としてＸＭＬを用いる場合について説明した。しかしながら、係るマークアップ言語はＸＭＬに限定されるものではない。例えば、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ  ）であっても良く、また、ＣＨＴＭＬ（Ｃｏｍｐａｃｔ  ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）であっても良い。なお、以下では、ＨＴＭＬで記述されたデータをＨＴＭＬデータと称し、ＣＨＴＭＬで記述されたデータをＣＨＴＭＬデータと称する。
【００５１】
また、上述した実施形態では、ＡＰＰ実行装置１０は、ＪａｖａＡＰＰの実行を要求した端末装置に常にＸＭＬデータを送信する場合について説明した。しかしながら、ＪａｖａＡＰＰの実行を要求した端末装置に記憶されているブラウザソフトウェアの種別毎に異なる記述言語で記述されたデータを送信するとしても良い。具体的には、ＡＰＰ実行装置１０は、ＨＴＭＬを解釈可能なブラウザソフトウェアを記憶した端末装置（例えば、ＰＣ）からＪａｖａＡＰＰの実行を要求された場合には、ＨＴＭＬデータを送信し、ＣＨＴＭＬを解釈可能なブラウザを記憶した端末装置（例えば、携帯電話機）からＪａｖａＡＰＰの実行を要求された場合には、ＣＨＴＭＬデータを送信するとしても良い。
【００５２】
これは、次のようにして実現される。ＪａｖａＡＰＰを実行する旨の通信メッセージを端末装置３０に送信させる際に、端末装置３０に記憶されているブラウザソフトウェアが解釈可能な記述言語を示す識別子を通信メッセージに内包させて送信させる。なお、このような識別子の一例としては、文字列「ＨＴＭＬ」や文字列「ＣＨＴＭＬ」が挙げられる。そして、ＡＰＰ実行装置１０の制御部５１０はこの通信メッセージに内包されている識別子に基づいて特定される記述言語で、端末装置３０へ送信するデータを記述し送信する。このようにすると、情報システムを構成する複数の端末装置が、互いに異なるブラウザソフトウェアを記憶している場合であっても、これら複数の端末装置に対して、一台のＡＰＰ実行装置でＪａｖａＡＰＰを実行することが可能になるといった効果を奏する。
【００５３】
（変形例９）上述した実施形態では、ＡＰＰ実行装置１０に、端末装置３０のユーザに利用させるためのＪａｖａＡＰＰを実行するためのＡＰＰ実行環境を構築するためのプログラムを予め記憶させておく場合について説明した。しかしながら、上記ＡＰＰ実行環境を構築するためのソフトウェアを記憶していない一般的なコンピュータ装置に、これらのソフトウェアを記憶させ、本発明に係るＡＰＰ実行装置１０と同一の機能を付与することも可能である。
【００５４】
また、コンピュータ装置読み取り可能な記録媒体に、上記ＡＰＰ実行環境を構築するためのソフトウェアを記録しておき、この記録媒体に記録されているプログラムを上記コンピュータ装置に読み取らせ、実行させることにより、ＡＰＰ実行装置１０と同一の機能を付与するとしても勿論良い。
【００５５】
【発明の効果】
本発明によれば、リッチクライアントシステムで利用されているアプリケーションプログラムをほとんど修正することなく、シンクライアントシステムで利用することが可能になる。このため、過去にリッチクライアントシステムとして構築した情報システムをシンクライアントシステムへ変更する際のコストが大幅に削減されるといった効果を奏する。
【図面の簡単な説明】
【図１】本発明の実施形態に係る情報システムの全体構成の一例を示す図である。
【図２】同情報システムを構成するＡＰＰ実行装置１０に記憶されているＡＰＰに内包されている社員テーブルの一例を示す図である。
【図３】同ＡＰＰを、一般的なコンピュータ装置で実行した場合の動作の流れを示すフローチャートである。
【図４】同ＡＰＰを実行中のコンピュータ装置が表示する一覧画面の一例を示す図である。
【図５】同情報システムを構成するＡＰＰ実行装置１０の構成例を示す図である。
【図６】同ＡＰＰ実行装置１０に組み込まれているＡＰＰ実行環境を説明するための図である。
【図７】同ＡＰＰ実行装置１０の不揮発性記憶部５３２に格納されている対応管理テーブル５３２ａの一例を示す図である。
【図８】同ＡＰＰ実行装置１０の制御部５１０がサーブレットコンテナに従って行うＡＰＰ起動動作の流れを示すフローチャートである。
【図９】同ＡＰＰ実行装置１０の制御部５１０がＪａｖａバイトコードを書き換えられたＡＰＰを実行した場合の動作の流れを示すフローチャートである。
【符号の説明】
１０…ＡＰＰ実行装置、２０…通信網、３０…端末装置、５１０…制御部、５２０…通信部、５３０…記憶部、５３１…揮発性記憶部、５３２…不揮発性記憶部、５３２ａ…対応管理テーブル、５４０…バス。
【図１】
2004234345.tif 000003
【図２】
2004234345.tif 000004
【図３】
2004234345.tif 000005
【図４】
2004234345.tif 000006
【図５】
2004234345.tif 000007
【図６】
2004234345.tif 000008
【図７】
2004234345.tif 000009
【図８】
2004234345.tif 000010
【図９】
2004234345.tif 000011