JP5539170B2 - RIA application execution method and RIA component multiple version support method - Google Patents
RIA application execution method and RIA component multiple version support method Download PDFInfo
- Publication number
- JP5539170B2 JP5539170B2 JP2010260384A JP2010260384A JP5539170B2 JP 5539170 B2 JP5539170 B2 JP 5539170B2 JP 2010260384 A JP2010260384 A JP 2010260384A JP 2010260384 A JP2010260384 A JP 2010260384A JP 5539170 B2 JP5539170 B2 JP 5539170B2
- Authority
- JP
- Japan
- Prior art keywords
- ria
- component
- implementation
- application
- repository
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
Description
本発明はRIA(Rich Internet Application)に係り、より詳しくは単一クライアントコンピュータで運営されるビジネスシステムが互いに異なるコンポーネント及びバージョンを使えるようにして不要なシステムマイグレーションを防止することができるRIAコンポーネント多重バージョンサポート技術に関するものである。 The present invention relates to RIA (Rich Internet Application), and more specifically, RIA component multiple versions that can prevent unnecessary system migration by enabling different business systems operating on a single client computer to use different components and versions. It is about support technology.
HTMLにおいては、外部で定義されたコンポーネントをウェブページで使うために、オブジェクトタグ(Object tag)を提供している。オブジェクトタグを使うためには、使おうとするコンポーネント(component)に対して実行コード及びバージョン(version)などに対する情報を繰り返し記述しなければならない。また、このように定義されたコンポーネントはいつも独立したモジュール単位でインスタンスがロードされて生成されるので、アプリケーション内で有機的な単位で統合されにくい構造を持つ。 In HTML, an object tag is provided in order to use an externally defined component in a web page. In order to use an object tag, it is necessary to repeatedly describe information on an execution code, a version, and the like for a component to be used. In addition, components defined in this way are always created by loading instances in independent modules, so that they have a structure that is difficult to integrate in an organic unit within an application.
RIA(Rich Internet Application;リア)は伝統的なデスクトップアプリケーションの機能と特徴を具現したウェブアプリケーションで、複雑な操作ができなかったウェブブラウザー基盤のアプリケーションを取り替えるためのソリューションとして使われている。特に、RIAはXインターネットとも呼ばれ、RIAを利用すれば、単一インターフェースを介して既存のウェブでは見られなかったダイナミックで利便性の高い顧客中心のウェブページの提供が可能である。 RIA (Rich Internet Application) is a web application that embodies the functions and features of a traditional desktop application, and is used as a solution to replace a web browser-based application that could not be operated in a complicated manner. In particular, RIA is also called the X Internet, and if RIA is used, it is possible to provide a customer-centric web page that is dynamic and highly convenient that has not been seen on an existing web through a single interface.
RIAアプリケーションはコンポーネント基盤のプログラミングモデルを提供する。特に、使用者インターフェースに核心を置いてビジネスロジック(business logic)を具現しているコンポーネントは、ボタン(Button)、エディット(Edit)、コンボボックス(Combo Box)などのように共通して必要なUIControlに対して互いに異なるバージョンのコンポーネントが存在することになり、一つのコンポーネントは一つのフォームやビジネスドメインで非常に高い再使用率を示すことが企業用RIA(Enterprise RIA)の一般的な特性である。 The RIA application provides a component-based programming model. In particular, components that implement business logic with a focus on the user interface are commonly required UIControls such as Buttons, Edits, Combo Boxes, etc. It is a general characteristic of enterprise RIA (Enterprise RIA) that components of different versions exist, and one component shows a very high reuse rate in one form or business domain. .
一般に、RIAコンポーネント(component)には決まった名前が付与され、付与された名前と同一の名前で具現体が生成される。 Generally, a fixed name is assigned to the RIA component, and an implementation is generated with the same name as the assigned name.
すなわち、特定の機能をするコンポーネントは、他のコンポーネントと区分されるために、唯一の名前を受けることになり、RIAランタイム(runtime)は必要なすべての種類のコンポーネントに対して既に分かっており、コンポーネントごとに既に決まった具現体を持っている。コンポーネントと具現体の名前が同一であれば、開発及び維持補修の際に混同が最小化するので、具現と管理が容易であるという利点がある。 That is, a component that performs a specific function receives a unique name because it is distinguished from other components, and the RIA runtime is already known for all types of components that it needs, Each component already has a specific implementation. If the names of components and implementations are the same, confusion is minimized during development, maintenance, and repair, and thus there is an advantage that implementation and management are easy.
図1は従来技術によるRIAコンポーネントとコンポーネント具現体の関係を示す図である。 FIG. 1 is a diagram illustrating the relationship between RIA components and component implementations according to the prior art.
図1を参照すれば、RIAランタイム110でRIAコンポーネント120別にただ一つの具現体130のみを許容することが分かる。
Referring to FIG. 1, it can be seen that the RIA
この際、RIAランタイム110は、クライアントコンピュータでRIAアプリケーションが実行されるための環境を提供し、RIAアプリケーションソースコードを読み取って実行させるソフトウェアである。RIAコンポーネント120は、RIAランタイム110で実行されながら使用者との相互作用を支援するために、使用者インターフェースを提供するか、あるいは使用者には見えないが特定のビジネスロジックを遂行するために、再使用性が高くなるように独立的に配布及び実行できるように開発されたソフトウェアである。
At this time, the RIA
具現体130はRIAコンポーネントに指定された特定機能を提供する対象に対してコンピュータ上で実行可能であるようにコンピュータ言語を用いて具現された実行可能なプログラムの集合である。
The
コンポーネントと具現体が1:1で対応する場合、クライアントコンピュータで単一業務システム(RIAアプリケーションで具現)にだけ接続する場合には何らの問題がない。しかし、単一クライアントコンピュータにおいてそれぞれRIAアプリケーションで具現された二つ以上の業務システムに接続しなければならない場合、業務システムで使用したコンポーネントバージョンとクライアントコンピュータに設置されたコンポーネントバージョンが一致しない場合、RIAアプリケーションで具現された業務システムは正常に動作できなくなる。よって、それぞれの業務システムは接続可能なすべてのクライアントコンピュータに設置されるコンポーネントバージョンを一致させるために、業務システムで使用するコンポーネントのバージョンをいつも一致させなければならない。これは、開発が完了して何らの問題なしに使われている業務システムが後に開発される他の業務システムによって、業務システムの一部または全部に変化を与えなければならないことを意味し、これは直ちに追加開発のための費用増加と開発によるシステム安全性に脅威を与えることになる。 When the component and the implementation correspond to each other at 1: 1, there is no problem when the client computer is connected only to a single business system (implemented as an RIA application). However, if it is necessary to connect to two or more business systems implemented by RIA applications on a single client computer, if the component version used in the business system does not match the component version installed on the client computer, the RIA The business system embodied by the application cannot operate normally. Therefore, in order to match the component versions installed in all connectable client computers with each business system, the versions of components used in the business system must always match. This means that a business system that has been developed and used without any problems must change part or all of the business system by other business systems that are developed later. Will immediately increase the cost of additional development and pose a threat to system security.
企業において、二つ以上のサーバーシステムを同時に使わなければならない使用者のクライアントコンピュータに組み込まれるRIAコンポーネントのバージョンが単一バージョンでなければならない制約によって発生する問題点は次のようになる。 In the enterprise, problems caused by the restriction that the version of the RIA component incorporated in the client computer of the user who must use two or more server systems at the same time must be a single version are as follows.
i)新サーバーシステムの開発によって既存のサーバーシステムのアプリケーションを修正しなければならない。 i) The application of the existing server system must be modified by developing a new server system.
ii)既存のサーバーシステムの変更を避けるために、より良い機能を持った新バージョンのRIAコンポーネントがあるにもかかわらず新システムを以前バージョンのRIAコンポーネントで開発しなければならない。 ii) To avoid changes to the existing server system, the new system must be developed with the previous version of the RIA component, even though there is a new version of the RIA component with better functionality.
iii)サーバーシステムの変更負担によって新しいRIAコンポーネントのアップグレード作業ができない。 iii) A new RIA component cannot be upgraded due to the change burden of the server system.
したがって、ビジネスドメイン(business domain)やフォーム(form)によって一つのコンポーネントタイプに対して二つ以上の相異なるバージョンのコンポーネント具現体の使用できるようにして、単一クライアントコンピュータで運営されるビジネスシステムが互いに異なるコンポーネント及びバージョンを使えるようにし、不要なマイグレーション(migration)作業を防止することができる新しいRIAコンポーネント多重バージョンサポート技術の必要性が切実に台頭する。 Accordingly, a business system operated by a single client computer can use two or more different versions of component implementations for one component type according to a business domain or form. The need for a new RIA component multi-version support technology that allows different components and versions to be used and prevents unnecessary migration operations is steadily emerging.
前記課題を解決するための本発明の目的は、RIAプラットホームで指定された名前で参照されるRIAコンポーネントに対し、RIAアプリケーションまたはRIAフォーム別にバージョンが互いに異なる多重コンポーネント具現体を使えるようにすることである。 An object of the present invention to solve the above-described problems is to enable multiple component implementations having different versions for each RIA application or RIA form for an RIA component referenced by a name specified in the RIA platform. is there.
また、本発明は、使用者が二つ以上のRIAアプリケーションを使う場合、クライアントコンピュータに組み込まれたRIAコンポーネントのバージョン衝突を避けるために、互いに相関関係がない業務システムの間にRIAコンポーネントバージョンを一致させるための不要な努力を防止することを他の目的とする。 In addition, when the user uses two or more RIA applications, the present invention matches RIA component versions between business systems that are not correlated with each other in order to avoid version conflicts of RIA components incorporated in a client computer. Another purpose is to prevent unnecessary efforts to make it happen.
前記目的を達成するための本発明によるRIAアプリケーション実行方法は、RIAアプリケーション及びRIAフォームのいずれか一つによって指定され、RIAコンポーネントタイプと前記RIAコンポーネントタイプを具現したコンポーネント具現体クラスをマッピングさせて保存するコンポーネント保存所を獲得する段階;前記コンポーネント保存所を用いて前記RIAアプリケーションまたは前記RIAフォーム別に、前記RIAコンポーネントタイプで定義されたRIAコンポーネントに相応する前記コンポーネント具現体クラスを選択する段階;及び前記選択されたコンポーネント具現体クラスを用いて前記RIAアプリケーションを実行させる段階を含む。 The RIA application execution method according to the present invention for achieving the above object is specified by any one of an RIA application and an RIA form, and maps and stores an RIA component type and a component implementation class that implements the RIA component type. Obtaining a component repository to select; for each RIA application or RIA form using the component repository, selecting the component implementation class corresponding to the RIA component defined in the RIA component type; and And executing the RIA application using the selected component implementation class.
この際、選択されたコンポーネント具現体クラスは、前記選択されたコンポーネント具現体クラスを含む前記コンポーネント保存所を指定したRIAアプリケーションまたはRIAフォームの範囲内で該当RIAコンポーネントに適用できる。 At this time, the selected component implementation class can be applied to the corresponding RIA component within the scope of the RIA application or RIA form that specifies the component storage location including the selected component implementation class.
この際、前記RIAフォームが前記コンポーネント保存所を指定しない場合、前記RIAフォームに使われるRIAコンポーネントに対しては前記RIAフォームを含むRIAアプリケーションまたは上位RIAフォームに相応するコンポーネント保存所が利用できる。 At this time, if the RIA form does not designate the component repository, an RIA application including the RIA form or a component repository corresponding to the upper RIA form can be used for the RIA component used for the RIA form.
この際、前記コンポーネント保存所は、前記RIAコンポーネントタイプ別に、使われるコンポーネント具現体のアドレスと、前記コンポーネント具現体に含まれた前記コンポーネント具現体クラスの名前を含むことがある。 At this time, the component storage may include an address of a component implementation used for each RIA component type and a name of the component implementation class included in the component implementation.
この際、前記コンポーネント保存所を獲得する段階は、前記RIAアプリケーションをダウンロードして前記コンポーネント保存所のアドレスを獲得する段階、及び前記コンポーネント保存所のアドレスから前記コンポーネント保存所をダウンロードする段階を含むことがある。 In this case, obtaining the component repository includes downloading the RIA application to obtain the address of the component repository, and downloading the component repository from the address of the component repository. There is.
この際、前記RIAアプリケーションを実行させる段階は、前記選択されたコンポーネント具現体クラスをメモリにロードした後、前記RIAコンポーネントタイプにバインドする段階、及びRIAランタイムが前記コンポーネント具現体のインスタンスを生成して返還する段階を含むことがある。 In this case, the RIA application is executed by loading the selected component implementation class into a memory and binding the RIA component type to the RIA component type, and an RIA runtime generates an instance of the component implementation. May include a return stage.
また、本発明によるRIAコンポーネントの多重バージョンサポート方法は、RIAコンポーネントタイプと前記RIAコンポーネントタイプを具現したコンポーネント具現体クラスをマッピングしてコンポーネント保存所に保存する段階;及びクライアントコンピュータの要請によってRIAアプリケーション及びRIAフォームのいずれか一つによって指定される前記コンポーネント保存所を前記クライアントコンピュータのRIAランタイムで提供する段階を含む。 According to another aspect of the present invention, there is provided a method of supporting multiple versions of an RIA component by mapping an RIA component type and a component implementation class that implements the RIA component type and storing them in a component repository; Providing the component repository specified by any one of the RIA forms at the RIA runtime of the client computer.
この際、前記コンポーネント保存所は、前記コンポーネント保存所を指定したRIAアプリケーションやRIAフォームの範囲内で該当RIAコンポーネントのインスタンス生成に利用できる。 At this time, the component storage can be used to generate an instance of the corresponding RIA component within the scope of the RIA application or RIA form designating the component storage.
本発明によれば、ビジネスドメイン(business domain)またはフォーム(form)別に一つのコンポーネントタイプに対して二つ以上の相異なるバージョンのコンポーネント具現体(具現体クラス)を使うことができ、単一クライアントコンピュータで運営されるビジネスシステムが互いに異なるコンポーネント及びバージョンを使うことが可能である。 According to the present invention, two or more different versions of component implementations (implementation classes) can be used for one component type for each business domain or form, and a single client can be used. It is possible for business systems operated by computers to use different components and versions.
また、本発明は、RIAコンポーネントが二つ以上の相異なるバージョンのコンポーネント具現体を使うことができ、不要なシステムマイグレーション作業を防止することができる。 In addition, the present invention can use component implementations of two or more different versions of RIA components, and can prevent unnecessary system migration work.
また、本発明は、RIAプラットホームで指定された名前で参照されるRIAコンポーネントに対してRIAアプリケーション単位でバージョンが互いに異なる多重コンポーネント具現体を使うことができ、一つのビジネスドメイン内でもフォームごとに異なるコンポーネント具現体を同一コンポーネント名前で使うことができるので、クライアントコンピュータに組み込まれたRIAコンポーネントのバージョン衝突を防止することができる。 In addition, the present invention can use multiple component implementations having different versions for each RIA application for the RIA component referenced by the name specified in the RIA platform, and is different for each form within one business domain. Since component implementations can be used with the same component name, version conflicts of RIA components incorporated in the client computer can be prevented.
本発明を添付図面に基づいて詳細に説明すれば次のようになる。ここで、繰り返される説明、本発明の要旨を不要にあいまいにする公知の機能及び構成についての詳細な説明は省略する。本発明の実施形態は当該分野で平均知識を持った者に本発明をより完全に説明するために提供されるものである。よって、図面の要素の形状及びサイズなどはより明確な説明のために誇張することがある。 The present invention will be described in detail with reference to the accompanying drawings. Here, repeated descriptions and detailed descriptions of known functions and configurations that unnecessarily obscure the subject matter of the present invention are omitted. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the invention to those skilled in the art. Accordingly, the shape and size of elements in the drawings may be exaggerated for a clearer description.
以下、本発明による好適な実施例を添付図面に基づいて詳細に説明する。 Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.
図2は本発明の一実施例によるRIAランタイム、RIAアプリケーション及びRIAフォームとコンポーネント保存所との関係を示す図である。 FIG. 2 is a diagram illustrating the relationship between the RIA runtime, the RIA application, the RIA form, and the component repository according to an embodiment of the present invention.
図2を参照すれば、RIAランタイム210は複数のRIAアプリケーション220を含むことがある。
Referring to FIG. 2, the RIA
RIAランタイム210は、RIAアプリケーション220が実行されるための環境を提供し、RIAアプリケーション220のソースコードを読み取って実行させるソフトウェアである。
The RIA
RIAアプリケーション220は0個以上のRIAフォーム230を含むことができる。
The RIA
本発明は一つのRIAコンポーネント名前に対して複数の具現体(具現体クラス)を指定することができるようにするメカニズムを提供することで、RIAランタイム210で一つのRIAコンポーネント名前で複数の具現体(具現体クラス)を同時に使うことができるようにする。この際、RIAコンポーネント名前はタイプによって定義され、タイプによってコンポーネント名前と具現体が連結される構造を持つ。
The present invention provides a mechanism that allows a plurality of implementations (implementation classes) to be specified for one RIA component name, so that a plurality of implementations with one RIA component name can be used in the
結局、コンポーネントタイプ(component type)はRIAコンポーネントを唯一に識別することができ、一つのバイナリーコードから複数のインスタンスを生成するようにデータタイプ化したRIAコンポーネントの参照名前とみなすことができる。 Eventually, the component type can uniquely identify the RIA component, and can be regarded as a reference name of the RIA component that is data typed so as to generate a plurality of instances from one binary code.
この際、RIAコンポーネントは、RIAランタイム210で実行されながら使用者との相互作用を支援するために使用者インターフェースを提供するか、あるいは使用者には見えないが特定のビジネスロジックを遂行するために再使用性が高くなるように独立的に配布及び実行できるように開発されたソフトウェアである。
In this case, the RIA component provides a user interface to support user interaction while executing in the
例えば、RIAコンポーネントはデータを画面に表示し、使用者との相互作用を提供し、使用者との相互作用結果をデータで管理して提供するために使われるコントロール(control)であることがある。 For example, the RIA component may be a control used to display data on the screen, provide user interaction, and manage and provide user interaction results with the data. .
RIAアプリケーション220は人事システム、会計システムなどのようにビジネスドメイン別に業務システムを運営することができる独立した単位を示し、RIAフォーム230はビジネスドメイン内でビジネストランザクションを処理するための配布単位であることができる。例えば、本発明は本出願人の製品の一つであるXPLATFORMでTypeDefタグ技術によって具現できる。
The
RIAアプリケーション220は一つのコンポーネント保存所240を指定する。すなわち、本発明においては、RIAアプリケーションがそれぞれ一つのコンポーネント保存所を指定することがある。
The
RIAフォーム230は、RIAアプリケーション220で論理的なトランザクションを遂行するように、コントロールを用いてプレゼンテーション画面を生成し、使用者との相互作用を提供する配布及び実行単位である。
The
RIAフォーム230も一つのコンポーネント保存所250を指定する。すなわち、本発明においては、RIAフォームがそれぞれ一つのコンポーネント保存所を指定することができる。ただ、RIAフォームはそれぞれコンポーネント保存所を指定しないこともできる。この場合、コンポーネント保存所を指定しなかったRIAフォームは上位のRIAフォームまたはRIAアプリケーションが指定したコンポーネント保存所を利用することができる。
The
すなわち、RIAアプリケーションはビジネスドメイン全体にわたって適用されるコンポーネントタイプを定義し、RIAフォームは該当のフォームと下位フォームに適用されるコンポーネントタイプに対して定義するものとしてみなすことができる。 That is, the RIA application can be regarded as defining a component type that applies to the entire business domain, and the RIA form can be defined as a component type that is applied to the corresponding form and the lower-level form.
RIAランタイム210は結果として複数のコンポーネント保存所240、250を管理することで、同一ビジネスドメイン内でも一つのコンポーネントタイプで複数のコンポーネント具現体を使えるようにする。
As a result, the
コンポーネント具現体は、コンポーネントタイプに指定された特定機能を提供する対象に対してコンピュータ上で実行できるように、コンピュータ言語を用いて具現された実行可能なプログラムの集合である。特に、コンポーネント具現体はコンポーネント具現体クラスの配布単位にあたる集合とみなすことができ、DLL(Dynamic Link Library)などの形態で提供できる。 The component implementation is a set of executable programs implemented using a computer language so that a specific function specified by the component type can be executed on a computer. In particular, the component implementation can be regarded as a set corresponding to the distribution unit of the component implementation class, and can be provided in a form such as DLL (Dynamic Link Library).
コンポーネント保存所は、コンポーネント具現体をコンポーネントタイプで参照することができるように、コンポーネントタイプとコンポーネント具現体との関係及びコンポーネント具現体をダウンロードすることができる配布サーバーの情報を保存することができる。 The component storage can store the relationship between the component type and the component implementation and information on the distribution server that can download the component implementation so that the component implementation can be referred to by the component type.
それぞれのコンポーネント保存所は一つ以上のコンポーネント具現体を含む。図2の例において、コンポーネント保存所240は二つのコンポーネント具現体243、244の情報を含み、コンポーネント保存所240においてコンポーネントタイプ241はコンポーネント具現体243のクラス(class)245と対応しており、コンポーネントタイプ242はコンポーネント具現体243のクラス246に対応している。
Each component repository includes one or more component implementations. In the example of FIG. 2, the
コンポーネント具現体はそれぞれ内部に一つ以上のクラス具現を含む。 Each component implementation includes one or more class implementations.
すなわち、コンポーネント保存所は、コンポーネントタイプ別に、使われるコンポーネント具現体のURLと具現体内に存在する複数のクラスの中でコンポーネントタイプとマッピングさせるクラス名前を指定すると思われる。 That is, the component storage location may specify the URL of the component implementation to be used and the class name to be mapped to the component type among a plurality of classes existing in the implementation for each component type.
図2と図1を比較すると分かるように、本発明は、RIAコンポーネント名前をタイプとして使い、タイプと具現体の連結情報を管理し、アプリケーションでコンポーネントタイプを使うようにすることで、アプリケーションとコンポーネントの間に緩い連結を持つようにする。 As can be seen by comparing FIG. 2 and FIG. 1, the present invention uses the RIA component name as a type, manages the connection information between the type and the implementation, and uses the component type in the application. Have a loose connection between them.
以下、本発明のRIAコンポーネントの多重バージョンサポート過程を説明する。 Hereinafter, the multiple version support process of the RIA component of the present invention will be described.
1)RIAコンポーネント名前別に具現した具現体クラスを具現体単位でパッケージング(packaging)して配布サーバーに登録する。 1) Packaging implementation classes implemented by RIA component name in units of implementations and registering them in the distribution server.
2)コンポーネント名前を1)で付与された具現体クラスとマッピングしてコンポーネント保存所に登録する。 2) Map the component name with the implementation class given in 1) and register it in the component repository.
3)RIAアプリケーションとRIAフォームでは使うコンポーネント保存所を指定する。 3) Specify the component storage location to be used in the RIA application and RIA form.
4)RIAランタイムはRIAアプリケーションをダウンロードしてから分析してコンポーネント保存所のURLを確認する。 4) The RIA runtime downloads the RIA application and analyzes it to confirm the URL of the component repository.
5)RIAランタイムは4)のURLからコンポーネント保存所を読み込む。 5) The RIA runtime reads the component storage location from the URL of 4).
6)コンポーネント保存所に指定されたコンポーネント具現体のURLを確認してダウンロードした後、クライアントに組み込む。 6) After confirming and downloading the URL of the component implementation designated in the component storage, it is installed in the client.
7)コンポーネント具現体をメモリにロードした後、コンポーネント保存所に指定されたタイプにバインドする。 7) After loading the component implementation into memory, bind to the type specified in the component repository.
8)RIAフォームでコントロール生成要請の際、RIAランタイムは指定されたタイプにマッピングされたコンポーネント具現体のインスタンスを生成して返還する。 8) When requesting control generation in the RIA form, the RIA runtime generates and returns an instance of the component implementation mapped to the specified type.
前記4)〜7)の過程は、RIAアプリケーション実行の際、RIAランタイムによって行われるRIAコンポーネントロード過程とみなされる。 The processes 4) to 7) are regarded as RIA component loading processes performed by the RIA runtime when the RIA application is executed.
結局、本発明によって、RIAアプリケーションでは、開発の際、具現体を考慮せずにタイプを使い、実行の際にはRIAランタイムが提供するコンポーネント具現体を用いて動的にバインドされたコンポーネントを使うことになる。 In the end, according to the present invention, in the RIA application, the type is used without considering the realization during development, and the component dynamically bound using the component realization provided by the RIA runtime is used during execution. It will be.
図3はコンポーネント保存所を用いてRIAフォーム別にコンポーネント保存所を指定する場合を示す図である。 FIG. 3 is a diagram showing a case where a component storage location is designated for each RIA form using the component storage location.
図3を参照すれば、RIAランタイム310は二つのRIAフォーム320、330を含む。
Referring to FIG. 3, the
RIAフォーム320はコンポーネント保存所340を指定し、RIAフォーム330はコンポーネント保存所350を指定する。このように、本発明によれば、RIAアプリケーションまたはRIAフォーム別にコンポーネント保存所を指定することにより、RIAコンポーネント多重バージョン支援が可能である。
The
RIAフォーム320はコントロール321、322、323、324、325、326、327を含む。RIAフォーム330はコントロール331、332、333、334、335、336、337を含む。
The
RIAフォーム320、330はそれぞれプレゼンテーションを構成するためにコンポーネントタイプを用いてコントロールを指定する。
Each
RIAフォーム320及びRIAフォーム330で使われるすべてのコントロールはそれぞれ第1タイプないし第5タイプの5種のコンポーネントタイプの一つにあたる。
All the controls used in the
コンポーネント保存所340、350はいずれも第1タイプないし第5タイプの5種のコンポーネントタイプ別に、使われるコンポーネント具現体のURLと具現体内に存在するクラスの中でコンポーネントタイプとマッピングさせるクラスを指定する。
Each of the
RIAランタイム310は、RIAフォーム320、330をロードした後、コントロールが指定するコンポーネントタイプを把握し、RIAフォームが指定するコンポーネント保存所からコンポーネント具現体を捜してインスタンスを生成した後、コントロールに返還する。
After loading the RIA forms 320 and 330, the
具現体360は三つの具現体クラス361、362、363を含む。具現体370は四つの具現体クラス371、372、373、374を含む。具現体380は二つの具現体クラス381、382を含む。
The
コンポーネント保存所340は二つの具現体360、370を使い、コンポーネント保存所350は三つの具現体360、370、380を使う。
コンポーネント保存所340は、第1タイプ341に対して具現体360の具現体クラス361をマッピングさせる。コンポーネント保存所340は、第2タイプ342に対して具現体360の具現体クラス363をマッピングさせる。コンポーネント保存所340は、第3タイプ343に対して具現体370の具現体クラス371をマッピングさせる。コンポーネント保存所340は、第4タイプ344に対して具現体370の具現体クラス373をマッピングさせる。コンポーネント保存所340は、第5タイプ342に対して具現体370の具現体クラス374をマッピングさせる。
The
コンポーネント保存所350は、第1タイプ351に対して具現体360の具現体クラス361をマッピングさせる。コンポーネント保存所350は、第2タイプ352に対して具現体360の具現体クラス363をマッピングさせる。コンポーネント保存所350は、第3タイプ353に対して具現体370の具現体クラス372をマッピングさせる。コンポーネント保存所350は、第4タイプ354に対して具現体380の具現体クラス381をマッピングさせる。コンポーネント保存所350は、第5タイプ352に対して具現体380の具現体クラス382をマッピングさせる。
The
結局、第1RIAコンポーネントタイプに対しては、RIAフォーム320及びRIAフォーム330のいずれも具現体クラス361が使われ、RIAコンポーネント第2タイプに対しては、RIAフォーム320及びRIAフォーム330のいずれも具現体クラス363が使われる。
After all, for the first RIA component type, both the
しかし、第3RIAコンポーネントタイプに対しては、RIAフォーム320では具現体クラス371が使われ、RIAフォーム330では具現体クラス372が使われる。この場合、RIAフォーム320及びRIAフォーム330は同一のコンポーネントタイプに対して同一具現体内の互いに異なる具現体クラスを使う場合としてみなされる。
However, for the third RIA component type, the
第4RIAコンポーネントタイプに対しては、RIAフォーム320では具現体クラス373が使われ、RIAフォーム330では具現体クラス381が使われる。この場合、RIAフォーム320及びRIAフォーム330は同一コンポーネントタイプに対して互いに異なる具現体内の互いに異なる具現体クラスを使う場合とみなされる。
For the fourth RIA component type, the
第5RIAコンポーネントタイプに対しては、RIAフォーム320では具現体クラス374が使われ、RIAフォーム330では具現体クラス382が使われる。この場合、RIAフォーム320及びRIAフォーム330は、同一コンポーネントタイプに対して互いに異なる具現体内の互いに異なる具現体クラスを使う場合としてみなされる。
For the fifth RIA component type, the
図4は本発明の一実施例によるRIAアプリケーション実行方法を示す動作流れ図である。 FIG. 4 is a flowchart illustrating an RIA application execution method according to an embodiment of the present invention.
図4を参照すれば、RIAアプリケーション実行方法はRIAアプリケーション及びRIAフォームのいずれか一つによって指定されるコンポーネント保存所を獲得する(S410)。 Referring to FIG. 4, the RIA application execution method obtains a component repository designated by either one of the RIA application and the RIA form (S410).
この際、コンポーネント保存所は、RIAコンポーネントタイプと、前記RIAコンポーネントタイプを具現したコンポーネント具現体クラスがマッピングされて保存されていることができる。 At this time, the component storage can store the RIA component type and the component implementation class that implements the RIA component type in a mapped manner.
この際、コンポーネント保存所は、前記RIAコンポーネントタイプ別に使われるコンポーネント具現体のアドレスと、前記コンポーネント具現体に含まれた前記コンポーネント具現体クラスの名前を含むことができる。 In this case, the component repository may include an address of a component implementation used for each RIA component type and a name of the component implementation class included in the component implementation.
この際、段階(S410)は前記RIAアプリケーションをダウンロードして前記コンポーネント保存所のアドレスを獲得する段階、及び前記コンポーネント保存所のアドレスから前記コンポーネント保存所をダウンロードする段階を含むことができる。 In this case, the step (S410) may include downloading the RIA application to obtain an address of the component repository, and downloading the component repository from the address of the component repository.
また、RIAアプリケーション実行方法は、獲得されたコンポーネント保存所を用いて前記RIAアプリケーションまたは前記RIAフォーム別に、前記RIAコンポーネントタイプで定義されたRIAコンポーネントに相応する前記コンポーネント具現体クラスを選択する(S420)。 The RIA application execution method selects the component implementation class corresponding to the RIA component defined in the RIA component type for each RIA application or RIA form using the acquired component repository (S420). .
この際、選択されたコンポーネント具現体クラスは、選択されたコンポーネント具現体クラスを含む前記コンポーネント保存所を指定したRIAアプリケーションまたはRIAフォームの範囲内で該当RIAコンポーネントに適用できる。 At this time, the selected component implementation class can be applied to the corresponding RIA component within the scope of the RIA application or RIA form designating the component storage location including the selected component implementation class.
この際、前記RIAフォームが前記コンポーネント保存所を指定しない場合、前記RIAフォームに使われる前記RIAコンポーネントに対しては前記RIAフォームを含むRIAアプリケーションまたは上位RIAフォームに相応するコンポーネント保存所が利用できる。 At this time, if the RIA form does not specify the component repository, a RIA application including the RIA form or a component repository corresponding to the upper RIA form can be used for the RIA component used for the RIA form.
また、RIAアプリケーション実行方法は、選択されたコンポーネント具現体クラスを用いて前記RIAアプリケーションを実行させる(S430)。 The RIA application execution method executes the RIA application using the selected component implementation class (S430).
この際、段階(S430)は、前記選択されたコンポーネント具現体クラスをメモリにロードした後、前記RIAコンポーネントタイプにバインドする段階、及びRIAランタイムが前記コンポーネント具現体のインスタンスを生成して返還する段階を含むことができる。 In this case, the step (S430) includes loading the selected component implementation class into the memory, binding to the RIA component type, and generating and returning an instance of the component implementation by the RIA runtime. Can be included.
図4に示す各段階の実行主体はクライアントコンピュータ内のRIAランタイムであることができる。 The execution body of each stage shown in FIG. 4 can be the RIA runtime in the client computer.
図5は本発明の一実施例によるRIAコンポーネントの多重バージョンサポート方法を示す動作流れ図である。 FIG. 5 is an operational flowchart illustrating a method for supporting multiple versions of an RIA component according to an embodiment of the present invention.
図5を参照すれば、RIAコンポーネントの多重バージョンサポート方法は、RIAコンポーネントタイプと、前記RIAコンポーネントタイプを具現したコンポーネント具現体クラスをマッピングしてコンポーネント保存所に保存する(S510)。 Referring to FIG. 5, the RIA component multi-version support method maps an RIA component type and a component implementation class that implements the RIA component type and stores them in a component storage (S510).
この際、前記コンポーネント保存所は、RIAコンポーネントタイプ別に使われるコンポーネント具現体のアドレスと、前記コンポーネント具現体に含まれた前記コンポーネント具現体クラスの名前を含むことができる。 In this case, the component repository may include an address of a component implementation used for each RIA component type and a name of the component implementation class included in the component implementation.
また、RIAコンポーネントの多重バージョンサポート方法は、クライアントコンピュータの要請によってRIAアプリケーション及びRIAフォームのいずれか一つによって指定される前記コンポーネント保存所を前記クライアントコンピュータのRIAランタイムに提供する(S520)。 Also, the multi-version support method of the RIA component provides the RIA runtime of the client computer with the component storage designated by one of the RIA application and the RIA form according to the request of the client computer (S520).
この際、前記コンポーネント保存所を指定したRIAアプリケーションまたはRIAフォームの範囲内で該当RIAコンポーネントのインスタンス生成に利用できる。 At this time, it can be used to generate an instance of the corresponding RIA component within the scope of the RIA application or RIA form designating the component storage location.
この際、前記RIAフォームが前記コンポーネント保存所を指定しない場合、前記RIAフォームに使われるRIAコンポーネントに対しては前記RIAフォームを含むRIAアプリケーションまたは上位RIAフォームに対応するコンポーネント保存所が利用できる。 At this time, if the RIA form does not designate the component repository, an RIA application including the RIA form or a component repository corresponding to the upper RIA form can be used for the RIA component used for the RIA form.
図5に示す各段階の主体はサーバーコンピュータに組み込まれたソフトウェアモジュールであることがある。 The subject of each stage shown in FIG. 5 may be a software module built into the server computer.
本発明によるRIAアプリケーション実行方法及びRIAコンポーネントの多重バージョンサポート方法は、多様なコンピュータ手段によって実行可能なプログラム命令形態に具現されてコンピュータ可読媒体に記録可能である。前記コンピュータ可読媒体は、プログラム命令、データファイル、データ構造などを単独でまたは組合せで含むことがある。前記媒体に記録されるプログラム命令は本発明のために特別に設計されて構成されたものであるかあるいはコンピュータソフトウェア分野の従業者に告知されて使用可能なものであることがある。コンピュータ可読記録媒体の例としては、ハードディスク、フレキシブルディスク及び磁気テープのような磁気媒体(magnetic media)、CD−ROM、DVDのような光記録媒体(optical media)、フロプティカルディスク(floptical disk)のような磁気−光媒体(magneto−optical media)、及びROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリなどの如くプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例としては、コンパイラによって作われるもののような機械語コードだけでなく、インタプリタなどを用いてコンピュータによって実行可能な高級言語コードを含む。 The RIA application execution method and the RIA component multiple version support method according to the present invention can be recorded in a computer readable medium by being embodied in a form of program instructions executable by various computer means. The computer readable medium may include program instructions, data files, data structures, etc., alone or in combination. The program instructions recorded on the medium may be specially designed and constructed for the present invention, or may be announced and used by employees of the computer software field. Examples of computer-readable recording media include magnetic media such as hard disks, flexible disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and floppy disks. Hardware specially configured to store and execute program instructions, such as magneto-optical media, ROM (Read Only Memory), RAM (Random Access Memory), flash memory, etc. Hardware device. Examples of the program instructions include not only machine language codes such as those generated by a compiler but also high-level language codes that can be executed by a computer using an interpreter or the like.
以上のように、本発明によるRIAアプリケーション実行方法及びRIAコンポーネントの多重バージョンサポート方法は、前述した実施例の構成及び方法に限り適用されるものではなく、前記実施例は、多様な変形ができるように、各実施例の全部または一部が選択的に組み合わせられて構成されることもある。 As described above, the RIA application execution method and RIA component multiple version support method according to the present invention are not limited to the configuration and method of the above-described embodiment, and the embodiment can be modified in various ways. In addition, all or some of the embodiments may be selectively combined.
本発明は単一クライアントコンピュータで運営されるビジネスシステムが互いに異なるコンポーネント及びバージョンを使えるようにして不要なシステムマイグレーションを防止するRIAコンポーネント多重バージョンサポート技術に適用可能である。 The present invention is applicable to RIA component multi-version support technology that prevents unnecessary system migration by allowing business systems operated by a single client computer to use different components and versions.
210 RIAランタイム
220 RIAアプリケーション
230 RIAフォーム
240、250 コンポーネント保存所
241、242 コンポーネントタイプ
243、244 コンポーネント具現体
245、246 具現体クラス
310 ランタイム
320、330 RIAフォーム
340、350 コンポーネント保存所
321、322、323、324、325、326、327、331、332、334、335、336、337 コントロール
360、370、380 具現体
361、362、363、371、373、374 具現体クラス
210
Claims (11)
前記複数のコンポーネント保存所を用いて前記RIAアプリケーションまたは前記RIAフォーム別に、前記RIAコンポーネントタイプで定義された一つのRIAコンポーネントに対応する複数の前記コンポーネント具現体クラスを選択する段階;及び
前記選択されたコンポーネント具現体クラスを用いて前記RIAアプリケーションを実行させる段階;
を含むことを特徴とする、RIAアプリケーション実行方法。 Obtaining a plurality of component storage locations that are specified by any one of the RIA application and the RIA form and map and store the RIA component type and the component implementation class that implements the RIA component type;
Selecting a plurality of component implementation classes corresponding to one RIA component defined in the RIA component type for each RIA application or RIA form using the plurality of component repositories; and the selected Running the RIA application using a component implementation class;
A method for executing an RIA application, comprising:
前記RIAアプリケーションをダウンロードして前記コンポーネント保存所のアドレスを獲得する段階;及び
前記コンポーネント保存所のアドレスから前記コンポーネント保存所をダウンロードする段階;
を含むことを特徴とする、請求項1に記載のRIAアプリケーション実行方法。 Acquiring the component repository is:
Downloading the RIA application to obtain the address of the component repository; and downloading the component repository from the address of the component repository;
The RIA application execution method according to claim 1, further comprising:
前記選択されたコンポーネント具現体クラスをメモリにロードした後、前記RIAコンポーネントタイプにバインドする段階;及び
RIAランタイムが前記コンポーネント具現体のインスタンスを生成して返還する段階;
を含むことを特徴とする、請求項1に記載のRIAアプリケーション実行方法。 The step of executing the RIA application includes:
After loading the selected component implementation class into memory and binding to the RIA component type; and an RIA runtime creating and returning an instance of the component implementation;
The RIA application execution method according to claim 1, further comprising:
クライアントコンピュータのRIAアプリケーションを実行させるRIAランタイムが、一つのRIAコンポーネントに対応する複数の前記コンポーネント具現体クラスを利用できるように、前記クライアントコンピュータの要請によってRIAアプリケーション及びRIAフォームのいずれか一つによって指定される前記複数の前記コンポーネント保存所を前記RIAランタイムに提供する段階;
を含むことを特徴とする、RIAコンポーネントの多重バージョンサポート方法。 Mapping the component embodied body class that embodies the RIA component type and RIA component type step stores a plurality of components stored plant; RIA runtime to execute RIA applications and client computer corresponds to one of the RIA components Providing the RIA runtime with the plurality of component repositories specified by any one of an RIA application and an RIA form at the request of the client computer so that a plurality of the component implementation classes can be used;
A method for supporting multiple versions of an RIA component, comprising:
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090134202A KR101084662B1 (en) | 2009-12-30 | 2009-12-30 | Method of executing RIA application and method of supporting multi-version RIA component |
KR10-2009-0134202 | 2009-12-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011138491A JP2011138491A (en) | 2011-07-14 |
JP5539170B2 true JP5539170B2 (en) | 2014-07-02 |
Family
ID=44349801
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010260384A Active JP5539170B2 (en) | 2009-12-30 | 2010-11-22 | RIA application execution method and RIA component multiple version support method |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5539170B2 (en) |
KR (1) | KR101084662B1 (en) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007109258A (en) * | 2000-08-15 | 2007-04-26 | Fujitsu Ltd | Web system |
JP2003177933A (en) * | 2001-12-07 | 2003-06-27 | Canon Inc | Applet performing device, its control method, and storage medium |
JP2006260440A (en) * | 2005-03-18 | 2006-09-28 | Nomura Research Institute Ltd | Application system for portable terminal |
-
2009
- 2009-12-30 KR KR1020090134202A patent/KR101084662B1/en active IP Right Grant
-
2010
- 2010-11-22 JP JP2010260384A patent/JP5539170B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR101084662B1 (en) | 2011-11-22 |
KR20110077578A (en) | 2011-07-07 |
JP2011138491A (en) | 2011-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10546035B2 (en) | System and method for data-driven web page navigation control | |
US7076496B1 (en) | Method and system for server based software product release version tracking | |
US9542175B2 (en) | Continuous deployment | |
US9251165B2 (en) | End to end automation of application deployment | |
US9959160B2 (en) | Fault handling in a distributed IT environment | |
CN104471557B (en) | The optimization of dynamic language performs | |
US20090210866A1 (en) | Methods, systems, and computer program products for updating software on a data processing system based on transition rules between classes of compatible versions | |
KR20070049166A (en) | System and method for extraction and creation of application meta-information within a software application repository | |
US20110302565A1 (en) | Implicit workspace dependencies | |
JP2010521726A (en) | Method, system, and computer program for distributing customized software products | |
US20110271254A1 (en) | Polyphasic modules for software development | |
Harrop et al. | Pro Spring 3 | |
US8201147B2 (en) | Generic XAD processing model | |
Warmer et al. | Building a flexible software factory using partial domain specific models | |
US7886018B2 (en) | Portable metadata service framework | |
KR20060120670A (en) | System and method for building software suite | |
JP5539170B2 (en) | RIA application execution method and RIA component multiple version support method | |
JP5276094B2 (en) | Method for effectively searching for transaction code blocks in a transactional memory system | |
US8490068B1 (en) | Method and system for feature migration | |
Duffy | Professional. net framework 2.0 | |
Rouvoy et al. | Leveraging component-based software engineering with Fraclet | |
Cavarlé et al. | Dynamic Round-Trip Engineering in the context of FOMDD | |
Eikermann et al. | Reuse and Customization for Code Generators: Synergy by Transformations and Templates | |
Vogel | Practical code generation in. NET: covering Visual Studio 2005, 2008, and 2010 | |
Sills et al. | XML. NET D e ve loper’s G uide |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20120510 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20120521 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120618 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20120618 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120802 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20120802 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121106 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130206 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130212 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130306 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130311 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130507 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130723 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20131021 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20131203 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140210 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20140306 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140408 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5539170 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140430 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |