本発明に係るGUIコンポーネントコンテナ装置(以下、プログラムコンポーネントコンテナ装置と称する)では、コンテナが行う処理が表示データの表示に限定されているという性質を利用している。つまり、本願発明では、プログラムコンポーネントコンテナ装置は、表示コンテンツの表示を行う装置である性質を利用している。
そこで、本発明に係るプログラムコンポーネントコンテナ装置では、コンテナ部品を、「データコンポーネント」、「表示処理コンポーネント」、「パラメータコンポーネント」および「表示実行コンポーネント」に分類することを、特徴とする。さらに、本発明に係るプログラムコンポーネントコンテナ装置では、所定の表示実行コンポーネントを中継として、当該表示実行コンポーネントに対して、所定のデータコンポーネントと所定のパラメータコンポーネントと所定の表示処理コンポーネントとを、所定の設定情報に基づき、結合させることを特徴とする。
つまり、本発明に係るプログラムコンポーネントコンテナ装置は、一般のオブジェクト指向クラスで一体化されていた手続きとデータをそれぞれ独立した実体、すなわち表示処理コンポーネントとデータコンポーネント、としている。表示実行コンポーネントが、表示制御機能として、様々な種類の表示処理コンポーネントと様々な種類のデータコンポーネントとを、外部からの信号に応じて、動的すなわち実行時に関連付ける(結合させる)責務を担う。
パラメータコンポーネントは、表示を調整するためのデータであるが、上記表示処理コンポーネントやデータコンポーネントと同様に、当該パラメータコンポーネントも独立した実体となる。そして、表示実行コンポーネントによって、様々な種類のパラメータコンポーネントは、外部からの信号に応じて、動的に関連付けられる(結合される)。
表示実行コンポーネントは、コンポーネント同士の関連付けを担うだけではなく、表示処理コンポーネントの呼び出しも行う。すなわちオブザーバとしての責務も担う。これも表示制御機能の一部分である。
オブザーバパターンと呼ばれる一般的技術では、データ源を反映した情報を保持・提供する責務を担うデータオブジェクトが、データの処理を担うオブジェクト(GUIアプリケーションにおいてはGUI部品)への参照をあらかじめ登録しておく。そして、データオブジェクトが管理する情報の変更を検知した場合に、登録されている参照に変更を通知することで表示処理の呼び出しが行われる。
本発明では、GUI部品をデータオブジェクトに登録する代わりに、表示実行コンポーネントをデータコンポーネントに登録する。あるいはこれらの関連を双方向参照可能な関連とする。
以下、この発明をその実施の形態を示す図面に基づいて具体的に説明する。
<実施の形態1>
図1は、本発明に係るユーザインターフェース用プログラムコンポーネントコンテナ装置100の、内部構成を示すブロック図である。
図1の構成例では、基盤コンテナ1に、二つのデータコンポーネント2、三つのパラメータコンポーネント3および三つの表示処理コンポーネント4がロードされ、さらに二つの表示実行コンポーネント5が生成され、表示実行コンポーネントを中心とした、各種一ずつのコンポーネント2,3,4の結合状態を維持している状況を示している。ここで、各コンポーネント2,3,4,5の数は、図1に図示されている数に限定されることはない。
ユーザインターフェース(UI)プログラムコンポーネントコンテナ1は、基盤部分であり、以下では基盤コンテナ1と呼ぶことにする。基盤コンテナ1は、外部入力制御コンポーネント7と結合することで、物理的表示デバイス(図には示していない)からの入力を伝える。そして、基盤コンテナ1は、表示制御コンポーネント8と結合することで、表示デバイスを利用する。
また、図1には、二つのデータコンポーネント2、三つのパラメータコンポーネント3、三つの表示処理コンポーネント4および二つの表示実行コンポーネント5を、備えている。データコンポーネント2、パラメータコンポーネント3、表示処理コンポーネント4および表示実行コンポーネント5は各々、独立したコンポーネントである。
なお、図1の符号2の「A」「B」、符号3の「K」「L」「M」または符号4の「X」「Y」「Z」は、各データコンポーネント2、各パラメータコンポーネント3または各表示処理コンポーネントが、異なる種類でなくてはならないという制約を表しているわけではない。
データコンポーネント2は、サーバから取得したもので表示しようとする表示データを、保持・管理するコンポーネントである。
パラメータコンポーネント3は、例えば色、大きさ、位置、太さなど、表示データの表示の属性情報を、保持・管理するコンポーネントである。
表示処理コンポーネント4は、表示データと属性情報(パラメータ)を用いて、表示コンテンツ生成の処理を担うコンポーネントである。
表示実行コンポーネント(第一の表示実行コンポーネントであると把握できる)5は、上記三種類のコンポーネント2,3,4との結合状態を保持すると共に、コンポーネント2,3,4間のデータの受け渡し、および処理の引き継ぎを制御するコンポーネントである。
具体的に、各表示実行コンポーネント5は、所定の一つのデータコンポーネント2、所定の一つのパラメータコンポーネント3および所定の一つの表示処理コンポーネント4の各々と結合する。そして、所定の一つの表示実行コンポーネント5は、所定の一つのデータコンポーネント2から表示データを取得し、所定の一つのパラメータコンポーネントから属性情報を取得する。そして、所定の一つの表示実行コンポーネント5は、前記で取得した表示データおよび属性情報を、所定の一つの表示処理コンポーネント4に送信する。そして、所定の一つの表示実行コンポーネント5は、当該所定の一つの表示処理コンポーネント4に表示コンテンツの生成を行わせる制御を実行する。
ここで、本明細書内では、表示実行コンポーネント5は、一つのデータコンポーネント2、一つのパラメータコンポーネント3および一つの表示処理コンポーネント4と結合する形態について説明している。しかしながら、表示実行コンポーネント5は、2つ以上のデータコンポーネント2、および/または、2つ以上のパラメータコンポーネント3、および/または、二つ以上の表示処理コンポーネント4と結合していてもよい。
なお、図1において、結合関係の矢印は、参照の向きを表している。
ネットワークインターフェース6は、外部ネットワークとの通信サービスを、基盤コンテナ1、データコンポーネント2、パラメータコンポーネント3、表示処理コンポーネント4および表示実行コンポーネント5に、提供する責務を持つ。
たとえば、基盤コンテナ1がユーザインターフェースを構築するために、データコンポーネント2、パラメータコンポーネント3および/または表示処理コンポーネント4を、ネットワークインターフェース6を介して、ネットワーク通信により外部(遠隔)より取得する。また、データコンポーネント2が、表示データを、ネットワーク通信により、ネットワークインターフェース6を介して外部(遠隔)から取得する。
次に、プログラムコンポーネントコンテナ装置100の動作を説明する。
図2は、基盤コンテナ1が起動してから、あらかじめ設定された表示コンテンツを生成するまでの、プログラムコンポーネントコンテナ装置100の動作を示したフローチャートである。
ステップS1で開始動作が発生すると、基盤コンテナ1は初期化動作を実施する(ステップS2)。その後、基盤コンテナ1は、ネットワークインターフェース6を介して、サーバより初期UI設定を取得する(ステップS3)。次に、基盤コンテナ1は、ステップS3で取得した情報を元に(つまり、当該情報において設定されている内容に基づき)、表示実行コンポーネント5を生成する(ステップS4)。
次に、ステップS5、S7,S9が、並行実行可能に実施される。
ステップS5では、基盤コンテナ1は、ステップS3で取得した情報に設定された内容に基づき、表示処理コンポーネント4を、ネットワークインターフェース6を介してサーバから取得する。また、ステップS7では、基盤コンテナ1は、ステップS3で取得した情報に設定された内容に基づき、パラメータコンポーネント3を、ネットワークインターフェース6を介してサーバから取得する。また、ステップS9では、基盤コンテナ1は、ステップS3で取得した情報に設定された内容に基づき、データコンポーネント2を、ネットワークインターフェース6を介してサーバから取得する。
次に、ステップS6、S8,S10が、並行実行可能に実施される。
ステップS6では、基盤コンテナ1は、ステップS5で取得した表示処理コンポーネント4を、ステップS4で生成した表示実行コンポーネント5に結合する。また、ステップS8では、基盤コンテナ1は、ステップS7で取得したパラメータコンポーネント3を、ステップS4で生成した表示実行コンポーネント5に結合する。また、ステップS10では、基盤コンテナ1は、ステップS9で取得したデータコンポーネント2を、ステップS4で生成した表示実行コンポーネント5に結合する。
次に、ステップS6,S8,S10がすべて完了した状態で、ステップS4で生成された表示実行コンポーネント5が、結合状態にある表示処理コンポーネント4を起動させる(ステップS11)。
そして、当該表示実行コンポーネント5の制御の元、表示処理コンポーネント4による表示コンテンツ生成が実施される(ステップS12)。なお、ステップS12で生成された表示コンテンツは、基盤コンテンツ1を介して表示制御コンポーネント8に送られ、表示制御コンポーネント8は、上記で生成された表示コンテンツの表示を行う(ステップS13)。
ここで、ステップS12では、表示処理コンポーネント4は、表示実行コンポーネント5を介して結合しているデータコンポーネント2から表示データを取得し、表示実行コンポーネント5を介して結合しているパラメータコンポーネント3から属性情報を取得する。そして、ステップS12では、表示処理コンポーネント4は、取得した表示データを取得した属性情報によって調整した、表示コンテンツを生成する。
一つの表示処理コンポーネント4では、特有の表示方式を実現する。ここで、表示方式とは、たとえば表形式によるデータ表示、折れ線グラフによる数値データ表示、アウトライン形式による文章データの表示といったもので、元となる表示データを属性情報に基づいて調整された、視覚的表現に変換する方式のことである。
なお、図2の動作において、ステップS13の動作後、プログラムコンポーネントコンテナ装置100は、待機状態となる(ステップS14)。
なお、図2の動作の結果、所定の表示実行コンポーネント5が、所定のデータコンポーネント2、所定のパラメータコンポーネント3および所定の表示処理コンポーネント4と結合されたとする。当該結合状態において、ユーザからの操作などにより、外部から、所定のパラメータコンポーネント3が保持する属性情報の変更指令が、プログラムコンポーネントコンテナ装置100に入力されたとする。
この場合には、所定の表示実行コンポーネント5は、外部入力制御コンポーネント7および基盤コンテナ1を介して、当該変更指令を取得する。そして、所定の表示実行コンポーネント5は、当該変更指令に含まれる新たな属性情報を、所定のパラメータコンポーネント3に通知する。当該所定のパラメータコンポーネント3では、既存の属性情報を、当該通知を受けた属性情報に変更する。
そして、所定のパラメータコンポーネント3は、当該変更後の属性情報を、所定の表示実行コンポーネント5を介して、所定の表示処理コンポーネント4に渡す。当該所定の表示処理コンポーネント4では、所定の表示実行コンポーネント5の制御の元、受信した変更後の属性情報を用いて、表示コンテンツの再生成(更新)を行う。その後、当該再生成された表示コンテンツが、表示制御コンポーネント8により表示される。
このようにして、外部からの属性情報の変更指令が、表示される表示コンテンツに反映される。
また、図2の動作の結果、所定の表示実行コンポーネント5が、所定のデータコンポーネント2、所定のパラメータコンポーネント3および所定の表示処理コンポーネント4と結合されたとする。当該結合状態を有するプログラムコンポーネントコンテナ装置100は、遠隔においてサーバ接続されている。当該状態において、サーバで、所定のデータコンポーネント2が保持する表示データの変更がなされたとする。
当該場合には、当該サーバから、所定のデータコンポーネント2が保持する表示データの変更指令が、プログラムコンポーネントコンテナ装置100に入力される。そして、所定の表示実行コンポーネント5は、外部入力制御コンポーネント7および基盤コンテナ1を介して、当該変更指令を取得する。そして、所定の表示実行コンポーネント5は、当該変更指令の内容を、所定のデータコンポーネント2に通知する。当該所定のデータコンポーネント2では、当該変更指令に基づいて、表示データの変更を行う。
一方で、所定の表示処理コンポーネント4は、所定の表示実行コンポーネント5を介して、所定のデータコンポーネント3における表示データの変更の有無を定期的に監視している。または、所定のデータコンポーネント3は、所定の表示実行コンポーネント5を介して、所定の表示処理コンポーネント4に、表示データに変更があったことを通知する。いずれかの方法で、所定の表示処理コンポーネント4が、所定のデータコンポーネント2で表示データの変更を検知したとき、所定の表示処理コンポーネント4は、所定の表示実行コンポーネント5を介して、所定のデータコンポーネント2から、当該変更後の表示データを、取得する。当該所定の表示処理コンポーネント4では、所定の表示実行コンポーネント5の制御の元、受信した変更後の表示データを用いて、表示コンテンツの再生成(更新)を行う。その後、当該再生成された表示コンテンツが、表示制御コンポーネント8により表示される。
このようにして、外部からの表示データの変更指令が、表示される表示コンテンツに反映される。
次に、プログラムコンポーネントコンテナ装置100に対して、同じ表示データに基づき、表示方式の変更指示があった場合の、当該プログラムコンポーネントコンテナ装置100の動作について説明する。
図3は、ユーザからの操作などの外部指令に応じて、データの表示方式を変更するプログラムコンポーネントコンテナ装置100の動作を示したフローチャートである。
図4に示すように、表示方式の変更前において、表示実行コンポーネント5には、データコンポーネント2a、パラメータコンポーネント3aおよび表示処理コンポーネント4aが結合されているとする。
プログラムコンポーネントコンテナ装置100は、ユーザからの操作を受け付けるユーザインターフェースを備えている。そして、ユーザが、当該ユーザインターフェースを操作することにより、表示方式の変更を示す指令を発したとする(ステップS101)。たとえば、所定の表示データの表形式による表示コンテンツを、同じ所定のデータの折れ線グラフによる表示コンテンツに変更する指令を、ユーザインターフェースが受けたとする。
この場合には、ステップS101の外部イベントを受け、基盤コンテンツ1は、プログラムコンポーネントコンテナ装置100内に、ステップS101の指令で指定されている新表示方式に相当する表示処理コンポーネント4bが有るか無いかの検索を行う(ステップS102)。
そして、基盤コンテナ1による、新表示方式に相当する表示処理コンポーネント4bの装置100内のロードが済か否かの判断がなされる(ステップS103)。もし、ステップS103で未ロードと判断されたとき(ステップS103で「no」)、基盤コンテナ1は、ネットワークインターフェース6を介して、新表示方式に相当する表示処理コンポーネント4bのロードを行う(ステップS104)。
ステップS104の後、またはステップS103でロード済と判断されたとき(ステップS103で「yes」)、次に、基盤コンテナ1は、表示実行コンポーネント5に結合されているパラメータコンポーネント3aが保持する属性情報が、上記表示方式の変更に対して互換性を有するか否かを判断する(ステップS105)。
ステップS105で互換性を有さないと判断されたとき(ステップS105で「no」)、基盤コンテナ1は、上記表示方式の変更に対して互換性を有するパラメータコンポーネント3b(図5参照)を生成する(ステップS106)。
ステップS106の後、またはステップS105で互換性有りと判断されたとき(ステップS105で「yes」)、次に、基盤コンテナ1は、表示実行コンポーネント5における結合先の変更を行う(ステップS107)。
具体的に、表示実行コンポーネント5は、表示処理コンポーネント4aから、新表示方式に相当する表示処理コンポーネント4bに、結合先を変更する(ステップS107)。また、ステップS106の処理が実施されたときには、表示実行コンポーネント5は、パラメータコンポーネント3aから、ステップS106で生成されたパラメータコンポーネント3bに、結合先を変更する(ステップS107)。なお、ステップS105で互換性ありと判断されたときには、表示実行コンポーネント5とパラメータコンポーネント3aとの結合は、維持される。
図5は、ステップS106を経由してステップS107の処理を実行した後の、コンポーネントの結合状態の変更の様子を示す図である。ここで、同じ表示データにおける表示方式の変更であるので、表示実行コンポーネント5とデータコンポーネント2aとの結合は、維持される(図4,5参照)。
新表示方式に相当する表示処理コンポーネント4bは、ステップS103において未ロードと判断されたとき、ステップS104において一度だけロードされる。その後は、当該表示処理コンポーネント4bを、基盤コンテナ1が保持するため、二度目の当該表示処理コンポーネント4bのロードは不必要となる。
なお、図3においてステップS107の後、ステップS11〜S14が実施される。当該各ステップS11〜S14の動作は、図2で示したステップS11〜S14の内容と同じである。したがって、ここでの図3における、ステップS11〜S14の動作の説明は、省略する。
以上のように、本発明における表示方式の切り替え処理は、必要に応じたパラメータ生成(ステップS106)と、ステップS107における結合先の変更と、その後のステップS11移行の処理のみにより、完了する。
次に、図6に示す比較対象構成と比較して、本実施の形態に係るプログラムコンポーネントコンテナ装置100の優位性を説明する。
図6に示す比較対象構成では、基盤コンテナ1と、二つのUI部品19と二つのデータコンポーネント2とを、有している。ここで、各UI部品19は、従来のオブジェクト指向技術に則ったコンポーネントで、表示パラメータ(属性)と表示処理(メソッド)とが一体となった構成である。
図6に示した比較対象構成における、図2の動作に対応する動作は次の通りである。図2のステップS1、S2,S3,S4,S9,S10,S11,S12,S13,S14の順に実施される。当該比較対象構成では、ステップS4はUI部品19の生成であり、図2のステップS5,S6,S7,S8に対応する処理がない。また、ステップS11の段階では、UI部品19が自らの描画処理を起動し表示コンテンツを作成する。
図7は、上記比較対象構成における、表示方式切り替え動作を示したフローチャートである。
ユーザによるデータの表示方式変更操作が実施されると、当該操作に応じて、新表示方式に相当するUI部品19の生成を、基盤コンテナ1が行う(ステップS202)。そして、変更前UI部品19の表示パラメータの、ステップS202で生成された新UI部品19へのコピー或いは変換が実施される(ステップS203)。そして、当該新UI部品19をデータコンポーネント2に結合させる(ステップS204)。ステップS204の後、新UI部品19において、結合状態にあるデータコンポーネント2が保持する表示データを用いた、表示コンテンツの生成が実施される。
上記のように、図6に示す比較対象構成では、ステップS202におけるUI部品19の生成は、表示方式の変更がなされる度に、ユーザの切り替え操作に応じて毎回行う。または、ステップS202におけるUI部品19の生成は、使われなくなったUI部品19を保持しておくことで、生成は一度だけに止める。
しかしながら、前者の場合には、毎回オブジェクト生成を行う分実行の負荷が大きくなり、後者の場合には、使われなくなったUI部品19の再利用ロジック、メモリ管理ロジックなどより複雑なリソース管理処理が必要となる。
これに対して、本実施の形態に係るプログラムコンポーネントコンテナ装置100では、データコンポーネント2、パラメータコンポーネント3、表示処理コンポーネント4および表示実行コンポーネント5は、各々独立したコンポーネントであり、一つの表示実行コンポーネント5に、一つのデータコンポーネント2、一つのパラメータコンポーネント3および一つの表示処理コンポーネント4を結合させ、当該結合において表示コンテンツの生成が実施される。また、表示実行コンポーネント5は、外部からの指令に応じて、前記結合先の変更を行う(図4,5参照)。具体的に、表示方式の変更に関する指令をプログラムコンポーネントコンテナ装置100が受けたとき、表示実行コンポーネント5は、データコンポーネント2の結合を維持しつつ、少なくとも表示処理コンポーネント4の接合先を変更する。
したがって、本実施の形態に係るプログラムコンポーネントコンテナ装置100では、表示方式を変更するに際して、コンポーネント2,3,4の生成を極力減らすことができ、処理負担の削減を、図6の構成よりも低減することができる。また、本実施の形態では、表示方式の切り替えにおいて、前のオブジェクトを元にして新しいオブジェクトを生成するキャスト処理が不要である。よって、本実施の形態に係る発明では、切り替え処理をプログラムする必要がなく、結果として管理規模を抑えることもできる。
また、本実施の形態では、コンポーネント2,3,4,5を階層構造という体系で維持管理する必要はなくなり、それぞれのコンポーネント2〜5を独立性の高いプログラムとして開発し、アプリケーションに組み入れることが可能となる。また、表示方式を変更するために、表示処理コンポーネント4と表示実行コンポーネント5との結合が変更された場合でも、その影響がデータコンポーネント2に及ばずことを防止できる。よって、本実施の形態に係る発明では、実行時の処理負荷が減ると共に、依存範囲が狭まるので依存関係の変更を管理する処理プログラムが小規模となる。
<実施の形態2>
図8は、本実施の形態に係るプログラムコンポーネントコンテナ装置150の構成を示す、ブロック図である。なお、図1と同様に、図8において、結合関係の矢印は、参照の向きを表している。
本実施の形態に係るプログラムコンポーネントコンテナ装置150では、コンポーネントを複合的に組み合わせて生成される複合コンテンツを表示することができる。ここで、複合コンテンツとは、少なくとも2以上の表示コンテンツを、一つの表示コンテンツに配置させて成る表示コンテンツのことである。
図8の構成では、図1の構成に、表示処理コンポーネントの一種である複合コンポーネント14が追加されている。また、図8の構成では、複合コンポーネント14の動作を制御する第二の表示実行コンポーネント5cが存在する。
複合コンポーネント14が加わることで、様々な機能が実現できる。その機能の一つは、複数の表示コンテンツを一つの表示コンテンツに配置させた複合コンテンツの生成である。つまり、本実施の形態では、複合コンポーネント14は、レイアウトコンポーネントとして機能する。
なお、本実施の形態では、複合コンポーネント14を参照し、当該複合コンポーネントを制御する表示実行コンポーネント14を、第二の表示コンポーネントと称する。他方、複合コンポーネント14以外の表示処理コンポーネント4を参照し、当該表示処理コンポーネント4を制御する表示実行コンポーネントを、第一の表示コンポーネントと称する。
図8の構成では、第一の表示実行コンポーネント5aに、データコンポーネント2a、パラメータコンポーネント3aおよび表示処理コンポーネント4aが結合されている。たとえば、第一の表示実行コンポーネント5aの制御の下、表示処理コンポーネント4aが、データコンポーネント2aが保持する表示データおよびパラメータコンポーネント3aが保持する属性情報を用いて、表形式の表示コンテンツを生成するとする。
また、図8の構成では、第一の表示実行コンポーネント5bに、データコンポーネント2b、パラメータコンポーネント3cおよび表示処理コンポーネント4bが結合されている。たとえば、第一の表示実行コンポーネント5bの制御の下、表示処理コンポーネント4bが、データコンポーネント2bが保持する表示データおよびパラメータコンポーネント3cが保持する属性情報を用いて、折れ線グラフ形式の表示コンテンツを生成すとする。
図8の構成では、第二の表示実行コンポーネント5cに、複合コンポーネント14およびパラメータコンポーネント3bが結合されている。また、複合コンポーネント14は、複数の表示実行コンポーネント5a,5bと結合されている。実施の形態1で説明したように、第二の表示実行コンポーネント5cにおいても、外部からの指示に応じて、パラメータコンポーネント3bが保持する属性情報の変更を制御する。
なお、複合コンポーネント14を参照している第二の表示実行コンポーネント5cには、直接的には、データコンポーネント2が結合されない。これは、第二の表示実行コンポーネント5cに結合されている複合コンポーネント14が、第一の表示実行コンポーネント5a,5bと結合されており、当該複合コンポーネント14は、当該第一の表示実行コンポーネント5a,5bを介して、データコンポーネント2a,2bを参照できるからである。
複合コンポーネント14は、第二の表示実行コンポーネント5cの制御により、第一の表示実行コンポーネント5a,5bを介して、データコンポーネント2a,2bが保持する表示データを各々取得する。また、第二の表示実行コンポーネント5cが、パラメータコンポーネント3bが保持する属性情報を取得し、当該取得した属性情報を、複合コンポーネント14に渡す。
複合コンポーネント14では、第二の表示実行コンポーネント5cの制御により、取得した表示データおよび取得した属性情報を用いて、複合コンポーネントで規定されている所定のレイアウトに従い、複合コンテンツを生成する。したがって、当該複合コンテンツには、所定のレイアウトで、表形式の表示コンテンツと折れ線グラフ形式の表示コンテンツとが、複合される。なお、当該生成された複合コンテンツの表示は、実施の形態1で説明した生成された表示コンテンツの表示動作と同じである。
本実施の形態では、少なくとも2以上の第一の表示実行コンポーネント5a,5bを参照する複合コンポーネント14と、当該複合コンポーネント14を参照している第二の表示実行コンポーネント5cとを、さらに備えている。そして、複合コンポーネント14は、第二の表示実行コンポーネント5cの制御により、第一の表示実行コンポーネント5a,5bの制御によって生成される各コンテンツを、一つの表示コンテンツに各々配置した複合コンテンツを生成している。
したがって、低負荷および管理規模の抑制を図りつつ、本実施の形態に係るプログラムコンポーネントコンテナ装置150は、複合コンテンツを生成することができる(換言すれば、表示コンテンツが階層構造の形で複合的に管理されているようなユーザインターフェースを実現することも可能である)。この場合でも、表示方法の切り替えに関する本発明の特徴が損なわれることはない。
<実施の形態3>
本実施の形態では、複合コンテンツの複製動作について説明する。図9は、図8に示したプログラムコンポーネントコンテナ装置150における、複合コンテンツを複製する動作を表したフローチャートである。
図10は、以下で説明する複製前の各コンポーネントの結合関係を示す図である。図10の構成例では、実施の形態2で説明した複合コンポーネント14および第二の表示実行コンポーネント5Cを備える。
なお、本実施の形態では、複合コンポーネント14を参照し、当該複合コンポーネント14を制御する表示実行コンポーネントを、第二の表示コンポーネントと称する。他方、複合コンポーネント14以外の表示処理コンポーネント4を参照し、当該表示処理コンポーネント4を制御する表示実行コンポーネントを、第一の表示コンポーネントと称する。また、以下に説明する複製処理により、新たに生成される表示実行コンポーネントを、第三の表示実行コンポーネントと称する。
図10の構成では、第一の表示実行コンポーネント5Aに、データコンポーネント2A、パラメータコンポーネント3Aおよび表示処理コンポーネント4Aが結合されている。第一の表示実行コンポーネント5Aの制御の下、表示処理コンポーネント4Aが、データコンポーネント2Aが保持する表示データおよびパラメータコンポーネント3Aが保持する属性情報を用いて、第一の表示コンテンツを生成する。
また、図10の構成では、第一の表示実行コンポーネント5Bに、データコンポーネント2B、パラメータコンポーネント3Bおよび表示処理コンポーネント4Bが結合されている。第一の表示実行コンポーネント5Bの制御の下、表示処理コンポーネント4Bが、データコンポーネント2Bが保持する表示データおよびパラメータコンポーネント3Bが保持する属性情報を用いて、第二の表示コンテンツを生成する。
また、図10の構成では、第二の表示実行コンポーネント5Cに、複合コンポーネント14およびパラメータコンポーネント3Cが結合されている。また、複合コンポーネント14は、複数の第一の表示実行コンポーネント5A,5Bと結合されている。第二の表示実行コンポーネント5Cの制御の下、複合コンポーネント14が、第一の表示実行コンポーネント5A,5Bを参照し、パラメータコンポーネント3Cが保持する属性情報を用いて、複合コンテンツを生成する。ここで、複合コンテンツは、所定のレイアウトで配置された、第一の表示コンテンツと第二の表示コンテンツとを含む。
図10の構成状態において、たとえばユーザインターフェースを介したユーザによる操作により、複合コンテンツの複製が指示されたとする。すると、基盤コンテナ1では、複合コンテンツの複製処理が開始される(ステップS301)。
次に、基盤コンテナ1は、複合コンテンツの生成を制御している、第二の表示実行コンポーネン5Cの複製(図11の符号5D(第三の表示実行コンポーネント)参照)を生成する(ステップS302)。
そして、基盤コンテナ1は、複製元の第二の表示実行コンポーネント5Cが参照していた複合コンポーネント14への結合と同様の結合を、複製された第三の表示実行コンポーネント5Dに対しても生成する(ステップS303)。具体的に、図11に示すように、第三の表示実行コンポーネント5Dが複合コンポーネント14を参照する結合状態を、基盤コンテナ1は生成する(ステップS303)。
次に、基盤コンテナ1は、複合コンテンツの生成を制御している第二の表示実行コンポーネン5Cが参照している、パラメータコンポーネント3Cの複製(図11の符号3D参照)を生成する(ステップS304)。
次に、基盤コンテナ1は、第三の表示実行コンポーネント5Dが複製のパラメータコンポーネント3Dを参照するような結合状態を、生成する(ステップS305)。
以上の動作により、図10の結合状態が、図11に示す結合状態へと変化する。当該図11では、ステップS305の後、第三の表示実行コンポーネント5Dの制御の下、複合コンポーネント14が、第一の表示実行コンポーネント5A,5Bを参照し、複製のパラメータコンポーネント3Dが保持する属性情報を用いて、複合コンテンツの複製を生成する。その後、図11では図示を省略している表示制御コンポーネントにより、当該複製生成された複合コンテンツが表示される。
本実施の形態に係るプログラムコンポーネントコンテナ装置は、上記の様に動作するため、複合コンテンツの複製処理が、低処理負荷および小管理規模にて実施される。
なお、上記では、二つのコンテンツから成る表示コンテンツである複合コンテンツの複製動作について説明した。同様に、一つのコンテンツからなる表示コンテンツの複製についても、図9のフローチャートに若干の修正を加えた、図12に示すフローチャートにより実現できる。
図13は、以下で説明する複製前の各コンポーネントの結合関係を示す図である。
図13の構成では、第一の表示実行コンポーネント5Aに、データコンポーネント2A、パラメータコンポーネント3Aおよび表示処理コンポーネント4Aが結合されている。第一の表示実行コンポーネント5Aの制御の下、表示処理コンポーネント4Aが、データコンポーネント2Aが保持する表示データおよびパラメータコンポーネント3Aが保持する属性情報を用いて、表示コンテンツを生成する。
図13の構成状態において、たとえばユーザインターフェースを介したユーザによる操作により、上記表示コンテンツの複製が指示されたとする。すると、基盤コンテナ1では、表示コンテンツの複製処理が開始される(ステップS330)。次に、基盤コンテナ1は、上記表示コンテンツの生成を制御している、表示実行コンポーネン5Aの複製(図14の符号5D(第三の表示実行コンポーネント)参照)を生成する(ステップS331)。
ここまでのフローは、図9のステップS301,S302で示した内容と、同様の内容である。
そして、基盤コンテナ1は、複製元の第一の表示実行コンポーネント5Aが参照していた表示処理コンポーネント4Aへの結合と同様の結合を、複製された第三の表示実行コンポーネント5Dに対しても生成する(ステップS332)。さらに、図9のフローと異なり、図12のフローでは、基盤コンテナ1は、複製元の第一の表示実行コンポーネント5Aが参照していたデータコンポーネント2Aへの結合と同様の結合を、複製された第三の表示実行コンポーネント5Dに対しても生成する(ステップS332)。
具体的に、図13に示すように、第三の表示実行コンポーネント5Dが表示処理コンポーネント4Aを参照する結合状態を、基盤コンテナ1は生成する(ステップS332)。さらに、第三の表示実行コンポーネント5Dがデータコンポーネント2Aを参照する結合状態を、基盤コンテナ1は生成する(ステップS332)。
なお、複製されるのが、複数のコンテンツを含む表示コンテンツ(複合コンテンツ)でなく、単一のコンテンツを含む表示コンテンツであるので、ステップS332において生成される第三の表示実行コンポーネント5Dの参照先は、複合コンポーネントでない表示処理コンポーネントとなる。
次に、基盤コンテナ1は、上記表示コンテンツの生成を制御している第一の表示実行コンポーネン5Aが参照している、パラメータコンポーネント3Aの複製(図13の符号3D参照)を生成する(ステップS333)。
次に、基盤コンテナ1は、第三の表示実行コンポーネント5Dが複製のパラメータコンポーネント3Dを参照するような結合状態を、生成する(ステップS334)。
図13のステップS333,S334の動作は、図9のステップS304,S305で示した内容と、同様の内容である。
以上の動作により、図12の結合状態が、図13に示す結合状態へと変化する。当該図13では、ステップS334の後、第三の表示実行コンポーネント5Dの制御の下、表示処理コンポーネント4Aが、データコンポーネント2Aが保持する表示データと複製のパラメータコンポーネント3Dが保持する属性情報とを用いて、表示コンテンツの複製を生成する。その後、図13では図示を省略している表示制御コンポーネントにより、当該複製生成された表示コンテンツが表示される。
本実施の形態に係るプログラムコンポーネントコンテナ装置は、上記の様に動作するため、表示コンテンツの複製処理が、低処理負荷および小管理規模にて実施される。
<実施の形態4>
実施の形態2では、複合コンポーネント14で実現できる機能の一つとして、レイアウトコンポーネントとしての機能について言及した。当該レイアウトコンポーネントは、レイアウトコンポーネントで規定されているレイアウトで、複数の表示コンテンツを一つの表示コンテンツに配置させた、複合コンテンツの生成を可能にする。
なお、本実施の形態では、複合コンポーネント14を参照し、当該複合コンポーネント14を制御する表示実行コンポーネントを、第二の表示コンポーネントと称する。他方、複合コンポーネント14以外の表示処理コンポーネント4を参照し、当該表示処理コンポーネント4を制御する表示実行コンポーネントを、第一の表示コンポーネントと称する。
本実施の形態では、図8で示した複合コンポーネント14の他の機能について言及する。具体的に、本実施の形態では、複合コンポーネント14は、上記複合コンテンツにおける表示調整機能を有する。
例えば時系列データコンテンツが二つあり、それぞれを折れ線グラフなどのグラフィック表示するユーザインターフェースが独立にある状況を想定する。当該想定において、これらのグラフィック表示を調整して、ユーザによって比較がしやすい形のグラフィックコンテンツ(複合コンテンツ)を作成する機能が、本実施の形態に係る複合コンポーネント14により実現される。
具体的には、図8の構成において、第一の表示実行コンポーネント5aの制御により第一の時系列データコンテンツが作成され、第一の表示実行コンポーネント5bの制御により第二の時系列データコンテンツが作成され、第二の表示実行コンポーネント5cの制御により、第一の時系列データコンテンツと第二の時系列データコンテンツとを含む複合コンテンツが作成される。当該状態おいて、本実施の形態では、第二の表示実行コンポーネント5cの制御の下、複合コンポーネント14は、各第一の表示実行コンポーネント5a,5bと結合されている、各パラメータコンポーネント3a,3cが保持する属性情報を各々変更する(表示の調整と称する)。
たとえばユーザインターフェースを介したユーザによる操作により、複合コンテンツの表示の調整の指示がされたとする。当該指示の内容として、例えば、折れ線グラフの高さパラメータを同じにする、表示する値の範囲パラメータを同じに設定する、視認による区別が容易な表示色パラメータにする、折れ線グラフの表示位置パラメータを同じ水平位置にする或いは折れ線を重ねて表示する等である。
上記指示を受けると、基盤コンテナ1および第二の表示実行コンポーネント5cを介して、複合コンポーネント14に伝達する。当該伝達を受けた複合コンポーネント14は、第二の表示実行コンポーネント5cの制御の下、第一の表示実行コンポーネント5a,5bを介して、パラメータコンポーネント3a,3cが保持する各属性情報を変更する。
当該属性情報の変更は、上記から明らかなように、第一の表示実行コンポーネント5a,5b自身が独立に行うことは不可能であり、第二の表示実行コンポーネント5cにより制御されている複合コンポーネント14での処理により可能となる。
<実施の形態5>
本実施の形態においても、複合コンポーネント14の他の機能について言及する。具体的に、本実施の形態では、複合コンポーネント14は、表示データの仲介機能を有している。
なお、本実施の形態では、複合コンポーネント14を参照し、当該複合コンポーネント14を制御する表示実行コンポーネントを、第二の表示コンポーネントと称する。他方、複合コンポーネント14以外の表示処理コンポーネント4を参照し、当該表示処理コンポーネント4を制御し、第二の表示実行コンポーネントに表示データを渡す表示実行コンポーネントを、第一の表示コンポーネントと称する。また、複合コンポーネント14以外の表示処理コンポーネント4を参照し、当該表示処理コンポーネント4を制御し、第二の表示実行コンポーネントから表示データを取得する表示実行コンポーネントを、第三の表示コンポーネントと称する。
また、本実施の形態を説明するためのブロック図を、図15に示す。
図15の構成では、第一の表示実行コンポーネント5aに、データコンポーネント2a、パラメータコンポーネント3aおよび表示処理コンポーネント4aが結合されている。第一の表示実行コンポーネント5aの制御の下、表示処理コンポーネント4aが、データコンポーネント2aが保持する表示データおよびパラメータコンポーネント3aが保持する属性情報を用いて、第一の折れ線グラフコンテンツを生成する。
また、図15の構成では、第一の表示実行コンポーネント5bに、データコンポーネント2b、パラメータコンポーネント3bおよび表示処理コンポーネント4aが結合されている。第一の表示実行コンポーネント5bの制御の下、表示処理コンポーネント4aが、データコンポーネント2bが保持する表示データおよびパラメータコンポーネント3bが保持する属性情報を用いて、第二の折れ線グラフコンテンツを生成する。
また、図15の構成では、第二の表示実行コンポーネント5cに、複合コンポーネント14およびパラメータコンポーネント3cが結合されている。また、複合コンポーネント14は、複数の第一の表示実行コンポーネント5a,5bと一つの第三の表示実行コンポーネント5dと結合されている。第二の表示実行コンポーネント5cの制御の下、複合コンポーネント14が、第一の表示実行コンポーネント5a,5bを参照し、パラメータコンポーネント3cが保持する属性情報を用いて、複合コンテンツを生成する。
複合コンテンツには、上記第一の折れ線グラフコンテンツと上記第二の折れ線グラフコンテンツとが含まれる場合と、上記第一の折れ線グラフコンテンツと上記第二の折れ線グラフコンテンツと下記する数値表示コンテンツとが含まれる場合とがある。
また、図15の構成では、第三の表示実行コンポーネント5dに、パラメータコンポーネント3dおよび表示処理コンポーネント4dが結合されている。第三の表示実行コンポーネント5dの制御の下、表示処理コンポーネント4dが、複合コンポーネント14から取得した表示データおよびパラメータコンポーネント3dが保持する属性情報を用いて、数値表示コンテンツを生成する。
なお、第二の表示実行コンポーネント5cおよび第三の表示実行コンポーネント5dには、データコンポーネントが結合されていない。また、第一の表示実行コンポーネント5a,5bは共に、折れ線グラフコンテンツの作成を制御するので、第一の表示実行コンポーネント5a,5bは共に、折れ線グラフコンテンツの作成を行う表示処理コンテンツ4aに共通に結合されている。仮に、第一の表示実行コンポーネント5a,5bが各々、異なるデータ表示形式のコンテンツの作成を制御する場合には、第一の表示実行コンポーネント5a,5bは各々、異なる表示処理コンテンツに結合される。
さて例えば、図15の構成より、図16に例示する二つの折れ線グラフコンテンツg1,g2を含む複合コンテンツが表示されたとする。さらに、ユーザ操作により、当該表示された折れ線グラフ上の所定の位置Mにマウスのポインタが移動されたり、所定の位置Mでマウスがクリックされたりしたとする。この場合に、所定の位置Mに対応する各折れ線グラフコンテンツg1,g2の各データ値d1,d2を数値表示する機能を、本実施の形態に係る発明では実現できる。
次に、本実施の形態に係るプログラムコンポーネントコンテナ装置の動作を、図17に示すフローチャートを用いて説明する。
上記のように、図16に示す複合コンテンツの所定の位置Mを指定する外部イベントがあったとする(ステップS401)。すると、第二の表示実行コンポーネント5cの制御の下、複合コンポーネント14は、各第一の表示実行コンポーネント5a,5bと結合されている各データコンポーネント2a,2bから、表示データを各々取得する(ステップS402)。
次に、複合コンポーネント14は、第二の表示実行コンポーネント5cの制御により、ステップS402で取得した各表示データを、表示処理コンポーネント4dの制御を担う、第三の実行表示コンポーネント5dに送信する(ステップS403)。
次に、第三の表示実行コンポーネント5dの制御の下、表示処理コンポーネント4dは、当該第三の表示実行コンポーネント5dがステップS403により取得した各表示データと、パラメータコンポーネント3dが保持する属性情報とを用いて、数値表示コンテンツを作成する(ステップS404)。
その後、複合コンポーネント14は、第二の表示実行コンポーネント5cの制御により、複合ステップS404で作成された数値表示コンテンツを取得する(ステップS405)。
そして、複合コンポーネント14は、第二の表示実行コンポーネント5cの制御により、図16に示した表示コンテンツに、数値表示コンテンツを加えた複合コンテンツを作成する(ステップS406)。
その後、図15では図示を省略している表示制御コンポーネントにより、ステップS406で作成された複合コンテンツが表示される。図18に、当該表示される複合コンテンツの例を示す。当該複合コンテンツには、折れ線グラフコンテンツg1,g2に加えて、数値表示コンテンツ(g1→X1、g2→X2)が含まれる。
なお、上記ステップS405、S406の動作を省略し、図15では図示を省略している表示制御コンポーネントにより、数値表示コンテンツのみから成る表示コンテンツを表示させても良い。
<実施の形態6>
上記各実施の形態で説明した、ユーザ操作等の外部操作によって行われたユーザインターフェースの変更は、すべて表示実行コンポーネント5とパラメータコンポーネント3によって保存されている。
そこで、本実施の形態に係るプログラムコンポーネントコンテナ装置では、表示実行コンポーネント(上記第一、第二、第三の表示実行コンポーネント)および/またはパラメータコンポーネント(または、これらのコンポーネントに保存される情報)を、ネットワーク通信により外部へと送信する、ネットワークインターフェースを、さらに備えている。
ネットワークインターフェースを介して外部の外部装置に、上記コンポーネントを送付し、当該外部装置が送付されたコンポーネントを保存する。これにより、ユーザによって行われたユーザインターフェースへの変更内容を、外部装置に保存することができる。
また、外部装置で保存されたコンポーネントを読み出することにより、ユーザが行ったユーザインターフェースへの変更を、外部装置側で再現することができる。
<実施の形態7>
上記各実施の形態は、ユーザによるユーザインターフェースへの変更に関するものであった。一方で、ユーザインターフェース開発者が、本発明を同様に、利用することもできる。この場合には、当該開発者により用意されたユーザインターフェースの部品を組み合わせて、ユーザインターフェースアプリケーションを構築する開発支援ツールとして、本発明を利用することもできる。
すなわち、上記各実施の形態で記述したユーザが行った変更を、本実施の形態では開発者が行う。そして、当該開発者が行った変更の結果を外部に保存したものが、開発されたアプリケーションとなる。
また、本実施の形態では、開発者により開発されたアプリケーションを、ユーザは取得する。そして、上記各実施の形態で説明したプログラムコンポーネントコンテナ装置をアプリケーションの実行環境として、ユーザは、上記で取得したアプリケーションを利用する。
<実施の形態8>
本実施の形態では、上記各実施の形態に係る発明を、より具体的な実施例に基づいて説明する。図19は、本発明による技術を適用したユーザインターフェースのカスタマイズの実施例を示したものである。
図19において、あらかじめシステムが提供している第一のアプリケーション201は、数値データ列を折れ線グラフで表示するアプリケーションである。第一のアプリケーション201内には、折れ線グラフ表示のみの部品(以下、折れ線グラフ表示部品と称する)202が存する。当該折れ線グラフ表示部品202は、図1等で示された一方の表示実行コンポーネント5と、当該一方の表示実行コンポーネント5と結合されている、一つの一方のデータコンポーネント2、一つの一方のパラメータコンポーネント3および一つの一方の表示処理コンポーネントへ4とにより、実現されている。
また、図19において、あらかじめシステムが提供している第二のアプリケーション203は、イベント記録を表形式で表示するアプリケーションである。第二のアプリケーション203内には、表形式表示のみの部品(以下、表形式表示部品と称する)204が存する。当該表形式表示部品204は、図1等で示された他方の表示実行コンポーネント5と、当該他方の表示実行コンポーネント5と結合されている、一つの他方のデータコンポーネント2、一つの他方のパラメータコンポーネント3および一つの他方の表示処理コンポーネントへ4とにより、実現されている。
また、図19には、ユーザがカスタマイズにより作成した第三のアプリケーション205も図示されている。当該第三のアプリケーション205には、ユーザ操作であるドラッグ−ドロップなどの操作によって、表形式表示部品204のコピー(以下、表形式表示部品コピーと称する)206が作成されている。また、当該第三のアプリケーション205には、ユーザ操作であるドラッグ−ドロップなどの操作によって、折れ線グラフ表示部品202のコピー(以下、折れ線グラフ表示部品コピーと称する)207が作成されている。
ここで、第三のアプリケーション205には、表形式表示部品コピー206および折れ線グラフ表示部品コピー207以外の表示部品も含まれている。これらの表示部品は、他のシステムが提供するアプリケーションの部品を使って作成されたものである場合、または、第三のアプリケーション205の作成制御を行う表示実行コンポーネント5に固有のものである場合もある。つまり、複合コンポーネント14が、各部品のコピー210,206,207を各々異なる表示実行コンポーネントから取得し、所定のレイアウトで配置させた第三のアプリケーション205を作成しても良い。または、複合コンポーネント14自身に部品205の作成と、部品コピー206,0207のレイアウト機能とを担わせることにより、第三のアプリケーション205を作成しても良い。
次に、図20に示すフローチャートを用いて、本実施の形態に係る発明の動作について、説明する。具体的には、図20は、第三のアプリケーション205にレイアウトされる、表形式表示部品コピー206または折れ線グラフ表示部品コピー207が、形成される動作を説明している。
既存アプリケーションにある部品(折れ線グラフ表示部品202または表形式表示部品204)が、マウス操作でドラッグされ、第三のアプリケーション205を設定する場所で、ドロップされたとする(ステップS501)。
当該ステップS501のイベントを処理開始のきっかけとして、次に、基盤コンテナ1は、新規の表示実行コンポーネント5を作成する(ステップS502)。当該ステップS502は、図12のステップS331の動作と同趣旨である。
次に、基盤コンテナ1は、ステップS502で新規に作成された表示実行コンポーネント5に対して、データコンポーネント2を参照する結合を確立する(ステップS503)。ここで、当該データコンポーネント2とは、ステップS501でドロップされた元部品(折れ線グラフ表示部品202または表形式表示部品204)の生成制御を行う表示実行コンポーネント5が結合している、データコンポーネント2である。
さらに、基盤コンテナ1は、ステップS502で新規に作成された表示実行コンポーネント5に対して、表示処理コンポーネント4を参照する結合を確立する(ステップS503)。ここで、当該表示処理コンポーネント4とは、ステップS501でドロップされた元部品(折れ線グラフ表示部品202または表形式表示部品204)の生成制御を行う表示実行コンポーネント5が結合している、表示処理コンポーネント4である。
上記ステップS503は、図12のステップS332の動作と同趣旨である。
次に、基盤コンテナ1は、所定のパラメータコンポーネント3のコピーである、新規のパラメータコンポーネント3を作成する(ステップS504)。ここで、所定のパラメータコンポーネント3とは、ステップS501でドロップされた元部品(折れ線グラフ表示部品202または表形式表示部品204)の生成制御を行う表示実行コンポーネント5が結合している、パラメータコンポーネント3である。当該ステップS504は、図12のステップS333の動作と同趣旨である。
次に、基盤コンテナ1は、ステップS502で新規作成された表示実行コンポーネント5が、ステップS504で新規作成されたパラメータコンポーネント3を参照するように、当該コンポーネント3,5間の結合を確立する(ステップS505)。当該ステップS505は、図12のステップS334の動作と同趣旨である。
次に、基盤コンテナ1は、ステップS504で新規作成されたパラメータコンポーネント3が保持する属性情報を、ユーザによる操作に応じて、調整する(ステップS506)。たとえば、ユーザは、図19の第三のアプリケーション205に示す部品(表形式表示部品コピー206または折れ線グラフ表示部品コピー207)の位置・大きさ等を考慮して、当該属性情報の調整を実施する。当該ステップS506は、たとえば実施の形態1で説明した属性情報変更処理と同趣旨である。
その後、ステップS502で生成された表示実行コンポーネント5が、結合状態にある表示処理コンポーネント4を起動させる。そして、当該表示実行コンポーネント5の制御の元、当該表示処理コンポーネント4は、部品(表形式表示部品コピー206または折れ線グラフ表示部品コピー207)を生成する。ここで、当該部品は、ステップS503で結合されたデータコンポーネント2が保持する表示データと、ステップS505で結合されたパラメータコンポーネント3に保持されている、ステップS506で変更された属性情報とを用いて、生成される。なお、当該生成された部品は、単独で表示コンテンツとして表示しても良く(実施の形態1で説明した表示コンテンツの表示動作参照)、または、複合コンポーネント14を用いて第三のアプリケーション205の所定のレイアウトで配置させて表示させても良い(実施の形態3等で説明した複合コンテンツの表示動作参照)。
本実施の形態では、上記各実施の形態に係るプログラムコンポーネントコンテナ装置を用いて、既存のユーザインターフェース部品を組み合わせて、ユーザによる高度にカスタマイズしたアプリケーションの作成が実現される。
<実施の形態9>
図21は、ユーザインターフェースアプリケーション構築システム(以下、遠隔監視制御システムと称する)の構成を示す図である。図20に示すUIプログラムコンポーネントコンテナ106が、上記各実施の形態に係るプログラムコンポーネントコンテナ装置であると把握できる。
図20において、遠隔データサーバ101は、監視対象のデータ収集と制御を行う機器である。遠隔データサーバ101は、監視対象と一体化して動作しているが、ネットワーク経由でクライアントPC104からの監視制御を受け付ける機能を有している。
また、遠隔UIコンポーネントサーバ102は、遠隔データサーバ101とペアとなり、当該遠隔データサーバ101のデータを表示するための機能を提供していても良い。または、遠隔UIコンポーネントサーバ102は、遠隔データサーバ101とは独立となっており、データの表示機能を提供していても良い。
ここで、図10では、遠隔データサーバ101および遠隔UIコンポーネントサーバ102は各々、一つだけ図示している。しかしながら、遠隔データサーバ101および遠隔UIコンポーネントサーバ102は各々、複数であっても良い。
また、図10には、遠隔地に存する端末同士におけるデータの送受信通信を可能にするインターネットなどの公衆ネットワーク回線103が、存する。当該ネットワーク回線103により、遠隔データサーバ101、遠隔UIコンポーネントサーバ102およびクライアントPC104が、接続されている。
ローカルUIコンポーネントサーバ107は、社内LANなどにより、クライアントPC104と接続されている。当該ローカルUIコンポーネントサーバ107は、遠隔制御アプリケーション105に特化したユーザインターフェース機能を提供する。
例えば、ローカルUIコンポーネントサーバ107は、実施の形態6で説明した外部装置のような保存機能を提供する。あるいは、ローカルUIコンポーネントサーバ107は、ローカル環境のユーザに特化したアプリケーションのためのUIコンポーネントを提供する。なお、当該UIコンポーネントとは、パラメータコンポーネント3、表示処理コンポーネント4が中心となる。もちろん、ローカル環境に表示データのコピーを保存する場合には、当該UIコンポーネントとして、データコンポーネント2も含まれる。
クライアントPC104は、遠隔監視制御アプリケーション105が稼働するシステムである。当該遠隔監視制御アプリケーション105は、上記各実施の形態に係るプログラムコンポーネントコンテナ装置106を利用して実現されている。
図21に示すユーザインターフェースアプリケーション構築システムにおいて、遠隔データサーバ101と遠隔UIコンポーネントサーバ102とを元に、遠隔監視制御アプリケーション105が構築される場合は、次のようになる。
当該場合には、プログラムコンポーネントコンテナ装置106が、遠隔データサーバ101から、データコンポーネント2を取得する。そして、プログラムコンポーネントコンテナ装置106が、遠隔UIコンポーネントサーバ102から、パラメータコンポーネント3および表示処理コンポーネント4を取得する。そして、プログラムコンポーネントコンテナ装置106は、当該取得した各コンポーネント2,3,4と、当該装置106で保持・生成した第一の表示実行コンポーネント5と結合する。当該動作により、遠隔監視制御アプリケーション105が構築される。
遠隔UIコンポーネントサーバ102から取得するコンポーネント3,4だけでは、遠隔監視制御アプリケーション105の構築が不十分となる場合もある。当該場合に備えて、必要なコンポーネント3,4が、ローカルUIコンポーネントサーバ107にインストールされている。そして、プログラムコンポーネントコンテナ装置106は、遠隔UIコンポーネントサーバ102だけでなく、ローカルUIコンポーネントサーバ107からも、コンポーネント3,4を取得し、遠隔監視制御アプリケーション105を構築する。
このようにすることで、サーバ101,102の変更を行うことなく、ローカル環境(サーバ107)を変更するだけで、独自のアプリケーションを生成することが可能となる。
また、ユーザが行ったユーザインターフェースへの変更を、プログラムコンポーネントコンテナ装置106からローカルUIコンポーネント107に保存する。これにより、図21に示すシステムでは、遠隔サーバ101,102およびクライアントPV104のどちらにもデータを保存することなく、クライアントPC104に依存せずに、個々のユーザ向けにカスタマイズされたアプリケーションを提供することができる。
なお、上記各実施の形態において、コンポーネント2,3,4,5間の結合関係のみを図示している図があるが、当該図には図示が省略しているが、図1等で示した各コンポーネント6,7,8は、プログラムコンポーネントコンテナ装置内に、当然に存在している。