KR100319753B1 - Method for developing component on 3-tier architecture - Google Patents

Method for developing component on 3-tier architecture Download PDF

Info

Publication number
KR100319753B1
KR100319753B1 KR1019990061184A KR19990061184A KR100319753B1 KR 100319753 B1 KR100319753 B1 KR 100319753B1 KR 1019990061184 A KR1019990061184 A KR 1019990061184A KR 19990061184 A KR19990061184 A KR 19990061184A KR 100319753 B1 KR100319753 B1 KR 100319753B1
Authority
KR
South Korea
Prior art keywords
component
layer
model
implementing
present
Prior art date
Application number
KR1019990061184A
Other languages
Korean (ko)
Other versions
KR20010057777A (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 KR1019990061184A priority Critical patent/KR100319753B1/en
Publication of KR20010057777A publication Critical patent/KR20010057777A/en
Application granted granted Critical
Publication of KR100319753B1 publication Critical patent/KR100319753B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management

Landscapes

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

Abstract

본 발명은 3층 구조상에서의 컴포넌트 구현 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것으로, 사용자, 프로세스 로직 및 정보계층을 분리한 3층(3-tier)구조상에서 컴포넌트를 개발함으로써, 환경의 변화에 신속히 대응할 수 있고, 컴포넌트의 재사용성을 극대화시킬 수있는 3층 구조상에서의 컴포넌트 구현 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하기 위하여, 컴포넌트 개발 요구사항 분석을 통해 분석모델인 객체를 추출하는 제 1 단계; 상기 추출된 객체를 이용하여 사용자 계층, 프로세스 로직 계층 및 정보 계층으로 구성된 3층(3-tier)구조상에서의 모델을 설계하는 제 2 단계; 및 상기 설계된 모델을 이용하여 컴포넌트를 구현하는 제 3 단계를 포함하며, 컴포넌트 개발 등에 이용됨.The present invention relates to a method of implementing a component in a three-layer structure and a computer-readable recording medium recording a program for realizing the method. The present invention relates to a three-tier structure in which a user, a process logic, and an information layer are separated. By developing a component in the system, a computer-readable recording medium recording a component implementation method and a program for implementing the method on a three-layer structure that can respond quickly to changes in the environment and maximize the reusability of the component. To provide, the first step of extracting the object of the analysis model through the component development requirements analysis; A second step of designing a model on a three-tier structure consisting of a user layer, a process logic layer, and an information layer using the extracted object; And a third step of implementing a component using the designed model, and used for component development.

Description

3층 구조상에서의 컴포넌트 구현 방법{METHOD FOR DEVELOPING COMPONENT ON 3-TIER ARCHITECTURE}Component implementation method on 3-layer structure {METHOD FOR DEVELOPING COMPONENT ON 3-TIER ARCHITECTURE}

본 발명은 컴포넌트 구현 방법에 관한 것으로, 특히 3층(3-tier) 구조상에서의 컴포넌트 구현 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체에 관한 것이다.The present invention relates to a component implementation method, and more particularly, to a component implementation method in a three-tier structure and a computer-readable recording medium having recorded thereon a program for realizing the method.

최근에 소프트웨어의 수요는 계속 폭발적으로 증가하고 있으나 개발 기술의 낙후함과 전문 인력 부족으로 생산성은 따라가지 못하여 소프트웨어 위기 현상을 야기시키고 있다. 컴포넌트를 이용한 소프트웨어 조립 개발 기술은 소프트웨어 위기를 극복하고 소프트웨어 개발 생산성은 물론 품질을 향상시킬 수 있는 기술로 그 필요성이 부각되고 있다.In recent years, the demand for software continues to explode, but due to the lack of development technology and lack of professional manpower, productivity cannot keep up, causing a software crisis. Software assembly development technology using components has emerged as a technology that can overcome the software crisis and improve software development productivity and quality.

컴포넌트 기술은 객체지향 개발 기법과 밀접한 관계를 가지고 있으며, 객체지향 기법은 기존의 데이터와 행위가 분리되어 있던 개발 방법의 복잡성과 통합의 어려움을 극복하려는 데 그 목적이 있다.The component technology is closely related to the object-oriented development technique, and the object-oriented technique aims to overcome the complexity and integration difficulties of the development method in which the existing data and behavior are separated.

객체지향 기법은 소프트웨어의 유연성과 적응성을 높일 수 있는 기초를 제공하고, 시스템의 확장과 변경을 용이하게 하며, 분산처리를 위한 개방형 컴퓨팅 환경을 제공한다.Object-oriented techniques provide a foundation to increase the flexibility and adaptability of software, facilitate the expansion and modification of systems, and provide an open computing environment for distributed processing.

이를 바탕으로 코르바(CORBA : Common Object Request Broker Architecture), 디콤(DCOM : Distributed Component Object Model)등의 표준 구조가 제시되었다. 이러한 구조의 목표는 다양한 공급자에 의한 만들어지는 소프트웨어를 상호 연결할 수 있는 기반을 제공하는 것이다.Based on this, standard structures such as CORBA (Common Object Request Broker Architecture) and DCOM (Distributed Component Object Model) were proposed. The goal of this architecture is to provide a foundation for interconnecting software produced by various vendors.

그러나, 이러한 목표를 달성하기 위해서는 소프트웨어 제품을 컴포넌트 형태로 만들어야 하고, 이를 위해 구조에 제시되어 있는 원칙에 따라 시스템이 개발되어야 하며, 컴포넌트를 다양한 응용 분야에 활용하기 위한 독립적인 기능을 수행 및 대치 기능을 위해 효과적으로 정의된 구조상에서의 컴포넌트 개발방안이 필수적으로 요구된다.However, in order to achieve this goal, software products must be made in component form, and the system must be developed according to the principles set forth in the structure for this purpose. For this, a component development plan on a structure that is effectively defined is required.

따라서, 상기와 같은 요구에 부응하기 위해 안출된 본 발명은, 사용자, 프로세스 로직 및 정보계층을 분리한 3층(3-tier)구조상에서 컴포넌트를 개발함으로써, 환경의 변화에 신속히 대응할 수 있고, 컴포넌트의 재사용성을 극대화시킬 수있는 3층 구조상에서의 컴포넌트 구현 방법과 상기 방법을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 그 목적이 있다.Therefore, the present invention devised to meet the above demands, by developing a component in a three-tier structure that separates the user, process logic and information layer, it is possible to quickly respond to changes in the environment, It is an object of the present invention to provide a method of implementing a component in a three-layer structure that can maximize the reusability of a computer and a computer-readable recording medium that records a program for realizing the method.

도 1 은 본 발명이 적용되는 3층 구조상에서의 컴포넌트 구현 시스템의 일실시예 구성도.1 is a configuration diagram of an embodiment of a component implementation system on a three-layer structure to which the present invention is applied.

도 2 는 본 발명에 따른 3층 구조상에서의 컴포넌트 구현 개념도.2 is a conceptual diagram of component implementation on a three-layer structure in accordance with the present invention.

도 3 은 본 발명에 따른 3층 구조상에서의 컴포넌트 개발방법에 대한 일실시예 처리흐름도.Figure 3 is an embodiment processing flow diagram for a component development method on a three-layer structure according to the present invention.

* 도면의 주요 부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings

101 : 클라이언트 뷰 102 : 서비스 접근 컴포넌트101: Client View 102: Service Access Component

103 : 통신/서비스 컴포넌트 104 : 데이터베이스 접근 컴포넌트103: communication / service component 104: database access component

105 : 데이터베이스 200 : 분석모델105: database 200: analysis model

201 : 클라이언트 객체 202 : 서버 객체201: Client object 202: Server object

203 : 인터페이스203: interface

상기 목적을 달성하기 위한 본 발명은, 컴포넌트 개발시스템에 적용되는 3층 구조상에서의 컴포넌트 구현 방법에 있어서, 컴포넌트 개발 요구사항 분석을 통해 분석모델인 객체를 추출하는 제 1 단계; 상기 추출된 객체를 이용하여 사용자 계층, 프로세스 로직 계층 및 정보 계층으로 구성된 3층(3-tier)구조상에서의 모델을 설계하는 제 2 단계; 및 상기 설계된 모델을 이용하여 컴포넌트를 구현하는 제 3 단계를 포함한다.According to an aspect of the present invention, there is provided a component implementation method on a three-layer structure applied to a component development system, comprising: a first step of extracting an object that is an analysis model through component development requirement analysis; A second step of designing a model on a three-tier structure consisting of a user layer, a process logic layer, and an information layer using the extracted object; And a third step of implementing a component using the designed model.

또한, 본 발명은, 마이크로 프로세서를 구비한 3층 구조상에서의 컴포넌트 개발시스템에, 컴포넌트 개발 요구사항 분석을 통해 분석모델인 객체를 추출하는 제 1 기능; 상기 추출된 객체를 이용하여 사용자 계층, 프로세스 로직 계층 및 정보 계층으로 구성된 3층(3-tier)구조상에서의 모델을 설계하는 제 2 기능; 및 상기 설계된 모델을 이용하여 컴포넌트를 구현하는 제 3 기능을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.The present invention also provides a component development system in a three-layer structure having a microprocessor, comprising: a first function of extracting an object that is an analysis model through component development requirement analysis; A second function of designing a model on a three-tier structure consisting of a user layer, a process logic layer, and an information layer using the extracted object; And a computer readable recording medium having recorded thereon a program for realizing a third function of implementing a component using the designed model.

상술한 목적, 특징들 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명한다.The above objects, features and advantages will become more apparent from the following detailed description taken in conjunction with the accompanying drawings. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1 은 본 발명이 적용되는 3층 구조상에서의 컴포넌트 구현 시스템의 일실시예 구성도이다.1 is a configuration diagram of an embodiment of a component implementation system on a three-layer structure to which the present invention is applied.

도면에 도시된 바와 같이, 본 발명이 적용되는 3층 구조상에서의 컴포넌트 구현 시스템은 각 계층의 독립성을 증대시킴으로써, 원활한 유지보수를 위해 계층을 더 세분화한다.As shown in the figure, the component implementation system on the three-layer structure to which the present invention is applied further increases the independence of each layer, thereby further subdividing the layers for smooth maintenance.

도면에서, 클라이언트 뷰(101)는 그래픽 인터페이스를 구성하여 사용자로부터 데이터나 명령을 입력 받고 사용자에게 그 결과를 보여주는 역할을 수행하는 계층이고, 서비스 접근 컴포넌트(102)는 상기 클라이언트 뷰(101)와 통신/서비스 컴포넌트(103)사이의 결합도를 낮추기 위한 계층으로, 상기 통신/서비스 컴포넌트(103)의 변경에 따른 상기 클라이언트 뷰(101)의 변경을 최소화 해주는 역할을 수행하는 컴포넌트이다. 상기 통신/서비스 컴포넌트(103)는 표준으로 자리잡은 코르바(CORBA : Common Object Request Broker Architecture), 디콤(DCOM : Distributed Component Object Model)등의 분산객체 기술을 통해 프로세스 로직을 수행하는 컴포넌트이다. 데이터베이스 접근 컴포넌트(104)는 데이터베이스(105)에 의존적이지 않은 시스템 구축을 위한 컴포넌트로 기본적인 데이터베이스 연산을 수행한다. 여기서, 상기와 같은 구조의 시스템 구축 방법의 특징은 각 계층의 독립성이 철저히 보장된다는 것이다.In the figure, the client view 101 is a layer that constructs a graphical interface to receive data or commands from a user and display the results to the user, and the service access component 102 communicates with the client view 101. A layer for lowering the degree of coupling between the / service component 103, a component that minimizes the change of the client view 101 according to the change of the communication / service component 103. The communication / service component 103 is a component that performs process logic through distributed object technologies such as CORBA (Common Object Request Broker Architecture) and DCOM (Distributed Component Object Model). The database access component 104 is a component for building a system that is not dependent on the database 105 to perform basic database operations. Here, the characteristic of the system construction method of the above structure is that the independence of each layer is thoroughly guaranteed.

첨부된 도 2 는 본 발명에 따른 3층 구조상에서의 컴포넌트 구현 개념도이다.2 is a conceptual diagram illustrating component implementation on a three-layer structure according to the present invention.

분석단계에서 제시된 분석모델(200)이 클라이언트 객체(201)와 서버 객체(202)가 같은 구조와 모습으로 분산될 수 있도록 변환한다. 이를 위해 상기 분석모델(200)을 설계 모델로 변환할 때, 각 컴포넌트에 클라이언트 객체(201)와 서버 객체(202)가 같은 모습으로 표현될 수 있도록 인터페이스(203)를 설계한다.The analysis model 200 presented in the analysis step converts the client object 201 and the server object 202 to be distributed in the same structure and shape. To this end, when converting the analysis model 200 into a design model, the interface 203 is designed so that the client object 201 and the server object 202 can be represented in the same shape in each component.

도 3 은 본 발명에 따른 3층 구조상에서의 컴포넌트 구현 방법에 대한 일실시예 처리흐름도이다.3 is a flowchart illustrating an embodiment of a method for implementing a component in a three-layer structure according to the present invention.

먼저, 컴포넌트 개발 요구사항 분석을 통해 분석모델인 객체를 추출하고(300), 추출된 객체를 이용하여 3층(3-tier)구조 즉, 사용자 계층, 프로세스 로직 계층 및 정보 계층상에서의 모델을 설계한 후(302), 상기 추출된 객체를 이용하여 컴포넌트를 구현한다(304).First, the object, which is an analysis model, is extracted through analysis of component development requirements (300), and the model is designed on a three-tier structure, that is, a user layer, a process logic layer, and an information layer using the extracted object. After that (302), the component is implemented (304) using the extracted object.

그리고, 구현된 컴포넌트를 시험하고(306), 시험에 통과한 컴포넌트를 유지보수한다(308).The implemented component is then tested 306, and the component that passed the test is maintained 308.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited to the drawing.

상기와 같은 본 발명은, 사용자, 프로세스 로직 및 정보계층을 분리한 3층(3-tier)구조상에서 컴포넌트를 개발함으로써, 컴포넌트들의 상호 연결과 호환성을 보장하여 환경의 변화에 쉽게 대응할 수 있고, 다양한 컴퓨팅 환경하에서 분산되어 있는 컴포넌트들의 호환성을 극대화할 수 있으며, 시스템 통합 및 확장을 용이하게 수행할 수 있는 효과가 있다.The present invention as described above, by developing a component on a three-tier (three-tier) structure that separates the user, process logic and information layer, it is possible to easily respond to changes in the environment by ensuring the interconnection and compatibility of the components, It is possible to maximize the compatibility of distributed components in a computing environment and to easily perform system integration and expansion.

Claims (3)

컴포넌트 개발시스템에 적용되는 3층 구조상에서의 컴포넌트 구현 방법에 있어서,In the component implementation method on the three-layer structure applied to the component development system, 컴포넌트 개발 요구사항 분석을 통해 분석모델인 객체를 추출하는 제 1 단계;A first step of extracting an object that is an analysis model through component development requirement analysis; 상기 추출된 객체를 이용하여 사용자 계층, 프로세스 로직 계층 및 정보 계층으로 구성된 3층(3-tier)구조상에서의 모델을 설계하는 제 2 단계; 및A second step of designing a model on a three-tier structure consisting of a user layer, a process logic layer, and an information layer using the extracted object; And 상기 설계된 모델을 이용하여 컴포넌트를 구현하는 제 3 단계Third step of implementing the component using the designed model 를 포함하는 3층 구조상에서의 컴포넌트 구현 방법.Component implementation method on a three-layer structure comprising a. 제 1 항에 있어서,The method of claim 1, 구현된 컴포넌트를 시험하는 제 4 단계; 및A fourth step of testing the implemented component; And 시험에 통과한 컴포넌트를 유지보수하는 제 5 단계를 더 포함하는 3층 구조상에서의 컴포넌트 구현 방법.And a fifth step of maintaining the components that have passed the tests. 마이크로 프로세서를 구비한 3층 구조상에서의 컴포넌트 개발시스템에,In a component development system on a three-layer structure equipped with a microprocessor, 컴포넌트 개발 요구사항 분석을 통해 분석모델인 객체를 추출하는 제 1 기능;A first function of extracting an object that is an analysis model through component development requirement analysis; 상기 추출된 객체를 이용하여 사용자 계층, 프로세스 로직 계층 및 정보 계층으로 구성된 3층(3-tier)구조상에서의 모델을 설계하는 제 2 기능; 및A second function of designing a model on a three-tier structure consisting of a user layer, a process logic layer, and an information layer using the extracted object; And 상기 설계된 모델을 이용하여 컴포넌트를 구현하는 제 3 기능A third function for implementing a component using the designed model 을 실현시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.A computer-readable recording medium having recorded thereon a program for realizing this.
KR1019990061184A 1999-12-23 1999-12-23 Method for developing component on 3-tier architecture KR100319753B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990061184A KR100319753B1 (en) 1999-12-23 1999-12-23 Method for developing component on 3-tier architecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990061184A KR100319753B1 (en) 1999-12-23 1999-12-23 Method for developing component on 3-tier architecture

Publications (2)

Publication Number Publication Date
KR20010057777A KR20010057777A (en) 2001-07-05
KR100319753B1 true KR100319753B1 (en) 2002-01-09

Family

ID=19628835

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990061184A KR100319753B1 (en) 1999-12-23 1999-12-23 Method for developing component on 3-tier architecture

Country Status (1)

Country Link
KR (1) KR100319753B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010105932A (en) * 2000-05-19 2001-11-29 정재현 A management system with connect function achieved systems exchange to internet
KR20000059005A (en) * 2000-07-08 2000-10-05 김경근 Internet real time testing method using 3-tier system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1091447A (en) * 1996-07-03 1998-04-10 Sun Microsyst Inc Catalogue device for promoting reusage of distributed object in distribution object system
US5970252A (en) * 1997-08-12 1999-10-19 International Business Machines Corporation Method and apparatus for loading components in a component system
US6003037A (en) * 1995-11-14 1999-12-14 Progress Software Corporation Smart objects for development of object oriented software

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6003037A (en) * 1995-11-14 1999-12-14 Progress Software Corporation Smart objects for development of object oriented software
JPH1091447A (en) * 1996-07-03 1998-04-10 Sun Microsyst Inc Catalogue device for promoting reusage of distributed object in distribution object system
US5970252A (en) * 1997-08-12 1999-10-19 International Business Machines Corporation Method and apparatus for loading components in a component system

Also Published As

Publication number Publication date
KR20010057777A (en) 2001-07-05

Similar Documents

Publication Publication Date Title
WO2001091033A3 (en) Security architecture for integration of enterprise information system with j2ee platform
CN112241347B (en) Method for realizing SystemC verification and verification platform assembly architecture
CN109471606B (en) Method for concurrently processing real-time recording of android platform
WO2006029030A3 (en) System and method for exchanging information with a relationship management system
CA2389369A1 (en) Framework for integrating existing and new information technology applications and systems
US20060005204A1 (en) Dynamic software integration architecture
CN115100353A (en) Method, system, electronic device and storage medium for generating digital twin instances
KR100319753B1 (en) Method for developing component on 3-tier architecture
US20010032230A1 (en) Method for managing multimedia platform resources and multimedia platform for implementing it
Eastman et al. Product modeling strategies for today and the future
CN100367235C (en) Method for realizing automatic test and its system
EP0817104A3 (en) Method and system for non-model based application transitioning
CN110502645A (en) Information query method and device
KR20220003864A (en) System and method for design task of architectural decoration
JP2011159275A (en) Computer method and system for providing access to data of target system
CN109948251A (en) Data processing method, device, equipment and storage medium based on CAD
CN100561431C (en) The business object internal memory is represented decoupling device and the method represented with persistence
CN115758789A (en) Software architecture design and architecture transmission method of complex real-time embedded system
CN100349426C (en) On-line monitoring and testing method for communication interface
KR20230039972A (en) Semi-automated methods and devices for non-face-to-face ai content quality test evaluation
CN100550775C (en) A kind of multi-views network management method and system based on core information module
CN114827237B (en) Remote connection operation log recording method and electronic equipment
Kalyanapasupathy et al. Group technology code generation over the internet
Jerraya et al. Towards System level modeling and synthesis
TWI233034B (en) Hierarchical software application system

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 19991223

PA0201 Request for examination
PG1501 Laying open of application
E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20011123

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20011221

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20011222

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
PR1001 Payment of annual fee

Payment date: 20041201

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20051130

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20061201

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20071115

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20081202

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20091113

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20091113

Start annual number: 9

End annual number: 9

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee