KR20130115654A - 사용자 인터페이스 렌더링 방법, 이를 실행하는 사용자 인터페이스 렌더링 서버 및 이를 저장한 기록 매체 - Google Patents

사용자 인터페이스 렌더링 방법, 이를 실행하는 사용자 인터페이스 렌더링 서버 및 이를 저장한 기록 매체 Download PDF

Info

Publication number
KR20130115654A
KR20130115654A KR20120038162A KR20120038162A KR20130115654A KR 20130115654 A KR20130115654 A KR 20130115654A KR 20120038162 A KR20120038162 A KR 20120038162A KR 20120038162 A KR20120038162 A KR 20120038162A KR 20130115654 A KR20130115654 A KR 20130115654A
Authority
KR
South Korea
Prior art keywords
user interface
view
pattern
determining
web page
Prior art date
Application number
KR20120038162A
Other languages
English (en)
Other versions
KR101348401B1 (ko
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 KR20120038162A priority Critical patent/KR101348401B1/ko
Priority to US13/860,996 priority patent/US20140136712A1/en
Publication of KR20130115654A publication Critical patent/KR20130115654A/ko
Application granted granted Critical
Publication of KR101348401B1 publication Critical patent/KR101348401B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 사용자 인터페이스 렌더링 기술에 관한 것으로, 사용자 단말의 요청에 따라 데이터베이스에 대한 연산을 처리하는 웹페이지를 제공하는 사용자 인터페이스 렌더링 서버에서 수행되는 사용자 인터페이스 렌더링 방법은 그래프 구조를 가지는, 사용자 인터페이스 메타데이터 테이블과 서로 조합하여 상기 웹페이지의 사용자 인터페이스를 결정하는 복수의 사용자 인터페이스 테이블들을 포함하는 사용자 인터페이스 데이터베이스를 준비하는 단계, URI(Uniform Resource Identifier)를 기초로 상기 사용자 인터페이스 메타데이터 테이블에 대한 검색 키를 결정하는 단계 및 상기 결정된 검색 키를 기초로 상기 복수의 사용자 인터페이스 테이블들을 이용하여 상기 웹 페이지가 계층적인 사용자 인터페이스를 구성하도록 하는 단계를 포함한다. 따라서, 본 발명은 특정 사용자에게 커스터마이징된 사용자 인터페이스를 렌더링할 수 있다.

Description

사용자 인터페이스 렌더링 방법, 이를 실행하는 사용자 인터페이스 렌더링 서버 및 이를 저장한 기록 매체{METHOD OF RENDERING USER INTERFACE, SERVER PERFORMING THE SAME AND STROAGE MEDIA SOTRING THE SAME}
본 발명은 사용자 인터페이스 렌더링 기술에 관한 것으로, 보다 상세하게는, 특정 사용자에게 커스터마이징된 사용자 인터페이스를 렌더링하기 위한 사용자 인터페이스 렌더링 방법, 이를 실행하는 사용자 인터페이스 렌더링 서버 및 이를 저장한 기록 매체에 관한 것이다.
최근 소프트웨어 시장의 주요 트랜드로 클라우드 컴퓨팅, SaaS(Software as a Service), 유틸리티컴퓨팅, SOA(Service-oriented Architecture), RIA(Rich Internet Application) 등을 꼽을 수 있다. 이러한 트랜드 중 SaaS는 하나 이상의 공급업체가 원격지에서 특정 소프트웨어 플랫폼을 이용해 다수의 고객에게 소프트웨어 서비스를 제공하고, 사용자는 이용한 만큼 이용료를 지불하는 형태의 기술이다.
따라서, SaaS는 사용자가 필요한 소프트웨어를 인터넷을 통해 온라인 서비스로 이용할 수 있도록 하는 최신의 소프트웨어 배포 모델로 정의될 수 있다. 이러한 SaaS는 기존의 ASP를 확장한 개념으로서, 사용자는 SaaS를 통해 소프트웨어의 커스터마이징을 직접 할 수 있다.
SaaS와 유사한 소프트웨어 플랫폼으로는 한국공개특허 제10-2008-7021161호는 사용자 인터페이스를 출력하기 위한 방법 및 컴퓨터 판독기능 매체에 관한 것으로, 사용자가 하나 이상의 오버레이를 사용하여 커스터마이징함으로써 웹 서비스 스위트와의 상호작용을 커스터마이징할 수 있는 복수의 영역을 포함하는 사용자 인터페이스를 출력하는 기술이 있다.
또한, 한국공개특허 제10-2011-0072102호는 멀티테넌시를 지원하기 위한 확장된 자바가상머신 및 이를 이용한 멀티테넌시 처리 방법에 관한 것으로, 자바 API 수준이 아닌 자바가상머신 내부에서 멀티테넌시 기능을 직접 지원함으로써 자바 플랫폼의 성능에 많은 영향을 미치는 불필요한 클래스 로딩 및 실제 코드에 매핑시키기 위한 메소드 호출 과정을 줄이는 기술이 게재되어 있다.
이러한 소프트에어 플랫폼 기술은 어플리케이션, 데이터, 서버, 하드웨어, 네트워크 등 IT 자원을 공유하면서, 서비스 사용자 별로 상이한 업무와 기술 요건에 따라 맞춤형으로 제공해야 한다. 특히, SaaS는 IT전문 지식이 없는 업무 담당자가 비즈니스 상황에 맞게 어플리케이션을 커스터마이징 할 수 있도록 해야 한다. 기존 SaaS는 그래픽 사용자 인터페이스의 개발, 배포 및 구동 과정이 개발 언어 및 환경에 종속적이었다.
일반적으로, 그래픽 사용자 인터페이스는 도메인이나 사용자별 업무 및 기술 요건이 다양하다. 이에 따라 그래픽 사용자 인터페이스는 화면 구현 및 구동을 위한 기술 선택에 있어서 사용자에게 주는 기술적 제약이 크며, 더욱이 플랫폼에서 지원하지 않는 부분에 대해서 대체 구현이 불가능하다.
기존의 그래픽 사용자 인터페이스는 업무 데이터 처리를 위하여 데이터 논리 모델을 기준으로 트랜잭션 유형에 따라 미리 결정된 화면 템플릿만을 제공하기 때문에 원하는 화면 흐름이나 레이아웃을 확장하는 데 있어서 제한적이다.
미리 정의된 태크로 선언된 화면 메타데이터에는 레이아웃 정보외에 조인, 필터링 등과 같은 데이터 뷰 설정을 포함하고 있지 않으며, 일부 필터링 설정과 같이, 데이터 서비스 레벨에서 테이블 및 필드 중 적어도 하나의 수준에서 선언 및 설정 중 적어도 하나를 실행할 수 있으나, 검색 및 목록 중 적어도 하나의 화면과 같이 업무 및 사용자별 중 적어도 하나에 대한 다양한 뷰를 제공하는 것이 불가능하다.
기존의 그래픽 사용자 인터페이스에서 업무 데이터 트랜잭션은 플랫폼에서 제공하는 데이터 서비스를 활용함으로써, 데이터베이스, 쿼리 언어에 종속되어있고, 기존 데이터 레벨의 비즈니즈 로직이 있는 경우 재활용이 될 수 없고, 재개발이 이루어져야 한다는 문제점이 있다.
한국공개특허 제10-2008-7021161호 한국공개특허 제10-2011-0072102호
본 발명의 일 실시예는 특정 사용자에게 커스터마이징된 사용자 인터페이스를 렌더링하기 위한 사용자 인터페이스 렌더링 방법, 이를 실행하는 사용자 인터페이스 렌더링 서버 및 이를 저장한 기록 매체를 제공하고자 한다.
본 발명의 일 실시예에 따른 사용자 인터페이스 렌더링 방법, 이를 실행하는 사용자 인터페이스 렌더링 서버 및 이를 저장한 기록 매체는 뷰 타입에 적어도 하나의 뷰를 포함하는 페이지를 동적으로 구성함으로써 커스터마이징된 사용자 인터페이스를 렌더링할 수 있다.
본 발명의 일 실시예는 사용자 인터페이스의 형태에 따라 섹션 단위로 뷰내 입출력 항목을 배치함으로써 동적으로 사용자 인터페이스를 구성할 수 있는 사용자 인터페이스 렌더링 방법, 이를 실행하는 사용자 인터페이스 렌더링 서버 및 이를 저장한 기록 매체를 제공하고자 한다.
본 발명의 일 실시예는 유연하고 다양한 사용자 인터페이스의 설계 및 사용자 인터페이스 구성이 용이하고, 리소스 활용의 유연성을 통한 어플리케이션 성능 개선을 할 수 있는 사용자 인터페이스를 구성할 수 있는 사용자 인터페이스 렌더링 방법, 이를 실행하는 사용자 인터페이스 렌더링 서버 및 이를 저장한 기록 매체를 제공하고자 한다.
실시예들 중에서, 사용자 단말의 요청에 따라 데이터베이스에 대한 연산을 처리하는 웹페이지를 제공하는 사용자 인터페이스 렌더링 서버에서 수행되는 사용자 인터페이스 렌더링 방법은 그래프 구조를 가지는, 사용자 인터페이스 메타데이터 테이블과 서로 조합하여 상기 웹페이지의 사용자 인터페이스를 결정하는 복수의 사용자 인터페이스 테이블들을 포함하는 사용자 인터페이스 데이터베이스를 준비하는 단계, URI(Uniform Resource Identifier)를 기초로 상기 사용자 인터페이스 메타데이터 테이블에 대한 검색 키를 결정하는 단계 및 상기 결정된 검색 키를 기초로 상기 복수의 사용자 인터페이스 테이블들을 이용하여 상기 웹 페이지가 계층적인 사용자 인터페이스를 구성하도록 하는 단계를 포함한다.
일 실시예에서, 상기 사용자 인터페이스 데이터베이스에 대한 검색 키를 결정하는 단계는 상기 URI에 있는 말단 노드를 상기 검색 키로 결정하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 사용자 인터페이스 메타데이터 테이블은 상기 그래프 구조에서 루트 노드에 해당할 수 있다.
일 실시예에서, 상기 사용자 인터페이스 메타데이터 테이블은 사용자 인터페이스 구성을 위한 화면 유형과 화면 흐름에 대한 연산 패턴을 정의하는 테이블을 포함할 수 있다.
일 실시예에서, 상기 복수의 사용자 인터페이스 테이블들은 상기 웹페이지의 템플릿을 결정하는 뷰 테이블, 상기 뷰 테이블에서 적어도 하나의 섹션을 결정하는 섹션 테이블, 각 섹션에서 적어도 하나의 필드를 결정하는 필드 테이블 및 버튼 테이블을 포함할 수 있다. 여기에서, 상기 뷰 테이블은 상기 사용자 인터페이스 메타테이블의 자식 노드에 해당할 수 있고, 상기 섹션 테이블과 상기 필드 테이블의 부모 노드에 해당할 수 있다. 상기 섹션 테이블은 상기 필드 테이블의 부모 노드에 해당할 수 있다. 상기 섹션 테이블 및 상기 필드 테이블은 상기 템플릿에 대한 서브 템플릿을 구성될 수 있다.
다른 일 실시예에서, 상기 복수의 사용자 인터페이스 테이블들은 상기 데이터베이스에 대한 연산의 처리 결과를 상기 웹페이지에 제공하는 연산 테이블을 더 포함할 수 있다.
일 실시예에서, 상기 웹 페이지가 계층적인 사용자 인터페이스를 구성하도록 하는 단계는 뷰 테이블, 섹션 테이블, 필드 테이블 및 버튼 테이블을 순차적으로 이용하여 사용자 인터페이스를 구성하는 단계를 더 포함할 수 있다. 다른 일 실시예에서, 상기 웹 페이지가 계층적인 사용자 인터페이스를 구성하도록 하는 단계는 상기 뷰 테이블에서 상기 웹페이지의 템플릿을 결정하는 단계 및 상기 섹션 테이블과 상기 필드 테이블을 통해 결정된 서브 템플릿을 상기 결정된 템플릿에 삽입하는 단계를 포함할 수 있다.
일 실시예에서, 상기 방법은 화면에 구현되는 데이터베이스에 대한 연산 패턴에 기초하여 상기 사용자 인터페이스 메타데이터 테이블을 생성하는 단계를 더 포함할 수 있다. 여기에서, 상기 연산 패턴은 단일 뷰 편집 패턴, 리스트 뷰 편집 패턴, 리스트 상세 패턴, 리스트-상세 뷰 편집 패턴 및 마스터-상세 패턴 중 적어도 일부에 해당할 수 있다. 상기 연산 패턴은 상기 연산에 대한 네비게이션을 정의하는 뷰 그룹으로 구성될 수 있다.
일 실시예에서, 상기 계층적인 사용자 인터페이스를 구성하도록 하는 단계는 상기 뷰 그룹에 특정 뷰에 대해서 연산 처리 패턴에 따라 상기 뷰의 타입을 결정하고, 상기 결정된 뷰의 타입에 적어도 하나의 뷰를 포함하는 페이지를 구성하여 사용자 인터페이스를 구성하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 사용자 인터페이스를 구성하는 단계는 상기 뷰내 입출력 항목을 섹션 단위로 배치하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 연산은 CRUD(Create, Read, Update and Delete) 연산에 해당할 수 있다.
실시예들 중에서, 사용자 단말의 요청에 따라 데이터베이스에 대한 연산을 처리하는 웹페이지를 제공하는 사용자 인터페이스 렌더링 서버는 그래프 구조를 가지는, 사용자 인터페이스 메타데이터 테이블과 서로 조합하여 상기 웹페이지의 사용자 인터페이스를 결정하는 복수의 사용자 인터페이스 테이블들을 포함하는 사용자 인터페이스 데이터베이스, URI(Uniform Resource Identifier)를 기초로 상기 사용자 인터페이스 메타데이터 테이블에 대한 검색 키를 결정하는 검색 키 결정부 및 상기 결정된 검색 키를 기초로 상기 복수의 사용자 인터페이스 테이블들을 이용하여 상기 웹 페이지가 계층적인 사용자 인터페이스를 구성하는 사용자 인터페이스 구성부를 포함한다.
일 실시예에서, 상기 검색 키 결정부는 상기 URI에 있는 말단 노드를 상기 검색 키로 결정할 수 있다.
일 실시예에서, 상기 사용자 인터페이스 메타데이터 테이블은 상기 그래프 구조에서 루트 노드에 해당할 수 있다.
일 실시예에서, 상기 사용자 인터페이스 메타데이터 테이블은 사용자 인터페이스 구성을 위한 화면 유형과 화면 흐름에 대한 연산 패턴을 정의하는 테이블을 포함할 수 있다.
일 실시예에서, 상기 복수의 사용자 인터페이스 테이블들은 상기 웹페이지의 템플릿을 결정하는 뷰 테이블, 상기 뷰 테이블에서 적어도 하나의 섹션을 결정하는 섹션 테이블, 각 섹션에서 적어도 하나의 필드를 결정하는 필드 테이블 및 버튼 테이블을 포함할 수 있다. 여기에서, 상기 뷰 테이블은 상기 사용자 인터페이스 메타테이블의 자식 노드에 해당할 수 있고, 상기 섹션 테이블과 상기 필드 테이블의 부모 노드에 해당할 수 있다. 상기 섹션 테이블은 상기 필드 테이블의 부모 노드에 해당할 수 있다. 상기 섹션 테이블 및 상기 필드 테이블은 상기 템플릿에 대한 서브 템플릿을 구성될 수 있다.
다른 일 실시예에서, 상기 복수의 사용자 인터페이스 테이블들은 상기 데이터베이스에 대한 CRUD 연산의 처리 결과를 상기 웹페이지에 제공하는 연산 테이블을 더 포함할 수 있다.
일 실시예에서, 상기 사용자 인터페이스 구성부는 상기 뷰 테이블, 상기 섹션 테이블, 상기 필드 테이블 및 상기 버튼 테이블을 순차적으로 이용하여 사용자 인터페이스를 구성할 수 있다. 일 실시예에서, 상기 사용자 인터페이스 구성부는 상기 뷰 테이블에서 상기 웹페이지의 템플릿을 결정하고, 상기 섹션 테이블과 상기 필드 테이블을 통해 결정된 서브 템플릿을 상기 결정된 템플릿에 삽입할 수 있다.
일 실시예에서, 상기 사용자 인터페이스 메타데이터 테이블은 화면에 구현되는 데이터베이스에 대한 연산 패턴에 기초하여 생성될 수 있다. 상기 연산 패턴은 단일 뷰 편집 패턴, 리스트 뷰 편집 패턴, 리스트 상세 패턴, 리스트-상세 뷰 편집 패턴 및 마스터-상세 패턴 중 적어도 일부에 해당할 수 있다. 상기 연산 패턴은 상기 연산에 대한 네비게이션을 정의하는 뷰 그룹으로 구성될 수 있다.
일 실시예에서, 상기 사용자 인터페이스 구성부는 상기 뷰 그룹에 특정 뷰에 대해서 연산 처리 패턴에 따라 상기 뷰의 타입을 결정하고, 상기 결정된 뷰의 타입에 적어도 하나의 뷰를 포함하는 페이지를 구성하여 사용자 인터페이스를 구성할 수 있다. 일 실시예에서, 상기 사용자 인터페이스 구성부는 상기 뷰내 입출력 항목을 섹션 단위로 배치할 수 있다.
실시예들 중에서, 컴퓨터 읽기 가능한 사용자 단말의 요청에 따라 데이터베이스에 대한 연산을 처리하는 웹페이지를 저장한 기록 매체는 그래프 구조를 가지는, 사용자 인터페이스 메타데이터 테이블과 서로 조합하여 상기 웹페이지의 사용자 인터페이스를 결정하는 복수의 사용자 인터페이스 테이블들을 포함하는 사용자 인터페이스 데이터베이스, URI(Uniform Resource Identifier)를 기초로 상기 사용자 인터페이스 메타데이터 테이블에 대한 검색 키를 결정하는 검색 키 결정부 및 상기 결정된 검색 키를 기초로 상기 복수의 사용자 인터페이스 테이블들을 이용하여 상기 웹 페이지가 계층적인 사용자 인터페이스를 구성하는 사용자 인터페이스 구성부를 포함한다.
본 발명의 일 실시예에 따른 사용자 인터페이스 렌더링 방법, 이를 실행하는 사용자 인터페이스 렌더링 서버 및 이를 저장한 기록 매체는 특정 사용자에게 커스터마이징된 사용자 인터페이스를 렌더링할 수 있다.
본 발명의 일 실시예에 따른 사용자 인터페이스 렌더링 방법, 이를 실행하는 사용자 인터페이스 렌더링 서버 및 이를 저장한 기록 매체는 뷰 타입에 적어도 하나의 뷰를 포함하는 페이지를 동적으로 구성함으로써 커스터마이징된 사용자 인터페이스를 렌더링할 수 있다.
본 발명의 일 실시예에 따른 사용자 인터페이스 렌더링 방법, 이를 실행하는 사용자 인터페이스 렌더링 서버 및 이를 저장한 기록 매체는 사용자 인터페이스의 형태에 따라 섹션 단위로 뷰내 입출력 항목을 배치함으로써 동적으로 사용자 인터페이스를 구성할 수 있다.
본 발명의 일 실시예에 따른 사용자 인터페이스 렌더링 방법, 이를 실행하는 사용자 인터페이스 렌더링 서버 및 이를 저장한 기록 매체는 유연하고 다양한 사용자 인터페이스의 설계 및 사용자 인터페이스 구성이 용이하고, 리소스 활용의 유연성을 통한 어플리케이션 성능 개선을 할 수 있는 사용자 인터페이스를 구성할 수 있다.
도 1은 본 발명의 일 실시예에 따른 사용자 인터페이스 렌더링 시스템을 설명하는 블록도이다.
도 2는 도 1에 있는 사용자 인터페이스 렌더링 서버를 설명하는 블록도이다.
도 3은 도 1에 있는 사용자 인터페이스 렌더링 서버의 실행 과정을 설명하는 흐름도이다.
도 4는 도 3에 있는 복수의 사용자 인터페이스 테이블들을 예시하는 도면이다.
도 5는 미리 정의된 복수의 데이터베이스 연산 패턴들을 설명하는 도면이다.
도 6 내지 9는 도 2에 있는 사용자 인터페이스 구성부의 실행 과정을 설명하는 도면이다.
도 10은 도 1에 있는 사용자 단말에서 수행되는 사용자 인터페이스 설정 과정을 설명하는 흐름도이다.
도 11 내지 도 16은 도 10의 실행 과정을 설명하는 도면이다.
도 17 내지 도 21은 도 2에 있는 사용자 인터페이스 데이터베이스에 저장된 데이터를 설명하는 도면이다.
본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.
한편, 본 출원에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.
"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.
본 발명은 컴퓨터가 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현될 수 있고, 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장 장치 등이 있으며, 또한, 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
도 1은 본 발명의 일 실시예에 따른 사용자 인터페이스 렌더링 시스템을 설명하는 블록도이다.
도 1을 참조하면, 사용자 단말(110), 인터넷(120), 사용자 인터페이스 렌더링 서버(130)를 포함한다. 여기에서, 사용자 단말(110)은 인터넷(120)을 통해 데이터베이스 구축 서버(130)와 연결된다.
사용자 단말(110)은 컴퓨팅 장치에 해당할 수 있고, 예를 들어, 사용자 단말(110)은 PC, 스마트폰, PDA(Personal Digital Assistant), 태블릿 PC에 해당할 수 있다. 사용자 단말(110)은 사용자 인터페이스 렌더링 서버(130)로부터 사용자 인터페이스를 제공받을 수 있다.
사용자 인터페이스 렌더링 서버(130)는 인터넷(120)을 통해 사용자 단말(110)과 연결될 수 있는 컴퓨팅 장치에 해당할 수 있고, 사용자 단말(110)의 요청에 따라 데이터베이스에 대한 CRUD(Create, Read, Update and Delete) 연산을 처리하는 웹페이지를 제공한다.
일 실시예에서, 사용자 인터페이스 렌더링 서버(130)는 사용자 단말(110)과 계속해서 협력을 수행하는 서버에 해당할 수 있다. 이러한 방식은 사용자 인터페이스가 사용자 단말(110)에 제공된 후에도 사용자 인터페이스를 렌더링하기 위해 사용자 인터페이스 렌더링 서버(130)와 연동할 수 있다.
도 2는 도 1에 있는 사용자 인터페이스 렌더링 서버를 설명하는 블록도이다.
도 2를 참조하면, 사용자 인터페이스 렌더링 서버(130)는 사용자 인터페이스 데이터베이스(210), 검색 키 결정부(220), 사용자 인터페이스 구성부(230), 통신부(240) 및 제어부(250)를 포함한다.
사용자 인터페이스 데이터베이스(210)는 복수의 사용자 인터페이스 테이블들을 저장하는데 사용되며, 복수의 사용자 인터페이스 테이블은 그래프 구조를 가지는 사용자 인터페이스 메타데이터 테이블과 서로 조합하여 웹페이지의 사용자 인터페이스를 결정하는데 사용될 수 있다. 여기에서, 메타데이터 테이블은 인터페이스 구성을 위한 화면 유형 또는 화면 흐름에 대한 하나 이상의 연산패턴을 정의하는 테이블을 포함한다.
메타데이터 테이블은 메타데이터를 저장하기 위한 테이블에 해당하며, 메타데이터는 레이아웃 정보, 조인 정보, 필터링 정보 등과 같은 데이터 뷰 설정 정보에 해당한다. 이러한 메타데이터 테이블은 복수의 사용자 인터페이스 테이블들은 웹페이지의 템플릿을 결정하는 뷰 테이블, 뷰 테이블에서 적어도 하나의 섹션을 결정하는 섹션 테이블, 각 섹션에서 적어도 하나의 필드를 결정하는 필드 테이블, 데이터베이스에 대한 CRUD 연산의 처리 결과를 웹 페이지에 제공하는 연산 테이블을 포함한다.
검색 키 결정부(220)는 URI(Uniform Resource Identifier)를 기초로 사용자 인터페이스 메타데이터 테이블에 대한 검색 키를 결정한다. 일 실시예에서, 검색 키 결정부(220)는 URI에 있는 말단 노드를 검색 키로 결정할 수 있다. 예를 들어, 검색 키 결정부(220)는 "http://www.lgcns.co.kr/Create/532" 중 "Create/532”)를 검색 키로 결정할 수 있다. URI는 인터넷에 있는 자원을 나타내는 유일한 주소에 해당한다. 이러한 URI는 “프로토콜(예를 들어, HTTP 또는 FTP) + : + // + 호스트 이름 + 주소”로 구성된다. URI의 하위개념으로는 URL(Uniform Resource Locator) 과 URN(Universal Resource Name)이 있다.
사용자 인터페이스 구성부(230)는 검색 키를 기초로 복수의 사용자 인터페이스 테이블들을 이용하여 웹 페이지가 계층적인 사용자 인터페이스를 구성하도록 한다.
일 실시예에서, 사용자 인터페이스 구성부(230)는 뷰 테이블에서 웹페이지의 템플릿을 결정하고, 섹션 테이블과 필드 테이블을 통해 결정된 서브 템플릿을 템플릿에 삽입하여 사용자 인터페이스를 구성할 수 있다.
통신부(240)는 사용자 단말(110)과 통신하기 위한 인터페이스에 해당한다.
제어부(250)는 사용자 인터페이스 데이터베이스(210), 검색 키 결정부(220), 사용자 인터페이스 구성부(230) 및 통신부(240)를 제어한다.
도 3은 도 1에 있는 사용자 인터페이스 렌더링 서버의 실행 과정을 설명하는 흐름도이고, 도 4는 도 3에 있는 복수의 사용자 인터페이스 테이블들을 예시하는 도면이다.
도 3 및 도 4에서, 검색 키 결정부(220)는 사용자에 의해 특정 페이지 요청이 수신되면(단계 S310), URI를 기초로 사용자 인터페이스 메타데이터 테이블에 대한 검색 키를 결정하고 이에 기초로 사용자 인터페이스 메타 정보를 검색한다(단계 S320).
사용자 인터페이스 구성부(230)는 검색 키를 기초로 복수의 사용자 인터페이스 테이블들을 이용하여(예를 들어, 뷰 테이블, 섹션 테이블, 필드 테이블, 버튼 테이블을 순서대로 이용하여) 웹 페이지가 계층적인 사용자 인터페이스를 구성하도록 한다(단계 S330). 예를 들어, 사용자 인터페이스 구성부(230)는 뷰 테이블에 있는 뷰들 중 적어도 하나의 뷰(예를 들어, VW_ID: 344)를 구성할 경우, 섹션 테이블에 있는 섹션 순서로 필드 테이블의 필드 배치 정보를 이용하여 필드를 배치하고, 버튼 테이블의 버튼 배치 정보를 이용하여 버튼을 배치할 수 있다.
복수의 사용자 인터페이스 테이블들은 뷰 테이블(430), 섹션 테이블(440), 필드 테이블(450), 버튼 테이블(460)을 포함한다. 뷰 테이블(430)은 사용자 인터페이스 메타데이터 테이블(420)의 자식 노드에 해당하고, 섹션 테이블(440), 필드 테이블(450) 및 버튼 테이블(460)은 뷰 테이블(430)의 자식 노드에 해당한다. 섹션 테이블(440) 및 필드 테이블(450)은 템플릿에 대한 서브 템플릿을 구성할 수 있다.
이러한 뷰 테이블(430), 섹션 테이블(440), 필드 테이블(450) 및 버튼 테이블(460)은 복수의 데이터베이스 연산 패턴들 중 사용자에 의해 선택된 데이터베이스 연산 패턴에 따라 결정될 수 있다.
일 실시예에서, 사용자 인터페이스 구성부(230)는 뷰 테이블에서 웹페이지의 템플릿을 결정하고, 섹션 테이블 및 필드 테이블을 통해 결정된 서브 템플릿을 템플릿에 삽입하여 사용자 인터페이스를 구성할 수 있다.
도 5는 미리 정의된 복수의 데이터베이스 연산 패턴들을 설명하는 도면이다.
도 5에서, 복수의 데이터베이스 연산 패턴들은 단일 뷰 편집(Single View to Edit) 패턴(510), 리스트 뷰 편집(List View to Edit) 패턴(520), 리스트 상세(List to Detail) 패턴(530), 리스트-상세 뷰 편집(List/Detail View to Edit) 패턴(540) 및 마스터-상세(Master-Detail) 패턴들(550, 560, 570, 580) 중 적어도 일부에 해당할 수 있다.
단일 뷰 편집 패턴(510)은 1건에 대한 CRUD 연산 처리를 하고 해당 건을 조회한 후 추가적인 편집작업을 수행하기 위한 패턴에 해당한다. 리스트 뷰 편집 패턴(520)은 N건 각각의 상세 건에 대한 상세 조회 후 각각의 상세 건에 대한 수정 및 신규 업무를 수행하기 위한 패턴에 해당한다.
리스트 상세 패턴(530)은 N건 각각의 상세 건에 대한 상세 조회 후 각각의 상세건 중 한 건에 대한 CRUD 연산 처리를 하기 위한 패턴에 해당한다. 리스트-상세 뷰 편집 패턴(540)은 N건 각각의 상세 건에 대한 상세 조회 후 각각의 상세 건에 대한 CRUD 연산 처리를 하기 위한 패턴에 해당한다.
마스터-상세 패턴들(550, 560, 570, 580) 중 1:1 관계에 해당하는 마스터-상세 패턴(350)은 상위 정보 1건과 종속/상세 관계에 있는 하위 정보 1건에 대한 CRUD 연산 처리를 하기 위한 패턴에 해당한다. 마스터-상세 패턴들(550, 560, 570, 580) 중 1:N 관계에 해당하는 마스터-상세 패턴(560)은 상위 정보 1건과 종속/상세 관계에 있는 하위 정보 N건에 대한 CRUD 연산 처리를 하기 위한 패턴에 해당한다.
마스터-상세 패턴들(550, 560, 570, 580) 중 N:1 관계에 해당하는 마스터-상세 패턴(570)은 하나의 화면에서 N건의 마스터와 1건의 상세의 관계를 나타내며, 각 영역에 대한 조회, 수정, 삭제, 신규 연산 처리를 하기 위한 패턴에 해당한다. 마스터-상세 패턴들(550, 560, 570, 580) 중 N:N 관계에 해당하는 마스터-상세 패턴(580)은 상위 정보 N건과 종속/상관 관계에 있는 하위 정보 N건에 대한 CRUD 연산 처리를 하기 위한 패턴에 해당한다.
도 6 내지 9는 도 2에 있는 사용자 인터페이스 구성부의 실행 과정을 설명하는 도면이다.
도 6 내지 도 9에서, 사용자 인터페이스 구성부(230)는 사용자 인터페이스 구성을 위한 화면 유형과 화면 흐름에 대한 연산 패턴을 정의하고 있으며, 화면 유형을 템플릿으로 사용자 인터페이스를 구성한다. 일 실시예에서, 사용자 인터페이스 구성부(230)는 화면 처리 요건(예를 들어, UI_PTN)을 업무 처리 화면들(예를 들어, UI_VW_GRP)로 매핑하고, 화면 흐름을 구성하고 있는 각각의 화면 유형(예를 들어, UI_PTN_VW_TP)에 따라 페이지(예를 들어, UI_PAGE)와 뷰(예를 들어, UI_VW)를 구성할 수 있다.
사용자 인터페이스 구성부(230)는 한 화면에서 여러 건의 데이터를 처리하기 위하여 데이터 처리와 1:1관계의 액션을 구성한다. 일 실시예에서, 사용자 인터페이스 구성부(230)는 화면간 연결(예를 들어, UI_PTN_VW_ACT)을 화면 버튼(예를 들어, UI_VW_BTN)으로 구성하며, 버튼의 타겟 페이지의 뷰 타입(610)을 뷰 그룹내 타겟 페이지(620)로 매핑할 수 있다.
사용자 인터페이스 구성부(230)는 필터링 조건에 따라 사용자 인터페이스를 구성한다. 이러한 필터링 조건은 데이터 관계모델(예를 들어, OBJ_FK_INFO)로부터 참조 정보(예를 들어, UI_VW_JOIN)가 정의되고, 뷰에 설정된 데이터 모델과 참조 관계 데이터 모델의 필드 정보(OBJ_FLD_INFO)로부터 설정된다.
사용자 인터페이스 구성부(230)는 그룹핑 조건에 따라 사용자 인터페이스를 구성한다. 이러한 그룹핑 조건은 특정 필드에 대한 합계, 평균, 최대값, 최소값 및 빈도수 중 적어도 하나일 수 있다. 그룹핑 조건은 그룹핑 필드 정보(예를 들어, UI_VW_COMP.grp_func_cd)와 그룹핑 기준, 순서에 대한 그룹핑 조건(예를 들어, UI_VW_GBY_COND)에 해당할 수 있다.
사용자 인터페이스 구성부(230)는 하나의 사용자 인터페이스에서 여러 데이터에 대한 업무 처리가 이루어질 수 있도록 페이지(예를 들어, UI_PAGE)에 한 개 이상의 뷰(예를 들어, UI_VW)를 구성한다. 뷰는 데이터 입.출력 처리를 위한 필드(예를 들어, UI_VW_COMP)와 버튼(예를 들어, UI_VW_BTN)으로 구성된다. 사용자 인터페이스 구성부(230)는 필드 영역 구분인 섹션(예를 들어, UI_VW_SECT)과 섹션내 필드의 배치 순서에 기초하여 화면 레이아웃을 구성한다.
사용자 인터페이스 구성부(230)는 룩업 연결 관계에 기초하여 특정 정보를 조회하는 화면(예를 들어, UI_VW_LOOKUP)과 특정 화면(예를 들어, UI_VW_PAGE(for LOOKUP)을 연결하여 사용자 인터페이스를 구성할 수 있다. 룩업 연결 관계는 사용자에 의하여 다른 마스터성 정보나 코드 정보로부터 값을 참조할 경우, 해당 정보를 조회하는 화면과 연결될 항목을 설정하기 위해 사용될 수 있다. 이러한 룩업 연결 관계는 기본 정보(예를 들어, UI_VW_LOOKUP)로 참조할 데이터 조회 화면과 호출할 룩업 필드를 설정하고, 부모 화면과 조회화면 항목간의 연결 정보를 설정하여 생성될 수 있다.
도 10은 도 1에 있는 사용자 단말에서 수행되는 사용자 인터페이스 설정 과정을 설명하는 흐름도이고, 도 11 내지 도 16은 도 10의 실행 과정을 설명하는 도면이다.
도 10 내지 도 16에서, 사용자 단말(110)은 뷰 그룹에 대한 정보를 결정한다(단계 S1010).
일 실시예에서, 사용자 단말(110)은 특정 뷰(110)의 연산 패턴(예를 들어, 리스트 상세 패턴)이 선택되면 해당 패턴을 특정 뷰의 연산 패턴으로 결정할 수 있다. 사용자에 의해 선택될 수 있는 연산 패턴들은 단일 뷰 편집 패턴, 리스트 뷰 편집 패턴, 리스트 상세 패턴, 리스트-상세 뷰 편집 패턴 및 마스터-상세 패턴 중 적어도 일부에 해당할 수 있다.
다른 일 실시예에서, 사용자 단말(110)은 사용자에 의해 뷰(예를 들어, 주문 견적 등록 뷰)에 바인딩될 오브젝트(예를 들어, 견적 정보)가 선택되면 해당 오브젝트를 바인딩 오브젝트로 결정할 수 있다. 일 실시예에서, 사용자 단말(110)은 사용자에 의해 연관 오브젝트(예를 들어, 주문 정보)가 선택되면 해당 오브젝트를 연관 오브젝트로 결정할 수 있다. 연관 오브젝트는 하나의 화면에 바인딩된 오브젝트(예를 들어, 견적 정보) 외에도 다른 오브젝트를 처리하기 위해 사용될 수 있다. 사용자 단말(110)은 이러한 설정과정을 통해 하나의 화면에서 하나 이상의 오브젝트(예를 들어, 주문 정보 및 견적 정보)를 함께 처리할 수 있다.
사용자 단말(110)은 뷰 그룹에 있는 뷰에 대한 정보를 결정할 수 있다(단계 S1020). 사용자 단말(110)은 사용자에 의해 뷰 타입(예를 들어, 생성)이 선택되면 해당 뷰의 타입을 결정할 수 있다. 일 실시예에서, 뷰의 타입은 생성(Create)(1400), 편집(Edit)(1410), 상세(Detail)(1420), 검색/상세(Search/Detail)(1430), 검색/리스트(Search/List)(1440), 검색/리스트-상세(Search/List-Detail)(1450), 서브 리스트(SubList)(1460) 중 적어도 일부에 해당할 수 있다.
사용자 단말(110)은 뷰에 바인딩되는 오브젝트와 관련된 필드에 대한 정보를 결정한다(단계 S1030). 오브젝트와 관련된 필드의 정렬 정보(예를 들어, 오름차순), 그룹핑 정보(예를 들어, 합계), 조인 정보 및 필터 정보(예를 들어, 남자) 중 적어도 일부에 해당할 수 있다. 사용자 단말(110)은 이러한 과정을 통해 필드가 정렬 또는 그룹핑된 사용자 인터페이스를 확인할 수 있다.
도 17 내지 도 21은 도 2에 있는 사용자 인터페이스 데이터베이스에 저장된 데이터를 설명하는 도면이다.
사용자 인터페이스 데이터베이스(210)는 그래프 구조를 가지는 사용자 인터페이스 메타데이터 테이블과 서로 조합하여 웹페이지의 사용자 인터페이스를 결정하는 복수의 사용자 인터페이스 테이블들을 포함한다.
사용자 인터페이스 메타데이터 테이블은 데이터베이스 연산패턴을 정의하는 웹 페이패턴 테이블(1700)과 템플릿을 결정하는 뷰 타입 테이블(1710), 한 화면에서 데이터 처리와 1:1관계의 액션 테이블(1720)을 포함한다.
복수의 사용자 인터페이스 테이블들은 사용자 인터페이스 메타데이터 테이블과 서로 조합하여 상기 웹페이지의 사용자 인터페이스를 정의하는 복수의 사용자 인터페이스 테이블들을 포함하며, 복수의 사용자 인터페이스 테이블들은 데이터베이스에 대한 조인, 그룹핑, 정렬 등 추가적인 연산 테이블을 더 포함할 수 있다.)
사용자 인터페이스는 한 개의 페이지로 구성하고, 해당 페이지는 뷰 테이블(1710)에 있는 적어도 하나의 뷰(1810, 1820, 1830, 1840)를 포함한다. 페이지에 있는 적어도 하나의 뷰(1810, 1820, 1830, 1840) 중 특정 뷰(예를 들어, Search/Detail 뷰) 내 입출력 항목은 섹션 테이블 및 필드 테이블(1720)에 저장된 정보에 기초하여 배치된다.
복수의 사용자 인터페이스 테이블들은 하나의 화면(1910)에 바인딩된 오브젝트(1911, 1912) 외에도 다른 오브젝트를 처리하기 위해 오브젝트 간 종속관계 정의한 테이블(예를 들어, 조인 테이블)을 포함할 수 있다.
조인 테이블은 하나의 페이지 내에 바인딩된 오브젝트 간의 연결관계를 저장하고, 연관 관계가 있는 오브젝트 정보(예를 들어, JOIN.OBJ_ID, JOIN.REL_OBJ_ID)와 관계 정보(예를 들어, FK_ID : 참조 필드 정보 정의)를 저장한다.
복수의 사용자 인터페이스 테이블들은 검색 결과로 출력된 레코드에 대한 필터링 조건을 저장한 테이블(예를 들어, 필터링 조건 테이블)을 포함한다. 예를 들어, 필터링 조건 테이블은 해당 뷰에 바인딩된 오브젝트(예를 들어, 2010)나 조인 설정된 오브젝트의 컬럼의 특정값(예를 들어, 2020)을 필터링 조건으로서 저장할 수 있다.
복수의 사용자 인터페이스 테이블들은 화면간 데이터 연결을 위해서 한 개 이상의 소스 필드(2110)와 타겟 필드(2120)간 룩업 연결정보 저장하는 테이블(예를 들어, 룩업 테이블)을 포함한다. 예를 들어, 룩업 테이블은 연결할 화면 정보 (예를 들어, LOOKUP_PAGE_ID(2130))와 화면간 연결할 필드 정보(예를 들어, TG_VW_COMP_ID(2140), SRC_VW_COMP_ID(2150))간 룩업 연결정보를 저장한다.
상기에서는 본 출원의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
100: 사용자 인터페이스 렌더링 시스템 110: 사용자 단말
120: 인터넷
130: 사용자 인터페이스 렌더링 서버
210: 사용자 인터페이스 데이터베이스
220: 검색 키 결정부 230: 사용자 인터페이스 구성부
240: 통신부 250: 제어부

Claims (32)

  1. 사용자 단말의 요청에 따라 데이터베이스에 대한 연산을 처리하는 웹페이지를 제공하는 사용자 인터페이스 렌더링 서버에서 수행되는 사용자 인터페이스 렌더링 방법에 있어서,
    그래프 구조를 가지는, 사용자 인터페이스 메타데이터 테이블과 서로 조합하여 상기 웹페이지의 사용자 인터페이스를 결정하는 복수의 사용자 인터페이스 테이블들을 포함하는 사용자 인터페이스 데이터베이스를 준비하는 단계;
    URI(Uniform Resource Identifier)를 기초로 상기 사용자 인터페이스 메타데이터 테이블에 대한 검색 키를 결정하는 단계; 및
    상기 결정된 검색 키를 기초로 상기 복수의 사용자 인터페이스 테이블들을 이용하여 상기 웹 페이지가 계층적인 사용자 인터페이스를 구성하도록 하는 단계를 포함하는 사용자 인터페이스 렌더링 방법.
  2. 제1항에 있어서, 상기 사용자 인터페이스 데이터베이스에 대한 검색 키를 결정하는 단계는
    상기 URI에 있는 말단 노드를 상기 검색 키로 결정하는 단계를 더 포함하는 것을 특징으로 하는 사용자 인터페이스 렌더링 방법.
  3. 제1항에 있어서, 상기 사용자 인터페이스 메타데이터 테이블은
    상기 그래프 구조에서 루트 노드에 해당하는 것을 특징으로 하는 사용자 인터페이스 렌더링 방법.
  4. 제3항에 있어서, 상기 사용자 인터페이스 메타데이터 테이블은
    사용자 인터페이스 구성을 위한 화면 유형과 화면 흐름에 대한 적어도 하나의 연산 패턴을 정의하는 테이블을 포함하는 것을 특징으로 하는 사용자 인터페이스 렌더링 방법.
  5. 제1항에 있어서, 상기 복수의 사용자 인터페이스 테이블들은
    상기 웹페이지의 템플릿을 결정하는 뷰 테이블, 상기 뷰 테이블에서 적어도 하나의 섹션을 결정하는 섹션 테이블, 각 섹션에서 적어도 하나의 필드를 결정하는 필드 테이블 및 버튼 테이블을 포함하는 것을 특징으로 하는 사용자 인터페이스 렌더링 방법.
  6. 제5항에 있어서, 상기 복수의 사용자 인터페이스 테이블들은
    상기 데이터베이스에 대한 연산의 처리 결과를 상기 웹페이지에 제공하는 연산 테이블을 더 포함하는 것을 특징으로 하는 사용자 인터페이스 렌더링 방법.
  7. 제4항에 있어서,
    상기 뷰 테이블은 상기 사용자 인터페이스 메타테이블의 자식 노드에 해당하고, 상기 섹션 테이블과 상기 필드 테이블의 부모 노드에 해당하고,
    상기 섹션 테이블은 상기 필드 테이블의 부모 노드에 해당하는 것을 특징으로 하는 것을 특징으로 하는 사용자 인터페이스 렌더링 방법.
  8. 제4항에 있어서, 상기 섹션 테이블 및 상기 필드 테이블은
    상기 템플릿에 대한 서브 템플릿을 구성하는 것을 특징으로 하는 사용자 인터페이스 렌더링 방법.
  9. 제4항에 있어서, 상기 웹 페이지가 계층적인 사용자 인터페이스를 구성하도록 하는 단계는
    뷰 테이블, 섹션 테이블, 필드 테이블 및 버튼 테이블을 순차적으로 이용하여 사용자 인터페이스를 구성하는 단계를 더 포함하는 것을 특징으로 하는 사용자 인터페이스 렌더링 방법.
  10. 제9항에 있어서, 상기 웹 페이지가 계층적인 사용자 인터페이스를 구성하도록 하는 단계는
    상기 뷰 테이블에서 상기 웹페이지의 템플릿을 결정하는 단계; 및
    상기 섹션 테이블과 상기 필드 테이블을 통해 결정된 서브 템플릿을 상기 결정된 템플릿에 삽입하는 단계를 포함하는 것을 특징으로 하는 사용자 인터페이스 렌더링 방법.
  11. 제1항에 있어서,
    화면에 구현되는 데이터베이스에 대한 연산 패턴에 기초하여 상기 사용자 인터페이스 메타데이터 테이블을 생성하는 단계를 더 포함하는 것을 특징으로 하는 사용자 인터페이스 렌더링 방법.
  12. 제11항에 있어서, 상기 연산 패턴은
    단일 뷰 편집 패턴, 리스트 뷰 편집 패턴, 리스트 상세 패턴, 리스트-상세 뷰 편집 패턴 및 마스터-상세 패턴 중 적어도 일부에 해당하는 것을 특징으로 하는 사용자 인터페이스 렌더링 방법.
  13. 제11항에 있어서, 상기 연산 패턴은
    상기 연산에 대한 네비게이션을 정의하는 뷰 그룹으로 구성되는 것을 특징으로 하는 사용자 인터페이스 렌더링 방법.
  14. 제13항에 있어서, 상기 계층적인 사용자 인터페이스를 구성하도록 하는 단계는
    상기 뷰 그룹에 특정 뷰에 대해서 연산 처리 패턴에 따라 상기 뷰의 타입을 결정하고, 상기 결정된 뷰의 타입에 적어도 하나의 뷰를 포함하는 페이지를 구성하여 사용자 인터페이스를 구성하는 단계를 더 포함하는 것을 특징으로 하는 사용자 인터페이스 렌더링 방법.
  15. 제14항에 있어서, 상기 사용자 인터페이스를 구성하는 단계는
    상기 뷰내 입출력 항목을 섹션 단위로 배치하는 단계를 더 포함하는 것을 특징으로 하는 사용자 인터페이스 렌더링 방법.
  16. 제1항 및 제6항 중 어느 한 항에 있어서, 상기 연산은
    CRUD(Create, Read, Update and Delete) 연산에 해당하는 것을 특징으로 하는 사용자 인터페이스 렌더링 방법.
  17. 사용자 단말의 요청에 따라 데이터베이스에 대한 연산을 처리하는 웹페이지를 제공하는 사용자 인터페이스 렌더링 서버에 있어서, 상기 사용자 인터페이스 렌더링 서버는
    그래프 구조를 가지는, 사용자 인터페이스 메타데이터 테이블과 서로 조합하여 상기 웹페이지의 사용자 인터페이스를 결정하는 복수의 사용자 인터페이스 테이블들을 포함하는 사용자 인터페이스 데이터베이스;
    URI(Uniform Resource Identifier)를 기초로 상기 사용자 인터페이스 메타데이터 테이블에 대한 검색 키를 결정하는 검색 키 결정부; 및
    상기 결정된 검색 키를 기초로 상기 복수의 사용자 인터페이스 테이블들을 이용하여 상기 웹 페이지가 계층적인 사용자 인터페이스를 구성하는 사용자 인터페이스 구성부를 포함하는 사용자 인터페이스 렌더링 서버.
  18. 제17항에 있어서, 상기 검색 키 결정부는
    상기 URI에 있는 말단 노드를 상기 검색 키로 결정하는 것을 특징으로 하는 사용자 인터페이스 렌더링 서버.
  19. 제17항에 있어서, 상기 사용자 인터페이스 메타데이터 테이블은 상기 그래프 구조에서 루트 노드에 해당하는 것을 특징으로 하는 사용자 인터페이스 렌더링 서버.
  20. 제19항에 있어서, 상기 사용자 인터페이스 메타데이터 테이블은
    사용자 인터페이스 구성을 위한 화면 유형과 화면 흐름에 대한 어도 하나의연산 패턴을 정의하는 테이블을 포함하는 것을 특징으로 하는 사용자 인터페이스 렌더링 서버.
  21. 제17항에 있어서, 상기 복수의 사용자 인터페이스 테이블들은
    상기 웹페이지의 템플릿을 결정하는 뷰 테이블, 상기 뷰 테이블에서 적어도 하나의 섹션을 결정하는 섹션 테이블, 각 섹션에서 적어도 하나의 필드를 결정하는 필드 테이블 및 버튼 테이블을 포함하는 것을 특징으로 하는 사용자 인터페이스 렌더링 서버.
  22. 제21항에 있어서, 상기 복수의 사용자 인터페이스 테이블들은
    상기 데이터베이스에 대한 연산의 처리 결과를 상기 웹페이지에 제공하는 연산 테이블을 더 포함하는 것을 특징으로 하는 사용자 인터페이스 렌더링 서버.
  23. 제21항에 있어서,
    상기 뷰 테이블은 상기 사용자 인터페이스 메타테이블의 자식 노드에 해당하고, 상기 섹션 테이블과 상기 필드 테이블의 부모 노드에 해당하고,
    상기 섹션 테이블은 상기 필드 테이블의 부모 노드에 해당하는 것을 특징으로 하는 것을 특징으로 하는 사용자 인터페이스 렌더링 서버.
  24. 제23항에 있어서, 상기 섹션 테이블 및 상기 필드 테이블은
    상기 템플릿에 대한 서브 템플릿을 구성하는 것을 특징으로 하는 사용자 인터페이스 렌더링 서버.
  25. 제17항에 있어서, 상기 사용자 인터페이스 구성부는
    상기 뷰 테이블에서 상기 웹페이지의 템플릿을 결정하고, 상기 섹션 테이블과 상기 필드 테이블을 통해 결정된 서브 템플릿을 상기 결정된 템플릿에 삽입하는것을 특징으로 하는 사용자 인터페이스 렌더링 서버.
  26. 제17항에 있어서, 상기 사용자 인터페이스 메타데이터 테이블은
    화면에 구현되는 데이터베이스에 대한 연산 패턴에 기초하여 생성되는 것을 특징으로 하는 사용자 인터페이스 렌더링 서버.
  27. 제26항에 있어서, 상기 연산 패턴은
    단일 뷰 편집 패턴, 리스트 뷰 편집 패턴, 리스트 상세 패턴, 리스트-상세 뷰 편집 패턴 및 마스터-상세 패턴 중 적어도 일부에 해당하는 것을 특징으로 하는 사용자 인터페이스 렌더링 서버.
  28. 제27항에 있어서, 상기 연산 패턴은
    상기 연산에 대한 네비게이션을 정의하는 뷰 그룹으로 구성되는 것을 특징으로 하는 사용자 인터페이스 렌더링 서버.
  29. 제25항에 있어서, 상기 사용자 인터페이스 구성부는
    상기 뷰 그룹에 특정 뷰에 대해서 연산 처리 패턴에 따라 상기 뷰의 타입을 결정하고, 상기 결정된 뷰의 타입에 적어도 하나의 뷰를 포함하는 페이지를 구성하여 사용자 인터페이스를 구성하는 것을 특징으로 하는 사용자 인터페이스 렌더링 서버.
  30. 제29항에 있어서, 상기 사용자 인터페이스 구성부는
    상기 뷰내 입출력 항목을 섹션 단위로 배치하는 것을 특징으로 하는 사용자 인터페이스 렌더링 서버.
  31. 제17항 및 제21항 중 어느 한 항에 있어서, 상기 연산은
    CRUD(Create, Read, Update and Delete) 연산에 해당하는 것을 특징으로 하는 사용자 인터페이스 렌더링 서버.
  32. 컴퓨터 읽기 가능한 사용자 단말의 요청에 따라 데이터베이스에 대한 연산을 처리하는 웹페이지를 저장한 기록 매체에 있어서, 상기 기록 매체는
    그래프 구조를 가지는, 사용자 인터페이스 메타데이터 테이블과 서로 조합하여 상기 웹페이지의 사용자 인터페이스를 결정하는 복수의 사용자 인터페이스 테이블들을 포함하는 사용자 인터페이스 데이터베이스;
    URI(Uniform Resource Identifier)를 기초로 상기 사용자 인터페이스 메타데이터 테이블에 대한 검색 키를 결정하는 검색 키 결정부; 및
    상기 결정된 검색 키를 기초로 상기 복수의 사용자 인터페이스 테이블들을 이용하여 상기 웹 페이지가 계층적인 사용자 인터페이스를 구성하는 사용자 인터페이스 구성부를 포함하는 기록 매체.
KR20120038162A 2012-04-12 2012-04-12 사용자 인터페이스 렌더링 방법, 이를 실행하는 사용자 인터페이스 렌더링 서버 및 이를 저장한 기록 매체 KR101348401B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR20120038162A KR101348401B1 (ko) 2012-04-12 2012-04-12 사용자 인터페이스 렌더링 방법, 이를 실행하는 사용자 인터페이스 렌더링 서버 및 이를 저장한 기록 매체
US13/860,996 US20140136712A1 (en) 2012-04-12 2013-04-11 Cloud resources as a service multi-tenant data model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20120038162A KR101348401B1 (ko) 2012-04-12 2012-04-12 사용자 인터페이스 렌더링 방법, 이를 실행하는 사용자 인터페이스 렌더링 서버 및 이를 저장한 기록 매체

Publications (2)

Publication Number Publication Date
KR20130115654A true KR20130115654A (ko) 2013-10-22
KR101348401B1 KR101348401B1 (ko) 2014-01-09

Family

ID=49635070

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20120038162A KR101348401B1 (ko) 2012-04-12 2012-04-12 사용자 인터페이스 렌더링 방법, 이를 실행하는 사용자 인터페이스 렌더링 서버 및 이를 저장한 기록 매체

Country Status (2)

Country Link
US (1) US20140136712A1 (ko)
KR (1) KR101348401B1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10482135B2 (en) * 2012-07-12 2019-11-19 Salesforce.Com, Inc. Facilitating dynamic generation and customization of software applications at client computing devices using server metadata in an on-demand services environment
US9946528B2 (en) * 2013-06-10 2018-04-17 Bmc Software, Inc. System and method for automated customization of applications
US10176005B2 (en) * 2014-03-31 2019-01-08 Cypherpath, Inc. Environment virtualization
US11159527B2 (en) * 2015-06-02 2021-10-26 JumpCloud, Inc. Integrated hosted directory
US10601827B2 (en) * 2017-04-07 2020-03-24 JumpCloud, Inc. Integrated hosted directory
US9641530B2 (en) * 2015-06-02 2017-05-02 JumpCloud, Inc. Integrated hosted directory
WO2017172484A1 (en) * 2016-03-28 2017-10-05 Carrier Corporation Cold chain overall cost and quality software as a service module
CN106550045A (zh) * 2016-11-24 2017-03-29 北京中电普华信息技术有限公司 一种分布式数据处理方法及组件
US10868721B2 (en) 2017-08-17 2020-12-15 Oracle International Corporation System and method for supporting a situational configuration in an application server environment
US11075799B2 (en) * 2017-08-24 2021-07-27 Oracle International Corporation System and method for provisioning in a multi-tenant application server environment
US10860336B2 (en) * 2017-10-27 2020-12-08 Google Llc Managing multi-single-tenant SaaS services
CN109213584B (zh) * 2018-07-27 2023-04-25 创新先进技术有限公司 任务执行方法、装置、电子设备及计算机可读存储介质
US10805182B2 (en) * 2018-12-04 2020-10-13 Sap Se Provisioner disaster-recovery framework for platform-as-a-service offering
US11102328B2 (en) * 2019-05-09 2021-08-24 Sap Se Provisioning multi-tenant, microservice architecture-based integration service in a cloud computing environment
WO2021055935A1 (en) * 2019-09-21 2021-03-25 Proofpoint, Inc. Method to enable shared saas multi-tenancy using customer data storage, customer controlled data encryption keys
US11363095B1 (en) 2021-01-29 2022-06-14 Netskope, Inc. Policy-driven client and destination priority

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030066064A (ko) * 2002-02-04 2003-08-09 야후코리아 주식회사 검색어에 따라 다른 유저 인터페이스로 검색결과를디스플레이하는 인터넷 검색 서비스 시스템 및 그 검색방법
US7926030B1 (en) * 2005-09-30 2011-04-12 Harmony Information Systems, Inc. Configurable software application
US8869099B2 (en) * 2008-07-28 2014-10-21 Infosys Limited System and method of enabling multi-tenancy for software as a service application
US8271615B2 (en) * 2009-03-31 2012-09-18 Cloud Connex, Llc Centrally managing and monitoring software as a service (SaaS) applications
US20100286992A1 (en) * 2009-05-08 2010-11-11 Microsoft Corporation Integration of Third-Party Business Applications with Hosted Multi-Tenant Business Software System
US8799322B2 (en) * 2009-07-24 2014-08-05 Cisco Technology, Inc. Policy driven cloud storage management and cloud storage policy router
US20110126168A1 (en) * 2009-11-25 2011-05-26 Crowdsource Technologies Ltd. Cloud plarform for managing software as a service (saas) resources
US9461996B2 (en) * 2010-05-07 2016-10-04 Citrix Systems, Inc. Systems and methods for providing a single click access to enterprise, SAAS and cloud hosted application
US8539078B2 (en) * 2010-07-08 2013-09-17 International Business Machines Corporation Isolating resources between tenants in a software-as-a-service system using the estimated costs of service requests
US8650260B2 (en) * 2010-07-20 2014-02-11 Sap Ag Universal storage manager for modifying storage infrastructure in multi-tenant computing system
US9031957B2 (en) * 2010-10-08 2015-05-12 Salesforce.Com, Inc. Structured data in a business networking feed
US8949939B2 (en) * 2010-10-13 2015-02-03 Salesforce.Com, Inc. Methods and systems for provisioning access to customer organization data in a multi-tenant system
US8635673B2 (en) * 2011-06-17 2014-01-21 International Business Machines Corporation Dynamic application adaptation in software-as-a-service platform
US9195724B2 (en) * 2011-07-27 2015-11-24 Salesforce.Com, Inc. Associating objects in multi-tenant systems
US8966440B2 (en) * 2011-08-29 2015-02-24 Salesforce.Com, Inc. Custom application creation in multi-tenant systems
US20130055118A1 (en) * 2011-08-29 2013-02-28 Salesforce.Com, Inc. Configuring database objects in multi-tenant systems
KR20130050205A (ko) * 2011-11-07 2013-05-15 한국전자통신연구원 SaaS 플랫폼 및 이를 이용한 다중 테넌트 지원을 위한 서비스 프로비저닝 방법
US8850432B2 (en) * 2012-05-30 2014-09-30 Red Hat, Inc. Controlling utilization in a multi-tenant platform-as-a-service (PaaS) environment in a cloud computing system
US9448773B2 (en) * 2013-04-03 2016-09-20 Salesforce.Com, Inc. Systems and methods for implementing a uniform application user interface across a multi-tenant environment

Also Published As

Publication number Publication date
KR101348401B1 (ko) 2014-01-09
US20140136712A1 (en) 2014-05-15

Similar Documents

Publication Publication Date Title
KR101348401B1 (ko) 사용자 인터페이스 렌더링 방법, 이를 실행하는 사용자 인터페이스 렌더링 서버 및 이를 저장한 기록 매체
KR101368068B1 (ko) 데이터베이스 구축 방법, 이를 실행하는 데이터베이스 구축 서버 및 이를 저장한 기록 매체
US9467344B2 (en) Mechanism to display graphical IT infrastructure using configurable smart navigation
KR101283019B1 (ko) SaaS 어플리케이션 생성 방법 및 이를 실행하는 어플리케이션 생성 서버
CN108959444A (zh) 基于树状结构的主页集群系统管理方法及装置
CN101821731B (zh) 通用模型编辑框架
JP2017508219A (ja) 「ビッグデータ」分析ワークフローエディタのための視覚効果システム、配布プラットフォーム、実行エンジン、および上記を含む管理システム
CN101946462A (zh) 使用oma dm协议的有目标的查询
CN109190101A (zh) 阅读笔记生成方法、装置和电子设备
US20090164987A1 (en) System and method for updating a dual layer browser
Paredes‐Valverde et al. A systematic review of tools, languages, and methodologies for mashup development
CN104050225A (zh) 数据库模式映射中的视图变量
CN104063475B (zh) 用户自定义列表处理方法和装置
WO2014152075A1 (en) Lifecycle product analysis
CN101944017A (zh) 一种Widget的制作方法及其制作装置
CN102316128A (zh) 一种用于生成网络服务的方法及装置
RU2679971C2 (ru) Осуществление доступа к семантическому контенту в системе разработки
CN105867995A (zh) 一种可扩展标记语言文件的编辑方法及装置
KR101414795B1 (ko) 인스턴트 웹 앱 생성 장치 및 방법
Baresi et al. Consumer mashups with mashlight
Yen et al. Intelligent route generation: discovery and search of correlation between shared resources
CN101685395A (zh) 用于产品数据管理系统的对象属性处理方法
Boucher et al. Engineering configuration graphical user interfaces from variability models
CN104850311A (zh) 一种移动应用版本更新的图形化说明生成方法及系统
KR102198686B1 (ko) 업무 화면 생성 방법 및 이를 수행하는 시스템

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: 20160928

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171011

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20181008

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191007

Year of fee payment: 7