JP2004234345A - アプリケーションプログラム実行装置およびプログラム - Google Patents
アプリケーションプログラム実行装置およびプログラム Download PDFInfo
- Publication number
- JP2004234345A JP2004234345A JP2003022250A JP2003022250A JP2004234345A JP 2004234345 A JP2004234345 A JP 2004234345A JP 2003022250 A JP2003022250 A JP 2003022250A JP 2003022250 A JP2003022250 A JP 2003022250A JP 2004234345 A JP2004234345 A JP 2004234345A
- Authority
- JP
- Japan
- Prior art keywords
- terminal device
- application program
- execution
- app
- data
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
【課題】リッチクライアントシステムを構成する端末装置向けに作成されたアプリケーションプログラムをシンクライアントシステムを構成する端末装置で利用することを可能にすること。
【解決手段】リッチクライアントシステムを構成する端末装置で実行された場合に、ある情報を該端末装置に報知させるアプリケーションプログラムをAPP実行装置10に記憶させておく。このAPP実行装置10は、情報の報知を行う端末装置30から通信網20を介して上記アプリケーションプログラムを実行することを要求にされた場合に、自装置が情報を報知することに替えて、該情報を表すデータを生成し、生成したデータを通信網20を介して端末装置30へ送信する。
【選択図】 図1
【解決手段】リッチクライアントシステムを構成する端末装置で実行された場合に、ある情報を該端末装置に報知させるアプリケーションプログラムをAPP実行装置10に記憶させておく。このAPP実行装置10は、情報の報知を行う端末装置30から通信網20を介して上記アプリケーションプログラムを実行することを要求にされた場合に、自装置が情報を報知することに替えて、該情報を表すデータを生成し、生成したデータを通信網20を介して端末装置30へ送信する。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
アプリケーションプログラムを複数のユーザに共同利用させる技術に関する。
【0002】
【従来の技術】
近年、各企業においては、業務効率の向上および経営意思決定のために、当該企業が有する様々なデータを格納したデータベースを作成し、これらデータの集計および分析を行うための情報システムを構築することが盛んに行われている。このような情報システムは、データを管理するためのサーバ装置と、各社員に使用させるための端末装置とで構成されている。そして、このような情報システムの実施形態としては、主にクライアント/サーバ型情報システムとWeb型情報システムとがある。
【0003】
クライアント/サーバ型情報システムでは、通信網を介してサーバ装置と通信可能な端末装置には、各種データを操作するためのアプリケーションプログラムと、日々の処理では参照のみが行われるデータとが記憶され、サーバ装置には、日々の処理に伴い更新され得るデータが記憶される。このように、クライアント/サーバ型情報システムは、各種データ処理を行うためのアプリケーションプログラムを端末装置に記憶させているために、「リッチクライアントシステム」と呼ばれている。
【0004】
Web型情報システムでは、サーバ装置には、全てのデータと、このデータを端末装置からの要求に従って処理するためのアプリケーションプログラムとが記憶され、端末装置には、サーバ装置にアプリケーションプログラムを実行させると共に、その実行結果を閲覧するためのブラウザソフトウェアが記憶されている。このように、Web型情報システムは、各種データ処理を行うためのアプリケーションプログラムを端末装置に記憶させていないために、「シンクライアントシステム」と呼ばれている。
【0005】
一般に、情報システムでは、当該システムが提供するサービスの新設および廃止に伴い、当該システムの管理者により、アプリケーションプログラムの入れ替えが行われる。このような入れ替えをリッチクライアントシステムについて行う場合、そのシステムを構成する全ての端末装置についてアプリケーションプログラムの入れ替えを行う必要がある。これに対して、上記入れ替えをシンクライアントシステムについて行う場合には、サーバ装置のアプリケーションプログラムのみを入れ替えれば良い。つまり、シンクライアントシステムは、リッチクライアントシステムに比較して、アプリケーションプログラムの入れ替えを容易に行うことができるといった長所を有する。また、近年、サーバ装置に記憶されている各種データを営業先や出張先などの外出先から携帯電話機などの端末装置を用いて参照したり更新したりできるようにしたいという要望がある。このようなことをリッチクライアントシステムで実現するためには、アプリケーションプログラムを携帯電話機などの端末装置に記憶させ実行させる必要がある。しかしながら、この種の端末装置は携帯性を確保するために、記憶容量やプログラム実行性能が制限されているため、複雑な処理を行うアプリケーションプログラムを記憶し、実行することは不可能である。つまり、リッチクライアントシステムで、このような要望を実現することは不可能である。これに対して、シンクライアントシステムでは、端末装置にブラウザソフトウェアのみを記憶させておけば良く、このような要望を容易に実現することができる。このように、シンクライアントシステムはリッチクライアントシステムに対して様々な長所を有するため、過去にリッチクライアントシステムで情報システムを構築した企業の中にも、その情報システムをシンクライアントシステムへ変更することを望むものが存在する。
【0006】
リッチクライアントシステムとして構築された情報システムを、シンクライアントシステムへ変更するためには、この情報システムを構成する端末装置に記憶されているアプリケーションプログラムを、シンクライアントシステムのサーバで動作するアプリケーションプログラムへ変更する必要がある。しかしながら、あるコンピュータ装置で動作するように作成されたアプリケーションプログラムを他のコンピュータ装置で動作させるようにするためには、そのアプリケーションプログラムのソースコードを他のコンピュータ装置向けに修正する必要がある。一般に、企業の情報システムには、多数のアプリケーションプログラムが含まれており、これらのアプリケーションプログラムを全て修正することに要する費用や時間(以下、「コスト」と称する)は多大なものになってしまう。このため、このようなコストを負担することができない場合には、過去に構築した情報システムをそのまま使用し続けるしかない。
【0007】
本出願人は、このような問題を解決するための先行技術を抽出するために先行技術調査を行ったところ、特許文献1が抽出された。特許文献1に開示されている技術によれば、あるコンピュータ装置で動作するように作成されたアプリケーションプログラムを他のコンピュータ装置で同一の動作をするように修正する際のコストを削減することができる。
【0008】
【特許文献1】
特開平11−345147号公報
【0009】
【発明が解決しようとする課題】
しかしながら、リッチクライアントシステムを構成する端末装置で動作するように作成されたアプリケーションプログラムに、特許文献1に開示されている技術を適用したとしても、シンクライアントシステムを構成するサーバ装置で動作するアプリケーションプログラムを得ることはできない。例えば、リッチクライアントシステムを構成する端末装置で実行された場合に、ある画面をその端末装置に表示させるアプリケーションプログラムを想定する。このアプリケーションプログラムに上記特許文献1に開示されている技術を適用し、上記サーバ装置で動作するアプリケーションプログラムへ変換したとする。このようにして変換されるアプリケーションプログラムは、上記ある画面をそのサーバ装置に表示させるアプリケーションプログラムである。つまり、このようなアプリケーションプログラムをサーバ装置で実行させたとしても、上記ある画面は端末装置に表示されないことになる。これでは役に立たない。このように、特許文献1に開示されている技術を用いたとしても、上記問題点が解決される訳ではない。
【0010】
本発明は、上記問題点に鑑みて為されたものであり、リッチクライアントシステムで利用されているアプリケーションプログラムを、シンクライアントシステムを構成するサーバ装置で利用することを可能にする技術を提供することを目的としている。
【0011】
【課題を解決するための手段】
上記課題を解決するために、本発明は、通信網を介して受信したデータで表される情報を報知する端末装置と該通信網を介して通信するアプリケーションプログラム実行装置において、前記端末装置で実行された場合に、ある情報を該端末装置に報知させるアプリケーションプログラムを記憶する記憶手段と、前記端末装置からの要求に基づいて、前記アプリケーションプログラムを実行する実行手段と、前記実行手段により前記アプリケーションプログラムを実行する過程で、前記ある情報の報知を行うことに替えて、該情報を表すデータを生成する生成手段と、前記アプリケーションプログラムの実行を要求した前記端末装置へ、前記生成手段により生成されたデータを前記通信網を介して送信する送信手段とを有することを特徴とするアプリケーションプログラム実行装置を提供する。
【0012】
このようなアプリケーションプログラム実行装置を用いると、情報の報知を行う端末装置からの要求に基づいて上記アプリケーションプログラムが実行される。そして、該アプリケーションプログラムの実行過程で報知される情報を表すデータが生成され、該データがその端末装置へ送信される。
【0013】
また、上記課題を解決するために、本発明は、通信網を介して受信したデータで表される情報を報知する端末装置と該通信網を介して通信するとともに、該端末装置で実行された場合に、ある情報を該端末装置に報知させるアプリケーションプログラムを記憶しているコンピュータ装置に、前記端末装置からの要求に基づいて、前記アプリケーションプログラムを実行する実行手段と、前記実行手段により前記アプリケーションプログラムを実行する過程で、前記ある情報の報知を行うことに替えて、該情報を表すデータを生成する生成手段と、前記アプリケーションプログラムの実行を要求した前記端末装置へ、前記生成手段により生成されたデータを前記通信網を介して送信する送信手段とを実現させるプログラムを提供する。
【0014】
このようなプログラムを用いると、係るプログラムを実行中のコンピュータ装置は、情報の報知を行う端末装置からの要求に基づいて上記アプリケーションプログラムを実行する。そして、該アプリケーションプログラムの実行過程で報知される情報を表すデータが生成され、該データがその端末装置へ送信される。
【0015】
【発明の実施の形態】
以下、図面を参照しつつ、本発明の実施形態について説明する。
【0016】
[A.構成]
(1:システムの全体構成)
図1は本発明の実施形態に係るアプリケーションプログラム(以下、「APP」と称する)実行装置を有する情報システムの構成例を示す図である。図1に示されるように、この情報システムは、例えばLAN(Local Area Network)などの通信網20で接続されたAPP実行装置10と端末装置30とを有している。なお、図1には、1つのAPP実行装置10と1つの端末装置30とが例示されているが、実際には、複数のAPP実行装置と、複数の端末装置とが存在する。
【0017】
APP実行装置10は、オブジェクト指向のプログラミング言語の1つであるJava(登録商標)で記述されたAPP(以下、「JavaAPP」と称する)を記憶している。なお、このJavaAPPは、後述するJava実行環境で解釈し実行可能なJavaバイトコードで構成されている。このAPP実行装置10は、通信網20を介して端末装置30とパケット通信を行う機能と、Java実行環境とを備えており、端末装置30からの要求に応じて上記JavaAPPを実行することができる。
【0018】
ここで、APP実行装置10に記憶されているJavaAPPについて説明する。このJavaAPPには、例えば、図2に示すような社員テーブルが内包されている。図2に示されるように、この社員テーブルには、図1に示す情報システムを有する企業を構成する各社員について、社員番号、氏名および所属部署などの社員データが格納されている。このJavaAPPは、一般的なJava実行環境を有するコンピュータ装置で実行された場合に、そのコンピュータ装置に図3に示すフローチャートに従った処理を行わせるものである。図3に示されるように、このJavaAPPを実行中のコンピュータ装置は、上記社員テーブルに格納されている社員データをそのコンピュータ装置のユーザに閲覧させるために、例えば図4に示す一覧表示画面を表示部(図示省略)へ表示させるものである。このように、このJavaAPPは、ブラウザソフトウェアを用いただけでは不可能な処理をコンピュータ装置に行わせるものであるから、リッチクライアントシステムを構成する端末装置向けに作成されたAPPといえる。
【0019】
上述したように、APP実行装置10は、端末装置30からの要求に基づいて上記JavaAPPを実行することができる。但し、このAPP実行装置10は、上記JavaAPPを実行する際に、図4に示す一覧表示画面を自装置の表示部(図示省略)へ表示させることに替えて、この一覧表示画面を端末装置30に表示させるためのデータであって、所定のマークアップ言語(例えば、XML(eXtensible Markup Language))で記述されたデータを生成し送信するように実行する。なお、以下では、XMLで記述されたデータを「XMLデータ」と称する。
【0020】
端末装置30は、一般的なパーソナルコンピュータ装置(以下、「PC」と称する)であり、ブラウザソフトウェアの他にAPPを記憶していない。端末装置30のユーザは、このブラウザソフトウェアを用いて、上記JavaAPPをAPP実行装置10に実行させることができる。具体的には、ブラウザソフトウェアを実行中の端末装置30は、ユーザにより上記JavaAPPのURL(Uniform Resource Locator)が入力されると、このURLで特定されるJavaAPPの実行を要求する旨の通信メッセージ(例えば、POSTメソッドを内包した通信メッセージ)を通信網20へ送出する。そして、端末装置30は、このブラウザソフトウェアを用いてAPP実行装置10から送信されてくるXMLデータを受信し、そのXMLデータに応じた画面(すなわち、図4に示す一覧表示画面)を表示部(図示省略)に表示させることができる。
【0021】
以上に説明したように、図1に示す情報システムは、APP実行装置10にのみAPPを記憶させ、端末装置30にはブラウザソフトウェア以外のAPPを記憶させていないシンクライアントシステムである。但し、APP実行装置10に記憶されているJavaAPPがリッチクライアントシステムを構成する端末装置向けに作成されたAPPである点が、従来のシンクライアントシステムと異なっている。このように、本発明に係るAPP実行装置10は、リッチクライアントシステムを構成する端末装置向けに作成されたJavaAPPをシンクライアントシステムで利用することを可能にするためのものである。なお、本実施形態においては、端末装置30にブラウザソフトウェア以外のAPPを記憶させておかない場合について説明するが、この端末装置30にブラウザソフトウェア以外のAPPを記憶させておくとしても勿論良い。要は、ブラウザソフトウェアを用いてAPP実行装置10に上記JavaAPPを実行することを要求する端末装置であれば、いずれであっても良い。
【0022】
(2:APP実行装置10の構成)
次に、APP実行装置10の構成について図5を参照しつつ説明する。図5に示されるように、APP実行装置10は、制御部510と、通信部520と、記憶部530と、これら構成要素間のデータ授受を仲介するバス540とを有している。
【0023】
制御部510は、例えばCPU(Central Processing Unit)であり、このAPP実行装置10に記憶されているソフトウェアを実行するためのものである。通信部520は、通信網20に接続されており、通信網20を介して端末装置30と通信するためのものである。通信部520は、端末装置30から送信された通信メッセージを受信し、受信した通信メッセージを制御部510へ引渡すと共に、制御部510から引渡された通信メッセージを通信網20へ送出する。
【0024】
記憶部530は、揮発性記憶部531と不揮発性記憶部532とを有している。揮発性記憶部531は、例えばRAM(Random Access Memory)であり、各種ソフトウェアを実行中の制御部510によりワークエリアとして使用される。不揮発性記憶部532は、例えばハードディスクであり、データを永続的に記憶する。この不揮発性記憶部532には、オペレーティングシステム(以下、「OS」と称する)を実現するためのOSソフトウェアと、上述したJavaAPPと、このJavaAPPを実行するためのAPP実行環境を構築するためのソフトウェアと、対応管理テーブル532aとが格納されている。
【0025】
APP実行装置10の制御部510は、このAPP実行装置10の電源(図示省略)が投入されると、まず、OSソフトウェアを不揮発性記憶部532から読み出して実行する。OSソフトウェアの実行を完了し、OSを実現している状態の制御部510は、APP実行装置10の各部を制御すること、複数のソフトウェアを並列に実行することができる。OSを実現している状態の制御部510は、APP実行環境を構築するためのソフトウェアを不揮発性記憶部532から読み出して実行する。以下では、APP実行環境を構築するためのソフトウェアを実行している状態の制御部510に付与される機能について説明する。
【0026】
まず、APP実行環境を構築するためのソフトウェアについて、図6を参照しつつ説明する。図6は、APP実行装置10におけるAPP実行環境を説明するための図である。この図に示されるように、APP実行環境を構築するためのソフトウェアには、Java実行環境の規格の1つであるJ2SE(Java 2 Standard Edition)に準拠したJava実行環境を構築するためソフトウェアと、このJava実行環境に従って上記JavaAPPを実行するためのソフトウェアであるサーブレットコンテナとが含まれている。なお、J2SEとはPC向けに定められたJava実行環境の規格である。
【0027】
Java実行環境を構築するためのソフトウェアには、VMと、クラスライブラリとが含まれている。VMとは、JavaAPPを構成するJavaバイトコードを制御部510が解釈可能なマシン語コードに変換し、そのマシン語コードを実行する機能を制御部510に付与するためのものである。また、クラスライブラリには、PC向けの基本的な機能を提供するためのAPI(Application Program Interface)が含まれている。不揮発性記憶部532に格納されているJavaAPPには、これらAPIを呼出す旨のJavaバイトコードが内包されている。JavaAPPを実行中の制御部510には、これらAPIを呼出す旨のJavaバイトコードをVMに従って解釈し実行することにより、これらAPIの提供する機能が付与される。クラスライブラリに含まれているAPIの一例としては、データ表示APIや、ネットワーキングAPIおよびXMLデータ生成APIが挙げられる。データ表示APIとは、このデータ表示APIの呼出元から引渡されたデータをコンピュータ装置の表示部に表示させるためのAPIである。ネットワーキングAPIとは、呼出元により指定されたURLによりネットワークリソースへアクセスするためのAPIである。また、XMLデータ生成APIは、このXMLデータ生成APIの呼出元から引渡されたデータを端末装置30に表示させる旨のXMLデータを生成するためのAPIである。
【0028】
次に、サーブレットコンテナについて説明する。サーブレットコンテナを実行中の制御部510には、以下に述べる2つの機能が付与される。第1の機能は、不揮発性記憶部532に格納されているJavaAPPの実行を要求する旨の通信メッセージを受信し、そのJavaAPPを実行する機能である。なお、サーブレットコンテナが当該JavaAPPを実行する際には、そのJavaAPPに含まれているJavaバイトコードを、図7に示す対応管理テーブル532aの格納内容に基づいて書き換えてから、そのJavaAPPをVMに従って実行する。
【0029】
図7は対応管理テーブル532aのテーブルフォーマットの一例を示す図である。この対応管理テーブル532aには、不揮発性記憶部532に格納されているJavaAPPを端末装置30のユーザに利用させるために、書き換える必要があるJavaバイトコードを特定する情報が格納されている。具体的には、図7に示される対応管理テーブル532aでは、データ表示APIを呼出す旨のJavaバイトコードを、XMLデータ生成APIを呼出す旨のJavaバイトコードへ書き換えることが示されている。
【0030】
そして、第2の機能は、JavaAPPの実行過程で生成されたXMLデータを端末装置30へ送信し、このXMLデータに応じた画面を端末装置30に表示させると共に、当該画面を表示させている状態の端末装置30に対して行われたユーザの入力操作を示すデータを取得する機能である。このように、サーブレットコンテナは、不揮発性記憶部532に格納されているJavaAPPを端末装置30に利用させるための機能を制御部510に付与するためのソフトウェアである。
【0031】
以上に説明したように、APP実行装置10の構成は一般的なコンピュータ装置と同一であり、不揮発性記憶部532に格納されている各種ソフトウェアを実行することにより、本発明に係るAPP実行装置に特有な機能が制御部510に付与される。
【0032】
[B.動作]
次に、APP実行装置10の動作のうち、このAPP実行装置10の特徴を顕著に示す動作について図を参照しつつ説明する。なお、本動作例を説明する前提として、APP実行装置10は、既に電源(図示省略)を投入されており、APP実行装置10の制御部510は、上述したAPP実行環境を構築するためのソフトウェアを既に実行中であるものとする。
【0033】
(1:JavaAPP起動動作)
まず、サーブレットコンテナを実行中の制御部510が、端末装置30から送信された通信メッセージに基づいて、不揮発性記憶532に格納されているJavaAPPを起動するまでの動作について図8を参照しつつ説明する。図8に示されるように、サーブレットコンテナを実行中の制御部510は、不揮発性記憶部532に格納しているJavaAPPの実行を要求する旨の通信メッセージを通信部520を介して受信(ステップSB1)すると、この通信メッセージに内包されているURLで特定されるJavaAPPを不揮発性記憶部532から読み出し、揮発性記憶部531へ格納する(ステップSB2)。
【0034】
次に、制御部510は、ステップSB2にて揮発性記憶部531へ格納したJavaAPPを構成しているJavaバイトコードを対応管理テーブル532aの格納内容に基づいて書き換える(ステップSB3)。このような書き換えが行われることにより、揮発性記憶部531に格納されているJavaAPPは、図9に示すフローチャートに従った動作を制御部510に実行させるJavaAPPになる。そして、制御部510は、揮発性記憶部531に格納されているJavaAPPをVMに従って解釈し、実行する(ステップSB4)。
【0035】
なお、上述のように、本実施形態では、Javaバイトコードの書き換えのトリガを、JavaAPPの実行を要求する旨の通信メッセージを受信したときとしたが、これに限られず、例えば、APP実行装置10の電源が投入されたときとしても勿論良い。
【0036】
(2:JavaAPPの動作)
次に、上述したステップSB4(図8参照)における制御装置510の動作を図9を参照しつつ説明する。図9に示すフローチャートが図2に示すフローチャートと異なっている点は、ステップSA1(図2参照)に替えて、ステップSC1(図9参照)を有する点のみである。なお、ステップSA1は、データ表示APIを呼出して、図4に示す一覧表示画面をAPP実行装置10の表示部(図示省略)に表示させるステップであり、ステップSC1は、XMLデータ生成API呼出して、図4に示す一覧表示画面を端末装置30に表示させるためのXMLデータを生成すると共に、このXMLデータを内包した通信メッセージを端末装置30へ送信するステップである。
【0037】
このステップSC1における制御部510の動作について詳細に説明する。制御部510は、まず、図4に示す一覧表示画面を端末装置30に表示させるためのXMLデータを生成する。そして、このXMLデータに、図4に示す一覧表示画面を表示している状態の端末装置30で何らかの入力操作が行われた場合に、その入力操作を示すデータをAPP実行装置10へ送信する旨のXMLデータを付加したXMLデータを生成し、このXMLデータを内包した通信メッセージを端末装置30宛てに送信する。上述したように端末装置30では、既に、ブラウザソフトウェアが実行されており、この通信メッセージを受信すると、この通信メッセージに内包されているXMLデータをブラウザソフトウェアに従って解釈し、図4に示す一覧表示画面を表示部(図示省略)に表示させる。
【0038】
そして、図4に示す一覧表示画面を表示している状態の端末装置30で、終了操作(例えば、終了ボタンB1の押下)が行われると、端末装置30は、終了操作が行われたことを示すデータを内包した通信メッセージをAPP実行装置10へ送信する。
【0039】
上記JavaAPPを実行中の制御部510は、この通信メッセージを受信すると、受信した通信メッセージをサーブレットコンテナに従って解析し、この通信メッセージに内包されているデータを取得する(ステップSA2)。次に、制御部510は、ステップSA2にて取得したデータに基づいて終了操作が行われたか否かを判定(ステップSA3)し、終了操作が行われたと判定した場合にのみ、JavaAPPの実行を終了する。本動作例では、ステップSA2にて取得されたデータは、ユーザにより終了操作が行われたことを示すデータであるから、制御部510は、JavaAPPの実行を終了する。以降、APP実行装置10の制御部510は、サーブレットコンテナに従って、JavaAPPの実行を要求する旨の通信メッセージが端末装置30から送信されてくることを待ち受ける。
【0040】
以上に説明したように、本実施形態に係るAPP実行装置10を用いることにより、リッチクライアントシステムで利用されているJavaAPPをシンクライアントで利用することが可能になる。
【0041】
[C.変形例]
以上、本発明の実施形態について説明したが、本発明は係る実施形態に限定されるものではなく、その技術思想の範囲内で様々な変形が可能である。なお、変形例としては、例えば、以下のようなものが考えられる。
【0042】
(変形例1)上述した実施形態では、APP実行装置10と端末装置30との間の通信を仲介する通信網20として、LANを用いる場合について説明した。しかしながら、係る通信網20はLANに限定されるものではない。例えば、通信網20は、インターネットであっても良く、また、インターネットと、ゲートウェイ装置を介してインターネットに接続されたLANとで構成されていても良い。要は、APP実行装置10と端末装置30との通信を仲介する通信網であれば、いずれであっても良い。また、上述した実施形態では、APP実行装置10にJavaAPPの実行を要求する端末装置30として、ブラウザソフトウェアを記憶したPCを用いる場合について説明した。しかしながら、係る端末装置30は、ブラウザソフトウェアを記憶した携帯電話機やPDA(Personal Digital
Assistance)であっても良いことは、勿論である。
【0043】
(変形例2)上述した実施形態では、1つのJavaAPPのみをAPP実行装置10に記憶させておく場合について説明した。しかしながら、APP実行装置10に記憶させておくJavaAPPの数は一に限定されるものではない。複数のJavaAPPがAPP実行装置10に記憶されているとしても勿論良い。
【0044】
(変形例3)上述した実施形態では、JavaAPPの実行過程で行われる情報の報知の一例として、ある画面をコンピュータ装置の表示部に表示させる場合について説明した。しかしながら、JavaAPPの実行過程で行われる情報の報知は、係る態様に限定されるものではない。例えば、音声による報知であっても良い。これは、音声による報知を行うJavaAPPをAPP実行装置10で実行する場合に、そのJavaAPPに内包されているJavaバイトコードのうち、音声を報知するAPIを呼出す旨のJavaバイトコードを、その音声を端末装置30に報知させるためのXMLデータを生成するJavaバイトコードに書き換えて実行することで実現される。
【0045】
(変形例4)上述した実施形態では、APP実行装置10の備えるJava実行環境として、J2SEに準拠したJava実行環境を用いる場合について説明したが、J2EE(Java 2 Enterprise Edition)に準拠したJava実行環境でも良いことは勿論である。J2EEとは、複数のユーザに対して通信サービスを提供するためのサーバ装置向けに定められたJava実行環境の規格である。
【0046】
また、上述した実施形態では、APP実行装置10に記憶させるAPPとして、Javaで記述されたAPPを用いる場合について説明した。しかしながら、係るAPPは、Javaで記述されたAPPに限定されるものではない。例えば、C++などの他のプログラミング言語で記述されたAPPであっても良いことは勿論である。
【0047】
(変形例5)上述した実施形態では、サーブレットコンテナを実行中の制御部510が対応管理テーブル532aの格納内容に基づいてJavaAPPに記述されているデータ表示APIをXMLデータ生成APIに書き換える場合について説明した。しかしながら、データ表示APIをXMLデータ生成APIに書き換える態様は対応管理テーブル532aを用いる態様に限定されるものではない。例えば、JavaAPPに内包されているデータ表示APIを呼出す旨のJavaバイトコードをXMLデータ生成APIを呼出す旨のJavaバイトコードへ予め書き換えてAPP実行装置10に記憶させる場合には、対応管理テーブル532aを不揮発性記憶部532に記憶させておく必要はない。また、XMLデータ生成APIの名称をデータ表示APIの名称と同一にしておけば、対応管理テーブル532aを不揮発性記憶部532に記憶させておく必要はない。但し、この場合には、VMを実行中の制御部510がJavaAPPの実行過程で呼出すAPIを一意に特定できるようにするために、データ表示APIをクラスライブラリから削除しておく必要がある。
【0048】
(変形例6)上述した実施形態では、APP実行装置10に記憶させておくAPPの一例として、コンピュータ装置に表示させるデータを予め内包しているJavaAPPについて説明した。しかしながら、本発明に係るAPP実行装置10に記憶させ実行させるJavaAPPは、係るJavaAPPに限定されるものではない。例えば、データベース(DataBase:以下、「DB」と称する)からデータを取得し、そのデータを表示させる処理をコンピュータ装置に実行させるJavaAPPであっても良い。また、例えば、TP(Transaction Processing)モニタなどの管理の元で他のコンピュータ装置で動作しているアプリケーションプログラムと、あるプロトコルに準拠した通信を行い、このアプリケーションプログラムから取得したデータを表示するJavaAPPであっても良い。このようなプロトコルの一例としては、CORBA(Common Object Request BrokerArchitecture)や、RMI(Remote Method Invocation)、SOAP(Simple Object Access Protocol)などが挙げられる。具体的には、APP実行装置10に記憶されているJavaAPPは、DBアクセスAPIを呼出す旨のJavaバイトコードと、このDBアクセスAPIにより取得されるデータを表示するためにデータ表示APIを呼出す旨のJavaバイトコードとが記述されているJavaAPPであっても良い。なお、DBアクセスAPIとは、DBからデータを取得したり、DBに格納されているデータを更新する機能を提供するためのAPIである。ここで、注目すべき点は、DBアクセスAPIを制御部510が呼出し実行することにより取得されるデータは揮発性記憶部531へ格納される点である。このように、DBアクセスAPIが実行され、データが取得された後では、DBアクセスAPIにより取得されたデータと、JavaAPPに予め内包されていたデータとを区別する必要はない。従って、DBアクセスAPIを呼出す旨のJavaバイトコードを含んでいるJavaAPPを実行することを要求された場合であっても、APP実行装置10の制御部510は、このJavaAPPを構成するJavaバイトコードのうち、データ表示APIを呼出す旨のJavaバイトコードのみをXMLデータ生成APIに書き換えて実行すれば良い。
【0049】
(変形例7)上述した実施形態では、APP実行装置10から送信されたXMLデータに応じた画面を表示させている状態の端末装置30から、ユーザにより行われた入力操作を示すデータをAPP実行装置10が取得する場合について説明した。このようにすると、ユーザにより行われた入力操作の内容に応じて複雑な処理を行うようなJavaAPPをAPP実行装置10で実行することが可能になるといった効果を奏する。しかしながら、APP実行装置10に記憶されているJavaAPPが、単にデータの報知を行うなど、単純な処理を行うものである場合には、必ずしも、ユーザにより行われた入力操作を全てAPP実行装置10が取得する必要はない。例えば、予め定められた入力操作が行われた場合にのみ、その入力操作を示すデータを端末装置30から取得するとしても良い。このようにすると、端末装置30とAPP実行装置10との間の通信トラヒックが削減されるといった効果を奏する。
【0050】
(変形例8)上述した実施形態では、端末装置30に一覧表示画面を表示させるためのデータを記述するマークアップ言語としてXMLを用いる場合について説明した。しかしながら、係るマークアップ言語はXMLに限定されるものではない。例えば、HTML(HyperText Markup Language )であっても良く、また、CHTML(Compact HyperText Markup Language)であっても良い。なお、以下では、HTMLで記述されたデータをHTMLデータと称し、CHTMLで記述されたデータをCHTMLデータと称する。
【0051】
また、上述した実施形態では、APP実行装置10は、JavaAPPの実行を要求した端末装置に常にXMLデータを送信する場合について説明した。しかしながら、JavaAPPの実行を要求した端末装置に記憶されているブラウザソフトウェアの種別毎に異なる記述言語で記述されたデータを送信するとしても良い。具体的には、APP実行装置10は、HTMLを解釈可能なブラウザソフトウェアを記憶した端末装置(例えば、PC)からJavaAPPの実行を要求された場合には、HTMLデータを送信し、CHTMLを解釈可能なブラウザを記憶した端末装置(例えば、携帯電話機)からJavaAPPの実行を要求された場合には、CHTMLデータを送信するとしても良い。
【0052】
これは、次のようにして実現される。JavaAPPを実行する旨の通信メッセージを端末装置30に送信させる際に、端末装置30に記憶されているブラウザソフトウェアが解釈可能な記述言語を示す識別子を通信メッセージに内包させて送信させる。なお、このような識別子の一例としては、文字列「HTML」や文字列「CHTML」が挙げられる。そして、APP実行装置10の制御部510はこの通信メッセージに内包されている識別子に基づいて特定される記述言語で、端末装置30へ送信するデータを記述し送信する。このようにすると、情報システムを構成する複数の端末装置が、互いに異なるブラウザソフトウェアを記憶している場合であっても、これら複数の端末装置に対して、一台のAPP実行装置でJavaAPPを実行することが可能になるといった効果を奏する。
【0053】
(変形例9)上述した実施形態では、APP実行装置10に、端末装置30のユーザに利用させるためのJavaAPPを実行するためのAPP実行環境を構築するためのプログラムを予め記憶させておく場合について説明した。しかしながら、上記APP実行環境を構築するためのソフトウェアを記憶していない一般的なコンピュータ装置に、これらのソフトウェアを記憶させ、本発明に係るAPP実行装置10と同一の機能を付与することも可能である。
【0054】
また、コンピュータ装置読み取り可能な記録媒体に、上記APP実行環境を構築するためのソフトウェアを記録しておき、この記録媒体に記録されているプログラムを上記コンピュータ装置に読み取らせ、実行させることにより、APP実行装置10と同一の機能を付与するとしても勿論良い。
【0055】
【発明の効果】
本発明によれば、リッチクライアントシステムで利用されているアプリケーションプログラムをほとんど修正することなく、シンクライアントシステムで利用することが可能になる。このため、過去にリッチクライアントシステムとして構築した情報システムをシンクライアントシステムへ変更する際のコストが大幅に削減されるといった効果を奏する。
【図面の簡単な説明】
【図1】本発明の実施形態に係る情報システムの全体構成の一例を示す図である。
【図2】同情報システムを構成するAPP実行装置10に記憶されているAPPに内包されている社員テーブルの一例を示す図である。
【図3】同APPを、一般的なコンピュータ装置で実行した場合の動作の流れを示すフローチャートである。
【図4】同APPを実行中のコンピュータ装置が表示する一覧画面の一例を示す図である。
【図5】同情報システムを構成するAPP実行装置10の構成例を示す図である。
【図6】同APP実行装置10に組み込まれているAPP実行環境を説明するための図である。
【図7】同APP実行装置10の不揮発性記憶部532に格納されている対応管理テーブル532aの一例を示す図である。
【図8】同APP実行装置10の制御部510がサーブレットコンテナに従って行うAPP起動動作の流れを示すフローチャートである。
【図9】同APP実行装置10の制御部510がJavaバイトコードを書き換えられたAPPを実行した場合の動作の流れを示すフローチャートである。
【符号の説明】
10…APP実行装置、20…通信網、30…端末装置、510…制御部、520…通信部、530…記憶部、531…揮発性記憶部、532…不揮発性記憶部、532a…対応管理テーブル、540…バス。
【発明の属する技術分野】
アプリケーションプログラムを複数のユーザに共同利用させる技術に関する。
【0002】
【従来の技術】
近年、各企業においては、業務効率の向上および経営意思決定のために、当該企業が有する様々なデータを格納したデータベースを作成し、これらデータの集計および分析を行うための情報システムを構築することが盛んに行われている。このような情報システムは、データを管理するためのサーバ装置と、各社員に使用させるための端末装置とで構成されている。そして、このような情報システムの実施形態としては、主にクライアント/サーバ型情報システムとWeb型情報システムとがある。
【0003】
クライアント/サーバ型情報システムでは、通信網を介してサーバ装置と通信可能な端末装置には、各種データを操作するためのアプリケーションプログラムと、日々の処理では参照のみが行われるデータとが記憶され、サーバ装置には、日々の処理に伴い更新され得るデータが記憶される。このように、クライアント/サーバ型情報システムは、各種データ処理を行うためのアプリケーションプログラムを端末装置に記憶させているために、「リッチクライアントシステム」と呼ばれている。
【0004】
Web型情報システムでは、サーバ装置には、全てのデータと、このデータを端末装置からの要求に従って処理するためのアプリケーションプログラムとが記憶され、端末装置には、サーバ装置にアプリケーションプログラムを実行させると共に、その実行結果を閲覧するためのブラウザソフトウェアが記憶されている。このように、Web型情報システムは、各種データ処理を行うためのアプリケーションプログラムを端末装置に記憶させていないために、「シンクライアントシステム」と呼ばれている。
【0005】
一般に、情報システムでは、当該システムが提供するサービスの新設および廃止に伴い、当該システムの管理者により、アプリケーションプログラムの入れ替えが行われる。このような入れ替えをリッチクライアントシステムについて行う場合、そのシステムを構成する全ての端末装置についてアプリケーションプログラムの入れ替えを行う必要がある。これに対して、上記入れ替えをシンクライアントシステムについて行う場合には、サーバ装置のアプリケーションプログラムのみを入れ替えれば良い。つまり、シンクライアントシステムは、リッチクライアントシステムに比較して、アプリケーションプログラムの入れ替えを容易に行うことができるといった長所を有する。また、近年、サーバ装置に記憶されている各種データを営業先や出張先などの外出先から携帯電話機などの端末装置を用いて参照したり更新したりできるようにしたいという要望がある。このようなことをリッチクライアントシステムで実現するためには、アプリケーションプログラムを携帯電話機などの端末装置に記憶させ実行させる必要がある。しかしながら、この種の端末装置は携帯性を確保するために、記憶容量やプログラム実行性能が制限されているため、複雑な処理を行うアプリケーションプログラムを記憶し、実行することは不可能である。つまり、リッチクライアントシステムで、このような要望を実現することは不可能である。これに対して、シンクライアントシステムでは、端末装置にブラウザソフトウェアのみを記憶させておけば良く、このような要望を容易に実現することができる。このように、シンクライアントシステムはリッチクライアントシステムに対して様々な長所を有するため、過去にリッチクライアントシステムで情報システムを構築した企業の中にも、その情報システムをシンクライアントシステムへ変更することを望むものが存在する。
【0006】
リッチクライアントシステムとして構築された情報システムを、シンクライアントシステムへ変更するためには、この情報システムを構成する端末装置に記憶されているアプリケーションプログラムを、シンクライアントシステムのサーバで動作するアプリケーションプログラムへ変更する必要がある。しかしながら、あるコンピュータ装置で動作するように作成されたアプリケーションプログラムを他のコンピュータ装置で動作させるようにするためには、そのアプリケーションプログラムのソースコードを他のコンピュータ装置向けに修正する必要がある。一般に、企業の情報システムには、多数のアプリケーションプログラムが含まれており、これらのアプリケーションプログラムを全て修正することに要する費用や時間(以下、「コスト」と称する)は多大なものになってしまう。このため、このようなコストを負担することができない場合には、過去に構築した情報システムをそのまま使用し続けるしかない。
【0007】
本出願人は、このような問題を解決するための先行技術を抽出するために先行技術調査を行ったところ、特許文献1が抽出された。特許文献1に開示されている技術によれば、あるコンピュータ装置で動作するように作成されたアプリケーションプログラムを他のコンピュータ装置で同一の動作をするように修正する際のコストを削減することができる。
【0008】
【特許文献1】
特開平11−345147号公報
【0009】
【発明が解決しようとする課題】
しかしながら、リッチクライアントシステムを構成する端末装置で動作するように作成されたアプリケーションプログラムに、特許文献1に開示されている技術を適用したとしても、シンクライアントシステムを構成するサーバ装置で動作するアプリケーションプログラムを得ることはできない。例えば、リッチクライアントシステムを構成する端末装置で実行された場合に、ある画面をその端末装置に表示させるアプリケーションプログラムを想定する。このアプリケーションプログラムに上記特許文献1に開示されている技術を適用し、上記サーバ装置で動作するアプリケーションプログラムへ変換したとする。このようにして変換されるアプリケーションプログラムは、上記ある画面をそのサーバ装置に表示させるアプリケーションプログラムである。つまり、このようなアプリケーションプログラムをサーバ装置で実行させたとしても、上記ある画面は端末装置に表示されないことになる。これでは役に立たない。このように、特許文献1に開示されている技術を用いたとしても、上記問題点が解決される訳ではない。
【0010】
本発明は、上記問題点に鑑みて為されたものであり、リッチクライアントシステムで利用されているアプリケーションプログラムを、シンクライアントシステムを構成するサーバ装置で利用することを可能にする技術を提供することを目的としている。
【0011】
【課題を解決するための手段】
上記課題を解決するために、本発明は、通信網を介して受信したデータで表される情報を報知する端末装置と該通信網を介して通信するアプリケーションプログラム実行装置において、前記端末装置で実行された場合に、ある情報を該端末装置に報知させるアプリケーションプログラムを記憶する記憶手段と、前記端末装置からの要求に基づいて、前記アプリケーションプログラムを実行する実行手段と、前記実行手段により前記アプリケーションプログラムを実行する過程で、前記ある情報の報知を行うことに替えて、該情報を表すデータを生成する生成手段と、前記アプリケーションプログラムの実行を要求した前記端末装置へ、前記生成手段により生成されたデータを前記通信網を介して送信する送信手段とを有することを特徴とするアプリケーションプログラム実行装置を提供する。
【0012】
このようなアプリケーションプログラム実行装置を用いると、情報の報知を行う端末装置からの要求に基づいて上記アプリケーションプログラムが実行される。そして、該アプリケーションプログラムの実行過程で報知される情報を表すデータが生成され、該データがその端末装置へ送信される。
【0013】
また、上記課題を解決するために、本発明は、通信網を介して受信したデータで表される情報を報知する端末装置と該通信網を介して通信するとともに、該端末装置で実行された場合に、ある情報を該端末装置に報知させるアプリケーションプログラムを記憶しているコンピュータ装置に、前記端末装置からの要求に基づいて、前記アプリケーションプログラムを実行する実行手段と、前記実行手段により前記アプリケーションプログラムを実行する過程で、前記ある情報の報知を行うことに替えて、該情報を表すデータを生成する生成手段と、前記アプリケーションプログラムの実行を要求した前記端末装置へ、前記生成手段により生成されたデータを前記通信網を介して送信する送信手段とを実現させるプログラムを提供する。
【0014】
このようなプログラムを用いると、係るプログラムを実行中のコンピュータ装置は、情報の報知を行う端末装置からの要求に基づいて上記アプリケーションプログラムを実行する。そして、該アプリケーションプログラムの実行過程で報知される情報を表すデータが生成され、該データがその端末装置へ送信される。
【0015】
【発明の実施の形態】
以下、図面を参照しつつ、本発明の実施形態について説明する。
【0016】
[A.構成]
(1:システムの全体構成)
図1は本発明の実施形態に係るアプリケーションプログラム(以下、「APP」と称する)実行装置を有する情報システムの構成例を示す図である。図1に示されるように、この情報システムは、例えばLAN(Local Area Network)などの通信網20で接続されたAPP実行装置10と端末装置30とを有している。なお、図1には、1つのAPP実行装置10と1つの端末装置30とが例示されているが、実際には、複数のAPP実行装置と、複数の端末装置とが存在する。
【0017】
APP実行装置10は、オブジェクト指向のプログラミング言語の1つであるJava(登録商標)で記述されたAPP(以下、「JavaAPP」と称する)を記憶している。なお、このJavaAPPは、後述するJava実行環境で解釈し実行可能なJavaバイトコードで構成されている。このAPP実行装置10は、通信網20を介して端末装置30とパケット通信を行う機能と、Java実行環境とを備えており、端末装置30からの要求に応じて上記JavaAPPを実行することができる。
【0018】
ここで、APP実行装置10に記憶されているJavaAPPについて説明する。このJavaAPPには、例えば、図2に示すような社員テーブルが内包されている。図2に示されるように、この社員テーブルには、図1に示す情報システムを有する企業を構成する各社員について、社員番号、氏名および所属部署などの社員データが格納されている。このJavaAPPは、一般的なJava実行環境を有するコンピュータ装置で実行された場合に、そのコンピュータ装置に図3に示すフローチャートに従った処理を行わせるものである。図3に示されるように、このJavaAPPを実行中のコンピュータ装置は、上記社員テーブルに格納されている社員データをそのコンピュータ装置のユーザに閲覧させるために、例えば図4に示す一覧表示画面を表示部(図示省略)へ表示させるものである。このように、このJavaAPPは、ブラウザソフトウェアを用いただけでは不可能な処理をコンピュータ装置に行わせるものであるから、リッチクライアントシステムを構成する端末装置向けに作成されたAPPといえる。
【0019】
上述したように、APP実行装置10は、端末装置30からの要求に基づいて上記JavaAPPを実行することができる。但し、このAPP実行装置10は、上記JavaAPPを実行する際に、図4に示す一覧表示画面を自装置の表示部(図示省略)へ表示させることに替えて、この一覧表示画面を端末装置30に表示させるためのデータであって、所定のマークアップ言語(例えば、XML(eXtensible Markup Language))で記述されたデータを生成し送信するように実行する。なお、以下では、XMLで記述されたデータを「XMLデータ」と称する。
【0020】
端末装置30は、一般的なパーソナルコンピュータ装置(以下、「PC」と称する)であり、ブラウザソフトウェアの他にAPPを記憶していない。端末装置30のユーザは、このブラウザソフトウェアを用いて、上記JavaAPPをAPP実行装置10に実行させることができる。具体的には、ブラウザソフトウェアを実行中の端末装置30は、ユーザにより上記JavaAPPのURL(Uniform Resource Locator)が入力されると、このURLで特定されるJavaAPPの実行を要求する旨の通信メッセージ(例えば、POSTメソッドを内包した通信メッセージ)を通信網20へ送出する。そして、端末装置30は、このブラウザソフトウェアを用いてAPP実行装置10から送信されてくるXMLデータを受信し、そのXMLデータに応じた画面(すなわち、図4に示す一覧表示画面)を表示部(図示省略)に表示させることができる。
【0021】
以上に説明したように、図1に示す情報システムは、APP実行装置10にのみAPPを記憶させ、端末装置30にはブラウザソフトウェア以外のAPPを記憶させていないシンクライアントシステムである。但し、APP実行装置10に記憶されているJavaAPPがリッチクライアントシステムを構成する端末装置向けに作成されたAPPである点が、従来のシンクライアントシステムと異なっている。このように、本発明に係るAPP実行装置10は、リッチクライアントシステムを構成する端末装置向けに作成されたJavaAPPをシンクライアントシステムで利用することを可能にするためのものである。なお、本実施形態においては、端末装置30にブラウザソフトウェア以外のAPPを記憶させておかない場合について説明するが、この端末装置30にブラウザソフトウェア以外のAPPを記憶させておくとしても勿論良い。要は、ブラウザソフトウェアを用いてAPP実行装置10に上記JavaAPPを実行することを要求する端末装置であれば、いずれであっても良い。
【0022】
(2:APP実行装置10の構成)
次に、APP実行装置10の構成について図5を参照しつつ説明する。図5に示されるように、APP実行装置10は、制御部510と、通信部520と、記憶部530と、これら構成要素間のデータ授受を仲介するバス540とを有している。
【0023】
制御部510は、例えばCPU(Central Processing Unit)であり、このAPP実行装置10に記憶されているソフトウェアを実行するためのものである。通信部520は、通信網20に接続されており、通信網20を介して端末装置30と通信するためのものである。通信部520は、端末装置30から送信された通信メッセージを受信し、受信した通信メッセージを制御部510へ引渡すと共に、制御部510から引渡された通信メッセージを通信網20へ送出する。
【0024】
記憶部530は、揮発性記憶部531と不揮発性記憶部532とを有している。揮発性記憶部531は、例えばRAM(Random Access Memory)であり、各種ソフトウェアを実行中の制御部510によりワークエリアとして使用される。不揮発性記憶部532は、例えばハードディスクであり、データを永続的に記憶する。この不揮発性記憶部532には、オペレーティングシステム(以下、「OS」と称する)を実現するためのOSソフトウェアと、上述したJavaAPPと、このJavaAPPを実行するためのAPP実行環境を構築するためのソフトウェアと、対応管理テーブル532aとが格納されている。
【0025】
APP実行装置10の制御部510は、このAPP実行装置10の電源(図示省略)が投入されると、まず、OSソフトウェアを不揮発性記憶部532から読み出して実行する。OSソフトウェアの実行を完了し、OSを実現している状態の制御部510は、APP実行装置10の各部を制御すること、複数のソフトウェアを並列に実行することができる。OSを実現している状態の制御部510は、APP実行環境を構築するためのソフトウェアを不揮発性記憶部532から読み出して実行する。以下では、APP実行環境を構築するためのソフトウェアを実行している状態の制御部510に付与される機能について説明する。
【0026】
まず、APP実行環境を構築するためのソフトウェアについて、図6を参照しつつ説明する。図6は、APP実行装置10におけるAPP実行環境を説明するための図である。この図に示されるように、APP実行環境を構築するためのソフトウェアには、Java実行環境の規格の1つであるJ2SE(Java 2 Standard Edition)に準拠したJava実行環境を構築するためソフトウェアと、このJava実行環境に従って上記JavaAPPを実行するためのソフトウェアであるサーブレットコンテナとが含まれている。なお、J2SEとはPC向けに定められたJava実行環境の規格である。
【0027】
Java実行環境を構築するためのソフトウェアには、VMと、クラスライブラリとが含まれている。VMとは、JavaAPPを構成するJavaバイトコードを制御部510が解釈可能なマシン語コードに変換し、そのマシン語コードを実行する機能を制御部510に付与するためのものである。また、クラスライブラリには、PC向けの基本的な機能を提供するためのAPI(Application Program Interface)が含まれている。不揮発性記憶部532に格納されているJavaAPPには、これらAPIを呼出す旨のJavaバイトコードが内包されている。JavaAPPを実行中の制御部510には、これらAPIを呼出す旨のJavaバイトコードをVMに従って解釈し実行することにより、これらAPIの提供する機能が付与される。クラスライブラリに含まれているAPIの一例としては、データ表示APIや、ネットワーキングAPIおよびXMLデータ生成APIが挙げられる。データ表示APIとは、このデータ表示APIの呼出元から引渡されたデータをコンピュータ装置の表示部に表示させるためのAPIである。ネットワーキングAPIとは、呼出元により指定されたURLによりネットワークリソースへアクセスするためのAPIである。また、XMLデータ生成APIは、このXMLデータ生成APIの呼出元から引渡されたデータを端末装置30に表示させる旨のXMLデータを生成するためのAPIである。
【0028】
次に、サーブレットコンテナについて説明する。サーブレットコンテナを実行中の制御部510には、以下に述べる2つの機能が付与される。第1の機能は、不揮発性記憶部532に格納されているJavaAPPの実行を要求する旨の通信メッセージを受信し、そのJavaAPPを実行する機能である。なお、サーブレットコンテナが当該JavaAPPを実行する際には、そのJavaAPPに含まれているJavaバイトコードを、図7に示す対応管理テーブル532aの格納内容に基づいて書き換えてから、そのJavaAPPをVMに従って実行する。
【0029】
図7は対応管理テーブル532aのテーブルフォーマットの一例を示す図である。この対応管理テーブル532aには、不揮発性記憶部532に格納されているJavaAPPを端末装置30のユーザに利用させるために、書き換える必要があるJavaバイトコードを特定する情報が格納されている。具体的には、図7に示される対応管理テーブル532aでは、データ表示APIを呼出す旨のJavaバイトコードを、XMLデータ生成APIを呼出す旨のJavaバイトコードへ書き換えることが示されている。
【0030】
そして、第2の機能は、JavaAPPの実行過程で生成されたXMLデータを端末装置30へ送信し、このXMLデータに応じた画面を端末装置30に表示させると共に、当該画面を表示させている状態の端末装置30に対して行われたユーザの入力操作を示すデータを取得する機能である。このように、サーブレットコンテナは、不揮発性記憶部532に格納されているJavaAPPを端末装置30に利用させるための機能を制御部510に付与するためのソフトウェアである。
【0031】
以上に説明したように、APP実行装置10の構成は一般的なコンピュータ装置と同一であり、不揮発性記憶部532に格納されている各種ソフトウェアを実行することにより、本発明に係るAPP実行装置に特有な機能が制御部510に付与される。
【0032】
[B.動作]
次に、APP実行装置10の動作のうち、このAPP実行装置10の特徴を顕著に示す動作について図を参照しつつ説明する。なお、本動作例を説明する前提として、APP実行装置10は、既に電源(図示省略)を投入されており、APP実行装置10の制御部510は、上述したAPP実行環境を構築するためのソフトウェアを既に実行中であるものとする。
【0033】
(1:JavaAPP起動動作)
まず、サーブレットコンテナを実行中の制御部510が、端末装置30から送信された通信メッセージに基づいて、不揮発性記憶532に格納されているJavaAPPを起動するまでの動作について図8を参照しつつ説明する。図8に示されるように、サーブレットコンテナを実行中の制御部510は、不揮発性記憶部532に格納しているJavaAPPの実行を要求する旨の通信メッセージを通信部520を介して受信(ステップSB1)すると、この通信メッセージに内包されているURLで特定されるJavaAPPを不揮発性記憶部532から読み出し、揮発性記憶部531へ格納する(ステップSB2)。
【0034】
次に、制御部510は、ステップSB2にて揮発性記憶部531へ格納したJavaAPPを構成しているJavaバイトコードを対応管理テーブル532aの格納内容に基づいて書き換える(ステップSB3)。このような書き換えが行われることにより、揮発性記憶部531に格納されているJavaAPPは、図9に示すフローチャートに従った動作を制御部510に実行させるJavaAPPになる。そして、制御部510は、揮発性記憶部531に格納されているJavaAPPをVMに従って解釈し、実行する(ステップSB4)。
【0035】
なお、上述のように、本実施形態では、Javaバイトコードの書き換えのトリガを、JavaAPPの実行を要求する旨の通信メッセージを受信したときとしたが、これに限られず、例えば、APP実行装置10の電源が投入されたときとしても勿論良い。
【0036】
(2:JavaAPPの動作)
次に、上述したステップSB4(図8参照)における制御装置510の動作を図9を参照しつつ説明する。図9に示すフローチャートが図2に示すフローチャートと異なっている点は、ステップSA1(図2参照)に替えて、ステップSC1(図9参照)を有する点のみである。なお、ステップSA1は、データ表示APIを呼出して、図4に示す一覧表示画面をAPP実行装置10の表示部(図示省略)に表示させるステップであり、ステップSC1は、XMLデータ生成API呼出して、図4に示す一覧表示画面を端末装置30に表示させるためのXMLデータを生成すると共に、このXMLデータを内包した通信メッセージを端末装置30へ送信するステップである。
【0037】
このステップSC1における制御部510の動作について詳細に説明する。制御部510は、まず、図4に示す一覧表示画面を端末装置30に表示させるためのXMLデータを生成する。そして、このXMLデータに、図4に示す一覧表示画面を表示している状態の端末装置30で何らかの入力操作が行われた場合に、その入力操作を示すデータをAPP実行装置10へ送信する旨のXMLデータを付加したXMLデータを生成し、このXMLデータを内包した通信メッセージを端末装置30宛てに送信する。上述したように端末装置30では、既に、ブラウザソフトウェアが実行されており、この通信メッセージを受信すると、この通信メッセージに内包されているXMLデータをブラウザソフトウェアに従って解釈し、図4に示す一覧表示画面を表示部(図示省略)に表示させる。
【0038】
そして、図4に示す一覧表示画面を表示している状態の端末装置30で、終了操作(例えば、終了ボタンB1の押下)が行われると、端末装置30は、終了操作が行われたことを示すデータを内包した通信メッセージをAPP実行装置10へ送信する。
【0039】
上記JavaAPPを実行中の制御部510は、この通信メッセージを受信すると、受信した通信メッセージをサーブレットコンテナに従って解析し、この通信メッセージに内包されているデータを取得する(ステップSA2)。次に、制御部510は、ステップSA2にて取得したデータに基づいて終了操作が行われたか否かを判定(ステップSA3)し、終了操作が行われたと判定した場合にのみ、JavaAPPの実行を終了する。本動作例では、ステップSA2にて取得されたデータは、ユーザにより終了操作が行われたことを示すデータであるから、制御部510は、JavaAPPの実行を終了する。以降、APP実行装置10の制御部510は、サーブレットコンテナに従って、JavaAPPの実行を要求する旨の通信メッセージが端末装置30から送信されてくることを待ち受ける。
【0040】
以上に説明したように、本実施形態に係るAPP実行装置10を用いることにより、リッチクライアントシステムで利用されているJavaAPPをシンクライアントで利用することが可能になる。
【0041】
[C.変形例]
以上、本発明の実施形態について説明したが、本発明は係る実施形態に限定されるものではなく、その技術思想の範囲内で様々な変形が可能である。なお、変形例としては、例えば、以下のようなものが考えられる。
【0042】
(変形例1)上述した実施形態では、APP実行装置10と端末装置30との間の通信を仲介する通信網20として、LANを用いる場合について説明した。しかしながら、係る通信網20はLANに限定されるものではない。例えば、通信網20は、インターネットであっても良く、また、インターネットと、ゲートウェイ装置を介してインターネットに接続されたLANとで構成されていても良い。要は、APP実行装置10と端末装置30との通信を仲介する通信網であれば、いずれであっても良い。また、上述した実施形態では、APP実行装置10にJavaAPPの実行を要求する端末装置30として、ブラウザソフトウェアを記憶したPCを用いる場合について説明した。しかしながら、係る端末装置30は、ブラウザソフトウェアを記憶した携帯電話機やPDA(Personal Digital
Assistance)であっても良いことは、勿論である。
【0043】
(変形例2)上述した実施形態では、1つのJavaAPPのみをAPP実行装置10に記憶させておく場合について説明した。しかしながら、APP実行装置10に記憶させておくJavaAPPの数は一に限定されるものではない。複数のJavaAPPがAPP実行装置10に記憶されているとしても勿論良い。
【0044】
(変形例3)上述した実施形態では、JavaAPPの実行過程で行われる情報の報知の一例として、ある画面をコンピュータ装置の表示部に表示させる場合について説明した。しかしながら、JavaAPPの実行過程で行われる情報の報知は、係る態様に限定されるものではない。例えば、音声による報知であっても良い。これは、音声による報知を行うJavaAPPをAPP実行装置10で実行する場合に、そのJavaAPPに内包されているJavaバイトコードのうち、音声を報知するAPIを呼出す旨のJavaバイトコードを、その音声を端末装置30に報知させるためのXMLデータを生成するJavaバイトコードに書き換えて実行することで実現される。
【0045】
(変形例4)上述した実施形態では、APP実行装置10の備えるJava実行環境として、J2SEに準拠したJava実行環境を用いる場合について説明したが、J2EE(Java 2 Enterprise Edition)に準拠したJava実行環境でも良いことは勿論である。J2EEとは、複数のユーザに対して通信サービスを提供するためのサーバ装置向けに定められたJava実行環境の規格である。
【0046】
また、上述した実施形態では、APP実行装置10に記憶させるAPPとして、Javaで記述されたAPPを用いる場合について説明した。しかしながら、係るAPPは、Javaで記述されたAPPに限定されるものではない。例えば、C++などの他のプログラミング言語で記述されたAPPであっても良いことは勿論である。
【0047】
(変形例5)上述した実施形態では、サーブレットコンテナを実行中の制御部510が対応管理テーブル532aの格納内容に基づいてJavaAPPに記述されているデータ表示APIをXMLデータ生成APIに書き換える場合について説明した。しかしながら、データ表示APIをXMLデータ生成APIに書き換える態様は対応管理テーブル532aを用いる態様に限定されるものではない。例えば、JavaAPPに内包されているデータ表示APIを呼出す旨のJavaバイトコードをXMLデータ生成APIを呼出す旨のJavaバイトコードへ予め書き換えてAPP実行装置10に記憶させる場合には、対応管理テーブル532aを不揮発性記憶部532に記憶させておく必要はない。また、XMLデータ生成APIの名称をデータ表示APIの名称と同一にしておけば、対応管理テーブル532aを不揮発性記憶部532に記憶させておく必要はない。但し、この場合には、VMを実行中の制御部510がJavaAPPの実行過程で呼出すAPIを一意に特定できるようにするために、データ表示APIをクラスライブラリから削除しておく必要がある。
【0048】
(変形例6)上述した実施形態では、APP実行装置10に記憶させておくAPPの一例として、コンピュータ装置に表示させるデータを予め内包しているJavaAPPについて説明した。しかしながら、本発明に係るAPP実行装置10に記憶させ実行させるJavaAPPは、係るJavaAPPに限定されるものではない。例えば、データベース(DataBase:以下、「DB」と称する)からデータを取得し、そのデータを表示させる処理をコンピュータ装置に実行させるJavaAPPであっても良い。また、例えば、TP(Transaction Processing)モニタなどの管理の元で他のコンピュータ装置で動作しているアプリケーションプログラムと、あるプロトコルに準拠した通信を行い、このアプリケーションプログラムから取得したデータを表示するJavaAPPであっても良い。このようなプロトコルの一例としては、CORBA(Common Object Request BrokerArchitecture)や、RMI(Remote Method Invocation)、SOAP(Simple Object Access Protocol)などが挙げられる。具体的には、APP実行装置10に記憶されているJavaAPPは、DBアクセスAPIを呼出す旨のJavaバイトコードと、このDBアクセスAPIにより取得されるデータを表示するためにデータ表示APIを呼出す旨のJavaバイトコードとが記述されているJavaAPPであっても良い。なお、DBアクセスAPIとは、DBからデータを取得したり、DBに格納されているデータを更新する機能を提供するためのAPIである。ここで、注目すべき点は、DBアクセスAPIを制御部510が呼出し実行することにより取得されるデータは揮発性記憶部531へ格納される点である。このように、DBアクセスAPIが実行され、データが取得された後では、DBアクセスAPIにより取得されたデータと、JavaAPPに予め内包されていたデータとを区別する必要はない。従って、DBアクセスAPIを呼出す旨のJavaバイトコードを含んでいるJavaAPPを実行することを要求された場合であっても、APP実行装置10の制御部510は、このJavaAPPを構成するJavaバイトコードのうち、データ表示APIを呼出す旨のJavaバイトコードのみをXMLデータ生成APIに書き換えて実行すれば良い。
【0049】
(変形例7)上述した実施形態では、APP実行装置10から送信されたXMLデータに応じた画面を表示させている状態の端末装置30から、ユーザにより行われた入力操作を示すデータをAPP実行装置10が取得する場合について説明した。このようにすると、ユーザにより行われた入力操作の内容に応じて複雑な処理を行うようなJavaAPPをAPP実行装置10で実行することが可能になるといった効果を奏する。しかしながら、APP実行装置10に記憶されているJavaAPPが、単にデータの報知を行うなど、単純な処理を行うものである場合には、必ずしも、ユーザにより行われた入力操作を全てAPP実行装置10が取得する必要はない。例えば、予め定められた入力操作が行われた場合にのみ、その入力操作を示すデータを端末装置30から取得するとしても良い。このようにすると、端末装置30とAPP実行装置10との間の通信トラヒックが削減されるといった効果を奏する。
【0050】
(変形例8)上述した実施形態では、端末装置30に一覧表示画面を表示させるためのデータを記述するマークアップ言語としてXMLを用いる場合について説明した。しかしながら、係るマークアップ言語はXMLに限定されるものではない。例えば、HTML(HyperText Markup Language )であっても良く、また、CHTML(Compact HyperText Markup Language)であっても良い。なお、以下では、HTMLで記述されたデータをHTMLデータと称し、CHTMLで記述されたデータをCHTMLデータと称する。
【0051】
また、上述した実施形態では、APP実行装置10は、JavaAPPの実行を要求した端末装置に常にXMLデータを送信する場合について説明した。しかしながら、JavaAPPの実行を要求した端末装置に記憶されているブラウザソフトウェアの種別毎に異なる記述言語で記述されたデータを送信するとしても良い。具体的には、APP実行装置10は、HTMLを解釈可能なブラウザソフトウェアを記憶した端末装置(例えば、PC)からJavaAPPの実行を要求された場合には、HTMLデータを送信し、CHTMLを解釈可能なブラウザを記憶した端末装置(例えば、携帯電話機)からJavaAPPの実行を要求された場合には、CHTMLデータを送信するとしても良い。
【0052】
これは、次のようにして実現される。JavaAPPを実行する旨の通信メッセージを端末装置30に送信させる際に、端末装置30に記憶されているブラウザソフトウェアが解釈可能な記述言語を示す識別子を通信メッセージに内包させて送信させる。なお、このような識別子の一例としては、文字列「HTML」や文字列「CHTML」が挙げられる。そして、APP実行装置10の制御部510はこの通信メッセージに内包されている識別子に基づいて特定される記述言語で、端末装置30へ送信するデータを記述し送信する。このようにすると、情報システムを構成する複数の端末装置が、互いに異なるブラウザソフトウェアを記憶している場合であっても、これら複数の端末装置に対して、一台のAPP実行装置でJavaAPPを実行することが可能になるといった効果を奏する。
【0053】
(変形例9)上述した実施形態では、APP実行装置10に、端末装置30のユーザに利用させるためのJavaAPPを実行するためのAPP実行環境を構築するためのプログラムを予め記憶させておく場合について説明した。しかしながら、上記APP実行環境を構築するためのソフトウェアを記憶していない一般的なコンピュータ装置に、これらのソフトウェアを記憶させ、本発明に係るAPP実行装置10と同一の機能を付与することも可能である。
【0054】
また、コンピュータ装置読み取り可能な記録媒体に、上記APP実行環境を構築するためのソフトウェアを記録しておき、この記録媒体に記録されているプログラムを上記コンピュータ装置に読み取らせ、実行させることにより、APP実行装置10と同一の機能を付与するとしても勿論良い。
【0055】
【発明の効果】
本発明によれば、リッチクライアントシステムで利用されているアプリケーションプログラムをほとんど修正することなく、シンクライアントシステムで利用することが可能になる。このため、過去にリッチクライアントシステムとして構築した情報システムをシンクライアントシステムへ変更する際のコストが大幅に削減されるといった効果を奏する。
【図面の簡単な説明】
【図1】本発明の実施形態に係る情報システムの全体構成の一例を示す図である。
【図2】同情報システムを構成するAPP実行装置10に記憶されているAPPに内包されている社員テーブルの一例を示す図である。
【図3】同APPを、一般的なコンピュータ装置で実行した場合の動作の流れを示すフローチャートである。
【図4】同APPを実行中のコンピュータ装置が表示する一覧画面の一例を示す図である。
【図5】同情報システムを構成するAPP実行装置10の構成例を示す図である。
【図6】同APP実行装置10に組み込まれているAPP実行環境を説明するための図である。
【図7】同APP実行装置10の不揮発性記憶部532に格納されている対応管理テーブル532aの一例を示す図である。
【図8】同APP実行装置10の制御部510がサーブレットコンテナに従って行うAPP起動動作の流れを示すフローチャートである。
【図9】同APP実行装置10の制御部510がJavaバイトコードを書き換えられたAPPを実行した場合の動作の流れを示すフローチャートである。
【符号の説明】
10…APP実行装置、20…通信網、30…端末装置、510…制御部、520…通信部、530…記憶部、531…揮発性記憶部、532…不揮発性記憶部、532a…対応管理テーブル、540…バス。
Claims (5)
- 通信網を介して受信したデータで表される情報を報知する端末装置と該通信網を介して通信するアプリケーションプログラム実行装置において、
前記端末装置で実行された場合に、ある情報を該端末装置に報知させるアプリケーションプログラムを記憶する記憶手段と、
前記端末装置からの要求に基づいて、前記アプリケーションプログラムを実行する実行手段と、
前記実行手段により前記アプリケーションプログラムを実行する過程で、前記ある情報の報知を行うことに替えて、該情報を表すデータを生成する生成手段と、
前記アプリケーションプログラムの実行を要求した前記端末装置へ、前記生成手段により生成されたデータを前記通信網を介して送信する送信手段と
を有することを特徴とするアプリケーションプログラム実行装置。 - 前記アプリケーションプログラムを実行している前記実行手段へデータを引渡す引渡し手段と、
前記引渡し手段により前記実行手段へ引渡されるデータを前記アプリケーションプログラムの実行を要求した前記端末装置から取得する取得手段と
を有する請求項1に記載のアプリケーションプログラム実行装置。 - 前記取得手段は、前記アプリケーションプログラムの実行を要求した前記端末装置において所定の入力操作が行われた場合にのみ、前記実行手段へ引渡すデータを取得する
ことを特徴とする請求項2に記載のアプリケーションプログラム実行装置。 - 前記生成手段は、前記ある情報を表すデータを、前記アプリケーションプログラムの実行を要求した前記端末装置の解釈可能な記述言語で記述し生成する
ことを特徴とする請求項1に記載のアプリケーションプログラム実行装置。 - 通信網を介して受信したデータで表される情報を報知する端末装置と該通信網を介して通信するとともに、該端末装置で実行された場合に、ある情報を該端末装置に報知させるアプリケーションプログラムを記憶しているコンピュータ装置に、
前記端末装置からの要求に基づいて、前記アプリケーションプログラムを実行する実行手段と、
前記実行手段により前記アプリケーションプログラムを実行する過程で、前記ある情報の報知を行うことに替えて、該情報を表すデータを生成する生成手段と、
前記アプリケーションプログラムの実行を要求した前記端末装置へ、前記生成手段により生成されたデータを前記通信網を介して送信する送信手段と
を実現させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003022250A JP2004234345A (ja) | 2003-01-30 | 2003-01-30 | アプリケーションプログラム実行装置およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003022250A JP2004234345A (ja) | 2003-01-30 | 2003-01-30 | アプリケーションプログラム実行装置およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004234345A true JP2004234345A (ja) | 2004-08-19 |
Family
ID=32951367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003022250A Pending JP2004234345A (ja) | 2003-01-30 | 2003-01-30 | アプリケーションプログラム実行装置およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004234345A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008282297A (ja) * | 2007-05-14 | 2008-11-20 | Ize:Kk | クライアント・サーバシステム、ウェブosのプログラム、ウェブosの実行方法 |
JP2013200703A (ja) * | 2012-03-24 | 2013-10-03 | Nec Corp | 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム |
US9092252B2 (en) | 2012-02-28 | 2015-07-28 | Kabushiki Kaisha Toshiba | Information processing apparatus, client management system, and client management method |
-
2003
- 2003-01-30 JP JP2003022250A patent/JP2004234345A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008282297A (ja) * | 2007-05-14 | 2008-11-20 | Ize:Kk | クライアント・サーバシステム、ウェブosのプログラム、ウェブosの実行方法 |
US9092252B2 (en) | 2012-02-28 | 2015-07-28 | Kabushiki Kaisha Toshiba | Information processing apparatus, client management system, and client management method |
JP2013200703A (ja) * | 2012-03-24 | 2013-10-03 | Nec Corp | 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム |
WO2013146410A1 (ja) * | 2012-03-24 | 2013-10-03 | 日本電気株式会社 | 情報処理システム、情報処理方法、情報処理装置およびその制御方法と制御プログラム |
US10037200B2 (en) | 2012-03-24 | 2018-07-31 | Nec Corporation | Synchronizing installation and execution of a program on a second information processing apparatus with a first information processing apparatus which failed installation of the program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4763286B2 (ja) | クライアント・サーバ通信におけるインクリメントデータを処理する方法およびコンピュータシステム | |
US9298747B2 (en) | Deployable, consistent, and extensible computing environment platform | |
US7890601B2 (en) | System for dynamically integrating remote portlets into portals | |
US6150962A (en) | Predictive data entry method for a keyboard | |
CA2495024C (en) | System and method for adaptable provisioning of generic application content | |
US7320023B2 (en) | Mechanism for caching dynamically generated content | |
CA2495396C (en) | System and method for customized provisioning of application content | |
US20110113090A1 (en) | Dynamic mobile client | |
US20090100321A1 (en) | Universal contextual actions menu across windows applications | |
US20060112398A1 (en) | System and Methodology Providing Service Invocation for Occasionally Connected Computing Devices | |
JP2003223389A (ja) | 情報提供方法、サーバ装置、プログラムおよび記録媒体 | |
WO2013175560A1 (ja) | 情報通信システム及び情報変換方法 | |
CN101876998B (zh) | 一种实现数据编辑的方法和系统 | |
WO2005059759A1 (ja) | 通信端末 | |
JP2002259193A (ja) | 情報提供サーバ,サーバの情報提供方法,情報提供システム,及びコンピュータ読取可能な記録媒体 | |
KR20080032957A (ko) | 웹 브라우징에서 하이퍼텍스트로 연결된 문서의 미리보기서비스 제공 방법 및 시스템 | |
JP2004234345A (ja) | アプリケーションプログラム実行装置およびプログラム | |
Sefid‐Dashti et al. | A reference architecture for mobile SOA | |
US20190188063A1 (en) | Mapping computer programs to network protocol methods | |
O'Sullivan et al. | Delivering mobile cloud services to the user: Description, discovery, and consumption | |
Jankowska et al. | Service-oriented architecture supporting mobile access to an ERP system | |
Guillen-Scholten et al. | A channel-based coordination model for components | |
Cao et al. | PDAgent: A platform for developing and deploying mobile agent-enabled applications for wireless devices | |
Endo et al. | Using IntelligentPad as a Server-Side Technology | |
Krebs et al. | Adaptive applications for ubiquitous collaboration in mobile environments |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051114 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051129 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060130 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060228 |