KR20130062406A - 디자인 상속 장치 및 방법, 및 상기 장치를 포함하는 웹 서버 - Google Patents

디자인 상속 장치 및 방법, 및 상기 장치를 포함하는 웹 서버 Download PDF

Info

Publication number
KR20130062406A
KR20130062406A KR1020110115852A KR20110115852A KR20130062406A KR 20130062406 A KR20130062406 A KR 20130062406A KR 1020110115852 A KR1020110115852 A KR 1020110115852A KR 20110115852 A KR20110115852 A KR 20110115852A KR 20130062406 A KR20130062406 A KR 20130062406A
Authority
KR
South Korea
Prior art keywords
design
inheritance
rule
web
web client
Prior art date
Application number
KR1020110115852A
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 KR1020110115852A priority Critical patent/KR20130062406A/ko
Publication of KR20130062406A publication Critical patent/KR20130062406A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Tourism & Hospitality (AREA)
  • Signal Processing (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 다양한 웹 디자인 요구를 해결할 수 있도록 웹 디자인을 디자인 상속을 통해 디자인 룰, 상속 룰 및 요청된 주소에 의해 자동화된 웹 디자인을 구성할 수 있도록 함으로써, 다양한 웹 클라이언트와 사용자에게 맞춤 디자인을 제공할 수 있도록 하는 디자인 상속 장치 및 방법, 및 이를 포함하는 웹 서버를 개시하고 있다. 디자인 상속 장치는 웹 클라이언트의 정보에 대응하는 디자인 룰에 따라 상기 웹 클라이언트에게 제공할 현재 디자인 및 상기 현재 디자인의 디자인 객체를 선택하는 디자인 라우터; 상기 선택된 디자인 및 디자인 객체를 상속 룰에 의해 상속하는 디자인 크리에이터; 및 상기 상속된 디자인 및 디자인 객체를 웹 응용 프로그램을 통해 제공하는 디자인 디스패처를 포함한다. 따라서, 웹 사용자의 환경에 맞게 제공하고자 하는 디자인을 용이하게 상속받음으로써 사용자의 URL, 환경, 접속 디바이스, 사용자, HTTP Request Header, IP 헤더, 시스템 시간 및 시스템 언어에 적합한 디자인을 제공할 수 있다.

Description

디자인 상속 장치 및 방법, 및 상기 장치를 포함하는 웹 서버{DESIGN INHERITANCE APPARATUS AND METHOD, AND WEB SERVER HAVING SAID APPARATUS}
본 발명은 디자인 상속 장치 및 방법, 및 이를 포함하는 웹 서버에 관한 것으로, 보다 상세하게는 웹 디자인의 생산성을 향상시키기 위한 디자인 상속 장치 및 방법, 및 이를 포함하는 웹 서버에 관한 것이다.
일반적으로, HTTP(Hypertext Transfer Protocol)는 월드 와이드 웹(World Wide Web) 상에서 정보를 주고 받을 수 있는 프로토콜로서, 클라이언트와 서버 간에 수행되는 요청/응답 프로토콜로서 사용된다. 웹 클라이언트는 HTTP를 통하여 웹 서버로 웹페이지 등과 같은 정보를 요청하고, 웹 서버는 이 요청에 응답하여 필요한 정보를 웹 브라우저로 전달한다. HTTP를 통해 전달되는 정보는 'Http:'로 시작하는 URL(Uniform Resource Locator) 주소로서 조회할 수 있다.
웹 클라이언트는 URL을 사용하여 특정 페이지를 서버로 요청하고 웹 서버로부터 응답을 수신하여 그 정보를 모니터를 통하여 출력할 수 있다. 그러면 사용자는 모니터로부터 출력되는 정보를 볼 수 있게 된다. 웹 서버는 웹 클라이언트로부터 전달되는 URL 요청을 해석하여 HTML(Hypertext Markup Language)/XML(Extensible Markup Language)(이하, HTML로 통칭하기로 함) 문서 처리를 수행하며, Per1, Ruby, PHP 등과 같은 스크립트 언어를 데이터베이스 서비스, 응용 서비스 등과 연결하여 정보를 호출 및 처리하고 웹 화면을 구성하는 동적 콘텐츠를 생성한다.
이러한 웹 서버는 표현(대화) 계층(Presentation Layer) 및 프로그램 처리 계층을 포함할 수 있다. 상기 표현계층은 사용자에게 보여지는 웹 디자인 관련 부분들을 구현하는 계층으로서, 예컨대 HTML, 자바 스크립트, CSS, 이미지 파일 또는 HTML, 자바 스크립트, CSS 등에 의하여 웹 페이지를 구성하는 요소들을 포함할 수 있다. 예를 들면, 웹 게시판의 경우 표현 계층은 게시판 버튼 이미지, 웹 게시판의 디자인을 구현하는 HTML, 자바 스크립트 등을 포함할 수 있다.
상기 프로그램 처리 계층은 개발자가 작성한 로직에 의하여 실행되는 웹 응용 프로그램을 포함하는 계층으로서 비즈니스 로직(Business Logic)이라 칭할 수도 있다. 예를 들면, 웹 게시판에서 사용자가 게시글을 등록할 경우 게시글을 데이터 저장소에 접근하여 저장하거나 알림 메일을 보내는 기능 등과 같은 일련의 기능 처리를 구현하는 웹 프로그램은 프로그램 처리 계층에 포함될 수 있다.
종래의 웹 모델에서의 표현 계층은 웹 디자인에 대해 웹 클라이언트 환경 및 사용자, 시간이나 언어 등 웹 디자인을 선택적으로 표현하는 방법이 없거나 구체적이지 않으며, 프로그램 처리 계층에서 웹 디자인을 조작하여 웹 디자인 관련 부분들에 혼란을 줄 수 있다.
예컨대, 일반 PC 전용 웹 브라우저인 웹 클라이언트와 모바일 전용 웹 브라우저인 웹 클라이언트는 디자인 방법에 있어서 상당한 차이를 보인다고 할 수 있다. 화면의 크기와 디자인 요소의 표현 방법 등이 상당히 다르므로 일반적으로 웹 서비스는 상기 두 웹 클라이언트에 따라 다르게 작성된 웹 디자인을 제공하는 것이 올바르다고 할 수 있다.
또한, 사용자를 특정하여 해당 사용자나 그룹에게 맞춤형 웹 디자인을 제공하고 싶거나, 사용자의 언어 같은 요소 및 시간에 의해 웹 디자인을 제공할 수 있다.
이러한 웹 디자인의 방법에 있어서 전체 디자인을 작성하지 않고 상위 디자인에 있어서 특정 부분을 수정하여 동일하게 제공하고자 한다면 많은 이점을 제공할 수 있다.
이와 같이 종래의 경우, 웹 클라이언트의 환경 및 사용자, 시간 및 언어 등의 다양한 요구에 대한 디자인 제공 방법에 있어서 그 방법이 구체적으로 제공되지 않는 문제점이 있다. 그리고 여러 개의 디자인을 작성하고 관리하는 부분에서 상속개념이 없는 상황에서 새롭게 디자인을 구성하거나 수정하는 과정에서 많은 어려움이 발생하는 경우가 많다.
또한, 웹 프로그래머는 상기 웹 디자인 방법에 대한 웹 응용 프로그램을 작성해야 하며, 웹 디자이너는 이러한 부분에서 참여할 수 있는 방법이 없다. 이러한 문제는 상기 표현 계층과 상기 프로그램 처리 계층에서의 모델 분리 원칙에서 문제가 실질적으로 발생하는 경우가 많다.
대한민국 공개특허 KR 2003-0095546 ("웹모듈을 이용한 웹페이지 및 웹사이트 구축방법", (주)아이비솔루션, 2003.12.24 공개)
본 발명의 목적은 다양한 웹 디자인 요구를 해결할 수 있도록 웹 디자인을 디자인 상속을 통해 디자인 룰, 상속 룰 및 요청된 주소에 의해 자동화된 웹 디자인을 구성할 수 있도록 함으로써, 다양한 웹 클라이언트와 사용자에게 맞춤 디자인을 제공할 수 있도록 하는 디자인 상속 장치 및 방법, 및 이를 포함하는 웹 서버를 제공하는 것이다.
본 발명의 다른 목적은 각각의 사용자가 표현하고자 하는 디자인의 자유도를 최대한 실현할 수 있는 서비스 기능을 제공함으로써 시간대별, 기간별, 사용자별, 접속 디바이스별로 각기 다른 디자인을 설정하여 웹 클라이언트에게 제공하는 디자인 상속 장치 및 방법, 및 이를 포함하는 웹 서버를 제공하는 것이다.
더욱이, 본 발명의 또 다른 목적은 디자인 생산성을 극대화할 수 있는 기능으로 디자인 상속 개념을 도입함으로써 기존 디자인의 기본 구조가 그대로 다른 디자인에 상속되므로 기존 디자인에서 변경하고자 하는 부분만 수정하여 변환된 디자인 구조를 짧은 시간 내에 완성할 수 있도록 하는 디자인 상속 장치 및 방법, 및 이를 포함하는 웹 서버를 제공하는 것이다.
상기한 문제점을 해결하기 위한 디자인 상속 장치는 웹 클라이언트의 정보에 대응하는 디자인 룰에 따라 상기 웹 클라이언트에게 제공할 현재 디자인 및 상기 현재 디자인의 디자인 객체를 선택하는 디자인 라우터; 상기 선택된 디자인 및 디자인 객체를 상속 룰에 의해 상속하는 디자인 크리에이터; 및 상기 상속된 디자인 및 디자인 객체를 웹 응용 프로그램을 통해 제공하는 디자인 디스패처를 포함할 수 있다.
상기 디자인 라우터는 웹 서버를 통해 상기 웹 클라이언트의 정보를 취득하는 정보 취득부; 상기 웹 클라이언트의 정보에 대응하는 디자인 룰을 추출하는 디자인 룰 추출부; 및 상기 디자인 룰을 기반으로 상기 웹 클라이언트에게 제공할 현재 디자인 및 상기 현재 디자인의 디자인 객체를 선택하는 디자인 선택부를 포함할 수 있다.
상기 정보 취득부는 상기 웹 클라이언트의 URL, 환경, 접속 디바이스, 사용자, HTTP Request Header, IP 헤더, 시스템 시간 및 시스템 언어를 취득하고, 상기 디자인 룰 추출부는 상기 취득된 웹 클라이언트의 URL, 환경, 접속 디바이스, 사용자, HTTP Request Header, IP 헤더, 시스템 시간 및 시스템 언어 중 적어도 어느 하나를 기준으로 상기 디자인 룰을 추출할 수 있다.
상기 상속 룰은 상기 현재 디자인과 상기 현재 디자인의 상위 디자인과의 상속 관계를 포함할 수 있다.
상기 디자인 크리에이터는 상기 현재 디자인의 디자인 객체 및 상기 상속 룰에 의해 선택된 상위 디자인의 디자인 객체로부터 참조 기능자와 상속 기능자를 식별하는 식별부; 및 상기 참조 기능자와 상속 기능자를 기반으로 상기 디자인 객체를 상속하는 상속부를 포함할 수 있다.
상기 식별부는 상기 상속 기능자를 식별하여 상기 디자인 객체의 내부에서 상기 디자인 객체의 상위 디자인 객체를 재지정하고, 상기 참조 기능자를 식별하여 상기 디자인 객체의 내부에서 상기 디자인 객체 내부에 참조할 파일을 선택할 수 있다.
상기 상속부는 현재 디자인의 디자인 객체 및 상기 상위 디자인의 디자인 객체와 다른 디자인 객체를 포함하여 상기 디자인 객체를 부분 상속할 수 있다.
상기 디자인 크리에이터가 상기 디자인 객체를 상속시, 상기 디자인 객체의 파일 전체를 상속하는 전체 상속 또는 상기 디자인 객체의 상위 디자인 객체로부터 일부분을 상속하는 부분 상속 중 어느 하나를 통해 상속할 수 있다.
상기 디자인 상속 장치는 적어도 하나의 디자인 및 디자인 객체를 저장하고 있는 디자인 저장부를 더 포함할 수 있다.
상기 디자인 상속 장치는 적어도 하나의 디자인 룰 및 상속 룰을 저장하고 있는 룰 저장부를 더 포함할 수 있다.
상기한 문제점을 해결하기 위한 디자인 상속 방법은 웹 클라이언트의 정보에 대응하는 디자인 룰에 따라 상기 웹 클라이언트에게 제공할 현재 디자인 및 상기 현재 디자인의 디자인 객체를 선택하는 선택 단계; 상기 선택된 디자인 및 디자인 객체를 상속 룰에 의해 상속하는 상속 단계; 및 상기 상속된 디자인 및 디자인 객체를 웹 응용 프로그램을 통해 제공하는 제공 단계를 포함할 수 있다.
상기 선택 단계는 웹 서버를 통해 상기 웹 클라이언트의 정보를 취득하는 정보 취득 단계; 상기 웹 클라이언트의 정보에 대응하는 디자인 룰을 추출하는 디자인 룰 추출 단계; 및 상기 디자인 룰을 기반으로 상기 웹 클라이언트에게 제공할 현재 디자인 및 상기 현재 디자인의 디자인 객체를 선택하는 디자인 선택 단계를 포함할 수 있다.
상기 정보 취득 단계는 상기 웹 클라이언트의 URL, 환경, 접속 디바이스, 사용자, HTTP Request Header, IP 헤더, 시스템 시간 및 시스템 언어를 취득하는 단계를 포함하고, 상기 디자인 룰 추출 단계는 상기 취득된 웹 클라이언트의 URL, 환경, 접속 디바이스, 사용자, HTTP Request Header, IP 헤더, 시스템 시간 및 시스템 언어 중 적어도 어느 하나를 기준으로 상기 디자인 룰을 추출하는 단계를 포함할 수 있다.
상기 상속 룰은 상기 현재 디자인과 상기 현재 디자인의 상위 디자인과의 상속 관계를 포함할 수 있다.
상기 상속 단계는 상기 현재 디자인의 디자인 객체 및 상기 상속 룰에 의해 선택된 상기 상위 디자인의 디자인 객체로부터 참조 기능자와 상속 기능자를 식별하는 식별 단계; 및 상기 참조 기능자와 상속 기능자를 기반으로 상기 디자인 객체를 상속하는 디자인 객체 상속 단계를 포함할 수 있다.
상기 식별 단계는 상기 상속 기능자를 식별하여 상기 디자인 객체의 내부에서 상기 디자인 객체의 상위 디자인 객체를 재지정하고, 상기 참조 기능자는 상기 디자인 객체의 내부에서 상기 디자인 객체 내부에 참조할 파일을 선택하는 단계를 포함할 수 있다.
상기 디자인 객체 상속 단계는 상기 현재 디자인의 디자인 객체 및 상기 상위 디자인의 디자인 객체와 다른 디자인 객체를 포함하여 상기 디자인 객체를 부분 상속하는 단계를 포함할 수 있다.
상기 상속 단계는 상기 디자인 객체를 상속시, 파일 전체를 상속하는 전체 상속 또는 상기 현재 디자인의 상위 디자인의 디자인 객체로부터 상속하는 부분 상속 중 어느 하나를 통해 상속하는 단계를 포함할 수 있다.
상기 제공 단계는 상기 디자인 객체가 상기 웹 응용 프로그램에서 실행이 가능한 객체인지 확인하는 단계; 및 상기 실행이 가능한 디자인 객체를 스크립트 언어를 통해 실행함으로써 제공하는 단계를 포함할 수 있다.
상기한 문제점을 해결하기 위한 디자인 상속 장치를 포함하는 웹 서버는 디자인 객체를 실행함으로써 웹 클라이언트에게 제공하는 웹 응용 프로그램; 및 상기 웹 클라이언트의 정보에 대응하는 디자인 룰에 따라 상기 웹 클라이언트에게 제공할 현재 디자인 및 상기 현재 디자인의 디자인 객체를 선택하고, 상기 선택된 디자인 및 디자인 객체를 상속 룰에 의해 상속하며, 상기 상속된 디자인 및 디자인 객체를 상기 웹 응용 프로그램을 통해 제공하는 디자인 상속 장치를 포함할 수 있다.
본 발명의 디자인 상속 장치 및 방법, 및 이를 포함하는 웹 서버에 따르면, 웹 사용자의 환경에 맞게 제공하고자 하는 디자인을 용이하게 상속받음으로써 사용자의 URL, 환경, 접속 디바이스, 사용자, HTTP Request Header, IP 헤더, 시스템 시간 및 시스템 언어에 적합한 디자인을 제공하는 효과가 있다.
또한, 본 발명의 디자인 상속 장치 및 방법, 및 이를 포함하는 웹 서버에 따르면, 웹 사이트 운영자에게 차별화된 서비스 운영을 할 수 있는 다양한 팁을 제공하는 동시에, 서로 다른 웹 사이트 메인 페이지를 설정하고 실험함으로써 실제 웹 사용자로부터 일어나는 클릭수와 컨버전율을 토대로 더 좋은 메인 페이지를 결정하는데 사용될 수 있는 효과가 있다.
더욱이, 본 발명의 디자인 상속 장치 및 방법, 및 이를 포함하는 웹 서버에 따르면, 디자인에 대한 상속 개념을 도입함으로써 디자인의 생산성을 극대화할 수 있고, 종래에 디자인 생산성을 저해했던 요소를 제거함으로써 디자인 작업의 퍼포먼스(performance)를 크게 향상시킬 수 있는 효과가 있다.
도 1a는 본 발명의 일 실시예에 따른 디자인 상속 장치의 시간별, 기간별 테마 예약 설정 기능을 설명하기 위한 도면,
도 1b는 본 발명의 일 실시예에 따른 디자인 상속 장치의 사용자 디바이스에 맞춘 테마 예약 설정 기능을 설명하기 위한 도면,
도 2는 본 발명의 일 실시예에 따른 디자인 상속 장치의 디자인 상속 기능을 설명하기 위한 도면,
도 3은 본 발명의 일 실시예에 따른 디자인 상속 장치의 디자인과 디자인 객체의 예시적인 구성을 나타낸 도면,
도 4는 본 발명의 일 실시예에 따른 디자인 상속 장치를 포함하는 웹 서버 및 웹 클라이언트의 관계를 개략적으로 나타낸 블록도이다.
도 5는 본 발명의 일 실시예에 따른 디자인 상속 장치를 포함하는 웹 서버 내의 디자인 상속 장치와 웹 응용 프로그램의 관계를 구체적으로 나타낸 상세블록도,
도 6은 본 발명의 일 실시예에 따른 디자인 상속 장치를 포함하는 웹 서버와 웹 클라이언트의 관계 및 웹 서버 내의 웹 응용 프로그램과 디자인 상속 장치의 관계를 구체적으로 나타낸 상세블록도,
도 7은 본 발명의 일 실시예에 따른 디자인 상속 장치의 컨트롤부를 개략적으로 나타낸 블록도,
도 8은 본 발명의 일 실시예에 따른 디자인 상속 장치의 디자인 라우터를 구체적으로 나타낸 상세블록도,
도 9는 웹 클라이언트의 HTTP Request Header 정보의 예를 도시한 도면,
도 10은 상속 관계의 일 실시예를 도시한 도면,
도 11a는 본 발명의 일 실시예에 따른 디자인 상속 장치의 상속 기능자를 설명하기 위해 Default 디자인의 index.html을 도시한 도면,
도 11b는 본 발명의 일 실시예에 따른 디자인 상속 장치의 상속 기능자를 설명하기 위해 Skin1 디자인의 index.html을 도시한 도면,
도 11c는 본 발명의 일 실시예에 따른 디자인 상속 장치의 상속 기능자를 설명하기 위해 Skin1 디자인의 index.html의 상속 기능자를 처리한 결과를 도시한 도면,
도 12a는 본 발명의 일 실시예에 따른 디자인 상속 장치의 참조 기능자를 설명하기 위해 Skin1 디자인의 index.html을 도시한 도면,
도 12b는 본 발명의 일 실시예에 따른 디자인 상속 장치의 참조 기능자를 설명하기 위해 Default 디자인의 weather.html을 도시한 도면,
도 12c는 본 발명의 일 실시예에 따른 디자인 상속 장치의 참조 기능자를 설명하기 위해 Skin1 디자인의 index.html의 참조 기능자를 처리한 결과를 도시한 도면,
도 13은 본 발명의 다른 실시예에 따른 디자인 상속 방법을 개략적으로 나타낸 흐름도,
도 14는 본 발명의 다른 실시예에 따른 디자인 상속 방법의 디자인 선택 단계를 구체적으로 나타낸 상세흐름도,
도 15는 본 발명의 다른 실시예에 따른 디자인 상속 방법에서 웹 클라이언트와 웹 서버간에 전달되는 전체 프로세스를 구체적으로 나타낸 상세흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
디자인 테마 기능 및 디자인 상속 기능
디자인 테마 기능이란 조건에 따라 디자인을 분기하는 기능이다. 즉, 웹 클라이언트의 조건에 따라 디자인의 테마가 변화하는 것을 말한다. 상기 조건으로는 웹 클라이언트의 URL, HTTP Request Header, 시스템 시간, 시스템 언어 등이 있을 수 있다. 예컨대, 웹 사용자가 웹 사이트에 접속하였을 때의 웹 사용자의 컴퓨터(웹 클라이언트)의 시간 또는 기간에 따라 다른 테마 화면을 제공할 수 있다. 또한, 웹 사용자의 접속 위치에 따라 다른 테마 화명을 제공할 수도 있다. 이를 위해서는 조건에 따라 디자인을 다르게 선택하는 툴이 필요하다. 본 발명에서는 이러한 역할을 디자인 룰이 수행한다. 디자인 룰과 관련하여, 본 발명은 웹 사용자의 여러가지 다양한 조건에 따라 다른 디자인 룰을 적용한다. 다른 디자인 룰에 따라 웹 사용자에 대응하는 디자인을 선택할 수 있다.
테마 예약 설정 기능이란, 상기 테마 기능을 디자인의 자유도를 최대한 실현할 수 있는 서비스 기능을 제공하는 것으로 쇼핑몰과 같은 웹 사이트 운영자에게 차별화된 서비스 운영을 할 수 있는 다양한 팁을 제공하는 기능이다. 이 기능은 웹 사이트 최적화 도구 실험이라 할 수 있는 A/B 테스트를 실행할 수 있다. 예컨대, 메인 페이지 디자인을 대대적으로 개편할 때, 최종 A버전과 B버전을 두고 고심하는 상황이 있을 수 있다. 이러한 경우, 테마 예약 설정 기능을 통해 A버전과 B버전 둘 중 어느 버전에 보다 좋은 반응을 보이는지 실험을 통해 결정할 수 있다. 실험은 실제 일어나는 클릭수와 컨버전율(어떤 버전을 보았는지 나타내는 지수)을 토대로 결정할 수 있다.
도 1a는 본 발명의 일 실시예에 따른 디자인 상속 장치의 시간별, 기간별 테마 예약 설정 기능을 설명하기 위한 도면이다. 도 1a에 도시된 바와 같이, 본 발명의 일 실시예에 따른 디자인 상속 장치는 특정 시간대에 사용자가 접속하는 경우, 그 시간대에 맞는 테마를 예약 설정해 놓았다가 사용자에게 제공할 수 있다.
도 1a를 참조하면, 디자인 상속 장치의 테마 예약이 오전 9시부터 오전 10시까지는 해 그림을 제공하도록 설정되어 있고, 오후 8시부터 오후 11시까지는 달 그림을 제공하도록 설정되어 있다. 이때, 사용자가 오전 9시에 접속하는 경우 사용자의 컴퓨터에는 해 그림이 실행되게 되어 있고, 오후 10시에 접속하는 경우 달 그림이 실행되게 되어 있다. 따라서, 쇼핑몰과 같은 웹 사이트 운영자는 원하는 시점에 자유롭게 디자인을 변화시킬 수 있다. 또한, 도 1a에 도시되어 있지는 않지만, 기간에 따라서도 테마 예약 설정을 할 수 있다. 즉, 12월부터 2월까지는 겨울을 나타내는 그림을 제공하고, 6월부터 8월에는 여름을 나타내는 그림을 제공할 수 있다.
도 1b는 본 발명의 일 실시예에 따른 디자인 상속 장치의 사용자 디바이스에 맞춘 테마 예약 설정 기능을 설명하기 위한 도면, 도 1b에 도시된 바와 같이, 본 발명의 일 실시예에 따른 디자인 상속 장치는 사용자 디바이스를 기준으로 다른 테마를 예약 설정해 놓았다가 사용자에게 제공할 수 있다.
도 1b를 참조하면, 디자인 상속 장치의 테마 예약이 접속 디바이스에 따라 다르게 설정되어 있는 것을 알 수 있다. 먼저, 사용자 디바이스가 컴퓨터인 경우, 테마 그림은 풍선 3개가 나란히 그려져 있는 그림이 되고, 사용자 디바이스가 휴대폰인 경우, 테마 그림은 풍선 하나가 그려져 있는 그림이 되도록 예약 설정할 수 있다. 이러한 경우, 사용자는 컴퓨터를 이용하여 접속하는 경우와 휴대폰을 이용하여 접속하는 경우 다른 테마 그림이 제공되어 각 디바이스에 적합한 최적의 인터페이스가 제공되는 효과가 있다.
도 2는 본 발명의 일 실시예에 따른 디자인 상속 장치의 디자인 상속 기능을 설명하기 위한 도면이다. 도 2에 도시된 바와 같이, 본 발명에 따른 디자인 상속 기능은 디자인 생산성의 제고를 위해 특정 디자인을 여러 사용자가 보다 쉽게 사용하기 위해 디자인을 제공하는 기능이라 할 수 있다.
도 2를 참조하면, A버전이라는 디자인을 토대로 A-1 버전의 디자인으로 변경하고자 할 경우, 종래의 작업은 A버전의 소스 전체를 복사하여, 복사한 파일을 수정함으로써 A-1을 완성해 가는 프로세스로 상당히 번거롭고 손이 많이 가는 작업이었다. 하지만 본 발명의 디자인 상속 장치는 상속 개념을 도입함으로써 A버전의 기본 구조가 그대로 A-1버전으로 상속되므로 A버전에서 변경하고자 하는 부분만 수정하면 A-1버전이 짧은 시간 안에 용이하게 완성되며, 불필요한 파일의 저장이 필요 없어진다. 이 기능은 지금까지의 디자인의 생산성을 저해했던 요소를 완전히 제거함으로써 디자인 생산 작업의 퍼포먼스를 크게 향상시킬 수 있다.
도 3은 본 발명의 일 실시예에 따른 디자인 상속 장치의 디자인과 디자인 객체의 예시적인 구성을 나타낸 도면이다. 도 3에 도시된 바와 같이, 디자인은 전체 웹 사이트 디자인의 완성 형태로 구성될 수 있다.
도 3을 참조하면, 디자인은 다수의 디자인 객체를 보유하고 있으며, 하나의 테마/스킨과 같은 역할을 담당한다. 디자인 객체 저장 매체가 파일인 경우 도 3에 도시된 바와 같이, 시각화될 수 있다. "/public_html"은 다수의 디자인을 모아놓은 디자인 저장부의 카테고리를 나타내고, "/public_html/default"는 상기한 바와 같이 디자인을 나타낸다. 이는 하나의 사이트 웹 디자인을 구성하고, 테마/스킨으로 정의될 수 있다.
디자인 객체는 저장 매체에 보관된 데이터 형식의 웹 디자인 요소를 의미한다. 예컨대, 디자인 객체는 HTML, XML, Javascript, CSS, 이미지 등의 데이터 형식을 갖추어 파일/디렉토리로 구성되는 파일 시스템 또는 데이터베이스 관리 시스템(DBMS) 등 다양한 저장 매체에 저장될 수 있다.
디자인 상속 장치 및 이를 포함하는 웹 서버
도 4는 본 발명의 일 실시예에 따른 디자인 상속 장치를 포함하는 웹 서버 및 웹 클라이언트의 관계를 개략적으로 나타낸 블록도이다. 도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 디자인 상속 장치(412)를 포함하는 웹 서버(410)는 디자인 상속 장치(412)와 웹 응용 프로그램(414)을 포함할 수 있다. 상기 웹 서버(410)는 웹 클라이언트(400)와 통신할 수 있다. 일반적으로, 웹 클라이언트(400)와 웹 서버(410)는 인터넷 망을 이용하여 서로 통신할 수 있다.
도 4를 참조하여 본 발명의 일 실시예에 따른 디자인 상속 장치(412)를 포함하는 웹 서버(410) 및 웹 클라이언트(400)의 동작을 간단히 설명하면, 웹 클라이언트(400)가 인터넷 망을 통해 웹 서버(410)에 접속하면, 웹 서버(410) 내의 디자인 상속 장치(412)에서 디자인을 상기 웹 클라이언트(400)의 정보에 따라 선택하고 선택된 디자인을 상속함으로써 생성하며, 상속된 디자인 및 디자인 객체를 웹 응용 프로그램(414)을 통해 웹 클라이언트(400)에 제공할 수 있다. 웹 응용 프로그램(414)은 디자인 객체를 실행함으로써 웹 클라이언트(400)에게 제공하는 기능을 담당한다.
도 5는 본 발명의 일 실시예에 따른 디자인 상속 장치를 포함하는 웹 서버 내의 디자인 상속 장치와 웹 응용 프로그램의 관계를 구체적으로 나타낸 상세블록도이다. 웹 서버(500)는 디자인 상속 장치(510)와 웹 응용 프로그램(550)을 포함할 수 있다. 두 구성요소의 관계는 상기에서 설명한 바와 같다.
도 5를 참조하면, 디자인 상속 장치(510)는 컨트롤부(520), 디자인 저장부(530) 및 관리부(540)를 포함할 수 있다. 컨트롤부(520)는 디자인 저장부(530)에 저장되어 있는 디자인 객체를 로딩하여 웹 클라이언트(400)에게 제공할 수 있도록 디자인 객체를 선택하고 상속하여 제공 가능한 형태로 생성하고 이를 웹 응용 프로그램(550)에서 실행시키는 기능을 수행한다. 컨트롤부(520)는 디자인 라우터(522), 디자인 크리에이터(524) 및 디자인 디스패처(526)를 포함할 수 있다. 디자인 라우터(522)는 웹 클라이언트(400)의 정보에 대응하는 디자인 룰에 따라 상기 웹 클라이언트(400)에게 제공할 디자인 및 상기 디자인의 디자인 객체를 선택하는 기능을 수행한다. 다지인 크리에이터(524)는 선택된 디자인을 생성하는 구성요소로, 상기 선택된 디자인 및 디자인 객체를 상속 룰에 의해 상속함으로써 생성한다. 디자인 디스패처(526)는 상기 상속된 디자인 및 디자인 객체를 웹 응용 프로그램(550)을 통해 웹 클라이언트(400)에게 제공하는데 이때, 웹 응용 프로그램(550)에서 실행하거나 또는 바로 출력하는 형태로 웹 클라이언트(400)에게 해당 디자인 및 디자인 객체를 제공한다.
디자인 저장부(530)에는 다수의 디자인으로 구성되어 있다. 실질적으로는, 다수의 디자인을 구성할 수 있도록 데이터 형식을 갖춘 다수의 디자인 객체가 저장되어 있는 것으로 볼 수 있다. 관리부(540)에는 디자인 상속 장치(530)의 제어를 위한 설정 블록이 포함되어 있다. 설정 블록은 디자인 룰과 상속 룰을 설정하는 기능을 제공한다. 또한 관리부(540)에는 디자인 룰 및 상속 룰이 포함되어 있다. 즉, 관리부(540)는 전체적으로 디자인 상속 장치(540)의 환경을 설정하는 기능을 담당한다. 디자인 룰은 디자인 라우팅 룰로써 웹 클라이언트(400)의 URL, HTTP Request Header, IP 헤더 및 시스템 시간 등 사용자의 요청과 시스템을 기준으로 작성될 수 있고, 디자인 룰에 따라 웹 클라이언트(400)에게 제공될 디자인이 선택되게 된다. 즉, 디자인 룰은 특정 웹 클라이언트(400)에 적응적으로 적합한 디자인을 선택하는 룰을 제공한다. 상속 룰은 디자인 서로 간의 상속 관계를 나타내는 룰을 의미한다. 이는 이하에서 보다 상세히 설명하도록 한다. 웹 응용 프로그램(550)은 디자인 상속 장치(510)에서 생성한 디자인 객체를 실행함으로써 웹 클라이언트(400)에게 제공한다.
도 6은 본 발명의 일 실시예에 따른 디자인 상속 장치를 포함하는 웹 서버와 웹 클라이언트의 관계 및 웹 서버 내의 웹 응용 프로그램과 웹 디자인 상속 장치의 관계를 구체적으로 나타낸 상세블록도이다. 웹 클라이언트(610)와 웹 서버(620)는 서로 인터넷 망 등을 통해 직접적으로 통신할 수 있다.
도 6을 참조하면, 웹 클라이언트(610)는 웹 브라우저(612)를 이용하여 웹 서버(620)에 액세스(access)할 수 있다. 웹 브라우저(612)는 인터넷 표준 HTTP/HTTPS 프로토콜을 이용한 월드 와이드 웹(WWW)을 이용할 수 있다.
웹 서버(620)는 상기한 바와 같이, 디자인 상속 장치(630) 및 웹 응용 프로그램을 포함할 수 있다(660). 디자인 상속 장치는 디자인 라우터(632), 디자인 크리에이터(634), 디자인 디스패처(636) 및 디자인 저장부(640)를 포함할 수 있다. 또한, 도 6에는 도시되지 않았지만, 디자인 룰(642), 상속 룰(644) 및 설정(652)를 포함하는 관리부(미도시)를 포함할 수 있다.
각 구성요소 간의 관계를 보다 상세히 살펴보면, 디자인 라우터(632)는 디자인 룰(642)을 이용하여 웹 클라이언트(610)에게 제공할 디자인 및 디자인을 구성하는 디자인 객체를 디자인 저장부(640)로부터 선택한다. 디자인 룰(642)은 웹 클라이언트(610)의 정보에 따라 디자인 저장부(640)에 저장된 디자인 중에서 웹 클라이언트(610)에 제공할 디자인을 선택하는 룰이기 때문에 각 웹 클라이언트(610)의 특성에 맞게 다양하게 구성될 수 있다. 디자인 라우터(632)는 디자인 룰(642) 및 웹 클라인언트(610)가 접속한 주소를 분석하여 디자인 및 디자인 객체를 선택할 수 있다.
디자인 크리에이터(634)는 디자인 라우터(632)에서 선택된 디자인 및 디자인 객체를 상속 룰(644)을 이용하여 상속한다. 선택된 디자인이 디자인 저장부(640)에 없는 경우, 다른 디자인으로부터 상속을 받을 수 있다. 상속의 핵심은 요청받은 디자인이 없는 경우 상기 디자인의 상위 디자인을 참조하여 요청을 처리하는 것이다. 이를 위해 디자인 저장부(640)에 저장되어 있는 각 디자인 및 디자인 객체는 각기 다른 상속 룰(644)을 가지고 있다.
디자인 디스패처(636)는 웹 응용 프로그램(660)을 통해 웹 클라이언트(610)의 웹 브라우저(612)에 다지인 크리에이터(634)에서 상속함으로써 생성한 디자인을 제공하는 기능을 수행한다.
설정 블록(652)은 디자인 룰(642) 및 상속 룰(644)을 설정하는 기능을 수행한다. 디자인 룰(642)은 웹 클라이언트(610)의 특성에 맞추어 설정을 변경할 수 있다. 상속 룰(644)은 각 디자인의 상속 관계에 따라 변할 수 있다.
도 7은 본 발명의 일 실시예에 따른 디자인 상속 장치의 컨트롤부(520)를 개략적으로 나타낸 블록도이다. 도 7에 도시된 바와 같이, 본 발명의 일 실시예에 따른 디자인 상속 장치의 컨트롤부(520)는 디자인 라우터(710), 디자인 크리에이터(720) 및 디자인 디스패처(730)를 포함할 수 있다.
도 8은 본 발명의 일 실시예에 따른 디자인 상속 장치의 디자인 라우터(710)를 구체적으로 나타낸 상세블록도이다. 디자인 라우터(710)는 정보 취득부(810), 디자인 룰 추출부(820) 및 디자인 선택부(830)를 포함할 수 있다. 본 발명의 일 실시예에 따른 디자인 라우터(710)는 조건에 따른 디자인 분기를 위한 중요한 구성요소이다. 디자인 라우터(710)는 조건을 룰로 생성하여, 추후 조건이 추가/변경되더라고 룰만 추가/변경하여 쉽게 적용될 수 있는 룰 기반 시스템이다. 각 디자인 룰은 관리부에 저장되며, 웹 사이트의 성능을 위해 최초 조건 확인 이후에는 캐쉬(cache)를 이용한다. 룰은 시간/접근디바이스/프로모션 룰 등을 이용한 해쉬(hash) 값을 생성하여 웹 요청을 수행할 때, 간단한 비교가 가능하도록 한다.
도 8을 참조하면, 디자인 라우터(710)는 디자인 룰을 이용하여 웹 클라이언트(400)에게 제공할 디자인을 선택한다. 먼저, 정보 취득부(810)는 웹 클라이언트(400)의 정보를 취득하는 기능을 수행한다. 이때, 취득하는 정보로는 상기 웹 클라이언트(400)의 URL, 환경, 접속 디바이스, 사용자, HTTP Request Header, IP 헤더, 시스템 시간 및 시스템 언어 정보 등을 취득할 수 있다. 이는 웹 클라이언트(400)로부터 전송된 패킷을 이용할 수 있으나, 기본적으로 웹 서버를 통해 상기 웹 클라이언트(400)의 정보를 취득할 수 있다.
다음으로, 디자인 룰 추출부(820)는 정보 취득부(810)에서 취득한 웹 클라이언트(400)의 정보를 토대로 상기 웹 클라이언트(400)에게 제공하기 적합한 디자인을 선택하기 위해 적절한 다양한 디자인 룰 중 최적의 디자인 룰을 추출한다. 따라서, 디자인 라우터(710)에서의 디자인 선택에 있어서, 디자인 룰과 웹 클라이언트(400)의 정보가 디자인 선택하는 중요한 기준이 된다.
디자인 룰에 대해 보다 상세히 살펴보면, 디자인 룰은 설정 블록에 의해 설정될 수 있다. 디자인은 하나 이상의 디자인 룰을 가지며, 디자인 룰은 웹 클라이언트(400)의 URL, HTTP Request Header, IP 헤더 및 시스템 시간 등 사용자 요청과 시스템을 기준으로 작성될 수 있다. 도 9는 웹 클라이언트(400)의 HTTP Request Header 정보의 예를 도시한 도면이다. 이러한 HTTP Request Header 정보는 정보 취득부(810)를 통해 취득할 수 있다. 도 9에 도시된 바와 같이, HTTP Request Header 정보에는 호스트 주소가 포함되어 있다. 도 9의 경우에는 user.cafe24.com이 된다. 또한, 사용자-에이전트 정보가 포함되어 있고 시스템 언어도 포함되어 있다. 사용자-에이전트 정보를 통해 사용자의 요청이 윈도우 PC에서 이루어진다는 것을 알 수 있다. 이러한 정보를 통해 디자인 룰을 설정할 수 있고, 설정된 디자인 룰에 따라 디자인 라우터(710)는 다른 디자인을 선택할 수 있다.
디자인 룰의 설정의 예를 살펴보면, 웹 클라이언트(400)의 요청이 윈도우 PC에서 이루어진 경우, 디자인 A를 선택하고 휴대폰에서 이루어진 경우, 디자인 B를 선택하도록 설정될 수 있다. 또한 웹 클라이언트(400)의 요청이 아침 9시에 이루어진 경우, 시스템 시간에 따라 특정 디자인을 선택하도록 설정될 수 있다. 이러한 웹 클라이언트(400)의 정보는 상기한 바와 같이, 웹 클라이언트(400)의 URL, HTTP Request Header, IP 헤더, 시스템 시간, 시스템 언어 등이 될 수 있고, 상기 정보를 통해 다양한 디자인 룰을 설정할 수 있다. 정보 추출부(810)는 상기 웹 클라이언트(400)의 정보를 취득하고, 디자인 룰 추출부(820)는 설정되어 있는 다양한 디자인 룰 중 상기 웹 클라이언트(400)에 대응하는 적합한 디자인 룰을 추출하고, 디자인 선택부(830)는 디자인 룰 추출부(820)에서 추출된 디자인 룰을 기반으로 최적의 디자인을 선택하게 된다.
다시 도 7로 돌아가서, 디자인 크리에이터(720)에 대해 살펴보면, 디자인 크리에이터(720)는 디자인 라우터(710)에서 선택된 디자인을 생성하는 기능을 수행하는데, 이때 상속이란 개념을 도입한다는 데 특징이 있다. 디자인은 서로간에 상속 관계를 형성할 수 있다.
디자인 크리에이터(720)는 상속 룰을 이용하여 상속을 하는데, 상속의 방법에는 두 가지가 있다. 하나는 상속할 대상 디자인 파일 전체를 상속하는 전체 상속이 있고, 다른 하나는 상위 상속 디자인의 디자인 객체에서 일부분을 상속하는 부분 상속이 있다. 전체 상속의 경우에는 파일 내용 전체를 상속하는 것이므로 파일 내용이 변화하지 않는다.
상속의 종류도 두 가지가 있다. 이는 텍스트 디자인 객체에 대한 것과 이를 제외한 나머지 디자인 객체에 대한 것으로 나눌 수 있다. 도 10은 상속 관계의 일 실시예를 도시한 도면이다. 도 10에 도시된 바와 같이, Skin1은 Default의 하위 개념으로 구성되고, Skin2, Skin3는 Skin1의 하위 개념이고, Skin4는 Skin2의 하위 개념이 된다. Skin1 디자인의 상위 디자인은 Default 디자인이 된다.
먼저 첫 번째로, HTML, XML, Javascipt, CSS 등 텍스트 디자인 객체에 대한 상속 방법을 설명한다. 상속 관계의 예에서 각각이 상속은 다음과 같이 이루어진다. 본 실시예는 프로그래밍 언어 방식으로 표현된다.
기본적으로 상속이란 개념은 객체지향개념의 상속과 동일하다. 먼저 웹 클라이언트(400)의 요청이 있고, 상기 요청은 index.html 요청 기준으로 하여 디자인 라우터(710)에서 Skin1 디자인을 선택할 경우를 예로 들어 설명한다.
이 경우, 디자인 크리에이터(720)는 Skin1 디자인의 index.html 디자인 객체를 확인한다(/public_html/skin/index.html). 그리고는, Skin1 디자인의 index.html 디자인 객체의 존재 여부 및 상속 기능자의 존재 여부를 확인한다. 다음으로, (i) 디자인 객체가 존재하고 상속 기능자가 존재하지 않으면 'Skin 디자인의 index.html 디자인 객체를 반환하고 그 결과를 Skin1 디자인에 캐쉬하고 디자인 크리에이터(720)의 작업은 완료된다.
(ii) 만약 (i)의 경우가 아닌 다른 모든 경우에는 상속 룰을 확인하여 상위 상속 개체를 확인한다. 본 실시예의 경우에는 Skin1의 상위 개체인 Default 디자인을 상속할 수 있다. 그리고는 Default 디자인의 index.html 디자인 객체를 확인한다(/public_html/default/index.html). 여기서, Skin1 디자인의 index.html 디자인 객체에 상속 기능자가 존재하는 경우, Skin1 디자인의 index.html 디자인 객체에 Default 디자인의 index.html 디자인 객체를 부분 상속한다. 경우에 따라서는 Default 디자인의 index.html 디자인 객체 전체를 상속할 수도 있다. 마지막으로, 상속된 디자인 객체의 결과를 Skin1 디자인에 캐쉬한다.
두 번째로, 텍스트 디자인 객체 이외의 나머지 디자인 객체에 대한 상속 방법을 설명한다. 먼저 웹 클라이언트의 요청을 받는다. 여기서, 상기 요청은 img/design.jpg를 기준으로 하고, 디자인 라우터(710)에서 Skin1 디자인을 선택한 것을 예로 들어 설명한다.
이 경우, 디자인 크리에이터(720)는 Skin1 디자인의 index.html 디자인 객체를 확인한다(/public_html/skin/img/design.jpg). 그리고는, Skin1 디자인의 img/design.jpg 디자인 객체의 존재 여부를 확인한다. 텍스트 디자인 객체의 경우와 다른 점은 상속 기능자의 존재 여부를 확인하지 않는다는 점이다. 다음으로, (i) 디자인 객체가 존재하면 'Skin 디자인의 img/design.jpg 디자인 객체를 반환하고 그 결과를 Skin1 디자인에 캐쉬하고 디자인 크리에이터(720)의 작업은 완료된다.
(ii) 만약 (i)의 경우가 아닌 다른 모든 경우에는 상속 룰을 확인하여 상위 상속 개체를 확인한다. 본 실시예의 경우에는 Skin1의 상위 개체인 Default 디자인을 상속할 수 있다. 그리고는 Default 디자인의 img/design.jpg 디자인 객체를 확인한다(/public_html/default/img/design.jpg). Default 디자인의 img/design.jpg 디자인 객체가 존재하면, 이를 반환한다. 마지막으로, 반환된 결과를 Skin1 디자인에 캐쉬한다.
다음으로, 상속 기능자 및 참조 기능자에 대해 설명한다.
먼저, 상속 기능자란 텍스트 디자인 객체 내부에서 상위 디자인 객체를 재지정할 구성요소를 선택하는데 사용되는 기능자로서 다수 개를 사용하는 것이 가능하다.
본 발명의 바람직한 실시예에서는, 상기한 바와 같이 Skin1 디자인이 Default 디자인을 상속하는 경우를 설명한다. 도 11a는 본 발명의 일 실시예에 따른 디자인 상속 장치의 상속 기능자를 설명하기 위해 Default 디자인의 index.html을 도시한 도면이다. 도 11a를 참조하면, Default 디자인의 index.html의 경우 <!--@extend('weather')--> 이하의 부분에 오늘의 날씨가 적혀 있고, 바람과 초속 0.4m의 문구가 들어가는 것을 알 수 있다. 도 11b는 본 발명의 일 실시예에 따른 디자인 상속 장치의 상속 기능자를 설명하기 위해 Skin1 디자인의 index.html을 도시한 도면이다. 도 11b를 참조하면, Default 디자인의 하위 디자인인 Skin1 디자인의 경우 <!--@extend('weather')--> 이하의 부분에 내일의 날씨가 적혀 있고, 태풍과 초속 0.8m의 문구가 들어가 있는 것을 알 수 있다. 마지막으로, 도 11c는 본 발명의 일 실시예에 따른 디자인 상속 장치의 상속 기능자를 설명하기 위해 Skin1 디자인의 index.html의 상속 기능자를 처리한 결과를 도시한 도면이다. 도 11c를 참조하면, 상속 기능자를 처리한 결과, 상속 기능자 처리 전 Skin1 디자인의 내일의 날씨, 태풍, 초속 0.8m의 문구가 그대로 적혀 있고, Skin1 디자인의 상위 디자인인 Default 디자인이 재지정된 것을 알 수 있다. 이렇게 함으로써 상위 디자인 객체의 배경을 하위 디자인에 상속할 수 있다.
다음으로, 참조 기능자란 텍스트 디자인 객체 내부에서 현재 디자인이나, 상위 디자인 객체를 내부에 참조(추가)할 파일을 선택하는데 사용되는 기능자로서, 상속 기능자와 마찬가지로 다수 개를 사용할 수 있다.
본 발명의 바람직한 실시예에서는, 상기한 바와 같이 Skin1 디자인이 Default 디자인을 상속하는 경우를 설명한다. 도 12a는 본 발명의 일 실시예에 따른 디자인 상속 장치의 참조 기능자를 설명하기 위해 Skin1 디자인의 index.html을 도시한 도면이다. 도 12a를 참조하면, Skin1 디자인의 index.html의 경우 <!--@import(weather.html)--> 이하의 부분에 다른 문구가 들어 있지 않은 것을 알 수 있다. 도 12b는 본 발명의 일 실시예에 따른 디자인 상속 장치의 참조 기능자를 설명하기 위해 Default 디자인의 weather.html을 도시한 도면이다. 도 12b를 참조하면, Skin1 디자인의 상위 디자인인 Default 디자인의 weather.html의 경우, <div> 이하의 부분에 오늘의 날씨가 적혀 있고, 바람과 초속 0.4m의 문구가 들어가 있는 것을 알 수 있다. 마지막으로, 도 12c는 본 발명의 일 실시예에 따른 디자인 상속 장치의 참조 기능자를 설명하기 위해 Skin1 디자인의 index.html의 참조 기능자를 처리한 결과를 도시한 도면이다. 도 12c를 참조하면, 참조 기능자를 처리한 결과, 참조 기능자 처리 전 Skin1 디자인에 날씨 관련 문구가 없었음에도 불구하고, 처리 후에 Default 디자인에 있던 오늘의 날씨, 바람, 초속 0.4m의 문구가 포함되어 있는 것을 알 수 있다. 이렇게 함으로써 현재 디자인 객체 또는 상위 디자인 객체에 다른 디자인 객체를 포함하도록 하여 상속할 수 있다.
디자인 크리에이터(720)는 디자인 객체를 로딩하는데 있어서, HTML과 웹 디자인 요소를 판별하고 검증하는 과정을 수행할 수 있다. 또한, 디자인 객체를 저장함에 있어서, 디자인 객체와 함께 상위 상속 디자인들 중 어느 하나를 선택하여 저장할 수 있다. 디자인 크리에이터(720)는 웹 클라이언트(400)의 요청과 관련된 웹 주소를 사용하여 디자인의 디자인 객체에 접근할 수 있고, 이를 통해 상기 디자인 객체를 로딩할 수 있다.
결론적으로, 디자인 크리에이터(720)는 상기 상속 기능자 및 참조 기능자를 식별하여 식별된 상속 기능자와 참조 기능자를 기반으로 디자인 객체의 상속을 수행한다.
디자인 디스패처(730)는 디자인 크리에이터(720)에서 상속된 디자인 객체를 웹 응용 프로그램에서 실행하거나 출력한다. 디자인 디스패처(730)가 상속 디자인을 웹 응용 프로그램에서 실행하는데 있어서, 먼저 HTML 또는 XML 등 웹 응용 프로그램 계층에서 실행이 가능한 객체인지 확인한다. 그리고는 확인된 결과를 기반으로, 상기에서 실행이 가능한 디자인 객체를 스크립트 언어에 전달한다. 마지막으로, 스크립트 언어로 전달된 디자인 객체를 웹 응용 프로그램에서 실행시킨다.
디자인 상속 방법
도 13은 본 발명의 다른 실시예에 따른 디자인 상속 방법을 개략적으로 나타낸 흐름도이다. 도 13에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 디자인 상속 방법은 웹 클라이언트의 정보에 대응하는 디자인 룰에 따라 웹 클라이언트에게 제공할 디자인 및 디자인 객체를 선택하는 단계(1310), 선택된 디자인 및 디자인 객체를 상속 룰에 의해 상속하는 단계(1320) 및 상속된 디자인 및 디자인 객체를 웹 응용 프로그램을 통해 제공하는 단계(1330)를 포함할 수 있다. 디자인 상속 장치 및 이를 포함하는 웹 서버의 설명과 중복되는 부분은 생략하기로 한다.
도 14는 본 발명의 다른 실시예에 따른 디자인 상속 방법의 디자인 선택 단계를 구체적으로 나타낸 상세흐름도이다. 도 14에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 디자인 상속 방법은 웹 서버를 통해 웹 클라이언트의 정보를 취득하는 단계(1410), 웹 클라이언트의 정보에 대응하는 디자인 룰을 추출하는 단계(1420) 및 디자인 룰을 기반으로 웹 클라이언트에게 제공할 디자인 및 디자인 객체를 선택하는 단계(1430)를 포함할 수 있다.
도 15는 본 발명의 다른 실시예에 따른 디자인 상속 방법에서 웹 클라이언트와 웹 서버간에 전달되는 전체 프로세스를 구체적으로 나타낸 상세흐름도이다. 웹 클라이언트(1510)는 웹 브라우저 등(1512)을 통해 웹 서버(1520)와 통신할 수 있다. 웹 서버(1520)는 디자인 상속 장치(1530) 및 웹 응용 프로그램(1540)을 포함하고, 디자인 상속 장치(1530)는 디자인 라우터(1532), 디자인 크리에이터(1534) 및 디자인 디스패처(1536)를 포함할 수 있다.
먼저 웹 클라이언트(1510)의 웹 브라우저 등(1512)을 통해 웹 서버(1520)에 접속할 수 있다. 이는 HTTP/HTTPS Request를 통해 이루어진다. 상기 요청을 받은 디자인 라우터(1532)는 웹 클라이언트(1510)의 요청 주소를 기반으로 여러가지 정보를 취득한다. 그리고는 디자인 룰을 비교하여 웹 클아이언트(1510)의 정보에 대응하는 적합한 디자인 룰을 추출하고, 추출된 디자인 룰에 근거하여 적절한 디자인 및 디자인 객체를 선택한다(1550). 그리고 나면, 디자인 크리에이터(1534)는 디자인 상속을 수행한다. 먼저, 디자인 라우터(1532)에서 선택된 디자인 및 다지인 객체를 로딩하고(1552), 디자인 상속 룰을 확인한 후 디자인을 상속한다(1554). 다음으로 디자인 디스패처(1536)는 디자인 크리에이터(1534)에서 상속된 디자인 객체를 출력/실행함으로써 웹 클라이언트(1510)에게 제공하는 기능을 담당한다. 먼저 디자인 객체가 실행 가능한지 확인한다(1556). 확인 결과, 실행 가능한 디자인 객체인 경우, 이를 출력할 수 있고, 웹 응용프로그램(1540)을 통해 상기 디자인 객체를 실행할 수 있다. 웹 응용 프로그램(1540)은 상기 디자인 객체를 실행하고(1558), 상기 실행 결과를 반환할 수 있다. 디자인 객체의 출력 결과 및 실행 결과는 처음 요청했던 것에 대응하여 HTTP/HTTPS Response를 통해 웹 클라이언트(1510)에게 제공된다.
이상 도면 및 실시예를 참조하여 설명하였지만, 본 발명의 보호범위가 상기 도면 또는 실시예에 의해 한정되는 것을 의미하지는 않으며 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (20)

  1. 웹 클라이언트의 정보에 대응하는 디자인 룰에 따라 상기 웹 클라이언트에게 제공할 현재 디자인 및 상기 현재 디자인의 디자인 객체를 선택하는 디자인 라우터;
    상기 선택된 디자인 및 디자인 객체를 상속 룰에 의해 상속하는 디자인 크리에이터; 및
    상기 상속된 디자인 및 디자인 객체를 웹 응용 프로그램을 통해 제공하는 디자인 디스패처를 포함하는 것을 특징으로 하는 디자인 상속 장치.
  2. 제 1 항에 있어서, 상기 디자인 라우터는
    웹 서버를 통해 상기 웹 클라이언트의 정보를 취득하는 정보 취득부;
    상기 웹 클라이언트의 정보에 대응하는 디자인 룰을 추출하는 디자인 룰 추출부; 및
    상기 디자인 룰을 기반으로 상기 웹 클라이언트에게 제공할 현재 디자인 및 상기 현재 디자인의 디자인 객체를 선택하는 디자인 선택부를 포함하는 것을 특징으로 하는 디자인 상속 장치.
  3. 제 2 항에 있어서,
    상기 정보 취득부는 상기 웹 클라이언트의 URL, 환경, 접속 디바이스, 사용자, HTTP Request Header, IP 헤더, 시스템 시간 및 시스템 언어를 취득하고,
    상기 디자인 룰 추출부는 상기 취득된 웹 클라이언트의 URL, 환경, 접속 디바이스, 사용자, HTTP Request Header, IP 헤더, 시스템 시간 및 시스템 언어 중 적어도 어느 하나를 기준으로 상기 디자인 룰을 추출하는 것을 특징으로 하는 디자인 상속 장치.
  4. 제 1 항에 있어서,
    상기 상속 룰은 상기 현재 디자인과 상기 현재 디자인의 상위 디자인과의 상속 관계를 포함하는 것을 특징으로 하는 디자인 상속 장치.
  5. 제 4 항에 있어서, 상기 디자인 크리에이터는
    상기 현재 디자인의 디자인 객체 및 상기 상속 룰에 의해 선택된 상기 상위 디자인의 디자인 객체로부터 참조 기능자와 상속 기능자를 식별하는 식별부; 및
    상기 참조 기능자와 상속 기능자를 기반으로 상기 디자인 객체를 상속하는 상속부를 포함하는 것을 특징으로 하는 디자인 상속 장치.
  6. 제 5 항에 있어서, 상기 식별부는
    상기 상속 기능자를 식별하여 상기 디자인 객체에서 상기 디자인 객체의 상위 디자인 객체를 재지정하고, 상기 참조 기능자를 식별하여 상기 디자인 객체에서 상기 디자인 객체 내부에 참조할 디자인 객체를 선택하는 것을 특징으로 하는 디자인 상속 장치.
  7. 제 5 항에 있어서,
    상기 상속부는 현재 디자인의 디자인 객체 및 상기 상위 디자인의 디자인 객체와 다른 디자인 객체를 포함하여 상기 디자인 객체를 부분 상속하는 것을 특징으로 하는 디자인 상속 장치.
  8. 제 1 항에 있어서,
    상기 디자인 크리에이터가 상기 디자인 객체를 상속시, 상기 디자인 객체의 파일 전체를 상속하는 전체 상속 또는 상기 디자인 객체의 상위 디자인 객체로부터 일부분을 상속하는 부분 상속 중 어느 하나를 통해 상속하는 것을 특징으로 하는 디자인 상속 장치.
  9. 제 1 항에 있어서,
    적어도 하나의 디자인 및 디자인 객체를 저장하고 있는 디자인 저장부를 더 포함하는 것을 특징으로 하는 디자인 상속 장치.
  10. 제 1 항에 있어서,
    적어도 하나의 디자인 룰 및 상속 룰을 저장하고 있는 룰 저장부를 더 포함하는 것을 특징으로 하는 디자인 상속 장치.
  11. 웹 클라이언트의 정보에 대응하는 디자인 룰에 따라 상기 웹 클라이언트에게 제공할 현재 디자인 및 상기 현재 디자인의 디자인 객체를 선택하는 선택 단계;
    상기 선택된 디자인 및 디자인 객체를 상속 룰에 의해 상속하는 상속 단계; 및
    상기 상속된 디자인 및 디자인 객체를 웹 응용 프로그램을 통해 제공하는 제공 단계를 포함하는 것을 특징으로 하는 디자인 상속 방법.
  12. 제 11 항에 있어서, 상기 선택 단계는
    웹 서버를 통해 상기 웹 클라이언트의 정보를 취득하는 정보 취득 단계;
    상기 웹 클라이언트의 정보에 대응하는 디자인 룰을 추출하는 디자인 룰 추출 단계; 및
    상기 디자인 룰을 기반으로 상기 웹 클라이언트에게 제공할 현재 디자인 및 상기 현재 디자인의 디자인 객체를 선택하는 디자인 선택 단계를 포함하는 것을 특징으로 하는 디자인 상속 방법.
  13. 제 12 항에 있어서,
    상기 정보 취득 단계는 상기 웹 클라이언트의 URL, 환경, 접속 디바이스, 사용자, HTTP Request Header, IP 헤더, 시스템 시간 및 시스템 언어를 취득하는 단계를 포함하고,
    상기 디자인 룰 추출 단계는 상기 취득된 웹 클라이언트의 URL, 환경, 접속 디바이스, 사용자, HTTP Request Header, IP 헤더, 시스템 시간 및 시스템 언어 중 적어도 어느 하나를 기준으로 상기 디자인 룰을 추출하는 단계를 포함하는 것을 특징으로 하는 디자인 상속 방법.
  14. 제 11 항에 있어서,
    상기 상속 룰은 상기 현재 디자인과 상기 현재 디자인의 상위 디자인과의 상속 관계를 포함하는 것을 특징으로 하는 디자인 상속 방법.
  15. 제 14 항에 있어서, 상기 상속 단계는
    상기 현재 디자인의 디자인 객체 및 상기 상속 룰에 의해 선택된 상기 상위 디자인의 디자인 객체로부터 참조 기능자와 상속 기능자를 식별하는 식별 단계; 및
    상기 참조 기능자와 상속 기능자를 기반으로 상기 디자인 객체를 상속하는 디자인 객체 상속 단계를 포함하는 것을 특징으로 하는 디자인 상속 방법.
  16. 제 15 항에 있어서, 상기 식별 단계는
    상기 상속 기능자를 식별하여 상기 디자인 객체의 내부에서 상기 디자인 객체의 상위 디자인 객체를 재지정하고, 상기 참조 기능자를 식별하여 상기 디자인 객체의 내부에서 상기 디자인 객체 내부에 참조할 파일을 선택하는 단계를 포함하는 것을 특징으로 하는 디자인 상속 방법.
  17. 제 15 항에 있어서, 상기 디자인 객체 상속 단계는
    상기 현재 디자인의 디자인 객체 및 상기 상위 디자인의 디자인 객체와 다른 디자인 객체를 포함하여 상기 디자인 객체를 부분 상속하는 단계를 포함하는 것을 특징으로 하는 디자인 상속 방법.
  18. 제 11 항에 있어서, 상기 상속 단계는,
    상기 디자인 객체를 상속시, 파일 전체를 상속하는 전체 상속 또는 상기 현재 디자인의 상위 디자인의 디자인 객체로부터 상속하는 부분 상속 중 어느 하나를 통해 상속하는 단계를 포함하는 것을 특징으로 하는 디자인 상속 방법.
  19. 제 11 항에 있어서, 상기 제공 단계는
    상기 디자인 객체가 상기 웹 응용 프로그램에서 실행이 가능한 객체인지 확인하는 단계; 및
    상기 실행이 가능한 디자인 객체를 스크립트 언어를 통해 실행함으로써 제공하는 단계를 포함하는 것을 특징으로 하는 디자인 상속 방법.
  20. 디자인 객체를 실행함으로써 웹 클라이언트에게 제공하는 웹 응용 프로그램; 및
    상기 웹 클라이언트의 정보에 대응하는 디자인 룰에 따라 상기 웹 클라이언트에게 제공할 현재 디자인 및 상기 현재 디자인의 디자인 객체를 선택하고, 상기 선택된 디자인 및 디자인 객체를 상속 룰에 의해 상속하며, 상기 상속된 디자인 및 디자인 객체를 상기 웹 응용 프로그램을 통해 제공하는 디자인 상속 장치를 포함하는 것을 특징으로 하는 디자인 상속 장치를 포함하는 웹 서버.
KR1020110115852A 2011-11-08 2011-11-08 디자인 상속 장치 및 방법, 및 상기 장치를 포함하는 웹 서버 KR20130062406A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110115852A KR20130062406A (ko) 2011-11-08 2011-11-08 디자인 상속 장치 및 방법, 및 상기 장치를 포함하는 웹 서버

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110115852A KR20130062406A (ko) 2011-11-08 2011-11-08 디자인 상속 장치 및 방법, 및 상기 장치를 포함하는 웹 서버

Publications (1)

Publication Number Publication Date
KR20130062406A true KR20130062406A (ko) 2013-06-13

Family

ID=48860108

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110115852A KR20130062406A (ko) 2011-11-08 2011-11-08 디자인 상속 장치 및 방법, 및 상기 장치를 포함하는 웹 서버

Country Status (1)

Country Link
KR (1) KR20130062406A (ko)

Similar Documents

Publication Publication Date Title
US10592319B2 (en) API notebook tool
US8161498B2 (en) Providing globalization functionalities for javascript applications
US9189244B2 (en) Methods and systems for managing data service specifications
JP4824110B2 (ja) ページに関するページ・レイアウトを継承するためのコンピュータで実行される方法、コンピュータ・プログラム、およびデータ処理システム
US8370750B2 (en) Technology for generating service program
US9081463B2 (en) Systems and methods for run-time editing of a web page
CN102591647B (zh) 将桌面应用转换成web应用
US8387006B1 (en) System and method for authoring a web page to be run-time editable
JP2009543166A (ja) ページによってページ・レイアウトを定義するためのコンピュータで実行される方法、コンピュータ・プログラム、およびデータ処理システム
US9645719B2 (en) Data-driven schema for describing and executing management tasks in a graphical user interface
KR101569984B1 (ko) 웹 스크래핑 추출 데이터 설정 방법
US20110271184A1 (en) Client application and web page integration
CN106354483B (zh) 一种数据处理方法、装置及电子设备
US10417317B2 (en) Web page profiler
US20170031877A1 (en) Web Page Design System
US10762285B2 (en) Methods and systems for generating electronic forms
US10742764B2 (en) Web page generation system
KR101552914B1 (ko) 웹 서버 어플리케이션 프레임워크 장치와 프레임워크를 이용한 웹 어플리케이션 처리 방법 및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는 기록 매체
US20120120436A1 (en) Remote printing
CN113419711A (zh) 页面引导方法、装置、电子设备及存储介质
Haller et al. RaUL: RDFa User Interface Language–A data processing model for web applications
JP4686117B2 (ja) ソースコード変換装置、ソースコード変換方法、およびプログラム
KR20130062406A (ko) 디자인 상속 장치 및 방법, 및 상기 장치를 포함하는 웹 서버
CN110147477A (zh) Web系统的数据资源模型化提取方法、装置以及设备
US20240095448A1 (en) Automatic guidance to interactive entity matching natural language input

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application