KR101929201B1 - 비즈니스 응용에서 단일 코드를 이용하여 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법 및 장치 - Google Patents

비즈니스 응용에서 단일 코드를 이용하여 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법 및 장치 Download PDF

Info

Publication number
KR101929201B1
KR101929201B1 KR1020180069731A KR20180069731A KR101929201B1 KR 101929201 B1 KR101929201 B1 KR 101929201B1 KR 1020180069731 A KR1020180069731 A KR 1020180069731A KR 20180069731 A KR20180069731 A KR 20180069731A KR 101929201 B1 KR101929201 B1 KR 101929201B1
Authority
KR
South Korea
Prior art keywords
unit
data
electronic device
component
input
Prior art date
Application number
KR1020180069731A
Other languages
English (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 KR1020180069731A priority Critical patent/KR101929201B1/ko
Application granted granted Critical
Publication of KR101929201B1 publication Critical patent/KR101929201B1/ko
Priority to JP2019095871A priority patent/JP6653849B2/ja

Links

Images

Classifications

    • 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
    • G06F3/1423Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
    • G06F3/1438Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display using more than one graphics controller
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/003Details of a display terminal, the details relating to the control arrangement of the display terminal and to the interfaces thereto
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/14Solving problems related to the presentation of information to be displayed

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 비즈니스 응용에서 단일 코드를 이용하여 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법에 대한 기술과 관련된다. 본 발명의 다양한 실시 예들에 따라, 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법은 전자 장치의 규약부가 UI 및 UX의 기초가 되는 데이터의 구조 및 데이터 관리 로직을 정의하여 상기 전자 장치의 저장부에 저장하는 동작, 상기 전자 장치의 비즈니스 응용부가 외부로부터 획득된 적어도 하나의 정보에 기초하여, 상기 UI 및 UX의 제공 방식과 관련된 인스턴스의 생성 요청을 상기 전자 장치의 생성부로 전달하는 동작, 상기 전자 장치의 생성부가 상기 생성 요청에 응답하여 상기 전자 장치의 컴포넌트에 포함된 데이터부의 오브젝트 및 입출력부의 오브젝트를 생성하고, 상기 데이터부의 오브젝트 및 상기 입출력부의 오브젝트를 초기화 한 후, 상기 데이터부의 오브젝트를 상기 비즈니스 응용부로 전달하는 동작, 상기 전자 장치의 비즈니스 응용부가 상기 전달된 데이터부의 오브젝트에 대하여 상기 규약부에 의해 정의된 상기 데이터의 구조 및 데이터 관리 로직에 따른 구조화 요청을 상기 컴포넌트로 전달하는 동작, 상기 컴포넌트의 데이터부가 상기 데이터부의 오브젝트를 구조화하여 상기 저장부에 저장하고, 상기 저장된 데이터부의 오브젝트에 대한 출력 요청을 상기 입출력부로 전달하는 동작, 상기 컴포넌트의 입출력부가 상기 출력 요청에 응답하여 상기 데이터부의 오브젝트와 대응되는 상기 UI 및 UX를 상기 전자 장치의 표시부를 통해 출력하는 동작, 및 상기 전자 장치의 컨테이너가 상기 전자 장치의 정책부에 정의된 정보를 이용하여, 상기 전자 장치의 생성부를 통해 상기 컴포넌트의 오브젝트를 생성하고, 상기 생성된 상기 컴포넌트의 오브젝트 중 적어도 두 개 이상을 조합하여 복합 컴포넌트를 생성하는 동작을 포함할 수 있다.

Description

비즈니스 응용에서 단일 코드를 이용하여 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법 및 장치{METHOD AND APPARATUS FOR STRUCTURING COMPONENT THAT SUPPORTS N-SCREEN USING SINGLE CODE IN BUSINESS APPLICATION}
본 발명은 비즈니스 응용에서 단일 코드를 이용하여 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법에 대한 기술과 관련된다.
스크린(screen)은 비즈니스 응용(business application)을 실행하고 데이터의 입출력을 처리하는 장치를 의미하는데, 최근 데스크탑, 태블릿 PC 및 스마트폰 등 다양한 스크린들의 등장으로 말미암아 업무를 처리함에 있어 다중 스크린(N-Screen)을 지원할 수 있도록 비즈니스 응용의 기능 확장이 요구되고 있다.
예를 들어, 스크린의 크기, 해상도 및 입력 장치의 유형 등에 따라, 사용자에게 제공할 레코드의 세트 데이터(예: 사원정보, 주문정보 등)와 레코드의 필드 데이터(예: 이름, 성별, 상품코드 등)의 UI(user interface) 형태 및 상호 작용 방식이 다르게 제공될 것이 요구되고 있다.
비즈니스 응용은 동일 유형의 레코드에 대한 세트 데이터 또는 필드 데이터 별로, 그리드/테이블/라디오버튼/리스트박스 등과 같은 여러 종류의 UI 및 UX(user experience)를 제공하는 컴포넌트들을 준비할 수 있으며, 상기 비즈니스 응용이 실행되는 스크린에 가장 적합한 컴포넌트를 택일하여 제어할 수 있는 소스 코드를 작성할 수 있다. 이 경우, 기능의 목적(예: 필드 값 직접 입력이나 목록 중에서 선택 등)이 같더라도 선택된 컴포넌트에 따라 비즈니스 응용에서 작성되는 소스 코드가 달라지게 됨에 따라, 다중 스크린의 개수만큼의 소스 코드들이 작성되어야 한다.
비즈니스 응용은 업무 처리에 있어 다중 스크린을 지원하기 위하여 여러 가지 방법들을 이용할 수 있다.
예컨대, 비즈니스 응용은 지원 대상 스크린들 중에서 크기가 가장 작거나 기능성이 가장 낮은 스크린을 기준으로 데이터 별 컴포넌트의 종류, 형태, 배치 및 동작 구조 등을 규정한 단일 소스 코드를 작성할 수 있으며, 이를 지원 대상 스크린들에 일괄 적용하는 방법을 이용할 수 있다. 이와 같은 방법은 개발 비용을 줄일 수 있고 간편하지만, 스크린 별 특성과 자원 사용의 효율을 극대화하지 못하며 지원 대상 스크린들에서 공통적으로 사용 가능한 최소 수준의 기능과 품질만 제공 가능하다는 한계점을 지니고 있다.
또 다른 실시 예로서, 비즈니스 응용은 지원 대상 스크린들에서 데이터 별로 동일한 컴포넌트를 사용하되, 몇 가지 선택 가능한 옵션을 제공하는 방법을 이용할 수 있다. 예를 들어, 비즈니스 응용은 몇 가지의 대체 가능한 자원(예: 종류별 그림 파일 등)을 준비한 후, 그 중 한 가지에 대한 선택에 따라 변경된 UI 를 제공할 수 있다. 다만, 컴포넌트의 입출력 구조는 정해져 있기 때문에, 상기와 같은 방법을 따르더라도 모든 스크린들 각각의 특성에 최적화된 컴포넌트를 제공하는 것은 어려울 수 있다.
또 다른 실시 예로서, 비즈니스 응용은 스크린의 크기, 해상도 및 입력 장치 유형 등에 따라, UI 형태 및 상호 작용 방식을 다르게 적용한 컴포넌트들을 구비한 후, 요청이 있을 때마다 대응되는 컴포넌트를 검색하여 제공하는 방법을 이용할 수 있다. 이러한 방법은 지원 대상 스크린들 별로 고품질의 UI/UX 를 제공할 수 있는 반면, 지원 대상 스크린들의 개수에 해당하는 소스 코드들을 미리 개발할 필요가 있어 메모리 측면의 낭비와 개발 비용의 증가를 야기할 수 있다.
한편, 상기한 바와 같이 UI/UX를 제공하는 컴포넌트를 선택하고 선택된 컴포넌트를 스크린에 적용하는 일련의 동작들은, 시스템에 저장된 최종 데이터를 사용자에게 제공하고 사용자로부터 획득된 변경 데이터를 데이터 영구 저장소에 반영하고자 하는 비즈니스 응용의 최종 목적을 달성하기 위한 수단으로 볼 수 있다. 단, 앞서 살펴본 바와 같이 일부 방법들에는 다양한 한계점들이 공존하는 바, 상기 한계점들을 보완하면서 상기 비즈니스 응용의 최종 목적을 달성할 수 있는 방법이 요청된다.
본 발명은 이러한 요청에 응답하여 안출된 것으로서, 다양한 실시 예들에 따르면 컴포넌트에서 처리해야 하는 데이터 대상과 입출력 방식에 관한 정보는 비즈니스 응용에서 관리되고, 사용자와의 상호 작용을 포함한 모든 입출력 기능은 비즈니스 응용으로부터 제공된 정보를 이용하여 컴포넌트에서 관리될 수 있다. 이 경우, 지원 대상 스크린들에 대한 복수의 소스 코드들이 미리 개발될 필요가 없으며, 비즈니스 응용은 단일 소스 코드만 가지고도 지원 대상 스크린들 각각에 최적화된 형태의 UI 및 UX를 제공할 수 있다.
본 발명의 다양한 실시 예들에 따라, 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법은 전자 장치의 규약부가 UI 및 UX의 기초가 되는 데이터의 구조 및 데이터 관리 로직을 정의하여 상기 전자 장치의 저장부에 저장하는 동작, 상기 전자 장치의 비즈니스 응용부가 외부로부터 획득된 적어도 하나의 정보에 기초하여, 상기 UI 및 UX의 제공 방식과 관련된 인스턴스의 생성 요청을 상기 전자 장치의 생성부로 전달하는 동작, 상기 전자 장치의 생성부가 상기 생성 요청에 응답하여 상기 전자 장치의 컴포넌트에 포함된 데이터부의 오브젝트 및 입출력부의 오브젝트를 생성하고, 상기 데이터부의 오브젝트 및 상기 입출력부의 오브젝트를 초기화 한 후, 상기 데이터부의 오브젝트를 상기 비즈니스 응용부로 전달하는 동작, 상기 전자 장치의 비즈니스 응용부가 상기 전달된 데이터부의 오브젝트에 대하여 상기 규약부에 의해 정의된 상기 데이터의 구조 및 데이터 관리 로직에 따른 구조화 요청을 상기 컴포넌트로 전달하는 동작, 상기 컴포넌트의 데이터부가 상기 데이터부의 오브젝트를 구조화하여 상기 저장부에 저장하고, 상기 저장된 데이터부의 오브젝트에 대한 출력 요청을 상기 입출력부로 전달하는 동작, 상기 컴포넌트의 입출력부가 상기 출력 요청에 응답하여 상기 데이터부의 오브젝트와 대응되는 상기 UI 및 UX를 상기 전자 장치의 표시부를 통해 출력하는 동작, 및 상기 전자 장치의 컨테이너가 상기 전자 장치의 정책부에 정의된 정보를 이용하여, 상기 전자 장치의 생성부를 통해 상기 컴포넌트의 오브젝트를 생성하고, 상기 생성된 상기 컴포넌트의 오브젝트 중 적어도 두 개 이상을 조합하여 복합 컴포넌트를 생성하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예들에 따라, 다중 스크린을 지원하는 컴포넌트를 구조화하는 전자 장치는, UI 및 UX의 기초가 되는 데이터의 구조 및 데이터 관리 로직을 정의하는 규약부, 외부로부터 획득된 적어도 하나의 정보에 기초하여, 상기 UI 및 UX의 제공 방식과 관련된 인스턴스의 생성을 요청하고, 상기 전자 장치의 컴포넌트에 포함된 데이터부의 오브젝트에 대하여 상기 규약부에 의해 정의된 상기 데이터의 구조 및 데이터 관리 로직에 따른 구조화를 요청하는 비즈니스 응용부, 상기 인스턴스의 생성 요청에 응답하여 상기 전자 장치의 컴포넌트에 포함된 데이터부의 오브젝트 및 입출력부의 오브젝트를 생성하고, 상기 데이터부의 오브젝트 및 상기 입출력부의 오브젝트를 초기화하는 생성부, 상기 규약부에 의해 정의된 상기 데이터의 구조 및 데이터 관리 로직을 저장하는 저장부, 상기 데이터부의 오브젝트를 구조화하여 상기 저장부에 저장하고, 상기 저장부에 저장된 데이터부의 오브젝트에 대한 출력 요청을 상기 입출력부로 전달하는 데이터부, 상기 출력 요청에 응답하여 상기 데이터부의 오브젝트와 대응되는 상기 UI 및 UX를 출력하는 입출력부 및 정책부에 정의된 정보를 이용하여, 상기 생성부를 통해 상기 컴포넌트의 오브젝트를 생성하고, 상기 생성된 상기 컴포넌트의 오브젝트 중 적어도 두 개 이상을 조합하여 복합 컴포넌트를 생성하는 컨테이너를 포함할 수 있다.
본 발명의 다양한 실시 예들에 따르면, 비즈니스 응용은 다중 스크린을 지원하기 위하여 복수의 소스 코드들을 준비할 필요가 없으며, 단일 소스 코드를 이용하여 지원 대상 스크린들 각각에 최적화된 형태의 UI/ UX를 제공할 수 있다.
또한, 본 발명의 다양한 실시 예들에 따르면, 컴포넌트 상에서 보다 다양하고 복잡한 기능의 정의가 가능하며, 기능의 변경이 용이해질 수 있다. 예컨대, 본 발명의 일 실시 예에 따르면 UI/UX를 제공하는 컴포넌트에서 데이터 관리와 종류별 입출력 기능이 각각의 객체로 분리될 수 있어, 사용중인 컴포넌트에 영향을 주지 않으면서 새로운 입출력 유형과 확장 기능을 추가 할 수 있다.
또한, 본 발명의 다양한 실시 예들에 따르면, 응용 개발자는 비즈니스 응용에 포함된 UI/UX의 제어 절차가 컴포넌트에 내장됨에 따라, UI/UX에 대한 새로운 응용을 손쉽게 개발할 수 있으며 기존에 개발된 소스 코드를 수정하지 않고도 새로운 응용에서 UI/UX를 제공하는 컴포넌트의 추가된 기능을 활용할 수 있다.
또한, 본 발명의 다양한 실시 예들에 따르면, 응용 사용자는 스크린이 제공할 수 있는 공간(크기 및 해상도)과 CPU 처리 능력 등의 자원 활용이 극대화됨에 따라, 스크린 별로 최적화된 고품질의 UX를 제공 받을 수 있다.
또한, 본 발명의 다양한 실시 예들에 따르면, 시스템 운영자는 지원되는 스크린의 종류 또는 개수에 관계없이 하나의 소스 코드만 관리하면 되므로, 응용의 개발, 운영 및 유지와 관련된 비용을 절감할 수 있다.
또한, 본 발명의 다양한 실시 예들에 따르면, 비즈니스 응용은 복잡한 코딩 없이 인터랙션 유형을 컴포넌트 속성에 설정하는 것만으로 컴포넌트의 UI 기능을 스크린에 최적화되도록 컴포넌트의 기능을 동적으로 구성할 수 있다.
도 1은 다양한 실시 예들에 따른 컴포넌트를 포함하는 전자 장치의 블록도이다.
도 2a는 다양한 실시 예들에 따라, 기본 기능이 실행될 때의 전자 장치를 나타낸 도면이다.
도 2b는 다양한 실시 예들에 따라, 확장 기능이 실행될 때의 전자 장치를 나타낸 도면이다.
도 3a는 다양한 실시 예들에 따라, 확장 기능을 인터페이스로 공개하지 않는 컴포넌트의 동작을 설명하기 위한 도면이다.
도 3b는 다양한 실시 예들에 따라, 확장 기능을 인터페이스로 공개하는 컴포넌트의 동작을 설명하기 위한 도면이다.
도 4a 내지 4f는 다양한 실시 예들에 따라 여러 가지 형태로 구현된 컴포넌트를 포함하는 전자 장치의 블록도이다.
도 5는 다양한 실시 예들에 따른 전자 장치의 동작을 설명하기 위한 순서도이다.
본 발명의 목적 및 효과, 그리고 그것들을 달성하기 위한 기술적 구성들은 첨부되는 도면과 함께 상세하게 설명되는 실시 예들을 참조하면 명확해질 것이다. 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 뒤에 설명되는 용어들은 본 발명에서의 구조, 역할 및 기능 등을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다.
본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 본 문서에 개시된 다양한 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 오로지 특허청구범위에 기재된 청구항의 범주에 의하여 정의될 뿐이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
한편, 본 발명의 실시 예에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있으며, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다.
첨부된 블록도의 각 블록 및 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 장치 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 아래에서 설명할 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 장치 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 장치에 이용 가능한 메모리 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조물을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 장치 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 장치 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되기 위한 프로세스를 생성하여 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.
이하에서는 첨부된 도면을 참고하여 본 발명의 다양한 실시 예들에 따른 룰 기반 컴포넌트 생성방법에 대하여 설명하기로 한다.
본 발명의 실시 예에서 사용되는 용어는 다음의 표 1에서와 같이 정의될 수 있다.
컴포넌트(component) 고유의 기능을 독립적으로 실행하는 소프트웨어 모듈
데이터 컴포넌트가 사용자와의 상호 작용을 제공하기 위해 외부로 노출하는 속성 정보들의 집합
입출력 기능 컴포넌트에 저장된 데이터를 사용자에게 보여주거나, 사용자로부터 변경 정보를 받아 들이기 위해 컴포넌트가 제공하는 데이터 표현 및 수정과 관련된 기능
컨테이너(container component) 2개 이상의 컴포넌트를 조합하여 새로운 유형의 오브젝트를 생성할 수 있는 복합 컴포넌트
인터랙션 유형(interaction type) 컴포넌트에서 스크린의 특성에 따라 시스템과 사용자가 최적의 상호 작용을 수행할 수 있도록 시스템이 UI/UX를 제공하는 방식 또는 그 방식을 정의한 오브젝트
단일 코드(single code) 스크린 별로 서로 다른 UI/UX를 제공하는 컴포넌트를 단일한 소스 코드 또는 규칙으로 제어하는 동작 제어 방식
기능 기능 관리 단위(예: 컴포넌트)에 의해 제공되는 것으로서, 기능 관리 단위 및 사용자 간의 상호 작용에 이용되는 메소드(method) 또는 이벤트 처리 오브젝트
시스템 기능 벤더가 제공하는 제품이나 프레임워크에 내장되어 소프트웨어 설치와 동시에 기본적으로 사용할 수 있는 기능
사용자 기능 사용자가 시스템 기능을 수정하거나, 자체적으로 개발하여 추가한 기능
도 1은 다양한 실시 예들에 따른 컴포넌트를 포함하는 전자 장치의 블록도이다.
본 발명의 다양한 실시 예들에 따르면, 전자 장치(10)는 UI/UX 컴포넌트(100), 컨테이너(140), 컴포넌트 규약부(150, component interface), 생성부(160, builder) 및 비즈니스 응용부(170, business application) 중 적어도 하나를 포함할 수 있다. UI/UX 컴포넌트(100)는 기본 데이터부(111) 및 확장 데이터부(112) 중 적어도 하나를 포함하는 데이터부(110), 기본 입출력부(121) 및 확장 입출력부(122) 중 적어도 하나를 포함하는 입출력부(120) 및 정책부(130)를 포함할 수 있다. 또한, 생성부(160)는 시스템 생성부(161) 및 사용자 생성부(162) 중 적어도 하나를 포함할 수 있다.
데이터부(110)는 컴포넌트 규약부(150)에 정의된 바에 따라 데이터를 저장하고 가공할 수 있다. 기본 데이터부(111)의 오브젝트는 규약부(150)에 정의된 바에 따라 임시 데이터 저장소 및 데이터 관리 로직을 제공하는데 이용될 수 있으며, 입출력 방식의 영향을 받지 않는다. 또한, 확장 데이터부(112)의 오브젝트는 규약부(150)에서 정의하지 않는 특화된 확장 기능을 제공하는데 이용될 수 있다. 한편, 확장 데이터부(112)의 오브젝트에 대한 호환성은 기본 데이터부(111) 또는 다른 확장 데이터부의 오브젝트에 대한 래핑(wrapping)을 통해 제공될 수 있다.
확장 데이터부(112)의 오브젝트는 확장 기능과 관련된 이벤트 처리기와 메소드, 그리고 확장 기능을 초기화할 수 있는 속성(property)을 포함하도록 구성될 수 있다. 예컨대, 확장 데이터부(112)의 오브젝트는 검색, 필터 및 정렬과 같이 특화된 확장 기능을 수행하는데 필요한 보조 필드 또는 보조 메소드를 포함할 수 있다. 한편, 기본 데이터부(111)의 오브젝트는 확장 데이터부(112)의 오브젝트를 통해 새롭게 정의된 속성(property)에 접근할 수 있는 범용 메소드(예: getNamedProperty(), setNamedProperty() 등)를 포함할 수 있다.
기본 데이터부(111)의 오브젝트 및 확장 데이터부(112)의 오브젝트는 스크린의 종류에 관계없이 모든 스크린에 공통적으로 적용될 수 있다. 즉, 기본 데이터부(111) 및 확장 데이터부(112)는 UI/UX 컴포넌트(100)에 의해 제공되는 전체 기능들 중에서 모든 인터랙션 유형들에 공통적으로 적용되는 메소드(method) 또는 이벤트 처리 오브젝트 등 공통 기능과 관련된 데이터를 저장하고 처리할 수 있다.
입출력부(120)는 UI/UX 컴포넌트(100)가 사용자 또는 외부 전자 장치와 상호 작용할 때 송수신되는 데이터의 입력 및 출력을 처리할 수 있다. 기본 입출력부(121)의 오브젝트는 기본 데이터부(111)에 저장된 데이터를 스크린에 최적화된 형태로 입출력하는 기능을 구현하는데 이용될 수 있다. 예컨대, 기본 입출력부(121)의 오브젝트는 데이터를 표현하거나 사용자와의 상호 작용과 관련된 기능을 제공할 수 있다. 확장 입출력부(122)의 오브젝트는 확장 데이터부(112)에 저장된 데이터를 스크린에 최적화된 형태로 입출력하는 기능을 구현하는데 이용될 수 있다. 한편, 확장 입출력부(122)의 오브젝트에 대한 호환성은 기본 입출력부(121) 또는 다른 확장 입출력부의 오브젝트에 대한 래핑(wrapping)을 통해 제공될 수 있다.
확장 입출력부(122)의 오브젝트는 확장 기능과 관련된 이벤트 처리기와 메소드, 그리고 확장 기능을 초기화할 수 있는 속성(property)을 포함하도록 구성될 수 있다. 또한, 기본 데이터부(111)의 오브젝트는 확장 데이터부(112)의 오브젝트를 통해 새롭게 정의된 속성(property)에 접근할 수 있는 범용 메소드를 포함할 수 있다.
컴포넌트 규약부(150)는 데이터의 구조 및 데이터 관리 로직을 정의할 수 있다. 또한, 컴포넌트 규약부(150)는 개별 입출력 기능을 제외한 공통 입출력 기능만을 정의하도록 설정될 수 있다. 한편, 다양한 실시 예들에 따르면, 컴포넌트 규약부(150)는 사용자가 구성한 정보에 따라 인스턴스를 생성하는 생성부(160)의 오브젝트를 포함할 수 있다.
생성부(160)는 생성할 입출력 기능의 종류(type)를 받아 데이터부(110)의 인스턴스 및 입출력부(120)의 인스턴스를 생성하거나 생성된 인스턴스들을 조합할 수 있다. 생성부(160)는 제품의 응용 실행 환경(framework)에서 제공되는 오브젝트를 관리하는 시스템 생성부(161)와, 응용 개발자에 의해 정의된 오브젝트를 관리하는 사용자 생성부(162)를 포함할 수 있다. 일 실시 예에 따르면, 시스템 생성부(161)의 오브젝트는 응용 실행 환경에서 기본적으로 제공되는 컴포넌트의 종류별 데이터 관리 및 입출력 기능 관리에 이용될 수 있다. 또한, 사용자 생성부(162)의 오브젝트는 사용자에 의해 추가로 정의된 컴포넌트의 종류별 데이터 관리 및 입출력 기능 관리에 이용될 수 있다.
비즈니스 응용부(170)는 UI/UX 컴포넌트(100)의 기본 데이터부(111)를 이용하여 UI/UX 컴포넌트(100)를 제어하는데 이용되는 소스 코드를 작성할 수 있다. 일 실시 예에 따르면, 비즈니스 응용부(170)는 실행 시점에 UI/UX 컴포넌트(100)의 기능 수행 범위 및 실행 방식을 정의한 구성 정보(configuration)를 생성부(160)에게 제공하고, 실행 가능한 UI/UX 컴포넌트(100)의 인스턴스를 반환 받아 사용할 수 있다.
정책부(130)는 생성부(160)에서 오브젝트 인스턴스를 생성하기 위한 동작 방식 및 동작 범위를 관리하는데 이용되는 데이터를 저장할 수 있다.
컨테이너(140)는 두 개 이상의 UI/UX 컴포넌트(100)를 조합할 때, 정책부(130)를 참고하여 자식 오브젝트(child object)에 대한 입출력부의 동작 방식 및 동작 범위를 제어할 수 있다.
일 실시 예에 따르면, UI/UX 컴포넌트(100)는 취급하는 데이터를 스크린의 임시 메모리 영역에 기록하였다가 요청에 따라 제공하는 데이터 관리 기능과, 상기 임시 메모리 영역에 기록된 데이터를 사용자가 변경할 수 있는 형태로 제공하는 상호 작용 기능을 수행하는데 이용될 수 있다. 여기서, 데이터 관리 기능은 비즈니스 응용부(170)가 생성된 본질적인 목적에 해당하는 것으로서, 동일한 컨텍스트 하에서는 실행되는 환경에 관계 없이 변하지 않는 고유성을 가질 수 있다. 또한, 데이터의 입출력을 책임지는 상호 작용 기능은 동일한 컨텍스트 하에서도 사용자의 취향이나 환경에 따라 다양한 방식으로 변화될 수 있는 동적인 특징을 가질 수 있다.
상기와 같은 UI/UX 컴포넌트(100)의 기능적 특징에 따라, UI/UX 컴포넌트(100)의 데이터 관리 기능은 비즈니스 응용부(170)에 의해 작성된 소스 코드를 통해서 제어될 수 있다. 또한, UI/UX 컴포넌트(100)의 상호 작용 기능은 UI/UX 컴포넌트(100)가 비즈니스 응용부(170)로부터 전달받은 제어 정보에 기초하여 다양한 형태로 구성될 수 있는 독립 객체들을 자체적으로 구조화하는 방법을 통해서 제어될 수 있다.
일 실시 예에 따르면, UI/UX 컴포넌트(100)는 외부로부터 획득된 추가적인 데이터를 이용하여, 데이터 관리 기능 및 상호 작용 기능에 새로운 기능을 추가하거나 데이터 관리 기능 및 상호 작용 기능을 개선할 수 있다. 이를 위해, UI/UX 컴포넌트(100)는 기본 데이터부(111) 및 기본 입출력부(121)와 더불어 확장 데이터부(112) 및 확장 입출력부(122)를 더 포함할 수 있다. UI/UX 컴포넌트(100)는 확장 데이터부(112) 및 확장 입출력부(122)를 통해 새로운 기능 추가 또는 기본 기능 개선과 관련된 정보를 처리함으로써, 기존 개발 결과물들에 대한 동일한 사용성을 보장할 수 있다.
일 실시 예에 따르면, UI/UX 컴포넌트(100)는 하나의 데이터 관리 기능에 대하여 실행되는 환경이나 사용자의 취향에 기초하여, 또는 UI/UX 컴포넌트(100)의 벤더(vendor)나 개발자에 의해 제공된 정보에 기초하여 새로운 데이터 관리 기능, 상호 작용 기능 또는 상기 두 가지 기능들에 대한 확장 기능들을 추가할 수 있다. 예컨대, 전자 장치(10)의 생성부(160)는 UI/UX 컴포넌트(100)에 새로운 기능을 추가하거나 기본 기능을 개선하기 위하여, 외부로부터 획득된 적어도 하나의 정보에 기초하여 인스턴스(instance)를 생성할 수 있다.
한편, 다양한 실시 예들에 따라, 전자 장치(10)는 데이터를 기록할 수 있는 저장부 및 UI/UX를 표시할 수 있는 표시부를 포함할 수 있다. 저장부는 전자 장치(10)의 적어도 하나의 구성 요소(예: 프로세서)에 의해 사용되는 다양한 데이터를 저장할 수 있다. 또한, 저장부는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다. 표시부는 전자 장치(10)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시부는 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일 실시 예에 따르면, 표시부는 입출력부(120)와 연결될 수 있으며, 입출력부(120)로부터 제공되는 데이터를 표시할 수 있다.
도 2a는 다양한 실시 예들에 따라, 기본 기능이 실행될 때의 전자 장치를 나타낸 도면이고, 도 2b는 다양한 실시 예들에 따라, 확장 기능이 실행될 때의 전자 장치를 나타낸 도면이다.
도 2a 및 도 2b를 참고하면, 기본 기능이 실행될 때의 UI/UX 컴포넌트(100)는 데이터부(110) 및 입출력부(120)를 포함할 수 있다. 반면에, 확장 기능이 실행될 때의 UI/UX 컴포넌트(100)는 기본 데이터부(111) 및 하나 이상의 확장 데이터부(112, 113, 114)들과 기본 입출력부(121) 및 하나 이상의 확장 입출력부(122, 123)들을 포함할 수 있다.
데이터부(110)와 기본 데이터부(111)는 기본 기능들 중 공통 기능을 관리할 수 있고, 입출력부(120)와 기본 입출력부(121)는 기본 기능들 중 개별 기능을 관리할 수 있다. 또한, 하나 이상의 확장 데이터부(112, 113, 114)들은 확장 기능들 중 공통 기능을 관리할 수 있고, 하나 이상의 확장 입출력부(122, 123)들은 확장 기능들 중 개별 기능을 관리할 수 있다. 이 때, 기본 기능은 벤더가 제공하는 제품이나 프레임워크에 내장되어 소프트웨어 설치와 동시에 기본적으로 사용할 수 있는 기능인 시스템 기능을 의미할 수 있고, 확장 기능은 사용자가 시스템 기능을 수정하거나 자체적으로 개발하여 추가한 기능인 사용자 기능을 의미할 수 있다.
컨테이너(140)는 기능 추가에 따른 기능 관리 단위(예: UI/UX 컴포넌트(100))의 인터페이스 확장, 그리고 두 개 이상의 데이터부(110)를 자식 오브젝트로 조합(composition)할 수 있는 오브젝트 타입으로 정의될 수 있다. 일 실시 예에 따르면, 컨테이너(140)의 인터페이스는 필요에 따라 자식 오브젝트들 중에서 핵심이 되는 기능 관리 단위의 인터페이스를 상속 받을 수 있다. 상속되지 않은 나머지 자식 오브젝트들은 역할에 따라 기능 관리 단위들의 인터페이스를 래핑하는 과정을 통해 정의될 수 있다. 한편, 컨테이너(140)는 독립된 데이터부로 취급될 수 있으며, 데이터부의 인스턴스를 생성하기 위한 컨테이너(140)만의 생성부(160)를 가질 수 있다.
생성부(160, 165)는 공통 기능에 대한 오브젝트 및 개별 기능에 대한 오브젝트의 인스턴스를 생성하거나 조합할 수 있다. 한편, 전자 장치는 도 2a 및 2b에 도시된 바와 같이 생성부를 두 개 이상의 분리된 모듈(160, 165) 형태로 포함할 수도 있고, 도 1에 도시된 바와 같이 하나의 모듈(160) 형태로 포함할 수도 있다.
도 3a는 다양한 실시 예들에 따라, 확장 기능을 인터페이스로 공개하지 않는 컴포넌트의 동작을 설명하기 위한 도면이고, 도 3b는 다양한 실시 예들에 따라, 확장 기능을 인터페이스로 공개하는 컴포넌트의 동작을 설명하기 위한 도면이다.
일 실시 예에 따라, 확장 기능을 인터페이스로 공개하지 않는 UI/UX 컴포넌트(100)에서 이벤트가 발생한 경우, 최외곽에 위치한 제 3 확장 데이터부(114)로 이벤트가 전달된다. 만약, 이벤트를 전달 받은 제 3 확장 데이터부(114)가 목적 단계(target phase)라면, UI/UX 컴포넌트(100)는 전달된 이벤트를 처리하기 위한 메소드를 수행한 후 이벤트 처리를 종료할 수 있다. 반면에, 제 3 확장 데이터부(114)가 목적 단계가 아니라면, UI/UX 컴포넌트(100)는 제 3 확장 데이터부(114)와 가장 인접한 제 2 확장 데이터부(113)로 이벤트를 전달할 수 있다. 한편, 확장 데이터부(112, 113, 114)들 중에 목적 단계가 존재하지 않는 경우, UI/UX 컴포넌트(100)는 기본 데이터부(111)를 통해 이벤트의 처리를 시도할 수 있다. 다만, 전달된 이벤트가 개별 기능에 따른 것이라 기본 데이터부(111)에서도 처리될 수 없는 경우, 상기 이벤트는 입출력부들 중 최외곽에 위치한 제 2 확장 입출력부(123)로 전달된다. UI/UX 컴포넌트(100)는 제 2 확장 입출력부(123), 제 1 확장 입출력부(122) 및 기본 입출력부(121)를 차례대로 이용하여 이벤트의 처리를 시도한 후, 그 최종 결과를 사용자에게 제공할 수 있다.
일 실시 예에 따라, 확장 기능을 인터페이스로 공개하는 UI/UX 컴포넌트(100)에서 이벤트가 발생한 경우, 다음 단계들에 따라 확장 기능에 대한 메소드가 호출될 수 있다. 제 1 단계에서, 컨테이너(140)는 하나 이상의 데이터부(111, 112, 113, 114)들과 하나 이상의 입출력부(121, 122, 123)들 각각에 대해 등록(subscribe) 동작을 수행할 수 있다. 제 2 단계에서, 하나 이상의 확장 데이터부(112, 113, 114)들과 하나 이상의 확장 입출력부(122, 123)들은 상태 변화 이벤트를 컨테이너(140)에 통보(예: handleEvent() 호출) 할 수 있다. 제 3 단계에서, 컨테이너(140)는 상태 변화 이벤트의 통보에 응답하여, 합산 메소드(aggregate method)를 호출할 수 있다. 제 4 단계에서, 호출된 합산 메소드는 역할별 인스턴스를 통해 확장 인터페이스에 접근할 수 있으며, 이를 통해 최종적으로 확장 기능에 대한 메소드를 호출할 수 있다.
만약, 사용자(client)가 컨테이너(140)의 래퍼 메소드(wrapper method)를 직접 호출하는 경우, 다음 단계들에 따라 확장 기능이 처리될 수 있다. 제 1 단계에서, 사용자는 컨테이너(140)에 의해 정의된 래퍼 메소드를 호출할 수 있다. 제 2 단계에서, 호출된 래퍼 메소드는 컨테이너(140)의 합산 메소드(aggregate method)를 호출할 수 있다. 제 3 단계에서, 호출된 합산 메소드는 역할별 인스턴스를 통해 확장 인터페이스에 접근할 수 있으며, 이를 통해 최종적으로 확장 기능에 대한 메소드를 호출할 수 있다.
한편, 전자 장치의 구성 요소들은 미리 설정된 인스트럭션들을 수행할 수 있는 모듈 또는 코드를 의미하는 것으로 해석될 수 있다. 또한, 일부 인스트럭션들은 특정 모듈을 통해 실행되는 것으로 기재되어 있으나, 이로써 본 발명이 한정되는 것은 아니며, 본 문서에 개시된 모든 인스트럭션들은 전자 장치에 구비된 프로세서(processor)에 의해 실행될 수 있다는 점을 당업자는 용이하게 이해할 것이다.
도 4a 내지 4f는 다양한 실시 예들에 따라 여러 가지 형태로 구현된 컴포넌트를 포함하는 전자 장치의 블록도이다.
도 4a는 UI/UX 컴포넌트(100)가 제공하는 기본 기능만을 사용하여 UI/UX를 제공할 수 있는 전자 장치(11)를 도시한다. 일 실시 예에 따르면, 시스템 생성부(161)는 응용 실행 환경에서 기본적으로 제공되는 컴포넌트의 종류별 데이터에 기초하여 시스템 정의 영역(400)을 설정할 수 있다. 시스템 정의 영역(400)에는 UI/UX 컴포넌트(100)가 제공하는 기본 기능의 기초가 되는 데이터를 포함하는 기본 데이터부(111)와 기본 데이터부(111)에 포함된 데이터를 스크린에 최적화된 형태로 출력할 수 있는 기본 입출력부(121)가 포함될 수 있다.
도 4b는 UI/UX 컴포넌트(100)에 포함된 데이터부의 기능이 사용자 등 외부로부터의 정보에 기초하여 확장된 전자 장치(12)를 도시한다. 일 실시 예에 따르면, 확장 데이터부(112)는 기본 기능과의 호환성을 유지하기 위하여 기본 데이터부(111)의 인터페이스를 상속할 수 있으며, 기본 데이터부(111)의 공통 기능을 확장할 수 있다. 이와 함께, 확장 데이터부(112)의 오브젝트는 확장 기능과 관련된 이벤트 처리기와 메소드, 그리고 확장 기능을 초기화할 수 있는 속성(property)을 포함하도록 구성될 수 있다. 즉, 확장 데이터부(112)를 통해 제공될 수 있는 확장 기능은 확장 기능과 관련된 메소드와 확장 기능을 초기화할 수 있는 속성(property)을 통해 정의될 수 있다. 한편, 사용자 생성부(162)는 외부(예: 사용자)로부터 수신된 정보에 기초하여 사용자 정의 영역(410)을 설정할 수 있다. 사용자 정의 영역(410)에는 UI/UX 컴포넌트(100)가 제공하는 확장 기능의 기초가 되는 데이터를 포함하는 확장 데이터부(112)가 포함될 수 있다. 도 4b에 도시된 바와 같이, 확장 데이터부(112)에 포함된 데이터는 기본 입출력부(121)를 통해 출력될 수 있다.
도 4c는 UI/UX 컴포넌트(100)에 포함된 입출력부의 기능이 사용자 등 외부로부터의 정보에 기초하여 확장된 전자 장치(13)를 도시한다. 일 실시 예에 따르면, 확장 입출력부(122)는 기본 기능과의 호환성을 유지하기 위하여, 기본 입출력부(121)의 인터페이스를 상속할 수 있으며, 인터렉션 유형의 개별 기능을 확장할 수 있다. 사용자 생성부(162)는 외부(예: 사용자)로부터 수신된 정보에 기초하여 사용자 정의 영역(420)을 설정할 수 있고, 사용자 정의 영역(420)에는 확장 입출력부(122)가 포함될 수 있다.
도 4d는 UI/UX 컴포넌트(100)에 포함된 데이터부 및 입출력부의 기능이 사용자 등 외부로부터의 정보에 기초하여 확장된 전자 장치(14)를 도시한다. 일 실시 예에 따르면, 사용자 생성부(162)는 외부(예: 사용자)로부터 수신된 정보에 기초하여 사용자 정의 영역(430)을 설정할 수 있고, 사용자 정의 영역(430)에는 확장 데이터부(112) 및 확장 입출력부(122)가 포함될 수 있다.
도 4e는 UI/UX 컴포넌트(100)가 제공하는 기능을 사용자 등 외부로부터의 정보에 기초하여 정의할 수 있는 전자 장치(15)를 도시한다. 일 실시 예에 따른 전자 장치(15)는 사용자 생성부(162)를 통해 사용자 정의 영역(440)을 설정할 수 있으며, 사용자 정의 영역(440)에 기본 데이터부(111) 및 기본 입출력부(121)가 포함되도록 구성할 수 있다.
도 4f는 두 개 이상의 UI/UX 컴포넌트를 조합(Composition)할 수 있는 전자 장치(16)를 도시한다. 일 실시 예에 따르면, 전자 장치(16)는 복수의 UI/UX 컴포넌트(100)들을 조합하기 위하여, 컨테이너(140)를 포함할 수 있다. 이를 위해, 전자 장치(16)는 컨테이너(140)를 생성할 수 있는 컨테이너 생성부(460)와 컨테이너(140)의 데이터 구조 등을 정의한 컨테이너 규약부(470)를 포함할 수 있다.
도 5는 다양한 실시 예들에 따른 전자 장치의 동작을 설명하기 위한 순서도이다.
동작 500에서, 전자 장치의 규약부는 UI 및 UX의 기초가 되는 데이터의 구조 및 데이터 관리 로직을 정의하여 전자 장치의 저장부에 저장할 수 있다.
동작 510에서, 전자 장치의 비즈니스 응용부는 외부로부터 획득된 적어도 하나의 정보에 기초하여, UI 및 UX의 제공 방식과 관련된 인스턴스의 생성을 요청할 수 있다. 일 실시 예에 따르면, 전자 장치의 비즈니스 응용부는 전자 장치의 사용자로부터 특정 어플리케이션의 실행 요청이 수신되는 경우, 상기 비즈니스 응용부가 실행되고 있는 전자 장치에 대한 정보를 획득할 수 있다. 예컨대, 비즈니스 응용부는 전자 장치에 구비된 표시 장치의 사이즈나 표시 장치 상에서 특정 어플리케이션이 표시될 영역의 사이즈에 대한 정보를 획득할 수 있다. 비즈니스 응용부는 획득된 정보를 이용하여, 특정 어플리케이션과 대응되는 UI 및 UX의 제공 방식을 결정할 수 있다. 비즈니스 응용부는 제공 방식이 결정되는 것에 응답하여, UI 및 UX의 기초가 되는 데이터 및 상기 데이터의 입출력과 관련된 인스턴스의 생성을 요청할 수 있다.
동작 520에서, 전자 장치의 생성부는 비즈니스 응용부로부터 수신된 생성 요청에 응답하여, 전자 장치의 컴포넌트에 포함된 데이터부의 오브젝트와 입출력부의 오브젝트를 생성할 수 있다. 또한, 생성된 데이터부의 오브젝트와 입출력부의 오브젝트를 초기화 한 후, 비즈니스 응용부로 반환할 수 있다.
동작 530에서, 전자 장치의 비즈니스 응용부는 생성부에서 반환된 데이터부의 오브젝트에 대하여, 규약부에 의해 정의된 데이터의 구조 및 데이터 관리 로직에 따른 구조화를 요청할 수 있다. 일 실시 예에 따르면, 전자 장치의 컴포넌트는 생성부로부터 구조화 요청이 수신되는 경우, 규약부에 정의된 바에 따라 데이터를 가공할 수 있으며 가공된 데이터를 저장부에 저장할 수 있다. 한편, 컴포넌트는 기본 데이터부 및 확장 데이터부를 포함할 수 있는데, 규약부에 정의된 바에 따라 제어 가능한 데이터는 기본 데이터부를 통해 가공될 수 있고, 규약부에 정의된 바에 따라 제어 불가능한 데이터는 확장 데이터부를 통해 가공될 수 있다. 예컨대, 기본 데이터부는 규약부에 정의된 바에 따라 임시 데이터 저장소 및 데이터 관리 로직을 구현하는 방식을 통해 오브젝트를 처리할 수 있다. 확장 데이터부는 규약부에 정의된 바를 따르지 않는 확장 기능을 별도의 이벤트 처리기, 메소드 및 속성(property)를 이용하여 처리할 수 있다.
동작 540에서, 컴포넌트의 데이터부는 데이터부의 오브젝트를 구조화하여 저장부에 저장할 수 있다. 또한, 컴포넌트의 데이터부는 저장된 데이터부의 오브젝트를 사용자에게 제공하기 위하여, 데이터부의 오브젝트에 대한 출력 요청을 컴포넌트의 입출력부로 전달할 수 있다.
동작 550에서, 컴포넌트의 입출력부는 출력 요청에 응답하여, 데이터부의 오브젝트와 대응되는 UI 및 UX를 전자 장치의 표시부를 통해 출력할 수 있다.
한편, 도 5에 개시된 동작들 중 일부는 생략되거나 복수 회 반복될 수 있다. 또한, 도 5에 개시된 동작들 각각은 일 실시 예로 보는 것이 타당하며, 어느 하나의 동작이 다른 하나의 동작에 종속되는 것으로 제한 해석될 수 없다.
본 발명의 다양한 실시 예들에 따라, 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법은 전자 장치의 규약부가 UI 및 UX의 기초가 되는 데이터의 구조 및 데이터 관리 로직을 정의하여 상기 전자 장치의 저장부에 저장하는 동작, 상기 전자 장치의 비즈니스 응용부가 외부로부터 획득된 적어도 하나의 정보에 기초하여, 상기 UI 및 UX의 제공 방식과 관련된 인스턴스의 생성 요청을 상기 전자 장치의 생성부로 전달하는 동작, 상기 전자 장치의 생성부가 상기 생성 요청에 응답하여 상기 전자 장치의 컴포넌트에 포함된 데이터부의 오브젝트 및 입출력부의 오브젝트를 생성하고, 상기 데이터부의 오브젝트 및 상기 입출력부의 오브젝트를 초기화 한 후, 상기 데이터부의 오브젝트를 상기 비즈니스 응용부로 전달하는 동작, 상기 전자 장치의 비즈니스 응용부가 상기 전달된 데이터부의 오브젝트에 대하여 상기 규약부에 의해 정의된 상기 데이터의 구조 및 데이터 관리 로직에 따른 구조화 요청을 상기 컴포넌트로 전달하는 동작, 상기 컴포넌트의 데이터부가 상기 데이터부의 오브젝트를 구조화하여 상기 저장부에 저장하고, 상기 저장된 데이터부의 오브젝트에 대한 출력 요청을 상기 입출력부로 전달하는 동작, 상기 컴포넌트의 입출력부가 상기 출력 요청에 응답하여 상기 데이터부의 오브젝트와 대응되는 상기 UI 및 UX를 상기 전자 장치의 표시부를 통해 출력하는 동작 및 상기 전자 장치의 컨테이너가 상기 전자 장치의 정책부에 정의된 정보를 이용하여, 상기 전자 장치의 생성부를 통해 상기 컴포넌트의 오브젝트를 생성하고, 상기 생성된 상기 컴포넌트의 오브젝트 중 적어도 두 개 이상을 조합하여 복합 컴포넌트를 생성하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예들에 따르면, 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법에 있어서, 상기 전자 장치의 규약부는 상기 데이터의 구조, 상기 데이터 관리 로직 및 공통 입출력 기능만을 정의하되, 개별 입출력 기능은 정의하지 않고, 및 상기 전자 장치의 규약부는 상기 데이터부의 오브젝트 및 상기 입출력부 오브젝트를 생성하는 상기 생성부를 포함하는 것을 특징으로 할 수 있다. 여기서, 공통 입출력 기능은 기능 관리 단위에 의해 제공되는 전체 기능들 중에서 모든 인터랙션 유형들에 공통적으로 적용될 수 있는 기능을 입출력하는데 이용되는 기능을 의미하고, 개별 입출력 기능은 기능 관리 단위에 의해 제공되는 전체 기능들 중에서 특정 인터랙션 유형에만 선별적으로 적용될 수 있는 기능을 입출력하는데 이용되는 기능을 의미할 수 있다.
본 발명의 다양한 실시 예들에 따르면, 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법에 있어서, 상기 데이터부는 기본 데이터부 및 확장 데이터부를 포함하고, 상기 방법은 상기 기본 데이터부가 상기 전자 장치의 규약부에 의해 정의된 데이터 중 입출력 방식에 영향을 받지 않고 스크린 종류에 무관하게 모든 스크린에 공통적으로 적용 가능한 제 1 데이터를 저장하는 동작 및 상기 확장 데이터부가 상기 전자 장치의 규약부에 의해 정의되지 않으면서 스크린 종류에 무관하게 모든 스크린에 공통적으로 적용 가능한 제 2 데이터를 저장하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예들에 따르면, 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법에 있어서, 상기 입출력부는 기본 입출력부 및 확장 입출력부를 포함하고, 상기 방법은 상기 기본 입출력부가 상기 기본 데이터부에 저장된 상기 제 1 데이터만을 스크린 종류에 무관하게 동일한 형태로 출력하는 동작 및 상기 확장 입출력부가 상기 확장 데이터부에 저장된 상기 제 2 데이터만을 스크린 종류에 무관하게 동일한 형태로 출력하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예들에 따르면, 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법은, 상기 기본 입출력부가 상기 스크린의 특성 및 제약 사항에 기초하여, 상기 기본 데이터부의 오브젝트에 대한 표시 형태, 내부 구성 요소의 배치 형태 및 외부와의 상호 작용 방식을 결정하는 동작 및 상기 확장 입출력부가 상기 스크린의 특성 및 제약 사항에 기초하여, 상기 확장 데이터부의 오브젝트에 대한 표시 형태, 내부 구성 요소의 배치 형태 및 외부와의 상호 작용 방식을 결정하는 동작을 포함할 수 있다. 여기서, 외부와의 상호 작용 방식은 전자 장치의 사용자로부터 수신된 입력에 응답하는 방식을 규정한 것을 의미할 수 있다. 한편, 다양한 실시 예들에 따르면, 상호 작용 방식은 전자 장치 제작 시 미리 규정되거나 전자 장치 제작 이후에 사용자에 의해 새롭게 규정될 수 있다.
본 발명의 다양한 실시 예들에 따르면, 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법에 있어서, 상기 전자 장치의 생성부는 시스템 생성부 및 사용자 생성부를 포함하고, 상기 방법은 상기 시스템 생성부가 상기 저장부에 미리 저장된 데이터를 이용하여 상기 컴포넌트의 오브젝트를 생성하고, 상기 생성된 상기 컴포넌트의 오브젝트를 조합하는 동작 및 상기 사용자 생성부가 외부로부터 수신된 데이터를 이용하여 상기 생성된 컴포넌트의 오브젝트와 연관된 추가 오브젝트를 생성하고, 상기 생성된 추가 오브젝트를 조합하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예들에 따르면, 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법은, 상기 전자 장치의 컨테이너가 상기 규약부를 이용하여, 상기 복합 컴포넌트를 생성하는데 필요한 데이터를 정의하고 상기 생성된 복합 컴포넌트의 하나 이상의 데이터부들 및 하나 이상의 입출력부들을 조합하여 새로운 컴포넌트의 오브젝트를 생성하는 동작을 포함할 수 있다.
본 발명의 다양한 실시 예들에 따르면, 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법은, 상기 전자 장치의 비즈니스 응용부가 제 1 시점에 상기 컴포넌트의 기능 수행 범위 및 실행 방식과 관련하여 상기 정책부에 정의된 정보를 상기 생성부에 제공하는 동작 및 상기 전자 장치의 비즈니스 응용부가 상기 생성부로부터 상기 UI 및 UX의 제공 방식과 관련된 인스턴스를 수신하는 동작을 포함하고, 상기 전자 장치의 비즈니스 응용부는 상기 데이터부의 오브젝트 및 상기 입출력부의 오브젝트를 사용하고, 스크린 별로 특화된 오브젝트는 사용하지 않음으로써, 단일 코드(single code)를 통해 상기 컴포넌트를 제어하는 것을 특징으로 할 수 있다.
본 발명의 다양한 실시 예들에 따르면, 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법은, 전자 장치의 생성부가 상기 생성 요청에 응답하여 상기 전자 장치의 컴포넌트에 포함된 기본 데이터부의 오브젝트 및 확장 데이터부의 오브젝트를 생성하고, 상기 기본 데이터부의 오브젝트 및 상기 확장 데이터부의 오브젝트를 초기화하는 동작 및 상기 전자 장치의 생성부가 상기 기본 데이터부의 오브젝트를 래핑(wrapping)하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시 예들에 따르면, 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법은, 상기 전자 장치의 생성부가 상기 컴포넌트의 데이터부에 상기 컴포넌트의 입출력부를 주입(inject)하는 동작, 상기 전자 장치의 생성부가 상기 생성 요청에 응답하여 상기 전자 장치의 컴포넌트에 포함된 기본 입출력부의 오브젝트 및 확장 입출력부의 오브젝트를 생성하고, 상기 기본 입출력부의 오브젝트 및 상기 확장 입출력부의 오브젝트를 초기화하는 동작 및 상기 전자 장치의 생성부가 상기 기본 입출력부의 오브젝트를 래핑(wrapping)하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시 예들에 따르면, 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법에 있어서, 확장 데이터부의 오브젝트는 확장 기능과 관련된 이벤트 처리기 및 메소드(method), 상기 확장 기능을 초기화할 수 있는 속성(property)을 포함하는 것을 특징으로 할 수 있다.
본 발명의 다양한 실시 예들에 따르면, 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법에 있어서, 기본 데이터부의 오브젝트는 상기 확장 데이터부의 오브젝트에 포함된 상기 속성에 접근할 수 있는 범용 메소드를 포함하는 것을 특징으로 할 수 있다.
본 발명의 다양한 실시 예들에 따르면, 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법은, 전자 장치의 정책부가 상기 UI 및 UX의 제공 방식과 관련된 인스턴스의 동작 방식 및 동작 범위를 생성하고, 상기 저장부에 저장하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시 예들에 따르면, 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법은, 전자 장치의 표시부를 통해 출력된 상기 UI 및 UX에 대하여 외부로부터 변경 요청이 수신되는 경우, 상기 전자 장치의 비즈니스 응용부가 상기 변경 요청에 따른 상기 UI 및 UX의 제공 방식과 관련된 인스턴스의 생성 요청을 상기 전자 장치의 생성부로 전달하는 동작을 더 포함할 수 있다.
본 발명의 다양한 실시 예들에 따라, 다중 스크린을 지원하는 컴포넌트를 구조화하는 전자 장치는, UI 및 UX의 기초가 되는 데이터의 구조 및 데이터 관리 로직을 정의하는 규약부, 외부로부터 획득된 적어도 하나의 정보에 기초하여, 상기 UI 및 UX의 제공 방식과 관련된 인스턴스의 생성을 요청하고, 상기 전자 장치의 컴포넌트에 포함된 데이터부의 오브젝트에 대하여 상기 규약부에 의해 정의된 상기 데이터의 구조 및 데이터 관리 로직에 따른 구조화를 요청하는 비즈니스 응용부, 상기 인스턴스의 생성 요청에 응답하여 상기 전자 장치의 컴포넌트에 포함된 데이터부의 오브젝트 및 입출력부의 오브젝트를 생성하고, 상기 데이터부의 오브젝트 및 상기 입출력부의 오브젝트를 초기화하는 생성부, 상기 규약부에 의해 정의된 상기 데이터의 구조 및 데이터 관리 로직을 저장하는 저장부, 상기 데이터부의 오브젝트를 구조화하여 상기 저장부에 저장하고, 상기 저장부에 저장된 데이터부의 오브젝트에 대한 출력 요청을 상기 입출력부로 전달하는 데이터부, 상기 출력 요청에 응답하여 상기 데이터부의 오브젝트와 대응되는 상기 UI 및 UX를 출력하는 입출력부 및 정책부에 정의된 정보를 이용하여, 상기 생성부를 통해 상기 컴포넌트의 오브젝트를 생성하고, 상기 생성된 상기 컴포넌트의 오브젝트 중 적어도 두 개 이상을 조합하여 복합 컴포넌트를 생성하는 컨테이너를 포함할 수 있다.
본 발명의 일 실시 예에 따른 다중 스크린을 지원하는 컴포넌트 구조화 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일 실시 예에 따른 다중 스크린을 지원하는 컴포넌트 구조화 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시 예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시 예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시 예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (17)

  1. 전자 장치의 규약부가 UI 및 UX의 기초가 되는 데이터의 구조 및 데이터 관리 로직을 정의하여 상기 전자 장치의 저장부에 저장하는 동작;
    상기 전자 장치의 비즈니스 응용부가 외부로부터 획득된 적어도 하나의 정보에 기초하여, 상기 UI 및 UX의 제공 방식과 관련된 인스턴스의 생성 요청을 상기 전자 장치의 생성부로 전달하는 동작;
    상기 전자 장치의 생성부가 상기 생성 요청에 응답하여 상기 전자 장치의 컴포넌트에 포함된 데이터부의 오브젝트 및 입출력부의 오브젝트를 생성하고, 상기 데이터부의 오브젝트 및 상기 입출력부의 오브젝트를 초기화 한 후, 상기 데이터부의 오브젝트를 상기 비즈니스 응용부로 전달하는 동작;
    상기 전자 장치의 비즈니스 응용부가 상기 전달된 데이터부의 오브젝트에 대하여 상기 규약부에 의해 정의된 상기 데이터의 구조 및 데이터 관리 로직에 따른 구조화 요청을 상기 컴포넌트로 전달하는 동작;
    상기 컴포넌트의 데이터부가 상기 데이터부의 오브젝트를 구조화하여 상기 저장부에 저장하고, 상기 저장된 데이터부의 오브젝트에 대한 출력 요청을 상기 입출력부로 전달하는 동작;
    상기 컴포넌트의 입출력부가 상기 출력 요청에 응답하여 상기 데이터부의 오브젝트와 대응되는 상기 UI 및 UX를 상기 전자 장치의 표시부를 통해 출력하는 동작; 및
    상기 전자 장치의 컨테이너가 상기 전자 장치의 정책부에 정의된 정보를 이용하여, 상기 전자 장치의 생성부를 통해 상기 컴포넌트의 오브젝트를 생성하고, 상기 생성된 상기 컴포넌트의 오브젝트 중 적어도 두 개 이상을 조합하여 복합 컴포넌트를 생성하는 동작을 포함하고,
    상기 전자 장치의 규약부는 상기 데이터의 구조, 상기 데이터 관리 로직 및 공통 입출력 기능만을 정의하되, 개별 입출력 기능은 정의하지 않고, 및
    상기 전자 장치의 규약부는 상기 데이터부의 오브젝트 및 상기 입출력부 오브젝트를 생성하는 상기 생성부를 포함하는 것을 특징으로 하는, 다중 스크린을 지원하는 컴포넌트 구조화 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 데이터부는 기본 데이터부 및 확장 데이터부를 포함하고,
    상기 기본 데이터부가 상기 전자 장치의 규약부에 의해 정의된 데이터 중 입출력 방식에 영향을 받지 않고 스크린 종류에 무관하게 모든 스크린에 공통적으로 적용 가능한 제 1 데이터를 저장하는 동작; 및
    상기 확장 데이터부가 상기 전자 장치의 규약부에 의해 정의되지 않으면서 스크린 종류에 무관하게 모든 스크린에 공통적으로 적용 가능한 제 2 데이터를 저장하는 동작을 포함하는, 다중 스크린을 지원하는 컴포넌트 구조화 방법.
  4. 제 3 항에 있어서,
    상기 입출력부는 기본 입출력부 및 확장 입출력부를 포함하고,
    상기 기본 입출력부가 상기 기본 데이터부에 저장된 상기 제 1 데이터만을 스크린 종류에 무관하게 동일한 형태로 출력하는 동작; 및
    상기 확장 입출력부가 상기 확장 데이터부에 저장된 상기 제 2 데이터만을 스크린 종류에 무관하게 동일한 형태로 출력하는 동작을 포함하는, 다중 스크린을 지원하는 컴포넌트 구조화 방법.
  5. 제 4 항에 있어서,
    상기 기본 입출력부가 상기 스크린의 특성 및 제약 사항에 기초하여, 상기 기본 데이터부의 오브젝트에 대한 표시 형태, 내부 구성 요소의 배치 형태 및 외부와의 상호 작용 방식을 결정하는 동작; 및
    상기 확장 입출력부가 상기 스크린의 특성 및 제약 사항에 기초하여, 상기 확장 데이터부의 오브젝트에 대한 표시 형태, 내부 구성 요소의 배치 형태 및 외부와의 상호 작용 방식을 결정하는 동작을 포함하는, 다중 스크린을 지원하는 컴포넌트 구조화 방법.
  6. 제 1 항에 있어서,
    상기 전자 장치의 생성부는 시스템 생성부 및 사용자 생성부를 포함하고,
    상기 시스템 생성부가 상기 저장부에 미리 저장된 데이터를 이용하여 상기 컴포넌트의 오브젝트를 생성하고, 상기 생성된 상기 컴포넌트의 오브젝트를 조합하는 동작; 및
    상기 사용자 생성부가 외부로부터 수신된 데이터를 이용하여 상기 생성된 컴포넌트의 오브젝트와 연관된 추가 오브젝트를 생성하고, 상기 생성된 추가 오브젝트를 조합하는 동작을 포함하는, 다중 스크린을 지원하는 컴포넌트 구조화 방법.
  7. 제 1 항에 있어서,
    상기 전자 장치의 컨테이너가 상기 규약부를 이용하여, 상기 복합 컴포넌트를 생성하는데 필요한 데이터를 정의하고 상기 생성된 복합 컴포넌트의 하나 이상의 데이터부들 및 하나 이상의 입출력부들을 조합하여 새로운 컴포넌트의 오브젝트를 생성하는 동작을 포함하는, 다중 스크린을 지원하는 컴포넌트 구조화 방법.
  8. 제 1 항에 있어서,
    상기 전자 장치의 비즈니스 응용부가 제 1 시점에 상기 컴포넌트의 기능 수행 범위 및 실행 방식과 관련하여 상기 정책부에 정의된 정보를 상기 생성부에 제공하는 동작; 및
    상기 전자 장치의 비즈니스 응용부가 상기 생성부로부터 상기 UI 및 UX의 제공 방식과 관련된 인스턴스를 수신하는 동작을 포함하고,
    상기 전자 장치의 비즈니스 응용부는 상기 데이터부의 오브젝트 및 상기 입출력부의 오브젝트를 사용하고, 스크린 별로 특화된 오브젝트는 사용하지 않음으로써, 단일 코드(single code)를 통해 상기 컴포넌트를 제어하는 것을 특징으로 하는, 다중 스크린을 지원하는 컴포넌트 구조화 방법
  9. 제 1 항에 있어서,
    상기 전자 장치의 생성부가 상기 생성 요청에 응답하여 상기 전자 장치의 컴포넌트에 포함된 기본 데이터부의 오브젝트 및 확장 데이터부의 오브젝트를 생성하고, 상기 기본 데이터부의 오브젝트 및 상기 확장 데이터부의 오브젝트를 초기화하는 동작; 및
    상기 전자 장치의 생성부가 상기 기본 데이터부의 오브젝트를 래핑(wrapping)하는 동작을 더 포함하는, 다중 스크린을 지원하는 컴포넌트 구조화 방법.
  10. 제 9 항에 있어서,
    상기 전자 장치의 생성부가 상기 컴포넌트의 데이터부에 상기 컴포넌트의 입출력부를 주입(inject)하는 동작;
    상기 전자 장치의 생성부가 상기 생성 요청에 응답하여 상기 전자 장치의 컴포넌트에 포함된 기본 입출력부의 오브젝트 및 확장 입출력부의 오브젝트를 생성하고, 상기 기본 입출력부의 오브젝트 및 상기 확장 입출력부의 오브젝트를 초기화하는 동작; 및
    상기 전자 장치의 생성부가 상기 기본 입출력부의 오브젝트를 래핑(wrapping)하는 동작을 더 포함하는, 다중 스크린을 지원하는 컴포넌트 구조화 방법.
  11. 제 9 항에 있어서,
    상기 확장 데이터부의 오브젝트는 확장 기능과 관련된 이벤트 처리기 및 메소드(method), 상기 확장 기능을 초기화할 수 있는 속성(property)을 포함하는 것을 특징으로 하는, 다중 스크린을 지원하는 컴포넌트 구조화 방법.
  12. 제 11 항에 있어서,
    상기 기본 데이터부의 오브젝트는 상기 확장 데이터부의 오브젝트에 포함된 상기 속성에 접근할 수 있는 범용 메소드를 포함하는 것을 특징으로 하는, 다중 스크린을 지원하는 컴포넌트 구조화 방법.
  13. 제 1 항에 있어서,
    상기 전자 장치의 정책부가 상기 UI 및 UX의 제공 방식과 관련된 인스턴스의 동작 방식 및 동작 범위를 생성하고, 상기 저장부에 저장하는 동작을 더 포함하는, 다중 스크린을 지원하는 컴포넌트 구조화 방법.
  14. 제 1 항에 있어서,
    상기 전자 장치의 표시부를 통해 출력된 상기 UI 및 UX에 대하여 외부로부터 변경 요청이 수신되는 경우, 상기 전자 장치의 비즈니스 응용부가 상기 변경 요청에 따른 상기 UI 및 UX의 제공 방식과 관련된 인스턴스의 생성 요청을 상기 전자 장치의 생성부로 전달하는 동작을 더 포함하는, 다중 스크린을 지원하는 컴포넌트 구조화 방법.
  15. 제 1 항 및 제 3 항 내지 제 14 항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  16. 제 1 항 및 제 3 항 내지 제 14 항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
  17. 전자 장치에 있어서,
    UI 및 UX의 기초가 되는 데이터의 구조 및 데이터 관리 로직을 정의하는 규약부;
    외부로부터 획득된 적어도 하나의 정보에 기초하여, 상기 UI 및 UX의 제공 방식과 관련된 인스턴스의 생성을 요청하고, 상기 전자 장치의 컴포넌트에 포함된 데이터부의 오브젝트에 대하여 상기 규약부에 의해 정의된 상기 데이터의 구조 및 데이터 관리 로직에 따른 구조화를 요청하는 비즈니스 응용부;
    상기 인스턴스의 생성 요청에 응답하여 상기 전자 장치의 컴포넌트에 포함된 데이터부의 오브젝트 및 입출력부의 오브젝트를 생성하고, 상기 데이터부의 오브젝트 및 상기 입출력부의 오브젝트를 초기화하는 생성부;
    상기 규약부에 의해 정의된 상기 데이터의 구조 및 데이터 관리 로직을 저장하는 저장부;
    상기 데이터부의 오브젝트를 구조화하여 상기 저장부에 저장하고, 상기 저장부에 저장된 데이터부의 오브젝트에 대한 출력 요청을 상기 입출력부로 전달하는 데이터부;
    상기 출력 요청에 응답하여 상기 데이터부의 오브젝트와 대응되는 상기 UI 및 UX를 출력하는 입출력부; 및
    정책부에 정의된 정보를 이용하여, 상기 생성부를 통해 상기 컴포넌트의 오브젝트를 생성하고, 상기 생성된 상기 컴포넌트의 오브젝트 중 적어도 두 개 이상을 조합하여 복합 컴포넌트를 생성하는 컨테이너를 포함하고,
    상기 전자 장치의 규약부는 상기 데이터의 구조, 상기 데이터 관리 로직 및 공통 입출력 기능만을 정의하되, 개별 입출력 기능은 정의하지 않고, 및
    상기 전자 장치의 규약부는 상기 데이터부의 오브젝트 및 상기 입출력부 오브젝트를 생성하는 상기 생성부를 포함하는 것을 특징으로 하는 전자 장치.
KR1020180069731A 2018-06-18 2018-06-18 비즈니스 응용에서 단일 코드를 이용하여 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법 및 장치 KR101929201B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180069731A KR101929201B1 (ko) 2018-06-18 2018-06-18 비즈니스 응용에서 단일 코드를 이용하여 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법 및 장치
JP2019095871A JP6653849B2 (ja) 2018-06-18 2019-05-22 ビジネスアプリケーションにおいて単一コードを用いて多重スクリーンを支援するコンポーネントを構造化する方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180069731A KR101929201B1 (ko) 2018-06-18 2018-06-18 비즈니스 응용에서 단일 코드를 이용하여 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101929201B1 true KR101929201B1 (ko) 2018-12-14

Family

ID=64743447

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180069731A KR101929201B1 (ko) 2018-06-18 2018-06-18 비즈니스 응용에서 단일 코드를 이용하여 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법 및 장치

Country Status (2)

Country Link
JP (1) JP6653849B2 (ko)
KR (1) KR101929201B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014059700A (ja) * 2012-09-18 2014-04-03 Nomura Research Institute Ltd 画面コントロール表示システムおよび画面コントロール表示プログラム
KR101438198B1 (ko) 2013-05-09 2014-09-04 주식회사 엘지씨엔에스 멀티-스크린용 사용자 인터페이스 구현 방법 및 이를 수행하는 멀티-스크린용 사용자 인터페이스 엔진
KR101788687B1 (ko) * 2017-05-26 2017-11-15 (주)투비소프트 2중 가상화를 이용한 컴포넌트 생성방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9864732B2 (en) * 2016-05-02 2018-01-09 Google Inc. User interfaces that facilitate management of formatting of digital content
JP6603194B2 (ja) * 2016-11-11 2019-11-06 日本電信電話株式会社 画面認識装置、画面認識方法、および、画面認識プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014059700A (ja) * 2012-09-18 2014-04-03 Nomura Research Institute Ltd 画面コントロール表示システムおよび画面コントロール表示プログラム
KR101438198B1 (ko) 2013-05-09 2014-09-04 주식회사 엘지씨엔에스 멀티-스크린용 사용자 인터페이스 구현 방법 및 이를 수행하는 멀티-스크린용 사용자 인터페이스 엔진
KR101788687B1 (ko) * 2017-05-26 2017-11-15 (주)투비소프트 2중 가상화를 이용한 컴포넌트 생성방법

Also Published As

Publication number Publication date
JP2019220158A (ja) 2019-12-26
JP6653849B2 (ja) 2020-02-26

Similar Documents

Publication Publication Date Title
US9430207B1 (en) Automated cross-platform native mobile application generation with cloud driven user interface and workflow synthesis
US20160070541A1 (en) Conversion of business suite solutions
CN110795095B (zh) 建立业务逻辑组件与业务组件及生成页面的方法与系统
US20140040791A1 (en) Development platform for software as a service (saas) in a multi-tenant environment
TW201923546A (zh) 展示介面內容的資料處理方法、裝置和處理設備
CN112800370B (zh) 业务单据的处理方法、装置、计算机设备和存储介质
US11474842B2 (en) Integration application creator design
JP2004102498A (ja) Guiアプリケーション開発支援装置、gui表示装置、および方法、並びにコンピュータ・プログラム
US11704855B2 (en) Customizable animation experience
CN103150154A (zh) 一种应用程序插件的实现方法及装置
CN106257418A (zh) 用于通过使用辅助应用来评价应用的技术
JP2017507419A (ja) カスタム化可能なユーザ・インターフェースの生成および実装
WO2019039255A1 (ja) 端末装置、ui拡張方法及びui拡張プログラム
CN112035555B (zh) 一种信息展示方法、装置及设备
CN113312052A (zh) 一种组件调用方法、装置、电子设备以及存储介质
KR101929201B1 (ko) 비즈니스 응용에서 단일 코드를 이용하여 다중 스크린을 지원하는 컴포넌트를 구조화하는 방법 및 장치
JP7004930B2 (ja) 情報処理装置と、その処理方法及びプログラム
CN114296855A (zh) 用户界面的状态管理方法、装置、电子设备及存储介质
CN109471410B (zh) 产品生命周期管理环境中的动态预览生成
CN112348928A (zh) 动画合成方法、动画合成装置、电子设备及介质
CN116661767B (zh) 文件生成方法、装置、设备以及存储介质
CN105786472B (zh) 一种基于ecp平台取数函数设置方法及装置
CN113206819B (zh) 基于多级别会话描述符的信令发送方法及装置
WO2022259497A1 (ja) シナリオ設定装置、シナリオ設定方法及びシナリオ設定プログラム
JP6697168B2 (ja) 情報処理装置と、その処理方法及びプログラム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant