(57)【特許請求の範囲】
【請求項１】
ＲＩＡアプリケーション及びＲＩＡフォームのいずれか一つによって指定され、ＲＩＡコンポーネントタイプと前記ＲＩＡコンポーネントタイプを具現したコンポーネント具現体クラスをマッピングさせて保存する複数のコンポーネント保存所を獲得する段階；
前記複数のコンポーネント保存所を用いて前記ＲＩＡアプリケーションまたは前記ＲＩＡフォーム別に、前記ＲＩＡコンポーネントタイプで定義された一つのＲＩＡコンポーネントに対応する複数の前記コンポーネント具現体クラスを選択する段階；及び
前記選択されたコンポーネント具現体クラスを用いて前記ＲＩＡアプリケーションを実行させる段階；
を含むことを特徴とする、ＲＩＡアプリケーション実行方法。
【請求項２】
前記選択されたコンポーネント具現体クラスは、前記選択されたコンポーネント具現体クラスを含む前記コンポーネント保存所を指定したＲＩＡアプリケーションまたはＲＩＡフォームの範囲内で該当ＲＩＡコンポーネントに適用されることを特徴とする、請求項１に記載のＲＩＡアプリケーション実行方法。
【請求項３】
前記ＲＩＡフォームが前記コンポーネント保存所を指定しない場合、前記ＲＩＡフォームに使われる前記ＲＩＡコンポーネントに対しては、前記ＲＩＡフォームを含むＲＩＡアプリケーションまたは上位ＲＩＡフォームに相応するコンポーネント保存所が利用されることを特徴とする、請求項２に記載のＲＩＡアプリケーション実行方法。
【請求項４】
前記コンポーネント保存所は、前記ＲＩＡコンポーネントタイプ別に、使われるコンポーネント具現体のアドレスと、前記コンポーネント具現体に含まれた前記コンポーネント具現体クラスの名前を含むことを特徴とする、請求項１に記載のＲＩＡアプリケーション実行方法。
【請求項５】
前記コンポーネント保存所を獲得する段階は、
前記ＲＩＡアプリケーションをダウンロードして前記コンポーネント保存所のアドレスを獲得する段階；及び
前記コンポーネント保存所のアドレスから前記コンポーネント保存所をダウンロードする段階；
を含むことを特徴とする、請求項１に記載のＲＩＡアプリケーション実行方法。
【請求項６】
前記ＲＩＡアプリケーションを実行させる段階は、
前記選択されたコンポーネント具現体クラスをメモリにロードした後、前記ＲＩＡコンポーネントタイプにバインドする段階；及び
ＲＩＡランタイムが前記コンポーネント具現体のインスタンスを生成して返還する段階；
を含むことを特徴とする、請求項１に記載のＲＩＡアプリケーション実行方法。
【請求項７】
ＲＩＡコンポーネントタイプと前記ＲＩＡコンポーネントタイプを具現したコンポーネント具現体クラスをマッピングして複数のコンポーネント保存所に保存する段階；及び
クライアントコンピュータのＲＩＡアプリケーションを実行させるＲＩＡランタイムが、一つのＲＩＡコンポーネントに対応する複数の前記コンポーネント具現体クラスを利用できるように、前記クライアントコンピュータの要請によってＲＩＡアプリケーション及びＲＩＡフォームのいずれか一つによって指定される前記複数の前記コンポーネント保存所を前記ＲＩＡランタイムに提供する段階；
を含むことを特徴とする、ＲＩＡコンポーネントの多重バージョンサポート方法。
【請求項８】
前記コンポーネント保存所は、前記コンポーネント保存所を指定したＲＩＡアプリケーションまたはＲＩＡフォームの範囲内で該当ＲＩＡコンポーネントのインスタンス生成に利用されることを特徴とする、請求項７に記載のＲＩＡコンポーネントの多重バージョンサポート方法。
【請求項９】
前記ＲＩＡフォームが前記コンポーネント保存所を指定しない場合、前記ＲＩＡフォームに使われるＲＩＡコンポーネントに対しては、前記ＲＩＡフォームを含むＲＩＡアプリケーションまたは上位ＲＩＡフォームに相応するコンポーネント保存所が利用されることを特徴とする、請求項８に記載のＲＩＡコンポーネントの多重バージョンサポート方法。
【請求項１０】
前記コンポーネント保存所は、ＲＩＡコンポーネントタイプ別に、使われるコンポーネント具現体のアドレスと、前記コンポーネント具現体に含まれた前記コンポーネント具現体クラスの名前を含むことを特徴とする、請求項７に記載のＲＩＡコンポーネントの多重バージョンサポート方法。
【請求項１１】
請求項１〜１０のいずれか１項に記載の方法を行うためのプログラムが記録されていることを特徴とする、コンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＲＩＡ（Ｒｉｃｈ Ｉｎｔｅｒｎｅｔ Ａｐｐｌｉｃａｔｉｏｎ）に係り、より詳しくは単一クライアントコンピュータで運営されるビジネスシステムが互いに異なるコンポーネント及びバージョンを使えるようにして不要なシステムマイグレーションを防止することができるＲＩＡコンポーネント多重バージョンサポート技術に関するものである。
【背景技術】
【０００２】
ＨＴＭＬにおいては、外部で定義されたコンポーネントをウェブページで使うために、オブジェクトタグ（Ｏｂｊｅｃｔ ｔａｇ）を提供している。オブジェクトタグを使うためには、使おうとするコンポーネント（ｃｏｍｐｏｎｅｎｔ）に対して実行コード及びバージョン（ｖｅｒｓｉｏｎ）などに対する情報を繰り返し記述しなければならない。また、このように定義されたコンポーネントはいつも独立したモジュール単位でインスタンスがロードされて生成されるので、アプリケーション内で有機的な単位で統合されにくい構造を持つ。
【０００３】
ＲＩＡ（Ｒｉｃｈ Ｉｎｔｅｒｎｅｔ Ａｐｐｌｉｃａｔｉｏｎ；リア）は伝統的なデスクトップアプリケーションの機能と特徴を具現したウェブアプリケーションで、複雑な操作ができなかったウェブブラウザー基盤のアプリケーションを取り替えるためのソリューションとして使われている。特に、ＲＩＡはＸインターネットとも呼ばれ、ＲＩＡを利用すれば、単一インターフェースを介して既存のウェブでは見られなかったダイナミックで利便性の高い顧客中心のウェブページの提供が可能である。
【０００４】
ＲＩＡアプリケーションはコンポーネント基盤のプログラミングモデルを提供する。特に、使用者インターフェースに核心を置いてビジネスロジック（ｂｕｓｉｎｅｓｓ ｌｏｇｉｃ）を具現しているコンポーネントは、ボタン（Ｂｕｔｔｏｎ）、エディット（Ｅｄｉｔ）、コンボボックス（Ｃｏｍｂｏ Ｂｏｘ）などのように共通して必要なＵＩＣｏｎｔｒｏｌに対して互いに異なるバージョンのコンポーネントが存在することになり、一つのコンポーネントは一つのフォームやビジネスドメインで非常に高い再使用率を示すことが企業用ＲＩＡ（Ｅｎｔｅｒｐｒｉｓｅ ＲＩＡ）の一般的な特性である。
【０００５】
一般に、ＲＩＡコンポーネント（ｃｏｍｐｏｎｅｎｔ）には決まった名前が付与され、付与された名前と同一の名前で具現体が生成される。
【０００６】
すなわち、特定の機能をするコンポーネントは、他のコンポーネントと区分されるために、唯一の名前を受けることになり、ＲＩＡランタイム（ｒｕｎｔｉｍｅ）は必要なすべての種類のコンポーネントに対して既に分かっており、コンポーネントごとに既に決まった具現体を持っている。コンポーネントと具現体の名前が同一であれば、開発及び維持補修の際に混同が最小化するので、具現と管理が容易であるという利点がある。
【０００７】
図１は従来技術によるＲＩＡコンポーネントとコンポーネント具現体の関係を示す図である。
【０００８】
図１を参照すれば、ＲＩＡランタイム１１０でＲＩＡコンポーネント１２０別にただ一つの具現体１３０のみを許容することが分かる。
【０００９】
この際、ＲＩＡランタイム１１０は、クライアントコンピュータでＲＩＡアプリケーションが実行されるための環境を提供し、ＲＩＡアプリケーションソースコードを読み取って実行させるソフトウェアである。ＲＩＡコンポーネント１２０は、ＲＩＡランタイム１１０で実行されながら使用者との相互作用を支援するために、使用者インターフェースを提供するか、あるいは使用者には見えないが特定のビジネスロジックを遂行するために、再使用性が高くなるように独立的に配布及び実行できるように開発されたソフトウェアである。
【００１０】
具現体１３０はＲＩＡコンポーネントに指定された特定機能を提供する対象に対してコンピュータ上で実行可能であるようにコンピュータ言語を用いて具現された実行可能なプログラムの集合である。
【００１１】
コンポーネントと具現体が１：１で対応する場合、クライアントコンピュータで単一業務システム（ＲＩＡアプリケーションで具現）にだけ接続する場合には何らの問題がない。しかし、単一クライアントコンピュータにおいてそれぞれＲＩＡアプリケーションで具現された二つ以上の業務システムに接続しなければならない場合、業務システムで使用したコンポーネントバージョンとクライアントコンピュータに設置されたコンポーネントバージョンが一致しない場合、ＲＩＡアプリケーションで具現された業務システムは正常に動作できなくなる。よって、それぞれの業務システムは接続可能なすべてのクライアントコンピュータに設置されるコンポーネントバージョンを一致させるために、業務システムで使用するコンポーネントのバージョンをいつも一致させなければならない。これは、開発が完了して何らの問題なしに使われている業務システムが後に開発される他の業務システムによって、業務システムの一部または全部に変化を与えなければならないことを意味し、これは直ちに追加開発のための費用増加と開発によるシステム安全性に脅威を与えることになる。
【００１２】
企業において、二つ以上のサーバーシステムを同時に使わなければならない使用者のクライアントコンピュータに組み込まれるＲＩＡコンポーネントのバージョンが単一バージョンでなければならない制約によって発生する問題点は次のようになる。
【００１３】
ｉ）新サーバーシステムの開発によって既存のサーバーシステムのアプリケーションを修正しなければならない。
【００１４】
ｉｉ）既存のサーバーシステムの変更を避けるために、より良い機能を持った新バージョンのＲＩＡコンポーネントがあるにもかかわらず新システムを以前バージョンのＲＩＡコンポーネントで開発しなければならない。
【００１５】
ｉｉｉ）サーバーシステムの変更負担によって新しいＲＩＡコンポーネントのアップグレード作業ができない。
【００１６】
したがって、ビジネスドメイン（ｂｕｓｉｎｅｓｓ ｄｏｍａｉｎ）やフォーム（ｆｏｒｍ）によって一つのコンポーネントタイプに対して二つ以上の相異なるバージョンのコンポーネント具現体の使用できるようにして、単一クライアントコンピュータで運営されるビジネスシステムが互いに異なるコンポーネント及びバージョンを使えるようにし、不要なマイグレーション（ｍｉｇｒａｔｉｏｎ）作業を防止することができる新しいＲＩＡコンポーネント多重バージョンサポート技術の必要性が切実に台頭する。
【発明の概要】
【発明が解決しようとする課題】
【００１７】
前記課題を解決するための本発明の目的は、ＲＩＡプラットホームで指定された名前で参照されるＲＩＡコンポーネントに対し、ＲＩＡアプリケーションまたはＲＩＡフォーム別にバージョンが互いに異なる多重コンポーネント具現体を使えるようにすることである。
【００１８】
また、本発明は、使用者が二つ以上のＲＩＡアプリケーションを使う場合、クライアントコンピュータに組み込まれたＲＩＡコンポーネントのバージョン衝突を避けるために、互いに相関関係がない業務システムの間にＲＩＡコンポーネントバージョンを一致させるための不要な努力を防止することを他の目的とする。
【課題を解決するための手段】
【００１９】
前記目的を達成するための本発明によるＲＩＡアプリケーション実行方法は、ＲＩＡアプリケーション及びＲＩＡフォームのいずれか一つによって指定され、ＲＩＡコンポーネントタイプと前記ＲＩＡコンポーネントタイプを具現したコンポーネント具現体クラスをマッピングさせて保存するコンポーネント保存所を獲得する段階；前記コンポーネント保存所を用いて前記ＲＩＡアプリケーションまたは前記ＲＩＡフォーム別に、前記ＲＩＡコンポーネントタイプで定義されたＲＩＡコンポーネントに相応する前記コンポーネント具現体クラスを選択する段階；及び前記選択されたコンポーネント具現体クラスを用いて前記ＲＩＡアプリケーションを実行させる段階を含む。
【００２０】
この際、選択されたコンポーネント具現体クラスは、前記選択されたコンポーネント具現体クラスを含む前記コンポーネント保存所を指定したＲＩＡアプリケーションまたはＲＩＡフォームの範囲内で該当ＲＩＡコンポーネントに適用できる。
【００２１】
この際、前記ＲＩＡフォームが前記コンポーネント保存所を指定しない場合、前記ＲＩＡフォームに使われるＲＩＡコンポーネントに対しては前記ＲＩＡフォームを含むＲＩＡアプリケーションまたは上位ＲＩＡフォームに相応するコンポーネント保存所が利用できる。
【００２２】
この際、前記コンポーネント保存所は、前記ＲＩＡコンポーネントタイプ別に、使われるコンポーネント具現体のアドレスと、前記コンポーネント具現体に含まれた前記コンポーネント具現体クラスの名前を含むことがある。
【００２３】
この際、前記コンポーネント保存所を獲得する段階は、前記ＲＩＡアプリケーションをダウンロードして前記コンポーネント保存所のアドレスを獲得する段階、及び前記コンポーネント保存所のアドレスから前記コンポーネント保存所をダウンロードする段階を含むことがある。
【００２４】
この際、前記ＲＩＡアプリケーションを実行させる段階は、前記選択されたコンポーネント具現体クラスをメモリにロードした後、前記ＲＩＡコンポーネントタイプにバインドする段階、及びＲＩＡランタイムが前記コンポーネント具現体のインスタンスを生成して返還する段階を含むことがある。
【００２５】
また、本発明によるＲＩＡコンポーネントの多重バージョンサポート方法は、ＲＩＡコンポーネントタイプと前記ＲＩＡコンポーネントタイプを具現したコンポーネント具現体クラスをマッピングしてコンポーネント保存所に保存する段階；及びクライアントコンピュータの要請によってＲＩＡアプリケーション及びＲＩＡフォームのいずれか一つによって指定される前記コンポーネント保存所を前記クライアントコンピュータのＲＩＡランタイムで提供する段階を含む。
【００２６】
この際、前記コンポーネント保存所は、前記コンポーネント保存所を指定したＲＩＡアプリケーションやＲＩＡフォームの範囲内で該当ＲＩＡコンポーネントのインスタンス生成に利用できる。
【発明の効果】
【００２７】
本発明によれば、ビジネスドメイン（ｂｕｓｉｎｅｓｓ ｄｏｍａｉｎ）またはフォーム（ｆｏｒｍ）別に一つのコンポーネントタイプに対して二つ以上の相異なるバージョンのコンポーネント具現体（具現体クラス）を使うことができ、単一クライアントコンピュータで運営されるビジネスシステムが互いに異なるコンポーネント及びバージョンを使うことが可能である。
【００２８】
また、本発明は、ＲＩＡコンポーネントが二つ以上の相異なるバージョンのコンポーネント具現体を使うことができ、不要なシステムマイグレーション作業を防止することができる。
【００２９】
また、本発明は、ＲＩＡプラットホームで指定された名前で参照されるＲＩＡコンポーネントに対してＲＩＡアプリケーション単位でバージョンが互いに異なる多重コンポーネント具現体を使うことができ、一つのビジネスドメイン内でもフォームごとに異なるコンポーネント具現体を同一コンポーネント名前で使うことができるので、クライアントコンピュータに組み込まれたＲＩＡコンポーネントのバージョン衝突を防止することができる。
【図面の簡単な説明】
【００３０】
【図１】従来技術によるＲＩＡコンポーネントとコンポーネント具現体の関係を示す図である。
【図２】本発明の一実施例によるＲＩＡランタイム、ＲＩＡアプリケーション及びＲＩＡフォームとコンポーネント保存所との関係を示す図である。
【図３】コンポーネント保存所を用いてＲＩＡフォーム別にコンポーネント保存所を指定する場合を示す図である。
【図４】本発明の一実施例によるＲＩＡアプリケーション実行方法を示す動作流れ図である。
【図５】本発明の一実施例によるＲＩＡコンポーネントの多重バージョンサポート方法を示す動作流れ図である。
【発明を実施するための形態】
【００３１】
本発明を添付図面に基づいて詳細に説明すれば次のようになる。ここで、繰り返される説明、本発明の要旨を不要にあいまいにする公知の機能及び構成についての詳細な説明は省略する。本発明の実施形態は当該分野で平均知識を持った者に本発明をより完全に説明するために提供されるものである。よって、図面の要素の形状及びサイズなどはより明確な説明のために誇張することがある。
【００３２】
以下、本発明による好適な実施例を添付図面に基づいて詳細に説明する。
【００３３】
図２は本発明の一実施例によるＲＩＡランタイム、ＲＩＡアプリケーション及びＲＩＡフォームとコンポーネント保存所との関係を示す図である。
【００３４】
図２を参照すれば、ＲＩＡランタイム２１０は複数のＲＩＡアプリケーション２２０を含むことがある。
【００３５】
ＲＩＡランタイム２１０は、ＲＩＡアプリケーション２２０が実行されるための環境を提供し、ＲＩＡアプリケーション２２０のソースコードを読み取って実行させるソフトウェアである。
【００３６】
ＲＩＡアプリケーション２２０は０個以上のＲＩＡフォーム２３０を含むことができる。
【００３７】
本発明は一つのＲＩＡコンポーネント名前に対して複数の具現体（具現体クラス）を指定することができるようにするメカニズムを提供することで、ＲＩＡランタイム２１０で一つのＲＩＡコンポーネント名前で複数の具現体（具現体クラス）を同時に使うことができるようにする。この際、ＲＩＡコンポーネント名前はタイプによって定義され、タイプによってコンポーネント名前と具現体が連結される構造を持つ。
【００３８】
結局、コンポーネントタイプ（ｃｏｍｐｏｎｅｎｔ ｔｙｐｅ）はＲＩＡコンポーネントを唯一に識別することができ、一つのバイナリーコードから複数のインスタンスを生成するようにデータタイプ化したＲＩＡコンポーネントの参照名前とみなすことができる。
【００３９】
この際、ＲＩＡコンポーネントは、ＲＩＡランタイム２１０で実行されながら使用者との相互作用を支援するために使用者インターフェースを提供するか、あるいは使用者には見えないが特定のビジネスロジックを遂行するために再使用性が高くなるように独立的に配布及び実行できるように開発されたソフトウェアである。
【００４０】
例えば、ＲＩＡコンポーネントはデータを画面に表示し、使用者との相互作用を提供し、使用者との相互作用結果をデータで管理して提供するために使われるコントロール（ｃｏｎｔｒｏｌ）であることがある。
【００４１】
ＲＩＡアプリケーション２２０は人事システム、会計システムなどのようにビジネスドメイン別に業務システムを運営することができる独立した単位を示し、ＲＩＡフォーム２３０はビジネスドメイン内でビジネストランザクションを処理するための配布単位であることができる。例えば、本発明は本出願人の製品の一つであるＸＰＬＡＴＦＯＲＭでＴｙｐｅＤｅｆタグ技術によって具現できる。
【００４２】
ＲＩＡアプリケーション２２０は一つのコンポーネント保存所２４０を指定する。すなわち、本発明においては、ＲＩＡアプリケーションがそれぞれ一つのコンポーネント保存所を指定することがある。
【００４３】
ＲＩＡフォーム２３０は、ＲＩＡアプリケーション２２０で論理的なトランザクションを遂行するように、コントロールを用いてプレゼンテーション画面を生成し、使用者との相互作用を提供する配布及び実行単位である。
【００４４】
ＲＩＡフォーム２３０も一つのコンポーネント保存所２５０を指定する。すなわち、本発明においては、ＲＩＡフォームがそれぞれ一つのコンポーネント保存所を指定することができる。ただ、ＲＩＡフォームはそれぞれコンポーネント保存所を指定しないこともできる。この場合、コンポーネント保存所を指定しなかったＲＩＡフォームは上位のＲＩＡフォームまたはＲＩＡアプリケーションが指定したコンポーネント保存所を利用することができる。
【００４５】
すなわち、ＲＩＡアプリケーションはビジネスドメイン全体にわたって適用されるコンポーネントタイプを定義し、ＲＩＡフォームは該当のフォームと下位フォームに適用されるコンポーネントタイプに対して定義するものとしてみなすことができる。
【００４６】
ＲＩＡランタイム２１０は結果として複数のコンポーネント保存所２４０、２５０を管理することで、同一ビジネスドメイン内でも一つのコンポーネントタイプで複数のコンポーネント具現体を使えるようにする。
【００４７】
コンポーネント具現体は、コンポーネントタイプに指定された特定機能を提供する対象に対してコンピュータ上で実行できるように、コンピュータ言語を用いて具現された実行可能なプログラムの集合である。特に、コンポーネント具現体はコンポーネント具現体クラスの配布単位にあたる集合とみなすことができ、ＤＬＬ（Ｄｙｎａｍｉｃ Ｌｉｎｋ Ｌｉｂｒａｒｙ）などの形態で提供できる。
【００４８】
コンポーネント保存所は、コンポーネント具現体をコンポーネントタイプで参照することができるように、コンポーネントタイプとコンポーネント具現体との関係及びコンポーネント具現体をダウンロードすることができる配布サーバーの情報を保存することができる。
【００４９】
それぞれのコンポーネント保存所は一つ以上のコンポーネント具現体を含む。図２の例において、コンポーネント保存所２４０は二つのコンポーネント具現体２４３、２４４の情報を含み、コンポーネント保存所２４０においてコンポーネントタイプ２４１はコンポーネント具現体２４３のクラス(class)２４５と対応しており、コンポーネントタイプ２４２はコンポーネント具現体２４３のクラス２４６に対応している。
【００５０】
コンポーネント具現体はそれぞれ内部に一つ以上のクラス具現を含む。
【００５１】
すなわち、コンポーネント保存所は、コンポーネントタイプ別に、使われるコンポーネント具現体のＵＲＬと具現体内に存在する複数のクラスの中でコンポーネントタイプとマッピングさせるクラス名前を指定すると思われる。
【００５２】
図２と図１を比較すると分かるように、本発明は、ＲＩＡコンポーネント名前をタイプとして使い、タイプと具現体の連結情報を管理し、アプリケーションでコンポーネントタイプを使うようにすることで、アプリケーションとコンポーネントの間に緩い連結を持つようにする。
【００５３】
以下、本発明のＲＩＡコンポーネントの多重バージョンサポート過程を説明する。
【００５４】
１）ＲＩＡコンポーネント名前別に具現した具現体クラスを具現体単位でパッケージング（ｐａｃｋａｇｉｎｇ）して配布サーバーに登録する。
【００５５】
２）コンポーネント名前を１）で付与された具現体クラスとマッピングしてコンポーネント保存所に登録する。
【００５６】
３）ＲＩＡアプリケーションとＲＩＡフォームでは使うコンポーネント保存所を指定する。
【００５７】
４）ＲＩＡランタイムはＲＩＡアプリケーションをダウンロードしてから分析してコンポーネント保存所のＵＲＬを確認する。
【００５８】
５）ＲＩＡランタイムは４）のＵＲＬからコンポーネント保存所を読み込む。
【００５９】
６）コンポーネント保存所に指定されたコンポーネント具現体のＵＲＬを確認してダウンロードした後、クライアントに組み込む。
【００６０】
７）コンポーネント具現体をメモリにロードした後、コンポーネント保存所に指定されたタイプにバインドする。
【００６１】
８）ＲＩＡフォームでコントロール生成要請の際、ＲＩＡランタイムは指定されたタイプにマッピングされたコンポーネント具現体のインスタンスを生成して返還する。
【００６２】
前記４）〜７）の過程は、ＲＩＡアプリケーション実行の際、ＲＩＡランタイムによって行われるＲＩＡコンポーネントロード過程とみなされる。
【００６３】
結局、本発明によって、ＲＩＡアプリケーションでは、開発の際、具現体を考慮せずにタイプを使い、実行の際にはＲＩＡランタイムが提供するコンポーネント具現体を用いて動的にバインドされたコンポーネントを使うことになる。
【００６４】
図３はコンポーネント保存所を用いてＲＩＡフォーム別にコンポーネント保存所を指定する場合を示す図である。
【００６５】
図３を参照すれば、ＲＩＡランタイム３１０は二つのＲＩＡフォーム３２０、３３０を含む。
【００６６】
ＲＩＡフォーム３２０はコンポーネント保存所３４０を指定し、ＲＩＡフォーム３３０はコンポーネント保存所３５０を指定する。このように、本発明によれば、ＲＩＡアプリケーションまたはＲＩＡフォーム別にコンポーネント保存所を指定することにより、ＲＩＡコンポーネント多重バージョン支援が可能である。
【００６７】
ＲＩＡフォーム３２０はコントロール３２１、３２２、３２３、３２４、３２５、３２６、３２７を含む。ＲＩＡフォーム３３０はコントロール３３１、３３２、３３３、３３４、３３５、３３６、３３７を含む。
【００６８】
ＲＩＡフォーム３２０、３３０はそれぞれプレゼンテーションを構成するためにコンポーネントタイプを用いてコントロールを指定する。
【００６９】
ＲＩＡフォーム３２０及びＲＩＡフォーム３３０で使われるすべてのコントロールはそれぞれ第１タイプないし第５タイプの５種のコンポーネントタイプの一つにあたる。
【００７０】
コンポーネント保存所３４０、３５０はいずれも第１タイプないし第５タイプの５種のコンポーネントタイプ別に、使われるコンポーネント具現体のＵＲＬと具現体内に存在するクラスの中でコンポーネントタイプとマッピングさせるクラスを指定する。
【００７１】
ＲＩＡランタイム３１０は、ＲＩＡフォーム３２０、３３０をロードした後、コントロールが指定するコンポーネントタイプを把握し、ＲＩＡフォームが指定するコンポーネント保存所からコンポーネント具現体を捜してインスタンスを生成した後、コントロールに返還する。
【００７２】
具現体３６０は三つの具現体クラス３６１、３６２、３６３を含む。具現体３７０は四つの具現体クラス３７１、３７２、３７３、３７４を含む。具現体３８０は二つの具現体クラス３８１、３８２を含む。
【００７３】
コンポーネント保存所３４０は二つの具現体３６０、３７０を使い、コンポーネント保存所３５０は三つの具現体３６０、３７０、３８０を使う。
【００７４】
コンポーネント保存所３４０は、第１タイプ３４１に対して具現体３６０の具現体クラス３６１をマッピングさせる。コンポーネント保存所３４０は、第２タイプ３４２に対して具現体３６０の具現体クラス３６３をマッピングさせる。コンポーネント保存所３４０は、第３タイプ３４３に対して具現体３７０の具現体クラス３７１をマッピングさせる。コンポーネント保存所３４０は、第４タイプ３４４に対して具現体３７０の具現体クラス３７３をマッピングさせる。コンポーネント保存所３４０は、第５タイプ３４２に対して具現体３７０の具現体クラス３７４をマッピングさせる。
【００７５】
コンポーネント保存所３５０は、第１タイプ３５１に対して具現体３６０の具現体クラス３６１をマッピングさせる。コンポーネント保存所３５０は、第２タイプ３５２に対して具現体３６０の具現体クラス３６３をマッピングさせる。コンポーネント保存所３５０は、第３タイプ３５３に対して具現体３７０の具現体クラス３７２をマッピングさせる。コンポーネント保存所３５０は、第４タイプ３５４に対して具現体３８０の具現体クラス３８１をマッピングさせる。コンポーネント保存所３５０は、第５タイプ３５２に対して具現体３８０の具現体クラス３８２をマッピングさせる。
【００７６】
結局、第１ＲＩＡコンポーネントタイプに対しては、ＲＩＡフォーム３２０及びＲＩＡフォーム３３０のいずれも具現体クラス３６１が使われ、ＲＩＡコンポーネント第２タイプに対しては、ＲＩＡフォーム３２０及びＲＩＡフォーム３３０のいずれも具現体クラス３６３が使われる。
【００７７】
しかし、第３ＲＩＡコンポーネントタイプに対しては、ＲＩＡフォーム３２０では具現体クラス３７１が使われ、ＲＩＡフォーム３３０では具現体クラス３７２が使われる。この場合、ＲＩＡフォーム３２０及びＲＩＡフォーム３３０は同一のコンポーネントタイプに対して同一具現体内の互いに異なる具現体クラスを使う場合としてみなされる。
【００７８】
第４ＲＩＡコンポーネントタイプに対しては、ＲＩＡフォーム３２０では具現体クラス３７３が使われ、ＲＩＡフォーム３３０では具現体クラス３８１が使われる。この場合、ＲＩＡフォーム３２０及びＲＩＡフォーム３３０は同一コンポーネントタイプに対して互いに異なる具現体内の互いに異なる具現体クラスを使う場合とみなされる。
【００７９】
第５ＲＩＡコンポーネントタイプに対しては、ＲＩＡフォーム３２０では具現体クラス３７４が使われ、ＲＩＡフォーム３３０では具現体クラス３８２が使われる。この場合、ＲＩＡフォーム３２０及びＲＩＡフォーム３３０は、同一コンポーネントタイプに対して互いに異なる具現体内の互いに異なる具現体クラスを使う場合としてみなされる。
【００８０】
図４は本発明の一実施例によるＲＩＡアプリケーション実行方法を示す動作流れ図である。
【００８１】
図４を参照すれば、ＲＩＡアプリケーション実行方法はＲＩＡアプリケーション及びＲＩＡフォームのいずれか一つによって指定されるコンポーネント保存所を獲得する（Ｓ４１０）。
【００８２】
この際、コンポーネント保存所は、ＲＩＡコンポーネントタイプと、前記ＲＩＡコンポーネントタイプを具現したコンポーネント具現体クラスがマッピングされて保存されていることができる。
【００８３】
この際、コンポーネント保存所は、前記ＲＩＡコンポーネントタイプ別に使われるコンポーネント具現体のアドレスと、前記コンポーネント具現体に含まれた前記コンポーネント具現体クラスの名前を含むことができる。
【００８４】
この際、段階（Ｓ４１０）は前記ＲＩＡアプリケーションをダウンロードして前記コンポーネント保存所のアドレスを獲得する段階、及び前記コンポーネント保存所のアドレスから前記コンポーネント保存所をダウンロードする段階を含むことができる。
【００８５】
また、ＲＩＡアプリケーション実行方法は、獲得されたコンポーネント保存所を用いて前記ＲＩＡアプリケーションまたは前記ＲＩＡフォーム別に、前記ＲＩＡコンポーネントタイプで定義されたＲＩＡコンポーネントに相応する前記コンポーネント具現体クラスを選択する（Ｓ４２０）。
【００８６】
この際、選択されたコンポーネント具現体クラスは、選択されたコンポーネント具現体クラスを含む前記コンポーネント保存所を指定したＲＩＡアプリケーションまたはＲＩＡフォームの範囲内で該当ＲＩＡコンポーネントに適用できる。
【００８７】
この際、前記ＲＩＡフォームが前記コンポーネント保存所を指定しない場合、前記ＲＩＡフォームに使われる前記ＲＩＡコンポーネントに対しては前記ＲＩＡフォームを含むＲＩＡアプリケーションまたは上位ＲＩＡフォームに相応するコンポーネント保存所が利用できる。
【００８８】
また、ＲＩＡアプリケーション実行方法は、選択されたコンポーネント具現体クラスを用いて前記ＲＩＡアプリケーションを実行させる（Ｓ４３０）。
【００８９】
この際、段階（Ｓ４３０）は、前記選択されたコンポーネント具現体クラスをメモリにロードした後、前記ＲＩＡコンポーネントタイプにバインドする段階、及びＲＩＡランタイムが前記コンポーネント具現体のインスタンスを生成して返還する段階を含むことができる。
【００９０】
図４に示す各段階の実行主体はクライアントコンピュータ内のＲＩＡランタイムであることができる。
【００９１】
図５は本発明の一実施例によるＲＩＡコンポーネントの多重バージョンサポート方法を示す動作流れ図である。
【００９２】
図５を参照すれば、ＲＩＡコンポーネントの多重バージョンサポート方法は、ＲＩＡコンポーネントタイプと、前記ＲＩＡコンポーネントタイプを具現したコンポーネント具現体クラスをマッピングしてコンポーネント保存所に保存する（Ｓ５１０）。
【００９３】
この際、前記コンポーネント保存所は、ＲＩＡコンポーネントタイプ別に使われるコンポーネント具現体のアドレスと、前記コンポーネント具現体に含まれた前記コンポーネント具現体クラスの名前を含むことができる。
【００９４】
また、ＲＩＡコンポーネントの多重バージョンサポート方法は、クライアントコンピュータの要請によってＲＩＡアプリケーション及びＲＩＡフォームのいずれか一つによって指定される前記コンポーネント保存所を前記クライアントコンピュータのＲＩＡランタイムに提供する（Ｓ５２０）。
【００９５】
この際、前記コンポーネント保存所を指定したＲＩＡアプリケーションまたはＲＩＡフォームの範囲内で該当ＲＩＡコンポーネントのインスタンス生成に利用できる。
【００９６】
この際、前記ＲＩＡフォームが前記コンポーネント保存所を指定しない場合、前記ＲＩＡフォームに使われるＲＩＡコンポーネントに対しては前記ＲＩＡフォームを含むＲＩＡアプリケーションまたは上位ＲＩＡフォームに対応するコンポーネント保存所が利用できる。
【００９７】
図５に示す各段階の主体はサーバーコンピュータに組み込まれたソフトウェアモジュールであることがある。
【００９８】
本発明によるＲＩＡアプリケーション実行方法及びＲＩＡコンポーネントの多重バージョンサポート方法は、多様なコンピュータ手段によって実行可能なプログラム命令形態に具現されてコンピュータ可読媒体に記録可能である。前記コンピュータ可読媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組合せで含むことがある。前記媒体に記録されるプログラム命令は本発明のために特別に設計されて構成されたものであるかあるいはコンピュータソフトウェア分野の従業者に告知されて使用可能なものであることがある。コンピュータ可読記録媒体の例としては、ハードディスク、フレキシブルディスク及び磁気テープのような磁気媒体（ｍａｇｎｅｔｉｃ ｍｅｄｉａ）、ＣＤ−ＲＯＭ、ＤＶＤのような光記録媒体（ｏｐｔｉｃａｌ ｍｅｄｉａ）、フロプティカルディスク（ｆｌｏｐｔｉｃａｌ ｄｉｓｋ）のような磁気−光媒体（ｍａｇｎｅｔｏ−ｏｐｔｉｃａｌ ｍｅｄｉａ）、及びＲＯＭ（Ｒｅａｄ Ｏｎｌｙ Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）、フラッシュメモリなどの如くプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例としては、コンパイラによって作われるもののような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行可能な高級言語コードを含む。
【００９９】
以上のように、本発明によるＲＩＡアプリケーション実行方法及びＲＩＡコンポーネントの多重バージョンサポート方法は、前述した実施例の構成及び方法に限り適用されるものではなく、前記実施例は、多様な変形ができるように、各実施例の全部または一部が選択的に組み合わせられて構成されることもある。
【産業上の利用可能性】
【０１００】
本発明は単一クライアントコンピュータで運営されるビジネスシステムが互いに異なるコンポーネント及びバージョンを使えるようにして不要なシステムマイグレーションを防止するＲＩＡコンポーネント多重バージョンサポート技術に適用可能である。
【符号の説明】
【０１０１】
２１０    ＲＩＡランタイム
２２０    ＲＩＡアプリケーション
２３０    ＲＩＡフォーム
２４０、２５０    コンポーネント保存所
２４１、２４２    コンポーネントタイプ
２４３、２４４    コンポーネント具現体
２４５、２４６    具現体クラス
３１０    ランタイム
３２０、３３０    ＲＩＡフォーム
３４０、３５０    コンポーネント保存所
３２１、３２２、３２３、３２４、３２５、３２６、３２７、３３１、３３２、３３４、３３５、３３６、３３７    コントロール
３６０、３７０、３８０    具現体
３６１、３６２、３６３、３７１、３７３、３７４    具現体クラス
【図１】
0005539170.tif 000002
【図２】
0005539170.tif 000003
【図３】
0005539170.tif 000004
【図４】
0005539170.tif 000005
【図５】
0005539170.tif 000006