KR20110077578A - Method of executing ria application and method of supporting multi-version ria component - Google Patents

Method of executing ria application and method of supporting multi-version ria component Download PDF

Info

Publication number
KR20110077578A
KR20110077578A KR1020090134202A KR20090134202A KR20110077578A KR 20110077578 A KR20110077578 A KR 20110077578A KR 1020090134202 A KR1020090134202 A KR 1020090134202A KR 20090134202 A KR20090134202 A KR 20090134202A KR 20110077578 A KR20110077578 A KR 20110077578A
Authority
KR
South Korea
Prior art keywords
ria
component
application
implementation
repository
Prior art date
Application number
KR1020090134202A
Other languages
Korean (ko)
Other versions
KR101084662B1 (en
Inventor
송화준
Original Assignee
(주)투비소프트
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by (주)투비소프트 filed Critical (주)투비소프트
Priority to KR1020090134202A priority Critical patent/KR101084662B1/en
Priority to JP2010260384A priority patent/JP5539170B2/en
Publication of KR20110077578A publication Critical patent/KR20110077578A/en
Application granted granted Critical
Publication of KR101084662B1 publication Critical patent/KR101084662B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

PURPOSE: A RIA application execution method and a RIA component multi-version support method are provided to use two or more versions of component embodiment bodies for a component type according to a business domain or a form. CONSTITUTION: RIA(Rich Internet Application) runtime acquires a component storage designated by a RIA application or a RIA form(S410). Using the acquired component storage, the RIA runtime selects a component embodiment body class according to the RIA application or the RIA form(S420). Using the selected component embodiment body class, the RIA runtime executes the RIA application(S430).

Description

RIA 어플리케이션 실행 방법 및 RIA 컴포넌트 다중 버전 지원 방법 {Method of executing RIA application and method of supporting multi-version RIA component}How to execute RIA application and how to support RIA component {Method of executing RIA application and method of supporting multi-version RIA component}

본 발명은 RIA(Rich Internet Application)에 관한 것으로, 단일 클라이언트컴퓨터에서 운영되는 비즈니스 시스템들이 서로 다른 컴포넌트 및 버전을 사용할 수 있도록 하여 불필요한 시스템 마이그레이션을 방지할 수 있는 RIA 컴포넌트 다중 버전 지원 기술에 관한 것이다.The present invention relates to a Rich Internet Application (RIA), and to a technology for supporting multiple versions of RIA components that can prevent unnecessary system migration by allowing different systems and versions of business systems running on a single client computer.

HTML에서는 외부에서 정의된 컴포넌트를 웹 페이지에서 사용하기 위하여 오브젝트 태그(Object tag)를 제공하고 있다. 오브젝트 태그를 사용하기 위해서는 사용하고자 하는 컴포넌트(component)에 대하여 실행 코드 및 버전(version) 등에 대한 정보를 반복적으로 기술하여야 한다. 또한, 이렇게 정의된 컴포넌트는 항상 독립된 모듈 단위로 인스턴스가 로드되고 생성되므로, 어플리케이션 안에서 유기적인 단위로 통합되기 어려운 구조를 갖는다.HTML provides an object tag to use externally defined components in a web page. In order to use an object tag, information about an execution code and a version must be repeatedly described for a component to be used. In addition, the components defined in this way have a structure that is difficult to integrate into organic units in an application since instances are always loaded and created in independent module units.

RIA(Rich Internet Application; 리아)는 전통적인 데스크톱 어플리케이션의 기능과 특징을 구현한 웹 어플리케이션으로, 복잡한 조작을 할 수 없었던 웹 브라 우저 기반의 애플리케이션을 대체하기 위한 솔루션으로 사용되고 있다. 특히, RIA는 X인터넷 이라고도 불리며, RIA를 이용하면 단일 인터페이스를 통해 기존의 웹에서는 볼 수 없었던 다이내믹하고 편리한 고객 중심의 웹페이지 제공이 가능하다.RIA (Rich Internet Application) is a web application that implements the functions and features of traditional desktop applications. It is used as a solution to replace web browser based applications that could not be manipulated. In particular, RIA is also called X Internet, and RIA provides a dynamic and convenient customer-oriented web page that has not been seen on the web through a single interface.

RIA 어플리케이션들은 컴포넌트 기반의 프로그래밍 모델을 제공한다. 특히, 사용자 인터페이스에 핵심을 두고 비즈니스 로직(business logic)을 구현하고 있는 컴포넌트는 버튼(Button)이나, 에디트(Edit), 콤보박스(ComboBox) 등과 같이 공통적으로 필요한 UIControl들에 대하여 서로 다른 버전의 컴포넌트들이 존재하게 되고, 하나의 컴포넌트는 하나의 폼이나 비즈니스 도메인에서 매우 높은 재사용율을 보이는 것이 기업용 RIA(Enterprise RIA)의 일반적인 특성이다.RIA applications provide a component-based programming model. In particular, the components that implement business logic with the core in the user interface are different versions of components for commonly required UIControls such as buttons, edits, combo boxes, etc. In general, one component has a very high reuse rate in one form or business domain, which is a general characteristic of Enterprise RIA.

일반적으로, RIA 컴포넌트(component)에는 정해진 이름이 부여되고, 부여된 이름과 동일한 이름으로 구현체가 생성된다.In general, a RIA component is given a fixed name and an implementation is created with the same name as the given name.

즉, 특정 기능을 수행하는 컴포넌트는 다른 컴포넌트와 구분되기 위해 유일한 이름을 부여 받게 되며, RIA 런타임(runtime)은 필요한 모든 종류의 컴포넌트에 대해 이미 알고 있고, 컴포넌트마다 이미 결정된 구현체를 가지고 있다. 컴포넌트와 구현체 이름이 동일하면 개발 및 유지 보수시에 혼동이 최소화 되므로 구현과 관리가 용이하다는 장점이 있다.That is, a component that performs a specific function is given a unique name to distinguish it from other components, and the RIA runtime already knows about all kinds of necessary components, and each component has a predetermined implementation. If the component and implementation name are the same, confusion is minimized during development and maintenance, so it is easy to implement and manage.

도 1은 종래 기술에 따른 RIA 컴포넌트와 컴포넌트 구현체의 관계를 나타낸 도면이다.1 is a diagram illustrating a relationship between a RIA component and a component implementation according to the prior art.

도 1을 참조하면, RIA 런타임(110)에서 RIA 컴포넌트(120)별로 단 하나의 구현체(130)만을 허용하는 것을 알 수 있다.Referring to FIG. 1, it can be seen that the RIA runtime 110 allows only one implementation 130 per RIA component 120.

이 때, RIA 런타임(110)은 클라이언트 컴퓨터에서 RIA 어플리케이션이 실행되기 위한 환경을 제공하고 RIA 어플리케이션 소스코드를 읽어서 실행시키는 소프트웨어이다. RIA 컴포넌트(120)는 RIA 런타임(110)에서 실행되면서 사용자와의 상호작용을 지원하기 위하여 사용자 인터페이스를 제공하거나, 사용자에게는 보이지 않지만 특정한 비즈니스 로직을 수행하기 위하여 재사용성이 높도록 독립적으로 배포 및 실행 가능하게 개발된 소프트웨어이다.At this time, the RIA runtime 110 is software that provides an environment for executing the RIA application on the client computer and reads and executes the RIA application source code. The RIA component 120 runs on the RIA runtime 110 to provide a user interface to support user interaction, or to be independently deployed and executed to be highly reusable to perform specific business logic that is invisible to the user. It is possible software developed.

구현체(130)는 RIA 컴포넌트로 지정된 특정 기능을 제공하는 대상에 대하여 컴퓨터상에서 실행 가능하도록 컴퓨터 언어를 이용하여 구현된 실행 가능한 프로그램들의 모임이다.Implementation 130 is a collection of executable programs implemented using a computer language to be executable on a computer for a subject providing a particular function designated as a RIA component.

컴포넌트와 구현체가 1:1로 대응되는 경우, 클라이언트 컴퓨터에서 한 가지의 업무시스템(RIA 어플리케이션으로 구현)에만 접속하는 경우에는 아무런 문제가 없다. 그러나, 하나의 클라이언트 컴퓨터에서 각각 RIA 어플리케이션으로 구현된 2개 이상의 업무시스템들에 접속하여야 하는 경우, 업무시스템에서 사용한 컴포넌트 버전과 클라이언트 컴퓨터에 설치된 컴포넌트 버전이 일치하지 않는 경우 RIA 어플리케이션으로 구현된 업무시스템은 정상적으로 동작할 수 없게 된다. 따라서, 각각의 업무시스템들은 접속 가능한 모든 클라이언트 컴퓨터에 설치될 컴포넌트 버전을 일치시키기 위하여, 업무시스템에서 사용하는 컴포넌트의 버전을 항상 일치시켜 주어야 한다. 이것은 개발이 완료되어 아무런 문제 없이 사용되고 있는 업무 시스템이 이후에 개발되는 다른 업무시스템으로 인하여, 업무시스템의 일부 또는 전체에 변화를 주어야 한다는 것을 뜻하며, 이는 곧 추가 개발을 위한 비용 증가와 개발에 따른 시스템 안정성에 위협을 초래하게 된다.If the component and the implementation correspond to 1: 1, there is no problem when the client computer connects to only one work system (implemented as a RIA application). However, when one client computer needs to access two or more work systems each implemented as an RIA application, a work system implemented as an RIA application when the component version used in the work system and the component version installed in the client computer do not match. Will not work properly. Therefore, each work system must always match the version of the component used in the work system in order to match the component version to be installed on all accessible client computers. This means that the work system that has been developed and used without any problems should change part or all of the work system due to other work systems that are developed later. It poses a threat to stability.

기업에서 2개 이상의 서버 시스템을 동시에 사용해야 하는 사용자의 클라이언트 컴퓨터에 설치되는 RIA 컴포넌트의 버전이 단일 버전이어야 하는 제약으로 인해 발생하는 문제점은 다음과 같다.The problem arises due to the limitation that the version of the RIA component installed on the client computer of a user who needs to use two or more server systems at the same time must be a single version.

i) 새로운 서버 시스템의 개발로 인해 기존 서버 시스템의 어플리케이션을 수정해 주어야 한다.i) The development of a new server system requires modification of the application of the existing server system.

ii) 기존 서버 시스템의 변경을 회피하기 위하여 더 나은 기능을 가진 새로운 버전의 RIA 컴포넌트가 있음에도 불구하고 새로운 시스템을 이전 버전의 RIA 컴포넌트로 개발하여야 한다.ii) In order to circumvent the change of the existing server system, even though there is a new version of the RIA component with better function, the new system should be developed with the previous version of the RIA component.

iii) 서버 시스템의 변경 부담으로 인하여 새로운 RIA 컴포넌트의 업그레이드 작업을 할 수 없다.iii) The new RIA component cannot be upgraded due to the change of server system.

따라서, 비즈니스 도메인(business domain)이나 폼(form)에 따라서 하나의 컴포넌트 타입에 대해 2개 이상의 서로 다른 버전의 컴포넌트 구현체의 사용을 가능하게 하여, 단일 클라이언트 컴퓨터에서 운영되는 비즈니스 시스템들이 서로 다른 컴포넌트 및 버전을 사용하는 것이 가능하게 하고, 불필요한 마이그레이션(migration) 작업을 방지할 수 있는 새로운 RIA 컴포넌트 다중 버전 지원 기술의 필요성이 절실하게 대두된다.This allows for the use of two or more different versions of component implementations for a component type, depending on the business domain or form, so that business systems running on a single client computer may have different components and There is an urgent need for new RIA component multi-version support technologies that make it possible to use versions and avoid unnecessary migration.

상기한 과제를 해결하기 위한 본 발명의 목적은, RIA 플랫폼에서 지정된 이름으로 참조되는 RIA 컴포넌트에 대하여, RIA 어플리케이션이나 RIA 폼 별로 버전이 서로 다른 다중 컴포넌트 구현체를 사용할 수 있도록 하는 것이다.An object of the present invention for solving the above problems is to enable the use of multiple component implementations with different versions for each RIA application or RIA form for the RIA component referenced by the name specified in the RIA platform.

또한, 본 발명은 사용자가 2개 이상의 RIA 어플리케이션을 사용할 경우, 클라이언트 컴퓨터에 설치된 RIA 컴포넌트의 버전 충돌을 회피하기 위하여 서로 연관관계가 없는 업무 시스템 사이에 RIA 컴포넌트 버전을 일치시키기 위한 불필요한 노력을 방지하는 것을 목적으로 한다.In addition, the present invention prevents unnecessary efforts to match RIA component versions between unrelated business systems in order to avoid version conflicts of RIA components installed on client computers when a user uses two or more RIA applications. For the purpose of

상기한 목적을 달성하기 위한 본 발명에 따른 RIA 어플리케이션 실행 방법은, RIA 어플리케이션(application) 및 RIA 폼(form) 중 어느 하나에 의하여 지정되고, RIA 컴포넌트 타입과 상기 RIA 컴포넌트 타입을 구현한 컴포넌트 구현체 클래스를 매핑시켜 저장하는 컴포넌트 저장소를 획득하는 단계; 상기 컴포넌트 저장소를 이용하여 상기 RIA 어플리케이션이나 상기 RIA 폼 별로, 상기 RIA 컴포넌트 타입으로 정의된 RIA 컴포넌트에 상응하는 상기 컴포넌트 구현체 클래스를 선택하는 단계; 및 상기 선택된 컴포넌트 구현체 클래스를 이용하여 상기 RIA 어플리케이션을 실행시키는 단계를 포함하는 것을 특징으로 한다.RIA application execution method according to the present invention for achieving the above object is specified by any one of the RIA application (application) and RIA form (form), a component implementation class that implements the RIA component type and the RIA component type Obtaining a component store for mapping and storing the data; Selecting the component implementation class corresponding to the RIA component defined as the RIA component type for each RIA application or the RIA form using the component repository; And executing the RIA application using the selected component implementation class.

이 때, 선택된 컴포넌트 구현체 클래스는 상기 선택된 컴포넌트 구현체 클래스를 포함하는 상기 컴포넌트 저장소를 지정한 RIA 어플리케이션이나 RIA 폼의 범 위(scope) 내에서 해당 RIA 컴포넌트에 적용될 수 있다.In this case, the selected component implementation class may be applied to the corresponding RIA component in the scope of the RIA application or RIA form that specifies the component repository including the selected component implementation class.

이 때, 상기 RIA 폼(form)이 상기 컴포넌트 저장소를 지정하지 않는 경우, 상기 RIA 폼에 사용되는 RIA 컴포넌트에 대해서는 상기 RIA 폼을 포함하는 RIA 어플리케이션 또는 상위 RIA 폼에 상응하는 컴포넌트 저장소가 이용될 수 있다.In this case, when the RIA form does not specify the component store, a component store corresponding to a RIA application or a higher RIA form including the RIA form may be used for the RIA component used in the RIA form. have.

이 때, 상기 컴포넌트 저장소는 상기 RIA 컴포넌트 타입별로, 사용될 컴포넌트 구현체의 주소와, 상기 컴포넌트 구현체에 포함된 상기 컴포넌트 구현체 클래스의 이름을 포함할 수 있다.In this case, the component store may include an address of a component implementation to be used and a name of the component implementation class included in the component implementation for each RIA component type.

이 때, 상기 컴포넌트 저장소를 획득하는 단계는 상기 RIA 어플리케이션을 다운로드하여 상기 컴포넌트 저장소의 주소를 획득하는 단계 및 상기 컴포넌트 저장소의 주소로부터 상기 컴포넌트 저장소를 다운로드하는 단계를 포함할 수 있다.In this case, the acquiring of the component store may include downloading the RIA application to obtain an address of the component store and downloading the component store from the address of the component store.

이 때, 상기 RIA 어플리케이션을 실행시키는 단계는 상기 선택된 컴포넌트 구현체 클래스를 메모리로 로드한 후 상기 RIA 컴포넌트 타입으로 바인드하는 단계 및 RIA 런타임이 상기 컴포넌트 구현체의 인스턴스를 생성하여 반환하는 단계를 포함할 수 있다.In this case, executing the RIA application may include loading the selected component implementation class into a memory, binding the RIA component type, and generating and returning an instance of the component implementation by the RIA runtime. .

또한, 본 발명에 따른 RIA 컴포넌트의 다중 버전 지원 방법은, RIA 컴포넌트 타입과 상기 RIA 컴포넌트 타입을 구현한 컴포넌트 구현체 클래스를 매핑하여 컴포넌트 저장소에 저장하는 단계; 및 클라이언트 컴퓨터의 요청에 의하여 RIA 어플리케이션(application) 및 RIA 폼(form) 중 어느 하나에 의하여 지정되는 상기 컴포넌트 저장소를 상기 클라이언트 컴퓨터의 RIA 런타임으로 제공하는 단계를 포함하는 것을 특징으로 한다.In addition, the method for supporting multiple versions of the RIA component according to the present invention, the method comprising: mapping the RIA component type and the component implementation class implementing the RIA component type to store in the component repository; And providing the component repository designated by one of a RIA application and a RIA form to a RIA runtime of the client computer at the request of a client computer.

이 때, 상기 컴포넌트 저장소는 상기 컴포넌트 저장소를 지정한 RIA 어플리케이션이나 RIA 폼의 범위(scope) 내에서 해당 RIA 컴포넌트의 인스턴스(instance) 생성에 이용될 수 있다.In this case, the component store may be used to create an instance of the corresponding RIA component within the scope of the RIA application or RIA form that specifies the component store.

본 발명에 따르면, 비즈니스 도메인(business domain)이나 폼(form) 별로 하나의 컴포넌트 타입에 대해 2개 이상의 서로 다른 버전의 컴포넌트 구현체(구현체 클래스)를 사용할 수 있어, 단일 클라이언트 컴퓨터에서 운영되는 비즈니스 시스템들이 서로 다른 컴포넌트 및 버전을 사용하는 것이 가능하다.According to the present invention, two or more different versions of component implementations (implementation classes) can be used for one component type per business domain or form, so that business systems running on a single client computer It is possible to use different components and versions.

또한, 본 발명은 RIA 컴포넌트가 2개 이상의 서로 다른 버전의 컴포넌트 구현체를 사용할 수 있어, 불필요한 시스템 마이그레이션(migration) 작업을 방지할 수 있다.In addition, the present invention can use two or more different versions of the component implementation of the RIA component, it is possible to prevent unnecessary system migration (migration).

또한, 본 발명은 RIA 플랫폼에서 지정된 이름으로 참조되는 RIA 컴포넌트에 대하여 RIA 어플리케이션 단위로 버전이 서로 다른 다중 컴포넌트 구현체를 사용할 수 있고, 하나의 비즈니스 도메인 내에서도 폼(form)마다 서로 다른 컴포넌트 구현체를 동일한 컴포넌트 이름으로 사용할 수 있으므로, 클라이언트 컴퓨터에 설치된 RIA 컴포넌트의 버전 충돌을 방지할 수 있다.In addition, the present invention can use a multi-component implementation with different versions in RIA application unit for the RIA component referred to by the name specified in the RIA platform, and different component implementations for each form in the same business domain to the same component It can be used as a name to avoid version conflicts with RIA components installed on client computers.

본 발명을 첨부된 도면을 참조하여 상세히 설명하면 다음과 같다. 여기서, 반복되는 설명, 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능, 및 구성에 대한 상세한 설명은 생략한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.The present invention will now be described in detail with reference to the accompanying drawings. Here, the repeated description, well-known functions and configurations that may unnecessarily obscure the subject matter of the present invention, and detailed description of the configuration will be omitted. Embodiments of the present invention are provided to more completely describe the present invention to those skilled in the art. Accordingly, the shape and size of elements in the drawings may be exaggerated for clarity.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명의 일실시예에 따른 RIA 런타임, RIA 어플리케이션 및 RIA 폼과 컴포넌트 저장소와의 관계를 나타낸 도면이다.2 is a diagram illustrating a relationship between an RIA runtime, an RIA application, and an RIA form and a component repository according to an exemplary embodiment of the present invention.

도 2를 참조하면, RIA 런타임(210)은 복수 개의 RIA 어플리케이션(220)을 포함할 수 있다.Referring to FIG. 2, the RIA runtime 210 may include a plurality of RIA applications 220.

RIA 런타임(210)은 RIA 어플리케이션(220)이 실행되기 위한 환경을 제공하고, RIA 어플리케이션(220)의 소스코드를 읽어서 실행시키는 소프트웨어이다.The RIA runtime 210 is software that provides an environment for executing the RIA application 220 and reads and executes source code of the RIA application 220.

RIA 어플리케이션(220)은 0개 이상의 RIA 폼(230)을 포함할 수 있다.RIA application 220 may include zero or more RIA forms 230.

본 발명은 하나의 RIA 컴포넌트 이름에 대하여 여러 개의 구현체(구현체 클래스)를 지정할 수 있도록 하는 메커니즘을 제공함으로써, RIA 런타임(210)에서 하나의 RIA 컴포넌트 이름으로 여러 개의 구현체(구현체 클래스)들을 동시에 사용할 수 있도록 한다. 이 때, RIA 컴포넌트 이름은 타입으로 정의되며, 타입을 통해 컴포넌트 이름과 구현체가 연결되는 구조를 갖는다.The present invention provides a mechanism for specifying multiple implementations (implementation classes) for a single RIA component name, so that multiple implementations (implementation classes) can be used simultaneously with one RIA component name in the RIA runtime 210. Make sure At this time, the RIA component name is defined as a type, and has a structure in which the component name and the implementation are connected through the type.

결국, 컴포넌트 타입(component type)은 RIA 컴포넌트를 유일하게 식별가능하고, 하나의 바이너리 코드로부터 복수개의 인스턴스를 생성할 수 있도록 데이터 타입화된 RIA 컴포넌트의 참조 이름으로 볼 수 있다.As a result, a component type may be regarded as a reference name of a data typed RIA component so that the RIA component may be uniquely identified and a plurality of instances may be generated from one binary code.

이 때, RIA 컴포넌트(component)는 RIA 런타임(210)에서 실행되면서 사용자와의 상호작용을 지원하기 위하여 사용자 인터페이스를 제공하거나, 사용자에게는 보이지 않지만 특정한 비즈니스 로직을 수행하기 위하여 재사용성이 높도록 독립적으로 배포 및 실행 가능하게 개발된 소프트웨어이다.At this time, the RIA component is executed in the RIA runtime 210 to provide a user interface to support interaction with the user, or independently to be highly reusable to perform specific business logic that is not visible to the user. Software developed to be distributed and executable.

예를 들어, RIA 컴포넌트는 데이터를 화면에 보여주고, 사용자와 상호작용을 제공하며, 사용자와의 상호작용 결과를 데이터로 관리하고 제공하기 위해 사용되는 컨트롤(control)일 수 있다.For example, the RIA component may be a control used to display data on a screen, provide interaction with a user, and manage and provide data as a result of interaction with the user.

RIA 어플리케이션(220)은 인사시스템, 회계시스템 등과 같이 비즈니스 도메인별로 업무시스템을 운영할 수 있는 독립된 단위를 나타내며, RIA 폼(230)은 비즈니스 도메인 내에서 비즈니스 트랜잭션을 처리하기 위한 배포 단위일 수 있다. 예를 들어, 본 발명은 본 출원인의 제품 중 하나인 XPLATFORM에서 TypeDef 태그 기술로 구현될 수 있다.The RIA application 220 represents an independent unit capable of operating a business system for each business domain, such as a human resources system, an accounting system, etc. The RIA form 230 may be a distribution unit for processing a business transaction in the business domain. For example, the present invention can be implemented with TypeDef tag technology in XPLATFORM, one of the applicant's products.

RIA 어플리케이션(220)은 하나의 컴포넌트 저장소(240)를 지정한다. 즉, 본 발명에서는 RIA 어플리케이션들이 각각 하나의 컴포넌트 저장소를 지정할 수 있다.RIA application 220 designates one component repository 240. That is, in the present invention, each RIA application may designate one component repository.

RIA 폼(230)은 RIA 어플리케이션(220)에서 논리적인 트랜잭션을 수행할 수 있도록, 컨트롤을 이용하여 프리젠테이션 화면을 생성하고 사용자와의 상호작용을 제공하는 배포 및 실행 단위이다.The RIA form 230 is a distribution and execution unit that generates a presentation screen using controls and provides interaction with a user so that the RIA application 220 can perform a logical transaction.

RIA 폼(230)도 하나의 컴포넌트 저장소(250)를 지정한다. 즉, 본 발명에서는 RIA 폼들이 각각 하나의 컴포넌트 저장소를 지정할 수 있다. 다만, RIA 폼들은 각각 컴포넌트 저장소를 지정하지 아니할 수도 있다. 이 경우, 컴포넌트 저장소를 지정하지 아니한 RIA 폼은 상위의 RIA 폼 또는 RIA 어플리케이션이 지정한 컴포넌트 저장소를 이용할 수 있다.RIA form 230 also specifies one component repository 250. That is, in the present invention, each of the RIA forms may designate one component repository. However, each RIA form may not specify a component repository. In this case, RIA forms that do not specify a component repository can use the parent RIA form or the component repository specified by the RIA application.

즉, RIA 어플리케이션은 비즈니스 도메인 전체에 걸쳐 적용되는 컴포넌트 타입을 정의하고, RIA 폼은 해당 폼과 하위 폼들에 적용되는 컴포넌트 타입에 대해 정의하는 것으로 볼 수 있다.In other words, the RIA application defines a component type applied to the entire business domain, and the RIA form defines a component type applied to the corresponding form and subforms.

RIA 런타임(210)은 결과적으로 복수개의 컴포넌트 저장소들(240, 250)을 관리함으로써, 동일 비즈니스 도메인 내에서도 하나의 컴포넌트 타입으로 복수개의 컴포넌트 구현체를 사용할 수 있도록 해준다.The RIA runtime 210 consequently manages a plurality of component repositories 240, 250, thereby enabling the use of multiple component implementations with one component type within the same business domain.

컴포넌트 구현체는 컴포넌트 타입으로 지정된 특정 기능을 제공하는 대상에 대하여 컴퓨터상에서 실행 가능하도록 컴퓨터 언어를 이용하여 구현된 실행 가능한 프로그램들의 모임이다. 특히, 컴포넌트 구현체는 컴포넌트 구현체 클래스들의 배포 단위에 해당하는 집합으로 볼 수 있으며, DLL(Dynamic Link Library)등의 형태로 제공될 수 있다.A component implementation is a collection of executable programs implemented using a computer language that can be executed on a computer for an object providing a particular function specified by the component type. In particular, the component implementation may be viewed as a set corresponding to a distribution unit of component implementation classes, and may be provided in the form of a DLL (Dynamic Link Library).

컴포넌트 저장소는 컴포넌트 구현체를 컴포넌트 타입으로 참조 가능하도록 컴포넌트 타입과 컴포넌트 구현체와의 관계 및 컴포넌트 구현체를 다운로드할 수 있는 배포 서버의 정보를 저장할 수 있다.The component store may store the relationship between the component type and the component implementation so that the component implementation may be referred to as a component type, and information of a distribution server capable of downloading the component implementation.

각각의 컴포넌트 저장소는 1개 이상의 컴포넌트 구현체를 포함한다. 도 2의 예에서, 컴포넌트 저장소(240)는 두 개의 컴포넌트 구현체들(243, 244)의 정보를 포함하고, 컴포넌트 저장소(240)에서 컴포넌트 타입(241)은 컴포넌트 구현체(243) 의 클래스(245)에 대응되어 있고, 컴포넌트 타입(242)은 컴포넌트 구현체(243)의 클래스(246)에 대응되어 있다.Each component repository contains one or more component implementations. In the example of FIG. 2, component store 240 includes information of two component implementations 243 and 244, where component type 241 is class 245 of component implementation 243. The component type 242 corresponds to the class 246 of the component implementation 243.

컴포넌트 구현체들은 각각 내부에 1개 이상의 클래스 구현을 포함한다.Component implementations each contain one or more class implementations.

즉, 컴포넌트 저장소는 컴포넌트 타입별로, 사용될 컴포넌트 구현체의 URL과 구현체 안에 존재하는 여러 개의 클래스 중에서 컴포넌트 타입과 매핑시킬 클래스 이름을 지정한다고 볼 수 있다.That is, the component repository can be regarded as specifying a class name to be mapped with a component type among component classes, URL of a component implementation to be used, and several classes existing in the implementation.

도 2와 도 1을 비교하면 알 수 있듯이, 본 발명은 RIA 컴포넌트 이름을 타입으로 사용하고, 타입과 구현체의 연결 정보를 관리하며, 어플리케이션에서 컴포넌트 타입을 사용하도록 함으로써, 어플리케이션과 컴포넌트 사이에 느슨한 연결을 갖도록 한다.As can be seen by comparing FIG. 2 with FIG. 1, the present invention uses a RIA component name as a type, manages connection information between a type and an implementation, and uses a component type in an application, thereby loosely connecting the application and the component. To have.

이하에서 본 발명의 RIA 컴포넌트의 다중 버전 지원 과정을 설명한다.Hereinafter, the multi-version support process of the RIA component of the present invention will be described.

1) RIA 컴포넌트 이름별로 구현한 구현체 클래스를 구현체 단위로 패키징(packaging)하여 배포 서버에 등록한다.1) Package the implementation class implemented by the RIA component name by the implementation unit and register it in the distribution server.

2) 컴포넌트 이름을 1)에서 부여된 구현체 클래스와 매핑하여 컴포넌트 저장소에 등록한다.2) Register the component name in the component repository by mapping the component name with the implementation class given in 1).

3) RIA 어플리케이션과 RIA 폼에서는 사용할 컴포넌트 저장소를 지정한다.3) In RIA applications and RIA forms, you specify the component repository to use.

4) RIA 런타임은 RIA 어플리케이션을 다운로드한 후 분석하여 컴포넌트 저장소의 URL을 확인한다.4) The RIA runtime downloads and analyzes the RIA application to determine the URL of the component repository.

5) RIA 런타임은 4)의 URL로부터 컴포넌트 저장소를 읽어 들인다.5) The RIA runtime reads the component repository from the URL in 4).

6) 컴포넌트 저장소에 지정된 컴포넌트 구현체의 URL을 확인하여 다운로드한 후 클라이언트에 설치한다.6) Check and download the component implementation URL specified in the component repository and install it on the client.

7) 컴포넌트 구현체를 메모리로 로드한 후 컴포넌트 저장소에 지정된 타입으로 바인드한다.7) Load the component implementation into memory and bind it to the type specified in the component repository.

8) RIA 폼에서 컨트롤 생성 요청시 RIA 런타임은 지정된 타입에 매핑된 컴포넌트 구현체의 인스턴스를 생성하여 반환한다.8) When requesting to create a control in the RIA form, the RIA runtime creates and returns an instance of the component implementation mapped to the specified type.

위 4) 내지 7) 과정은 RIA 어플리케이션 실행시 RIA 런타임에 의하여 수행되는 RIA 컴포넌트 로드 과정으로 볼 수 있다.Steps 4) to 7) above may be viewed as RIA component loading processes performed by the RIA runtime when the RIA application is executed.

결국, 본 발명을 통해 RIA 어플리케이션에서는 개발시 구현체를 고려하지 않고 타입을 사용하고, 실행시에는 RIA 런타임이 제공하는 컴포넌트 구현체를 이용하여 동적으로 바인딩 된 컴포넌트를 사용하게 된다.As a result, in the present invention, a RIA application uses a type without considering an implementation during development, and uses a component that is dynamically bound by using a component implementation provided by the RIA runtime.

도 3은 컴포넌트 저장소를 이용하여 RIA 폼 별로 컴포넌트 저장소를 지정하는 경우를 나타낸 도면이다.3 is a diagram illustrating a case of designating a component store for each RIA form using the component store.

도 3을 참조하면, RIA 런타임(310)은 두 개의 RIA 폼들(320, 330)을 포함한다.Referring to FIG. 3, the RIA runtime 310 includes two RIA forms 320 and 330.

RIA 폼(320)은 컴포넌트 저장소(340)를 지정하고, RIA 폼(330)은 컴포넌트 저장소(350)를 지정한다. 이와 같이, 본 발명에 따르면 RIA 어플리케이션 또는 RIA 폼 별로 컴포넌트 저장소를 지정함으로써 RIA 컴포넌트 다중 버전 지원이 가능하다.RIA form 320 specifies component store 340, and RIA form 330 specifies component store 350. As described above, according to the present invention, RIA component multi-version can be supported by designating a component repository for each RIA application or RIA form.

RIA 폼(320)은 컨트롤들(321, 322, 323, 324, 325, 326, 327)을 포함한다. RIA 폼(330)은 컨트롤들(331, 332, 333, 334, 335, 336, 337)을 포함한다.RIA form 320 includes controls 321, 322, 323, 324, 325, 326, 327. RIA form 330 includes controls 331, 332, 333, 334, 335, 336, 337.

RIA 폼들(320, 330)은 각각 프리젠테이션을 구성하기 위하여 컴포넌트 타입을 이용하여 컨트롤을 지정한다.RIA forms 320 and 330 each specify controls using a component type to compose a presentation.

RIA 폼(320) 및 RIA 폼(330)에서 사용되는 모든 컨트롤들은 각각 타입 1 내지 타입 5의 다섯 가지 컴포넌트 타입 중 하나에 해당한다.All controls used in RIA form 320 and RIA form 330 correspond to one of five component types, Type 1 through Type 5, respectively.

컴포넌트 저장소들(340, 350)은 모두 타입 1 내지 타입 5의 다섯 가지 컴포넌트 타입별로, 사용될 컴포넌트 구현체의 URL과 구현체안에 존재하는 클래스들 중에서 컴포넌트 타입과 매핑시킬 클래스를 지정한다.The component stores 340 and 350 designate a class to be mapped with a component type among URLs of the component implementation to be used and classes existing in the implementation, for each of five component types of types 1 to 5.

RIA 런타임(310)은 RIA 폼들(320, 330)을 로드한 후, 컨트롤이 지정하는 컴포넌트 타입을 파악하여 RIA 폼이 지정하는 컴포넌트 저장소로부터 컴포넌트 구현체를 찾아 인스턴스를 생성한 후 컨트롤로 반환한다.After loading the RIA forms 320 and 330, the RIA runtime 310 determines the component type specified by the control, finds a component implementation from the component store designated by the RIA form, creates an instance, and returns the result to the control.

구현체(360)는 3개의 구현체 클래스들(361, 362, 363)을 포함한다. 구현체(370)는 4개의 구현체 클래스들(371, 372, 373, 374)을 포함한다. 구현체(380)는 두 개의 구현체 클래스들(381, 382)을 포함한다.Implementation 360 includes three implementation classes 361, 362, 363. Implementation 370 includes four implementation classes 371, 372, 373, 374. Implementation 380 includes two implementation classes 381 and 382.

컴포넌트 저장소(340)는 두 개의 구현체들(360, 370)을 사용하며, 컴포넌트 저장소(350)는 세 개의 구현체들(360, 370, 380)을 사용한다.Component store 340 uses two implementations 360, 370, and component store 350 uses three implementations 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)를 매핑시킨다.Component store 340 maps implementation class 361 of implementation 360 to type 1 341. Component store 340 maps implementation class 363 of implementation 360 to type 2 342. Component store 340 maps implementation class 371 of implementation 370 to type 343. Component store 340 maps implementation class 373 of implementation 370 to type 4 344. Component store 340 maps implementation class 374 of implementation 370 to type 5 342.

컴포넌트 저장소(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)를 매핑시킨다.Component store 350 maps implementation class 361 of implementation 360 to type 1 351. Component store 350 maps implementation class 363 of implementation 360 to type 2 352. Component store 350 maps implementation class 372 of implementation 370 to type 353. Component store 350 maps implementation class 381 of implementation 380 to type 4 354. Component store 350 maps implementation class 382 of implementation 380 to type 5 352.

결국, RIA 컴포넌트 타입 1에 대해서는 RIA 폼(320) 및 RIA 폼(330) 모두 구현체 클래스(361)가 사용되고, RIA 컴포넌트 타입 2에 대해서는 RIA 폼(320) 및 RIA 폼(330) 모두 구현체 클래스(363)가 사용된다.As a result, implementation class 361 is used for both RIA form 320 and RIA form 330 for RIA component type 1, and implementation class 363 for both RIA form 320 and RIA form 330 for RIA component type 2. ) Is used.

그러나, RIA 컴포넌트 타입 3에 대해서는 RIA 폼(320)에서는 구현체 클래스(371)가 사용되고, RIA 폼(330)에서는 구현체 클래스(372)가 사용된다. 이 경우, RIA 폼(320) 및 RIA 폼(330)은 동일한 컴포넌트 타입에 대하여 동일한 구현체 내의 서로 다른 구현체 클래스를 사용하는 경우로 볼 수 있다.However, for RIA component type 3, implementation class 371 is used in RIA form 320 and implementation class 372 is used in RIA form 330. In this case, the RIA form 320 and the RIA form 330 may be considered to use different implementation classes in the same implementation for the same component type.

RIA 컴포넌트 타입 4에 대해서는 RIA 폼(320)에서는 구현체 클래스(373)가 사용되고, RIA 폼(330)에서는 구현체 클래스(381)가 사용된다. 이 경우, RIA 폼(320) 및 RIA 폼(330)은 동일한 컴포넌트 타입에 대하여 서로 다른 구현체 내의 서로 다른 구현체 클래스를 사용하는 경우로 볼 수 있다.For RIA component type 4, implementation class 373 is used in RIA form 320 and implementation class 381 is used in RIA form 330. In this case, the RIA form 320 and the RIA form 330 may be regarded as using different implementation classes in different implementations for the same component type.

RIA 컴포넌트 타입 5에 대해서는 RIA 폼(320)에서는 구현체 클래스(374)가 사용되고, RIA 폼(330)에서는 구현체 클래스(382)가 사용된다. 이 경우, RIA 폼(320) 및 RIA 폼(330)은 동일한 컴포넌트 타입에 대하여 서로 다른 구현체 내의 서로 다른 구현체 클래스를 사용하는 경우로 볼 수 있다.For RIA component type 5, implementation class 374 is used in RIA form 320 and implementation class 382 is used in RIA form 330. In this case, the RIA form 320 and the RIA form 330 may be regarded as using different implementation classes in different implementations for the same component type.

도 4는 본 발명의 일실시예에 따른 RIA 어플리케이션 실행 방법을 나타낸 동작 흐름도이다.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 acquires a component repository designated by any one of an RIA application and an RIA form (S410).

이 때, 컴포넌트 저장소는 RIA 컴포넌트 타입과, 상기 RIA 컴포넌트 타입을 구현한 컴포넌트 구현체 클래스가 매핑되어 저장되어 있을 수 있다.In this case, the component store may store a RIA component type and a component implementation class that implements the RIA component type.

이 때, 컴포넌트 저장소는 상기 RIA 컴포넌트 타입별로 사용될 컴포넌트 구현체의 주소와, 상기 컴포넌트 구현체에 포함된 상기 컴포넌트 구현체 클래스의 이름을 포함할 수 있다.In this case, the component store may include an address of a component implementation to be used for each RIA component type and a name of the component implementation class included in the component implementation.

이 때, 단계(S410)는 상기 RIA 어플리케이션을 다운로드하여 상기 컴포넌트 저장소의 주소를 획득하는 단계 및 상기 컴포넌트 저장소의 주소로부터 상기 컴포넌트 저장소를 다운로드하는 단계를 포함할 수 있다.In this case, step S410 may include downloading the RIA application to obtain an address of the component store and downloading the component store from the address of the component store.

또한, RIA 어플리케이션 실행 방법은 획득된 컴포넌트 저장소를 이용하여 상기 RIA 어플리케이션이나 상기 RIA 폼 별로, 상기 RIA 컴포넌트 타입으로 정의된 RIA 컴포넌트에 상응하는 상기 컴포넌트 구현체 클래스를 선택한다(S420).In addition, the RIA application execution method selects the component implementation class corresponding to the RIA component defined as the RIA component type for each RIA application or the RIA form using the acquired component store (S420).

이 때, 선택된 컴포넌트 구현체 클래스는 선택된 컴포넌트 구현체 클래스를 포함하는 상기 컴포넌트 저장소를 지정한 RIA 어플리케이션이나 RIA 폼의 범위(scope) 내에서 해당 RIA 컴포넌트에 적용될 수 있다.In this case, the selected component implementation class may be applied to the corresponding RIA component within the scope of the RIA application or RIA form that specifies the component repository including the selected component implementation class.

이 때, 상기 RIA 폼이 상기 컴포넌트 저장소를 지정하지 않는 경우, 상기 RIA 폼에 사용되는 상기 RIA 컴포넌트에 대해서는 상기 RIA 폼을 포함하는 RIA 어플리케이션이나 상위 RIA 폼에 상응하는 컴포넌트 저장소가 이용될 수 있다.In this case, when the RIA form does not designate the component store, a RIA application including the RIA form or a component store corresponding to a higher RIA form may be used for the RIA component used in the RIA form.

또한, RIA 어플리케이션 실행 방법은 선택된 컴포넌트 구현체 클래스를 이용하여 상기 RIA 어플리케이션을 실행시킨다(S430).In addition, the RIA application execution method executes the RIA application using the selected component implementation class (S430).

이 때, 단계(S430)는 상기 선택된 컴포넌트 구현체 클래스를 메모리로 로드한 후 상기 RIA 컴포넌트 타입으로 바인드하는 단계 및 RIA 런타임이 상기 컴포넌트 구현체의 인스턴스를 생성하여 반환하는 단계를 포함할 수 있다.In this case, step S430 may include loading the selected component implementation class into a memory, binding the RIA component type, and generating and returning an instance of the component implementation by the RIA runtime.

도 4에 도시된 각 단계들의 수행 주체는 클라이언트 컴퓨터 내의 RIA 런타임일 수 있다.The performing agent of each of the steps shown in FIG. 4 may be an RIA runtime in the client computer.

도 5는 본 발명의 일실시예에 따른 RIA 컴포넌트의 다중 버전 지원 방법을 나타낸 동작 흐름도이다.5 is a flowchart illustrating a method of supporting multiple versions of an RIA component according to an embodiment of the present invention.

도 5를 참조하면, RIA 컴포넌트의 다중 버전 지원 방법은 RIA 컴포넌트 타입과 상기 RIA 컴포넌트 타입을 구현한 컴포넌트 구현체 클래스를 매핑하여 컴포넌트 저장소에 저장한다(S510).Referring to FIG. 5, in the method for supporting multiple versions of an RIA component, the RIA component type and a component implementation class implementing the RIA component type are mapped and stored in the component repository (S510).

이 때, 상기 컴포넌트 저장소는 RIA 컴포넌트 타입별로 사용될 컴포넌트 구현체의 주소와, 상기 컴포넌트 구현체에 포함된 상기 컴포넌트 구현체 클래스의 이름을 포함할 수 있다.In this case, the component store may include an address of a component implementation to be used for each RIA component type and a name of the component implementation class included in the component implementation.

또한, RIA 컴포넌트의 다중 버전 지원 방법은 클라이언트 컴퓨터의 요청에 의하여 RIA 어플리케이션(application) 및 RIA 폼(form) 중 어느 하나에 의하여 지정되는 상기 컴포넌트 저장소를 상기 클라이언트 컴퓨터의 RIA 런타임으로 제공한다(S520).In addition, the method for supporting multiple versions of an RIA component provides the component repository designated by one of an RIA application and an RIA form to a RIA runtime of the client computer at the request of a client computer (S520). .

이 때, 상기 컴포넌트 저장소를 지정한 RIA 어플리케이션이나 RIA 폼의 범위(scope) 내에서 해당 RIA 컴포넌트의 인스턴스(instance) 생성에 이용될 수 있다.In this case, the component repository may be used to create an instance of the corresponding RIA component within the scope of the RIA application or RIA form that designates the component repository.

이 때, 상기 RIA 폼이 상기 컴포넌트 저장소를 지정하지 않는 경우, 상기 RIA 폼에 사용되는 RIA 컴포넌트에 대해서는 상기 RIA 폼을 포함하는 RIA 어플리케이션 또는 상위 RIA 폼에 상응하는 컴포넌트 저장소가 이용될 수 있다.In this case, when the RIA form does not designate the component store, a RIA application including the RIA form or a component store corresponding to a higher RIA form may be used for the RIA component used in the RIA form.

도 5에 도시된 각 단계의 주체는 서버 컴퓨터에 설치된 소프트웨어 모듈일 수 있다.The subject of each step shown in FIG. 5 may be a software module installed in the server computer.

본 발명에 따른 RIA 어플리케이션 실행 방법 및 RIA 컴포넌트의 다중 버전 지원 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.The RIA application execution method and the multi-version support method of the RIA component according to the present invention may be implemented in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

이상에서와 같이 본 발명에 따른 RIA 어플리케이션 실행 방법 및 RIA 컴포넌트의 다중 버전 지원 방법은 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.As described above, the RIA application execution method and the multi-version support method of the RIA component according to the present invention are not limited to the configuration and method of the embodiments described as described above, and the above embodiments may be modified in various ways. All or part of each of the embodiments may be configured to be selectively combined to make it possible.

도 1은 종래 기술에 따른 RIA 컴포넌트와 컴포넌트 구현체의 관계를 나타낸 도면이다.1 is a diagram illustrating a relationship between a RIA component and a component implementation according to the prior art.

도 2는 본 발명의 일실시예에 따른 RIA 런타임, RIA 어플리케이션 및 RIA 폼과 컴포넌트 저장소와의 관계를 나타낸 도면이다.2 is a diagram illustrating a relationship between an RIA runtime, an RIA application, and an RIA form and a component repository according to an exemplary embodiment of the present invention.

도 3은 컴포넌트 저장소를 이용하여 RIA 폼 별로 컴포넌트 저장소를 지정하는 경우를 나타낸 도면이다.3 is a diagram illustrating a case of designating a component store for each RIA form using the component store.

도 4는 본 발명의 일실시예에 따른 RIA 어플리케이션 실행 방법을 나타낸 동작 흐름도이다.4 is a flowchart illustrating an RIA application execution method according to an embodiment of the present invention.

도 5는 본 발명의 일실시예에 따른 RIA 컴포넌트의 다중 버전 지원 방법을 나타낸 동작 흐름도이다.5 is a flowchart illustrating a method of supporting multiple versions of an RIA component according to an embodiment of the present invention.

Claims (11)

RIA 어플리케이션(application) 및 RIA 폼(form) 중 어느 하나에 의하여 지정되고, RIA 컴포넌트 타입과 상기 RIA 컴포넌트 타입을 구현한 컴포넌트 구현체 클래스를 매핑시켜 저장하는 컴포넌트 저장소를 획득하는 단계;Obtaining a component store designated by one of an RIA application and an RIA form and mapping and storing a RIA component type and a component implementation class implementing the RIA component type; 상기 컴포넌트 저장소를 이용하여 상기 RIA 어플리케이션이나 상기 RIA 폼 별로, 상기 RIA 컴포넌트 타입으로 정의된 RIA 컴포넌트에 상응하는 상기 컴포넌트 구현체 클래스를 선택하는 단계; 및Selecting the component implementation class corresponding to the RIA component defined as the RIA component type for each RIA application or the RIA form using the component repository; And 상기 선택된 컴포넌트 구현체 클래스를 이용하여 상기 RIA 어플리케이션을 실행시키는 단계Executing the RIA application using the selected component implementation class 를 포함하는 것을 특징으로 하는 RIA 어플리케이션 실행 방법.RIA application execution method comprising the. 청구항 1에 있어서,The method according to claim 1, 상기 선택된 컴포넌트 구현체 클래스는The selected component implementation class is 상기 선택된 컴포넌트 구현체 클래스를 포함하는 상기 컴포넌트 저장소를 지정한 RIA 어플리케이션이나 RIA 폼의 범위(scope) 내에서 해당 RIA 컴포넌트에 적용되는 것을 특징으로 하는 RIA 어플리케이션 실행 방법.RIA application execution method, characterized in that applied to the corresponding RIA component in the scope of the RIA application or RIA form that specifies the component repository including the selected component implementation class. 청구항 2에 있어서,The method according to claim 2, 상기 RIA 폼이 상기 컴포넌트 저장소를 지정하지 않는 경우, 상기 RIA 폼에 사용되는 상기 RIA 컴포넌트에 대해서는 상기 RIA 폼을 포함하는 RIA 어플리케이션 또는 상위 RIA 폼에 상응하는 컴포넌트 저장소가 이용되는 것을 특징으로 하는 RIA 어플리케이션 실행 방법.If the RIA form does not specify the component store, the RIA application including the RIA form or a component store corresponding to a higher RIA form is used for the RIA component used in the RIA form. How to run. 청구항 1에 있어서,The method according to claim 1, 상기 컴포넌트 저장소는The component repository is 상기 RIA 컴포넌트 타입별로, 사용될 컴포넌트 구현체의 주소와, 상기 컴포넌트 구현체에 포함된 상기 컴포넌트 구현체 클래스의 이름을 포함하는 것을 특징으로 하는 RIA 어플리케이션 실행 방법.For each of the RIA component types, an address of a component implementation to be used and a name of the component implementation class included in the component implementation. 청구항 1에 있어서,The method according to claim 1, 상기 컴포넌트 저장소를 획득하는 단계는Acquiring the component store 상기 RIA 어플리케이션을 다운로드하여 상기 컴포넌트 저장소의 주소를 획득하는 단계; 및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 application execution method comprising the. 청구항 1에 있어서,The method according to claim 1, 상기 RIA 어플리케이션을 실행시키는 단계는Running the RIA application is 상기 선택된 컴포넌트 구현체 클래스를 메모리로 로드한 후 상기 RIA 컴포넌트 타입으로 바인드하는 단계; 및Loading the selected component implementation class into memory and binding to the RIA component type; And RIA 런타임이 상기 컴포넌트 구현체의 인스턴스를 생성하여 반환하는 단계RIA runtime creates and returns an instance of the component implementation 를 포함하는 것을 특징으로 하는 RIA 어플리케이션 실행 방법.RIA application execution method comprising the. RIA 컴포넌트 타입과 상기 RIA 컴포넌트 타입을 구현한 컴포넌트 구현체 클래스를 매핑하여 컴포넌트 저장소에 저장하는 단계; 및Mapping a RIA component type and a component implementation class implementing the RIA component type to a component repository; And 클라이언트 컴퓨터의 요청에 의하여 RIA 어플리케이션(application) 및 RIA 폼(form) 중 어느 하나에 의하여 지정되는 상기 컴포넌트 저장소를 상기 클라이언트 컴퓨터의 RIA 런타임으로 제공하는 단계Providing, at the request of the client computer, the component repository specified by one of an RIA application and an RIA form to the RIA runtime of the client computer. 를 포함하는 것을 특징으로 하는 RIA 컴포넌트의 다중 버전 지원 방법.Method for supporting multiple versions of the RIA component comprising a. 청구항 7에 있어서,The method of claim 7, 상기 컴포넌트 저장소는The component repository is 상기 컴포넌트 저장소를 지정한 RIA 어플리케이션이나 RIA 폼의 범위(scope) 내에서 해당 RIA 컴포넌트의 인스턴스(instance) 생성에 이용되는 것을 특징으로 하는 RIA 컴포넌트의 다중 버전 지원 방법.A method for supporting multiple versions of an RIA component, wherein the component repository is used to create an instance of a corresponding RIA component within a scope of an RIA application or an RIA form. 청구항 8에 있어서,The method according to claim 8, 상기 RIA 폼이 상기 컴포넌트 저장소를 지정하지 않는 경우, 상기 RIA 폼에 사용되는 RIA 컴포넌트에 대해서는 상기 RIA 폼을 포함하는 RIA 어플리케이션 또는 상위 RIA 폼에 상응하는 컴포넌트 저장소가 이용되는 것을 특징으로 하는 RIA 컴포넌트의 다중 버전 지원 방법.When the RIA form does not specify the component store, the RIA component used for the RIA form or a component store corresponding to the RIA application including the RIA form or a higher RIA form is used. How to support multiple versions. 청구항 7에 있어서,The method of claim 7, 상기 컴포넌트 저장소는The component repository is RIA 컴포넌트 타입별로, 사용될 컴포넌트 구현체의 주소와, 상기 컴포넌트 구현체에 포함된 상기 컴포넌트 구현체 클래스의 이름을 포함하는 것을 특징으로 하는 RIA 컴포넌트의 다중 버전 지원 방법.For each RIA component type, the address of the component implementation to be used and the name of the component implementation class included in the component implementation. 청구항 1 내지 청구항 10 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.A computer-readable recording medium in which a program for executing the method of any one of claims 1 to 10 is recorded.
KR1020090134202A 2009-12-30 2009-12-30 Method of executing RIA application and method of supporting multi-version RIA component KR101084662B1 (en)

Priority Applications (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
JP2010260384A JP5539170B2 (en) 2009-12-30 2010-11-22 RIA application execution method and RIA component multiple version support method

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
KR20110077578A true KR20110077578A (en) 2011-07-07
KR101084662B1 KR101084662B1 (en) 2011-11-22

Family

ID=44349801

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090134202A KR101084662B1 (en) 2009-12-30 2009-12-30 Method of executing RIA application and method of supporting multi-version RIA component

Country Status (2)

Country Link
JP (1) JP5539170B2 (en)
KR (1) KR101084662B1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
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

Also Published As

Publication number Publication date
JP5539170B2 (en) 2014-07-02
KR101084662B1 (en) 2011-11-22
JP2011138491A (en) 2011-07-14

Similar Documents

Publication Publication Date Title
US10546035B2 (en) System and method for data-driven web page navigation control
US11853774B2 (en) Dynamically loaded plugin architecture
Hopkins Component primer
US9075596B2 (en) Deployment
US9542175B2 (en) Continuous deployment
US20120011496A1 (en) Service providing apparatus, service providing system, method of processing data in service providing apparatus, and computer program
US8266588B2 (en) Creating projects in a rational application developer workspace
US20060225053A1 (en) Programming language improvements
KR20070049166A (en) System and method for extraction and creation of application meta-information within a software application repository
CN104471557B (en) The optimization of dynamic language performs
US20070260629A1 (en) Portable management
US20090064196A1 (en) Model based device driver code generation
US8843904B2 (en) Automated building and retargeting of architecture-dependent assets
JP7311710B2 (en) runtime container
US20050262522A1 (en) Method and apparatus for reusing a computer software library
Harrop et al. Pro Spring 3
Mackey Introducing. NET 4.0: With Visual Studio 2010
US20150067653A1 (en) Automatic generation of analysis-equivalent application constructs
US7886018B2 (en) Portable metadata service framework
US10514940B2 (en) Virtual application package reconstruction
KR20060120670A (en) System and method for building software suite
US20110296373A1 (en) Command line shell command generation based on schema
WO2011157105A2 (en) Method and device for component expansion
KR101084662B1 (en) Method of executing RIA application and method of supporting multi-version RIA component
US8869177B2 (en) Decoupling components of a software system at compile time and load time

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20161108

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171109

Year of fee payment: 9