KR101228877B1 - Device and Method for Producing Dynamic Web Site Using Web Design - Google Patents

Device and Method for Producing Dynamic Web Site Using Web Design Download PDF

Info

Publication number
KR101228877B1
KR101228877B1 KR1020110006564A KR20110006564A KR101228877B1 KR 101228877 B1 KR101228877 B1 KR 101228877B1 KR 1020110006564 A KR1020110006564 A KR 1020110006564A KR 20110006564 A KR20110006564 A KR 20110006564A KR 101228877 B1 KR101228877 B1 KR 101228877B1
Authority
KR
South Korea
Prior art keywords
web
module
design
html element
html
Prior art date
Application number
KR1020110006564A
Other languages
Korean (ko)
Other versions
KR20110085945A (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 심플렉스 인터넷 주식회사
Publication of KR20110085945A publication Critical patent/KR20110085945A/en
Application granted granted Critical
Publication of KR101228877B1 publication Critical patent/KR101228877B1/en

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/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Abstract

웹 디자인을 이용한 동적 웹 사이트 개발 장치를 제공한다. 웹 디자인을 이용한 동적 웹 사이트 개발 장치는 웹 클라이언트로부터의 요청에 따라 상기 요청에 대응되는 사용자의 웹 디자인을 로딩하고 로딩된 웹 디자인을 파싱하여 프로그램 처리 계층의 웹 프로그램인 모듈에 의하여 처리되어야 할 HTML(Hypertext Markup Language) 요소를 추출하고 그 추출된 HTML 요소를 포함하는 모듈 실행 요청을 전송하고 모듈의 실행에 의하여 처리된 HTML 요소를 사용하여 웹 디자인을 재구성하는 스마트 컨트롤러, 및 스마트 컨트롤러로부터 전달되는 모듈 실행 요청에 따라 모듈을 실행하여 모듈 실행 요청에 포함되는 HTML 요소에 대하여 웹 클라이언트로부터의 요청에 대응하는 프로그램 처리 계층에서의 처리를 수행하고 처리된 HTML 요소를 상기 스마트 컨트롤러로 전달하는 모듈부를 포함할 수 있다. 따라서, 웹 사이트 구축 기간을 단축하고 유지 보수를 용이하게 함과 아울러 웹 개발자가 아닌 웹 디자이너 또는 일반인이라도 쉽게 웹 사이트를 구축할 수 있다.To provide a dynamic web site development apparatus using web design. A dynamic web site development apparatus using web design loads a web design of a user corresponding to the request according to a request from a web client, parses the loaded web design, and processes HTML by a module which is a web program of a program processing layer. (Hypertext Markup Language) A smart controller that extracts an element, sends a module execution request that includes the extracted HTML element, and reconfigures the web design using the HTML element processed by the module's execution, and a module delivered from the smart controller. The module unit may be configured to execute a module according to an execution request, to perform processing in a program processing layer corresponding to a request from a web client, to an HTML element included in the module execution request, and to deliver the processed HTML element to the smart controller. Can be. Therefore, it is possible to shorten the web site construction period, to facilitate maintenance, and to easily build a web site even for a web designer or a general person, not a web developer.

Description

웹 디자인을 이용한 동적 웹 사이트 개발 장치 및 방법 {Device and Method for Producing Dynamic Web Site Using Web Design}Device and method for developing dynamic web site using web design {Device and Method for Producing Dynamic Web Site Using Web Design}

본 발명은 웹 디자인을 이용한 동적 웹 사이트 개발 장치 및 방법에 관한 것으로서, 좀더 상세하게는, 인터넷 표준 HTTP(Hypertext Transfer Protocol)/HTTPS 프로토콜을 이용한 월드 와이드 웹(World Wide Web) 기반의 웹 디자인을 통하여 동적 웹 사이트 또는 웹 응용 프로그램을 구현하거나 제작하는 기술에 관한 것이다.
The present invention relates to an apparatus and method for developing a dynamic web site using a web design, and more particularly, to a web design based on a world wide web using an internet standard HTTP (Hypertext Transfer Protocol) / HTTPS protocol. A technique for implementing or building a dynamic website or web application.

일반적으로, HTTP(Hypertext Transfer Protocol)는 월드 와이드 웹(World Wide Web) 상에서 정보를 주고 받을 수 있는 프로토콜로서, 클라이언트와 서버 간에 수행되는 요청/응답 프로토콜로서 사용된다. 웹 클라이언트는 HTTP를 통하여 웹 서버로 웹페이지 등과 같은 정보를 요청하고, 웹 서버는 이 요청에 응답하여 필요한 정보를 웹 브라우저로 전달한다. HTTP를 통해 전달되는 정보는 'Http:'로 시작하는 URL(Uniform Resource Locator) 주소로서 조회할 수 있다.In general, Hypertext Transfer Protocol (HTTP) is a protocol that can exchange information on the World Wide Web, and is used as a request / response protocol performed between a client and a server. The web client requests information such as a web page to a web server through HTTP, and the web server transmits necessary information to the web browser in response to the request. Information delivered via HTTP can be viewed as a Uniform Resource Locator (URL) address starting with 'Http:'.

웹 클라이언트는 URL을 사용하여 특정 페이지를 서버로 요청하고 웹 서버로부터 응답을 수신하여 그 정보를 모니터를 통하여 출력할 수 있다. 그러면 사용자는 모니터로부터 출력되는 정보를 볼 수 있게 된다. 웹 서버는 웹 클라이언트로부터 전달되는 URL 요청을 해석하여 HTML(Hypertext Markup Language)/XML(Extensible Markup Language)(이하, HTML로 통칭하기로 함) 문서 처리를 수행하며, Per1, Ruby, PHP 등과 같은 스크립트 언어를 데이터베이스 서비스, 응용 서비스 등과 연결하여 정보를 호출 및 처리하고 웹 화면을 구성하는 동적 콘텐츠를 생성한다.The web client can request a specific page to the server using the URL, receive a response from the web server, and output the information through the monitor. The user can then view the information output from the monitor. The web server interprets the URL request from the web client to process Hypertext Markup Language (HTML) / Extensible Markup Language (XML) (hereinafter referred to collectively as HTML) documents, and scripts such as Per1, Ruby, PHP, etc. It connects languages with database services, application services, etc. to invoke and process information and create dynamic content that composes web screens.

이러한 웹 서버는 표현(대화) 계층(Presentation Layer) 및 프로그램 처리 계층을 포함할 수 있다. 상기 표현 계층은 사용자에게 보여지는 웹 디자인 관련 부분들을 구현하는 계층으로서, 예컨대 HTML, 자바 스크립트, CSS 이미지 파일 또는 HTML, 자바 스크립트, CSS 등에 의하여 웹 페이지를 구성하는 요소들을 포함할 수 있다. 예를 들면, 웹 게시판의 경우 표현 계층은 게시판 버튼 이미지, 웹 게시판의 디자인을 구현하는 HTML, 자바 스크립트 등을 포함할 수 있다.Such a web server may include a presentation layer and a program processing layer. The presentation layer is a layer that implements web design-related parts shown to a user, and may include elements constituting a web page by HTML, JavaScript, CSS image file, or HTML, JavaScript, CSS, and the like. For example, in the case of a web bulletin board, the presentation layer may include a bulletin board button image, HTML for implementing a web bulletin board design, javascript, and the like.

상기 프로그램 처리 계층은 개발자가 작성한 로직에 의하여 실행되는 웹 프로그램을 포함하는 계층으로서 비즈니스 로직(Business Logic)이라 칭할 수도 있다. 예를 들면, 웹 게시판에서 사용자가 게시 글을 등록할 경우 게시 글을 데이터 저장소에 접근하여 저장하거나 알림 메일을 보내는 기능 등과 같은 일련의 기능 처리를 구현하는 웹 프로그램은 프로그램 처리 계층에 포함될 수 있다.The program processing layer may be referred to as business logic as a layer including a web program executed by logic written by a developer. For example, when a user registers a post in a web bulletin board, a web program that implements a series of function processing, such as a function of storing a post by accessing a data storage or sending a notification mail, may be included in the program processing layer.

종래의 웹 모델에서의 표현 계층은 화면의 웹 디자인과 웹 프로그램 소스가 분리되지 않은 채 동일한 파일에 구현되어 있으며, 웹 응용프로그램을 구현하거나 동적 웹 사이트를 제작함에 있어서 동적 콘텐츠를 생성하기 위해서는 표현 계층과 프로그램 처리 계층이 결합되어 하나의 웹 응용 프로그램이나 동적 웹 사이트가 제작된다.In the conventional web model, the presentation layer is implemented in the same file without separating the web design of the screen and the web program source, and in order to generate the dynamic content in implementing a web application or creating a dynamic website, the presentation layer And the program processing layer combine to create a single web application or dynamic web site.

예컨대, 웹 클라이언트가 HTTP/HTTPS 프로토콜에 따라 웹 주소에 대응하는 웹 페이지를 웹 서버로 요청하면, 웹 서버의 표현 계층은 필요에 따라 비즈니스 서비스와 관련된 데이터를 요구하고 그 데이터를 전달받아 HTML, 자바 스크립트, CSS 등으로 구성된 웹 표준 문서를 생성하여 웹 클라이언트로 응답하고, 이에 따라 웹 클라이언트의 웹 브라우저가 화면을 출력할 수 있다.For example, when a web client requests a web page corresponding to a web address to the web server according to the HTTP / HTTPS protocol, the presentation layer of the web server requests data related to the business service as needed and receives the data to receive HTML and Java. A web standard document composed of a script, CSS, etc. may be generated and responded to the web client, and the web browser of the web client may output the screen.

이와 같은 종래의 경우, 웹 응용 프로그램이나 동적 웹 사이트를 제작하기 위해서는 표현 계층과 관련되는 웹 디자인과, 프로그램 처리 계층과 관련되는 웹 프로그램 소스 개발 및 비즈니스 서비스에 대한 전문적인 지식이 필요하다. 그런데, 웹 대자인과 웹 프로그램 소스 개발 및 비즈니스 서비스 모두에 대한 전문적인 지식을 습득하는 데는 상당한 어려움이 있는 문제점이 있다. 따라서 실지 웹 응용 프로그램이나 동적 웹사이트를 개발하는 과정에서는 웹 디자이너가 디자인을 작성한 후, 웹 프로그래머가 웹 프로그램 소스 및 비즈니스 서비스에 대한 개발 작업을 수행하고 그 프로그램에 의하여 웹 디자인이 다시 편집되는 경우가 많다.In such a conventional case, in order to produce a web application or a dynamic web site, web design related to the presentation layer and web program source development and business services related to the program processing layer are required. However, there is a problem that there is a considerable difficulty in acquiring expert knowledge about both web design and web program source development and business services. Therefore, in the process of developing a real web application or dynamic website, a web designer writes a design, and then a web programmer develops a web program source and a business service, and the web design is edited again by the program. many.

또한, 웹 프로그래머는 웹 디자인에 대한 이해와 웹 프로그램 소스에 웹 디자인을 포함하여 코드를 작성하는 상황에서 프로그램 유지 보수 및 관리에 어려움이 있으며, 웹 디자이너의 경우에도 이렇게 작성된 웹 디자인을 유지 보수하기 위하여 웹 프로그램 소스 및 비즈니스 서비스에 대한 이해 및 협업을 필요로 한다.In addition, web programmers have difficulty in maintaining and managing programs in the context of understanding web design and writing code including web design in web program sources. In the case of web designers, Requires understanding and collaboration on Web program sources and business services.

즉, 웹 프로그래머와 웹 디자이너는 서로 간의 협업 및 능력을 필요로 하고 웹 응용 프로그램이나 동적 웹사이트를 제작하기 위한 소스나 웹 디자인을 학습하고 작업하기 위해 시간을 소비해야 하므로, 개발과 디자인 의욕을 저하시키고 작업의 효율성을 감쇄시키는 문제점이 있다. 뿐만 아니라 웹 디자인이나 웹 프로그램에 대한 개발 지식이 없거나 또는 이에 대한 어려움을 느끼는 일반인의 경우에는 웹 응용 프로그램 또는 동적 웹사이트의 제작이 자체가 실질적으로 불가능하였다.
In other words, web programmers and web designers need to collaborate and compete with each other and spend time learning and working with sources or web designs for creating web applications or dynamic websites. There is a problem to reduce the efficiency of the work. In addition, in the case of a general person who does not have or have difficulty in developing web design or web programs, the production of a web application or a dynamic website was practically impossible.

본 발명은 이러한 문제점을 해결하기 위한 것으로서, 본 발명이 해결하고자 하는 과제는 웹 디자인을 통하여 동적 웹 사이트 및 웹 응용 프로그램 구축을 가능하게 함으로써, 웹 사이트 구축 기간을 단축하고 유지 보수를 용이하게 함과 아울러 웹 개발자가 아닌 웹 디자이너 또는 일반인이라도 쉽게 웹 사이트를 구축할 수 있도록 하는 웹 디자인을 이용한 동적 웹 사이트 개발 장치 및 방법을 제공하는데 있다.
The present invention is to solve this problem, the problem to be solved by the present invention is to enable the construction of a dynamic web site and web application through a web design, to shorten the web site construction period and to facilitate maintenance and In addition, the present invention provides an apparatus and method for developing a dynamic web site using web design that enables a web designer or a general person to easily build a web site.

이러한 기술적 과제를 해결하기 위하여 본 발명은 일 측면(Aspect)에서 웹 디자인을 이용한 동적 웹 사이트 개발 장치를 제공한다. 상기 웹 디자인을 이용한 동적 웹 사이트 개발 장치는, 웹 클라이언트로부터의 요청에 따라 상기 요청에 대응되는 사용자의 웹 디자인을 로딩하고, 상기 로딩된 웹 디자인을 파싱하여 프로그램 처리 계층의 웹 프로그램인 모듈에 의하여 처리되어야 할 HTML(Hypertext Markup Language) 요소를 추출하고, 상기 추출된 HTML 요소를 포함하는 모듈 실행 요청을 전송하고, 상기 모듈의 실행에 의하여 처리된 HTML 요소를 사용하여 상기 웹 디자인을 재구성하는 스마트 컨트롤러; 및 상기 스마트 컨트롤러로부터 전달되는 모듈 실행 요청에 따라 상기 모듈을 실행하여 상기 모듈 실행 요청에 포함되는 HTML 요소에 대하여 상기 웹 클라이언트로부터의 요청에 대응하는 프로그램 처리 계층에서의 처리를 수행하고 상기 처리된 HTML 요소를 상기 스마트 컨트롤러로 전달하는 모듈부를 포함한다.In order to solve this technical problem, an aspect of the present invention provides a dynamic website development apparatus using web design. The dynamic web site development apparatus using the web design loads a web design of a user corresponding to the request according to a request from a web client, parses the loaded web design by a module which is a web program of a program processing layer. A smart controller that extracts a Hypertext Markup Language (HTML) element to be processed, sends a module execution request including the extracted HTML element, and reconfigures the web design using the HTML element processed by the execution of the module. ; And executing the module according to a module execution request transmitted from the smart controller to perform processing in a program processing layer corresponding to a request from the web client with respect to an HTML element included in the module execution request, and processing the processed HTML. And a module unit for delivering an element to the smart controller.

상기 스마트 컨트롤러는 상기 추출되는 HTML 요소의 속성 중 ID에 의해 지정되는 모듈 인터페이스 식별자를 검출하고, 상기 모듈 인터페이스 식별자 및 상기 추출되는 HTML 요소를 전송하는 스마트 디자인 엔진; 및 상기 스마트 디자인 엔진으로부터 전송되는 모듈 인터페이스 식별자 및 HTML 요소를 수신하고, 상기 모듈 인터페이스 식별자를 사용하여 상기 수신된 HTML 요소에 대한 처리를 수행할 모듈의 정보 및 상기 모듈 내의 기능부의 정보를 검출하고, 상기 모듈로 상기 수신된 HTML 요소 및 상기 기능부의 정보를 포함하는 모듈 실행 요청을 상기 모듈부에 포함된 상기 모듈로 전송하는 모듈 컨트롤러를 포함할 수 있다.The smart controller may include a smart design engine that detects a module interface identifier specified by an ID among attributes of the extracted HTML element and transmits the module interface identifier and the extracted HTML element; And receiving a module interface identifier and an HTML element transmitted from the smart design engine, and using the module interface identifier to detect information of a module to perform processing on the received HTML element and information of a functional part in the module, The module controller may include a module controller configured to transmit a module execution request including the received HTML element and information of the functional unit to the module included in the module unit.

상기 스마트 디자인 엔진은 상기 로딩된 웹 페이지의 HTML 요소 중 ID를 포함하는 HTML 요소를 프로그램 처리 계층에서 처리되어야 할 HTML 요소인 것으로 판단할 수 있다.The smart design engine may determine that an HTML element including an ID among HTML elements of the loaded web page is an HTML element to be processed in a program processing layer.

상기 모듈은 상기 모듈 실행 요청의 상기 기능부의 정보를 기반으로 상기 기능부를 실행하고, 상기 기능부는 요청된 처리를 수행하기 위하여 필요한 개체와 연동하여 처리 데이터를 획득할 수 있다. 상기 모듈은 상기 기능부의 실행에 의하여 획득되는 처리 데이터를 분석하여 상기 수신된 HTML 요소에 매핑함으로써, 상기 처리된 HTML 요소를 생성할 수 있다.The module may execute the function unit based on the information of the function unit of the module execution request, and the function unit may acquire processing data in association with an entity required to perform the requested process. The module may generate the processed HTML element by analyzing the processing data obtained by the execution of the function unit and mapping the received data to the received HTML element.

상기 스마트 컨트롤러는 상기 웹 디자인에서 상기 추출된 HTML 요소를 상기 처리된 HTML 요소로 대체할 수 있다. 또한 상기 스마트 컨트롤러는 상기 재구성된 웹 디자인을 상기 웹 클라이언트로 전송할 수 있다.The smart controller may replace the extracted HTML element with the processed HTML element in the web design. The smart controller can also send the reconstructed web design to the web client.

상기 웹 클라이언트로부터의 요청은 웹 주소를 포함할 수 있다. 이 경우 상기 스마트 컨트롤러는 상기 웹 주소를 사용하여 상기 웹 디자인에 접근하여 상기 웹 디자인을 로딩할 수 있다.The request from the web client may include a web address. In this case, the smart controller can access the web design using the web address and load the web design.

상기 모듈은 디스플레이 관련 처리를 담당하는 디스플레이부, 실행 관련 처리를 담당하는 실행부, 외부 통신을 처리하는 API부, 관리 관련 처리를 수행하는 관리부 및 웹의 리소스를 포함하는 리소스부를 포함할 수 있다.The module may include a display unit in charge of display-related processing, an execution unit in charge of execution-related processing, an API unit in processing external communication, a management unit performing management-related processing, and a resource unit including resources of a web.

한편, 상술한 기술적 과제를 해결하기 위하여 본 발명은 다른 측면에서 웹 디자인을 이용한 동적 웹 사이트 개발 방법을 제공한다. 상기 웹 디자인을 이용한 동적 웹 사이트 개발 방법은, 웹 사이트 개발 장치에 의하여 수행되는 방법에 있어서, 웹 클라이언트로부터의 요청에 따라 상기 요청에 대응되는 사용자의 웹 디자인을 로딩하는 단계와; 상기 로딩된 웹 디자인을 파싱하여 프로그램 처리 계층의 웹 프로그램인 모듈에 의하여 처리되어야 할 HTML(Hypertext Markup Language) 요소를 추출하는 단계와; 상기 모듈을 실행하여 상기 추출되는 HTML 요소에 대하여 상기 웹 클라이언트로부터의 요청에 대응하는 프로그램 처리 계층에서의 처리를 수행하여 처리된 HTML 요소를 생성하는 단계: 및 상기 모듈의 실행에 의하여 처리된 상기 HTML 요소를 사용하여 상기 웹 디자인을 재구성하는 단계를 포함할 수 있다.Meanwhile, in order to solve the above technical problem, the present invention provides a dynamic web site development method using web design in another aspect. A dynamic web site development method using the web design, comprising: loading a web design of a user corresponding to the request in response to a request from a web client; Parsing the loaded web design to extract a Hypertext Markup Language (HTML) element to be processed by a module which is a web program of a program processing layer; Executing the module to perform a processing in a program processing layer corresponding to a request from the web client to the extracted HTML element to generate a processed HTML element: and the HTML processed by execution of the module Reconstructing the web design using elements.

상기 웹 디자인을 이용한 동적 웹 사이트 개발 방법은, 상기 추출되는 HTML 요소의 속성 중 ID에 의해 지정되는 모듈 인터페이스 식별자를 검출하는 단계와; 상기 모듈 인터페이스 식별자를 사용하여 상기 추출되는 HTML 요소에 대한 처리를 수행할 모듈의 정보 및 상기 모듈 내의 기능부의 정보를 검출하는 단계; 및 상기 모듈로 상기 추출되는 HTML 요소 및 상기 기능부의 정보를 포함하는 모듈 실행 요청을 상기 모듈로 전송하는 단계를 더 포함할 수 있다.The dynamic web site development method using the web design comprises: detecting a module interface identifier specified by an ID among attributes of the extracted HTML element; Detecting information of a module to perform processing on the extracted HTML element and information of a functional part in the module by using the module interface identifier; And transmitting a module execution request including information of the extracted HTML element and the functional unit to the module.

상기 웹 디자인을 이용한 동적 웹 사이트 개발 방법은, 상기 로딩된 웹 페이지의 HTML 요소 중 ID를 포함하는 HTML 요소를 프로그램 처리 계층에서 처리되어야 할 HTML 요소인 것으로 판단하는 단계를 더 포함할 수도 있다.The dynamic web site development method using the web design may further include determining that an HTML element including an ID among HTML elements of the loaded web page is an HTML element to be processed in a program processing layer.

상기 처리된 HTML 요소를 생성하는 단계는, 상기 모듈이 상기 모듈 실행 요청의 상기 기능부의 정보를 기반으로 상기 기능부를 실행하는 단계와; 상기 기능부가 요청된 처리를 수행하기 위하여 필요한 개체와 연동하여 처리 데이터를 획득하는 단계; 및 상기 모듈이 상기 기능부의 실행에 의하여 획득되는 처리 데이터를 분석하여 상기 수신된 HTML 요소에 매핑함으로써, 상기 처리된 HTML 요소를 생성하는 단계를 포함할 수 있다.The generating the processed HTML element may include: executing, by the module, the function unit based on information of the function unit of the module execution request; Acquiring processing data in association with an entity necessary for performing the requested processing by the function unit; And generating, by the module, the processed HTML element by analyzing the process data obtained by the execution of the function unit and mapping the processed data to the received HTML element.

상기 웹 디자인을 재구성하는 단계는, 상기 웹 디자인에서 상기 추출된 HTML 요소를 상기 처리된 HTML 요소로 대체하는 단계를 포함할 수 있다. 한편 상기 웹 디자인을 이용한 동적 웹 사이트 개발 방법은, 상기 재구성된 웹 디자인을 상기 웹 클라이언트로 전송하는 단계를 더 포함할 수도 있다.Reconstructing the web design may include replacing the extracted HTML element with the processed HTML element in the web design. Meanwhile, the dynamic web site development method using the web design may further include transmitting the reconstructed web design to the web client.

상기 웹 클라이언트로부터의 요청은 웹 주소를 포함할 수 있다. 이 경우 상기 웹 디자인을 로딩하는 단계는, 상기 웹 주소를 사용하여 상기 웹 디자인에 접근하여 상기 웹 디자인을 로딩하는 단계를 포함할 수 있다.
The request from the web client may include a web address. In this case, loading the web design may include loading the web design by accessing the web design using the web address.

이상 설명한 바와 같이, 본 발명에 따르면 웹 디자인을 이용한 동적 웹 사이트 및 웹 응용 프로그램 구축 등이 가능하다. 따라서, 웹 사이트 구축 기간을 단축하고 유지 보수를 용이하게 함과 아울러 웹 개발자가 아닌 웹 디자이너 또는 일반인이라도 쉽게 웹 사이트를 구축할 수 있게 된다.
As described above, according to the present invention, it is possible to build a dynamic web site and a web application using a web design. Therefore, it is possible to shorten the web site construction period, to facilitate maintenance, and to easily build a web site even for a web designer or a general person, not a web developer.

도 1은 본 발명의 바람직한 실시예에 따른 웹 디자인을 이용한 동적 웹 사이트 개발 장치의 개념을 설명하기 위한 블록도이다.
도 2는 본 발명의 바람직한 실시예에 따른 동적 웹 사이트 개발 장치의 구성을 도시하는 블록도이다.
도 3은 동적 웹 사이트 개발 장치의 모듈부의 구성을 도시하는 블록도이다.
도 4는 도 2에 도시된 동적 웹 사이트 개발 장치의 구성 간의 연동 관계를 도시하는 블록도이다.
도 5는 동적 웹 사이트 개발 장치의 동작 흐름을 도시하기 위한 흐름도이다.
도 6은 종래에 웹 디자인과 웹 프로그램 소스가 혼합되어 있는 웹 페이지의 코드를 예시적으로 나타내는 예시도이다.
도 7은 스마트 디자인 엔진에 의하여 로딩되는 사용자의 웹 디자인의 코드를 예시적으로 나타내는 예시도이다.
도 8은 동적 웹 디자인 개발 장치에 의한 모듈 인터페이스의 식별 예를 나타내는 예시도이다.
도 9a 및 9b는 디자인 데이터 매퍼에 의한 데이터의 매핑을 예시적으로 나타내는 예시도이다.
도 10은 이와 같은 사용자 PC에 적용되는 동적 웹 사이트 개발 장치의 적용 예를 나타내는 블록도이다.
도 11a 및 도 11b는 동적 웹 사이트 개발 장치가 적용된 HTML 소스 코드의 예를 나타내는 예시도이다.
도 12는 상기와 같이 구성되는 동적 웹 사이트 개발 장치의 동작 절차를 나타내는 흐름도이다.
1 is a block diagram illustrating the concept of a dynamic website development apparatus using a web design according to an embodiment of the present invention.
2 is a block diagram showing the configuration of a dynamic website development apparatus according to a preferred embodiment of the present invention.
3 is a block diagram showing the configuration of a module unit of a dynamic web site development apparatus.
FIG. 4 is a block diagram showing an interlocking relationship between the configurations of the dynamic website development apparatus shown in FIG. 2.
5 is a flowchart illustrating an operation flow of a dynamic web site development apparatus.
FIG. 6 is an exemplary view showing code of a web page in which a web design and a web program source are conventionally mixed.
7 is an exemplary diagram illustrating code of a web design of a user loaded by a smart design engine.
8 is an exemplary diagram illustrating an example of identification of a module interface by the dynamic web design development apparatus.
9A and 9B are exemplary views illustrating mapping of data by a design data mapper.
10 is a block diagram showing an application example of the dynamic website development apparatus applied to such a user PC.
11A and 11B are exemplary views showing an example of HTML source code to which a dynamic web site development apparatus is applied.
12 is a flowchart illustrating an operation procedure of a dynamic web site development apparatus configured as described above.

이하, 본 발명이 속하는 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사항을 용이하게 이해할 수 있도록 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명한다. 이하에 설명할 본 발명의 바람직한 실시예에서는 내용의 명료성을 위하여 특정한 기술 용어를 사용한다. 하지만 본 발명은 그 선택된 특정 용어에 한정되지는 않으며, 각각의 특정 용어가 유사한 목적을 달성하기 위하여 유사한 방식으로 동작하는 모든 기술적 동의어를 포함함을 미리 밝혀둔다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art will readily understand the technical aspects of the present invention. In the following preferred embodiments of the present invention, specific technical terms are used for the sake of clarity. It is to be expressly understood, however, that the invention is not limited to the specific terms thereof, and that each specific term includes all technical synonyms that operate in a similar manner to achieve a similar purpose.

도 1은 본 발명의 바람직한 실시예에 따른 웹 디자인을 이용한 동적 웹 사이트 개발 장치(이하에서는, 동적 웹 사이트 개발 장치로 약칭)의 개념을 설명하기 위한 블록도이다.1 is a block diagram illustrating the concept of a dynamic website development apparatus (hereinafter, abbreviated to a dynamic website development apparatus) using a web design according to a preferred embodiment of the present invention.

도 1에 도시된 바와 같이, 동적 웹 사이트 개발 장치(100)는 웹 서버(10) 내에 구비될 수 있다. 웹 서버(10)는 WWW 기반 웹 서버로서 하나 또는 다수 개의 단말기로 구현될 수 있다. 상기 동적 웹 사이트 개발 장치(100)는 웹 클라이언트(20)와 연동하면서, 표현 계층인 웹 디자인을 이용하여 동적 웹 사이트, 웹 응용 프로그램 등을 제작 또는 구현할 수 있도록 한다. 즉, 본 발명의 바람직한 실시예에 따른 동적 웹 사이트 개발 장치는 웹 클라이언트(20)의 사용자가 웹 디자인을 통하여 별도의 스크립트 언어나, 데이터 베이스 서비스 등에 대한 지식 없이도 동적 웹 사이트, 웹 응용 프로그램 등을 구축할 수 있도록 한다.As shown in FIG. 1, the dynamic web site development apparatus 100 may be provided in the web server 10. The web server 10 may be implemented as one or a plurality of terminals as a WWW-based web server. The dynamic web site development apparatus 100 may interoperate with the web client 20 to create or implement a dynamic web site, a web application, and the like by using a web design that is an expression layer. In other words, the apparatus for developing a dynamic web site according to an exemplary embodiment of the present invention enables a user of the web client 20 to execute a dynamic web site, a web application, or the like without knowledge of a script language or a database service through a web design. To build.

이러한 동적 웹 사이트 개발 장치(100)는 웹 클라이언트(20)로부터의 HTTP/HTTPS(이하에서는 HTTP로 통칭) 요청에 따라 사용자의 웹 디자인을 로딩하고, 그 웹 디자인에서 프로그램 처리 계층에서 처리되어야 하는 HTML/XML(이하에서는 HTML로 통칭) 요소들을 추출하고 이를 프로그램 처리 계층의 웹 프로그램을 통하여 처리하고 처리된 HTML 요소를 사용하여 웹 디자인을 재구성한 후 웹 클라이언트(20)로 제공할 수 있다.The dynamic web site development apparatus 100 loads a user's web design according to an HTTP / HTTPS (hereinafter referred to as HTTP) request from the web client 20, and the HTML to be processed at the program processing layer in the web design. / XML (hereinafter referred to as HTML) elements may be extracted, processed through a web program of a program processing layer, and reconstructed a web design using the processed HTML elements and then provided to the web client 20.

이때, 프로그램 처리 계층의 웹 프로그램은 단일 인터페이스를 제공하기 위하여 모듈 구조(Module Construction)로 구현될 수 있으며, 따라서 이하에서는 프로그램 처리 계층의 웹 프로그램을 모듈이라 칭하기로 한다. 상기 모듈은 프로그램 처리 계층에서의 처리를 위해 필요한 데이터(예컨대, 데이터 값, 자바 스크립트 코드, 프로그램 코드 등)를 제공하는 서비스부(30)와 연동하면서 HTML 요소에 대한 프로그램 처리 계층에서의 처리를 수행할 수 있다.In this case, the web program of the program processing layer may be implemented in a module structure to provide a single interface. Therefore, the web program of the program processing layer will be referred to as a module hereinafter. The module performs processing in the program processing layer for the HTML element while interworking with the service unit 30 which provides data (eg, data values, JavaScript code, program code, etc.) necessary for processing in the program processing layer. can do.

한편, 상기 로딩되는 사용자의 웹 디자인은 사용자가 나모 등과 같은 웹 에디터, 웹 디자인 툴, 텍스트 편집기 등을 통하여 작성할 수 있다. 따라서 표현 계층의 요소들로 이루어지며 프로그램 처리 계층의 응용 프로그램 소스는 포함되어 있지 않다. 즉 순수한 표현 계층의 정보를 의미할 수 있다. 이러한 웹 디자인은 그 웹 주소를 통하여 웹 서버(10)가 접근할 수 있는 파일 시스템, 데이터베이스 시스템, 네트워크 단말기 등에 저장될 수 있다.Meanwhile, the loaded web design of the user may be created by a user through a web editor such as Namo, a web design tool, a text editor, or the like. Therefore, it consists of elements of the presentation layer and does not contain the application source of the program processing layer. That is, it can mean information of pure presentation layer. Such a web design may be stored in a file system, a database system, a network terminal, or the like accessible by the web server 10 via the web address.

도 2는 본 발명의 바람직한 실시예에 따른 동적 웹 사이트 개발 장치(100)의 구성을 도시하는 블록도이다.2 is a block diagram showing the configuration of a dynamic web site development apparatus 100 according to a preferred embodiment of the present invention.

도 2에 도시된 바와 같이, 동적 웹 사이트 개발 장치(100)는 스마트 컨트롤러(110) 및 모듈부(120)를 포함할 수 있다.As shown in FIG. 2, the dynamic web site development apparatus 100 may include a smart controller 110 and a module unit 120.

상기 스마트 컨트롤러(110)는 웹 클라이언트(20)로부터의 HTTP 요청에 따라 상기 요청에 대응되는 사용자의 웹 디자인을 로딩하고, 상기 로딩된 웹 디자인을 파싱하여 프로그램 처리 계층의 웹 프로그램인 모듈(122)에 의하여 처리되어야 할 HTML 요소를 추출하고, 상기 추출된 HTML 요소를 포함하는 모듈 실행 요청을 모듈부(120)로 전송할 수 있다. 또한, 스마트 컨트롤러(110)는 상기 모듈(122)의 실행에 의하여 처리된 HTML 요소를 사용하여 상기 웹 디자인을 재구성하여 웹 클라이언트(20)로 전송할 수 있다.The smart controller 110 loads a web design of a user corresponding to the request according to the HTTP request from the web client 20, parses the loaded web design, and then is a module 122 which is a web program of a program processing layer. The HTML element to be processed by the user may be extracted, and a module execution request including the extracted HTML element may be transmitted to the module unit 120. In addition, the smart controller 110 may reconfigure the web design using the HTML element processed by the execution of the module 122 and transmit it to the web client 20.

이러한 스마트 컨트롤러(110)는 스마트 디자인 엔진(112) 및 모듈 컨트롤러(114)를 포함할 수 있다.The smart controller 110 may include a smart design engine 112 and a module controller 114.

상기 스마트 디자인 엔진(112)은 웹 클라이언트(20)로부터의 HTTP 요청에 따른 사용자의 웹 디자인 로딩, 웹 디자인 파싱, HTML 요소 및 그 HTML 요소를 추출하기 위한 모듈 관련 정보의 추출, 모듈 실행 요청, 모듈에 의하여 처리된 HTML 요소를 사용한 웹 디자인의 재구성 등의 기능들을 수행할 수 있다.The smart design engine 112 may load the user's web design according to the HTTP request from the web client 20, parse the web design, extract HTML-related information, and module-related information for extracting the HTML element, request for module execution, module It can perform functions such as reconstruction of web design using HTML elements processed by.

이러한 기능들을 좀더 구체적으로 살펴보면, 스마트 디자인 엔진(112)은 웹 클라이언트(20)로부터 수신되는 HTTP 요청을 수신하고 수신된 HTTP 요청에 대응하는 사용자의 웹 디자인을 로딩할 수 있다. 예를 들면, 상기 HTTP 요청에는 웹 디자인으로 접근할 수 있는 웹 주소를 포함할 수 있다. 스마트 디자인 엔진(112)은 웹 클라이언트(20)로부터 수신되는 HTTP 요청에 포함된 웹 주소를 이용하여 웹 디자인으로 접근하고 그 웹 디자인을 웹 서버(10)의 메모리에 적재함으로써 웹 디자인을 로딩할 수 있다.In more detail, the smart design engine 112 may receive an HTTP request received from the web client 20 and load a user's web design corresponding to the received HTTP request. For example, the HTTP request may include a web address that can be accessed by a web design. The smart design engine 112 may access the web design by using the web address included in the HTTP request received from the web client 20 and load the web design by loading the web design into the memory of the web server 10. have.

스마트 디자인 엔진(112)은 로딩된 웹 디자인을 분석하여 웹 디자인에서 HTML 요소들 중 특정 속성, 예컨대 ID를 가지는 HTML 요소를 프로그램 처리 계층에서 처리되어야 할 HTML 요소인 것으로 판단할 수 있다. 스마트 디자인 엔진(112)은 그 속성에 ID를 가지는 HTML 요소들을 웹 디자인으로부터 HTML 요소 단위로 추출하고, 해당 ID가 지정하는 모듈 인터페이스 식별자를 검출하여 HTML 요소 및 이에 대응하는 모듈 인터페이스 식별자 등을 포함하는 모듈 요청 정보를 모듈 컨트롤러(114)로 전달할 수 있다.The smart design engine 112 may analyze the loaded web design and determine that the HTML element having a specific attribute, such as an ID, among the HTML elements in the web design is the HTML element to be processed in the program processing layer. The smart design engine 112 extracts HTML elements having an ID as an attribute from the web design in units of HTML elements, detects a module interface identifier designated by the ID, and includes an HTML element and a corresponding module interface identifier. Module request information may be transferred to the module controller 114.

한편, 스마트 디자인 엔진(112)은 모듈(122)에 의하여 처리된 HTML 요소를 사용하여 웹 디자인을 재구성하여 웹 페이지를 생성하는 기능을 수행할 수 있다. 예를 들면, 스마트 디자인 엔진(112)은 웹 디자인에서 추출된 HTML 요소를 모듈(122)에 의하여 처리된 HTML 요소로 대체할 수 있다. 또한 스마트 디자인 엔진(112)은 재구성된 웹 디자인을 웹 클라이언트(20)로 전송할 수도 있다.Meanwhile, the smart design engine 112 may perform a function of generating a web page by reconfiguring the web design using the HTML element processed by the module 122. For example, the smart design engine 112 may replace the HTML elements extracted from the web design with the HTML elements processed by the module 122. The smart design engine 112 may also send the reconstructed web design to the web client 20.

모듈 컨트롤러(114)는 스마트 디자인 엔진(112)으로부터 전달되는 모듈 요청 정보를 기반으로 모듈 실행 요청을 생성하여 모듈부(120)로 전송할 수 있다. 즉, 모듈 컨트롤러(114)는 스마트 디자인 엔진(112)으로부터 전달되는 모듈 요청 정보에 따라 처리할 모듈 및 그 관련 정보를 검출하고 해당 모듈에 실행을 명령하는 기능을 수행할 수 있다.The module controller 114 may generate a module execution request based on the module request information transmitted from the smart design engine 112 and transmit the generated module request to the module unit 120. That is, the module controller 114 may detect a module to be processed and its related information according to the module request information transmitted from the smart design engine 112 and perform a function of instructing execution of the module.

예컨대 모듈 컨트롤러(114)는 모듈 요청 정보에 포함된 모듈 인터페이스 식별자를 통하여 해당 HTML 요소를 처리할 모듈 및 모듈의 기능부(예컨대, 처리를 위해 실행되는 모듈 내의 유닛)의 정보를 검출할 수 있다. 또한 모듈 컨트롤러(114)는 검출된 모듈(122)로 HTML 요소 및 기능부의 정보 등을 포함하는 모듈 실행 요청을 전송할 수 있다.For example, the module controller 114 may detect information of a module to process a corresponding HTML element and a functional unit of the module (eg, a unit in a module executed for processing) through a module interface identifier included in the module request information. In addition, the module controller 114 may transmit a module execution request including information on HTML elements and functional units to the detected module 122.

모듈부(120)는 HTML 요소들에 대한 프로그램 처리 계층에서의 처리를 위한 다수 개의 모듈을 포함할 수 있다. 각각의 모듈(122)은 모듈 컨트롤러(110)로부터 전송되는 모듈 실행 요청에 따라 HTML 요소들에 대한 처리를 수행하고 처리된 HTML 요소를 스마트 컨트롤러(110)로 전송할 수 있다.The module unit 120 may include a plurality of modules for processing in the program processing layer for HTML elements. Each module 122 may process the HTML elements according to the module execution request transmitted from the module controller 110 and transmit the processed HTML elements to the smart controller 110.

도 3은 동적 웹 사이트 개발 장치(100)의 모듈부(120)의 구성을 도시하는 블록도이다.3 is a block diagram showing the configuration of the module unit 120 of the dynamic website development apparatus 100.

도 3에 도시된 바와 같이, 모듈부(120)의 각 모듈(122)은 다수 개의 기능부(124) 및 디자인 데이터 매퍼(127)를 포함할 수 있다. 각각의 기능부(124)는 HTML 요소를 프로그램 계층에서 처리하기 위한 고유한 기능을 갖는 유닛을 의미할 수 있다. 기능부(124)는 서비스부(30)로부터 HTML 요소에 대한 처리를 위하여 서비스부(30)로 필요한 데이터, 예컨대 데이터 값, 자바 스크립트 코드, 프로그램 코드 등을 요청하여 그 응답으로 데이터를 획득할 수 있다.As shown in FIG. 3, each module 122 of the module unit 120 may include a plurality of functional units 124 and a design data mapper 127. Each functional unit 124 may represent a unit having a unique function for processing HTML elements in a program layer. The function unit 124 may request data required by the service unit 30 from the service unit 30 for the HTML element, for example, data values, JavaScript code, program code, and the like, to obtain data in response. have.

모듈(122)은 디스플레이 관련 처리를 담당하는 디스플레이부(124a), 실행 관련 처리를 담당하는 실행부(124b), 외부 통신을 처리하는 API부(124c), 관리 관련 처리를 수행하는 관리부(124d) 및 웹의 리소스를 포함하는 리소스부(124e) 등의 기능부들을 포함할 수 있다.The module 122 includes a display unit 124a in charge of display-related processing, an execution unit 124b in charge of execution-related processing, an API unit 124c in processing external communication, and a management unit 124d in performing management-related processing. And functional units such as a resource unit 124e including resources of the web.

한편, 디자인 데이터 매퍼(127)는 기능부(124)에 의하여 획득된 데이터 및 요청된 HTML 요소를 분석하여 매핑을 수행할 수 있다. 즉, 획득된 데이터를 HTML 요소에 반영하는 것이다. 예를 들면, 모듈(122)의 디스플레이부(124a)에서 획득된 데이터와 HTML 요소의 데이터 디스플레이 부분을 분석하여 데이터를 그 데이터가 반영되어야 할 데이터 디스플레이 부분으로 매핑할 수 있다. 디자인 데이터 매퍼(127)는 이와 같이 처리된 HTML 요소를 스마트 컨트롤러(110)로 전송할 수 있다.The design data mapper 127 may analyze the data acquired by the function unit 124 and the requested HTML elements to perform mapping. That is, the acquired data is reflected in the HTML element. For example, the data obtained by the display unit 124a of the module 122 and the data display portion of the HTML element may be analyzed and mapped to the data display portion to which the data should be reflected. The design data mapper 127 may transmit the processed HTML element to the smart controller 110.

도 4는 도 2에 도시된 동적 웹 사이트 개발 장치(100)의 구성 간의 연동 관계를 도시하는 블록도이다.FIG. 4 is a block diagram showing an interlocking relationship between the configurations of the dynamic website development apparatus 100 shown in FIG. 2.

도 4에 도시된 바와 같이, 스마트 디자인 엔진(112)에 의하여 웹 디자인은 웹 서버(10)로 로딩되며, 각 모듈(122)에 대응되는 HTML 요소 단위로 추출된다. 이러한 스마트 디자인 엔진(112)은 웹 디자인(40)과 같은 표현 계층(60)을 구현할 수 있다.As shown in FIG. 4, the web design is loaded into the web server 10 by the smart design engine 112 and extracted in units of HTML elements corresponding to each module 122. Such a smart design engine 112 may implement a presentation layer 60 such as web design 40.

한편, 모듈 컨트롤러(114)는 스마트 디자인 엔진(112)으로부터 모듈 요청 정보를 전송받고 그 모듈 요청 정보를 기반으로 모듈부(120)의 모듈에 모듈 실행 요청을 전송하게 된다. 상기 모듈 컨트롤러(114)와 모듈부(120)는 프로그램 처리 계층(70), 즉 비즈니스 로직에 따른 처리를 수행하는 계층을 구현할 수 있다.Meanwhile, the module controller 114 receives module request information from the smart design engine 112 and transmits a module execution request to the module of the module unit 120 based on the module request information. The module controller 114 and the module unit 120 may implement a program processing layer 70, that is, a layer that performs processing according to business logic.

도 5는 동적 웹 사이트 개발 장치(100)의 동작 흐름을 도시하기 위한 흐름도로서, 본 발명의 바람직한 실시예에 따른 동적 웹 사이트 개발 방법을 나타내고 있다.5 is a flowchart illustrating an operation flow of the dynamic web site development apparatus 100, and illustrates a dynamic web site development method according to a preferred embodiment of the present invention.

도 5에 도시된 바와 같이, 웹 클라이언트(20)는 HTTP 요청을 스마트 디자인 엔진(112)으로 전송할 수 있다(단계:S1). 이때, 상기 HTTP 요청에는 사용자의 웹 디자인으로 접근할 수 있는 웹 주소가 포함된다. 스마트 디자인 엔진(112)은 HTTP 요청을 수신하고 상기 웹 주소를 사용하여 웹 디자인을 로딩할 수 있다(단계:S2). 상기 로딩되는 웹 디자인은 프로그램 처리 계층의 웹 프로그램 소스를 포함하지 않는 표현 계층의 정보일 수 있다.As shown in FIG. 5, the web client 20 may send an HTTP request to the smart design engine 112 (step: S1). At this time, the HTTP request includes a web address accessible to the user's web design. The smart design engine 112 may receive an HTTP request and load a web design using the web address (step S2). The loaded web design may be information of a presentation layer that does not include a web program source of a program processing layer.

도 6은 종래에 웹 디자인과 웹 프로그램 소스가 혼합되어 있는 웹 페이지의 코드를 예시적으로 나타내는 예시도이다.FIG. 6 is an exemplary view showing code of a web page in which a web design and a web program source are conventionally mixed.

도 6에 도시된 "?PHP" 에서 "?"까지의 영역, 즉Area from "? PHP " to "? &Quot;

<?php<? php

$data = Board::GetList(0, 10);  $ data = Board :: GetList (0, 10);

?>"?> "

And

"<?php foreach($data as $item) ?>"<? php foreach ($ data as $ item)?>

<a href="board_view.jsp?idx=<?=$item("NO")?>">  <a href="board_view.jsp?idx=<?=$item("NO")?> ">

<tr>  <tr>

<td><?=$item("NO")?></td>    <td> <? = $ item ("NO")?> </ td>

<td><?=$item("제목")?></td>    <td> <? = $ item ("Title")?> </ td>

<td><?=$item("작성자")?></td>    <td> <? = $ item ("author")?> </ td>

<td><?=$item("작성일")?></td>    <td> <? = $ item ("Creation Date")?> </ td>

<td><?=$item("읽은수")?></td>    <td> <? = $ item ("reads")?> </ td>

</tr>  </ tr>

</a>  </a>

<?php } ?>  <? php}?>

까지는 프로그램 소스 영역, 즉 프로그램 처리 계층의 코드이다. 이러한 형태의 웹 페이지는 앞서 설명했던 바와 같이 표현 계층과 프로그램 처리 계층이 혼재되어 있어 웹 디자인 지식과 웹 프로그래밍 지식을 모두 갖추지 않고서는 제작 및 구현, 웹 프로그램 수정과 관리가 매우 어렵다.Up to the program source area, that is, the code of the program processing layer. As described above, a web page of this type has a mixture of a presentation layer and a program processing layer, and thus it is very difficult to produce and implement, modify and manage a web program without having both web design knowledge and web programming knowledge.

도 7은 스마트 디자인 엔진(112)에 의하여 로딩되는 사용자의 웹 디자인의 코드를 예시적으로 나타내는 예시도이다. 또한, 도 8은 동적 웹 디자인 개발 장치(100)에 의한 모듈 인터페이스의 식별 예를 나타내는 예시도이다.7 is an exemplary diagram illustrating code of a web design of a user loaded by the smart design engine 112. 8 is an exemplary view showing an example of identification of a module interface by the dynamic web design development apparatus 100.

도 7에 도시된 바와 같이, 스마트 디자인 엔진(112)에 의하여 로딩되는 웹 디자인은 표준 HTML 문서로 작성될 수 있다. 스마트 디자인 엔진(112)은 상기 로딩된 웹 디자인을 파싱하여 프로그램 처리 계층의 웹 프로그램인 모듈(122)에 의하여 처리되어야 할 HTML 요소를 추출하고(단계:S3), 상기 추출된 HTML 요소, 모듈 인터페이스 식별자 등을 포함하는 모듈 요청 정보를 모듈 컨트롤러(114)로 전송할 수 있다(단계:S4).As shown in FIG. 7, the web design loaded by the smart design engine 112 may be written in a standard HTML document. The smart design engine 112 parses the loaded web design to extract HTML elements to be processed by the module 122 which is a web program of a program processing layer (step S3), and extracts the extracted HTML elements and a module interface. Module request information including an identifier or the like may be transmitted to the module controller 114 (step: S4).

예컨대, 스마트 디자인 엔진(112)은 로딩된 웹 디자인을 분석하여 웹 디자인에서 HTML 요소들 중 특정 속성, 예컨대 ID를 가지는 HTML 요소를 프로그램 처리 계층에서 처리되어야 할 HTML 요소인 것으로 판단하고, 속성에 ID를 가지는 HTML 요소들을 웹 디자인으로부터 HTML 요소 단위로 추출한 후 해당 ID가 지정하는 모듈 인터페이스 식별자를 검출하여 HTML 요소 및 이에 대응하는 모듈 인터페이스 식별자 등을 포함하는 모듈 요청 정보를 모듈 컨트롤러(114)로 전달할 수 있다.For example, the smart design engine 112 analyzes the loaded web design and determines that the HTML element having a specific attribute, such as an ID, among the HTML elements in the web design is an HTML element to be processed in the program processing layer, and the ID is assigned to the attribute. After extracting the HTML elements having the element in units of HTML elements from the web design, the module interface identifier designated by the corresponding ID is detected, and the module request information including the HTML element and the corresponding module interface identifier can be transmitted to the module controller 114. have.

도 7에 도시된 웹 디자인에서, 아래의 HTML 요소는 id="M_Board_List" 부분에 ID를 포함한다.In the web design shown in FIG. 7, the following HTML element includes an ID in the id = "M_Board_List" part.

<table id="M_Board_List" cellpadding="1" cellspacing="1" width="98%"><table id = "M_Board_List" cellpadding = "1" cellspacing = "1" width = "98%">

<!-<!-

게시글 목록수 : 10Number of posts: 10

게시글 제목 최대 글자수 : 20Post title Max characters: 20

게시판 페이징 목록수 : 5Number of bulletin board paging lists: 5

-->  ->

<tr>  <tr>

<td>NO</td>    <td> NO </ td>

<td>제목</td>    <td> Title </ td>

<td>작성자</td>    <td> Author </ td>

<td>작성일</td>    <td> Created </ td>

<td>읽은수</td>    <td> reads </ td>

</tr>  </ tr>

<a href="board_view.jsp?idx=$NO">  <a href="board_view.jsp?idx=$NO">

<tr>  <tr>

<td>$NO|NUMBER[,]?></td>    <td> $ NO | NUMBER [,]?> </ td>

<td>$제목|LENGTH[32]?></td><td> $ title | LENGTH [32]?> </ td>

<td>$작성자|LENGTH[10]?></td>    <td> $ author | LENGTH [10]?> </ td>

<td>$작성일|DATE[YYYY 년 mm 월 dd 일]?></td>    <td> $ created | DATE [mm month dd day in YYYY]?> </ td>

<td>$읽은수|NUMBER[,]?></td>    <td> $ reads | NUMBER [,]?> </ td>

</tr>  </ tr>

</a>  </a>

</table></ table>

</form></ form>

따라서, 스마트 디자인 엔진(112)은 상기 HTML 요소를 추출한다. 이때 상기 HTML 요소에 대응하는 모듈 인터페이스 식별자는 ID가 지정하는 "M_Board_List" 부분이다. 도 8에 도시된 바와 같이, 상기 "M_Board_List" 는 게시글 목록을 호출하는 것이므로 모듈(122)의 디스플레이부(124a에 의하여 처리될 수 있다. Thus, the smart design engine 112 extracts the HTML element. At this time, the module interface identifier corresponding to the HTML element is a "M_Board_List" part designated by the ID. As shown in FIG. 8, since "M_Board_List" calls a post list, it may be processed by the display unit 124a of the module 122.

이를 위하여 사용자는 해당 HTML 요소의 속성 중 ID에 디스플레이를 할달할 모듈의 ID 및 메쏘드(Method)로 이루어진 모듈 인터페이스 식별자 지정할 수 있다. 모듈 인터페이스 식별자는 도 8에 도시된 표의 기타 항목에 기재된 바와 같이 반복 형태와 고정 형태로 구분될 수도 있다. 모듈 인터페이스 식별자는 웹 디자인의 HTML 요소들 중 중 ID 속성을 가진 모든 HTML 요소에 지정할 수 있으며, 이러한 HTML 요소는 하위 HTML 요소를 포함할 수도 있다.To this end, the user can designate a module interface identifier consisting of an ID and a method of a module to display on ID among attributes of the corresponding HTML element. The module interface identifier may be divided into a repetitive form and a fixed form as described in other items of the table shown in FIG. 8. The module interface identifier may be assigned to all HTML elements having an ID attribute among HTML elements of the web design, and these HTML elements may include child HTML elements.

모듈 컨트롤러(114)는 스마트 디자인 엔진(112)으로부터 전달되는 모듈 요청 정보를 기반으로 모듈 실행 요청을 생성하여 모듈부(120)로 전송할 수 있다(단계:S5). 즉, 모듈 컨트롤러(114)는 스마트 디자인 엔진(112)으로부터 전달되는 모듈 요청 정보에 따라 처리할 모듈(122) 및 그 관련 정보를 검출하고 해당 모듈(122)에 실행을 명령하는 것이다.The module controller 114 may generate a module execution request based on the module request information transmitted from the smart design engine 112 and transmit the generated module request to the module unit 120 (step: S5). That is, the module controller 114 detects the module 122 to be processed and its related information according to the module request information transmitted from the smart design engine 112 and commands the module 122 to execute.

예를 들면, 모듈 컨트롤러(114)는 모듈 요청 정보에 포함된 모듈 인터페이스 식별자를 통하여 해당 HTML 요소를 처리할 모듈(122) 및 모(122)듈의 기능부의 정보를 검출하고, 검출된 모듈(122)로 HTML 요소 및 기능부의 정보 등을 포함하는 모듈 실행 요청을 전송할 수 있다.For example, the module controller 114 detects information of the module 122 and the functional units of the module 122 that will process the corresponding HTML element through the module interface identifier included in the module request information, and detects the detected module 122. ) Can send a module execution request including information on HTML elements and functions.

모듈 컨트롤러(114)로부터 전송되는 모듈 실행 요청을 수신한 모듈(122)은, 모듈 실행 요청에 포함된 기능부의 정보를 기반으로 기능부(124)를 실행시킬 수 있다(단계:S6). 기능부(124)는 서비스부(30)로 HTML 요소에 대한 처리를 위해 필요한 데이터 값, 자바 스크립트 코드, 프로그램 코드 등의 데이터를 요청하고(단계:S7), 그 응답으로 데이터를 획득할 수 있다(단계:S8).The module 122 receiving the module execution request transmitted from the module controller 114 may execute the function unit 124 based on the information of the function unit included in the module execution request (step S6). The function unit 124 may request data such as a data value, a JavaScript code, a program code, etc. necessary for processing the HTML element to the service unit 30 (step S7), and may acquire data in response. (Step S8).

이어서, 모듈(122)의 디자인 데이터 매퍼(127)는 기능부(124)에 의하여 획득된 데이터 및 모듈 실행 요청을 통하여 전달된 HTML 요소를 분석하여 매핑을 수행할 수 있다(단계:S9). 즉 획득된 데이터를 상기 전달된 HTML 요소에 반영하는 것이다. 예를 들면, 모듈(122)의 디스플레이부(124a)에서 획득된 데이터와 HTML 요소의 데이터 디스플레이 부분을 분석하여 데이터를 그 데이터가 반영되어야 할 데이터 디스플레이 부분으로 매핑할 수 있다.Subsequently, the design data mapper 127 of the module 122 may analyze the data acquired by the function unit 124 and the HTML element transmitted through the module execution request (step S9). That is, the acquired data is reflected in the delivered HTML element. For example, the data obtained by the display unit 124a of the module 122 and the data display portion of the HTML element may be analyzed and mapped to the data display portion to which the data should be reflected.

도 9a 및 9b는 디자인 데이터 매퍼(127)에 의한 데이터의 매핑을 예시적으로 나타내는 예시도이다.9A and 9B are exemplary views illustrating mapping of data by the design data mapper 127.

도 9a 및 9b에 도시된 바와 같이, 디자인 데이터 매퍼(127)에 의하여 HTML 요소에 모듈(122)의 실행에 의하여 서비스부(30)로부터 획득된 데이터들이 적용된 HTML 요소가 생성되게 된다. 예컨대 표현 계층의 게시판 디자인에 서비스부(30)로부터 제공되는 개별 데이터 값들이 적용되어 게시판이 생성될 수 있다. 디자인 데이터 매퍼(127)는 이와 같이 처리된 HTML 요소를 모듈 실행 결과로서 스마트 컨트롤러(110)로 전송할 수 있다(단계:S10, 11).As illustrated in FIGS. 9A and 9B, the design data mapper 127 generates an HTML element to which the data obtained from the service unit 30 is applied to the HTML element by the execution of the module 122. For example, the bulletin board may be generated by applying individual data values provided from the service unit 30 to the bulletin board design of the presentation layer. The design data mapper 127 may transmit the processed HTML element to the smart controller 110 as a result of executing the module (steps S10 and 11).

스마트 컨트롤러(110)의 스마트 디자인 엔진(112)은 모듈(122)로부터 전달되는 처리된 HTML 요소를 사용하여 웹 디자인을 재구성함으로써 통합된 웹 페이지를 생성할 수 있다(단계:S12). 예를 들면, 스마트 디자인 엔진(112)은 웹 디자인에서 추출된 HTML 요소를 모듈(122)에 의하여 처리된 HTML 요소로 대체할 수 있다. 이어서, 스마트 디자인 엔진(112)은 재구성된 웹 디자인을 웹 클라이언트(20)로 전송할 수 있다(단계:S13).The smart design engine 112 of the smart controller 110 may generate an integrated web page by reconstructing the web design using the processed HTML elements delivered from the module 122 (step S12). For example, the smart design engine 112 may replace the HTML elements extracted from the web design with the HTML elements processed by the module 122. Subsequently, the smart design engine 112 may transmit the reconstructed web design to the web client 20 (step S13).

한편, 사용자의 PC가 네트워크를 통하여 웹 서버와 연동하지 못하는 경우 웹 서버와 연동하지 않는 독자적인 환경에서 동적 웹 사이트 개발 장치를 적용할 수도 있다.On the other hand, if the user's PC is not able to interwork with the web server through the network, the dynamic web site development device may be applied in a unique environment that does not interoperate with the web server.

도 10은 이와 같은 사용자 PC에 적용되는 동적 웹 사이트 개발 장치의 적용 예를 나타내는 블록도이다.10 is a block diagram showing an application example of the dynamic website development apparatus applied to such a user PC.

도 10에 도시된 바와 같이, 사용자는 사용자 PC(601)에서 웹 브라우저(602)와 동적 웹 사이트 개발 장치(603)를 구성하고, 웹 서버가 구성되지 않았거나 인터넷 연결이 이루어지지 않은 환경에서 동적 웹 사이트 개발 장치를 사용할 수 있는 웹 디자인을 가상으로 구현할 수 있으며, 웹 서버의 구성 없이 사용자가 어디서든 웹 디자인을 할 수 있는 환경을 제공할 수 있다.As shown in FIG. 10, a user configures a web browser 602 and a dynamic web site development device 603 on a user PC 601, and dynamically configures a web server in an environment in which no web server is configured or no internet connection is made. A web design that can use a web site development device can be virtually implemented, and a web environment can be provided where users can design a web anywhere without a web server configuration.

동적 웹 사이트 개발 장치(603)는 클라이언트 사이드 스크립트(Client Side Script) 언어인 자바 스크립트 언어로 작성될 수 있으며, 사용자의 웹 디자인 소스 원본(604)의 HTML(604-1)을 분석 및 파싱하여 실제 화면처럼 웹 디자인을 재구성할 수 있다.The dynamic web site development device 603 may be written in the Javascript language, which is a client side script language. The dynamic web site development device 603 analyzes and parses the HTML 604-1 of the original web design source source 604 of the user. You can reconfigure your web design just like a screen.

도 11a 및 도 11b는 동적 웹 사이트 개발 장치(603)가 적용된 HTML 소스 코드의 예를 나타내는 예시도이다.11A and 11B are exemplary views showing an example of HTML source code to which the dynamic web site development apparatus 603 is applied.

도 11a 및 도 11b에 도시된 바와 같이, 동적 웹 사이트 개발 장치(603)의 엔진이 스크립트(Script) 형태로 포함된 것을 확인할 수 있으며, 반입(Import) 기능을 통해 특정 웹 페이지를 호출할 수 있으며 이러한 여러 가지 기능을 기능 식별자를 통해 제공한다.11A and 11B, it can be seen that the engine of the dynamic web site development apparatus 603 is included in the form of a script, and a specific web page can be called through an import function. These different functions are provided through function identifiers.

아래의 코드는 도 11의 HTML 소스 코드가 동적 웹사이트 개발 장치(603)를 통해 처리된 결과를 나타낸다.The code below shows the result of the HTML source code of FIG. 11 being processed through the dynamic website development device 603.

<html xmlns="http://www.w3.org/1999/xhtml"><html xmlns = "http://www.w3.org/1999/xhtml">

<head><head>

<title>쇼핑몰 제목입니다.</title>  <title> The title of the mall. </ title>

<meta content="text/html; charset=UTF-8" http-equiv="Content-Type"/>  <meta content = "text / html; charset = UTF-8" http-equiv = "Content-Type" />

<meta content="editplus" name="generator"/>  <meta content = "editplus" name = "generator" />

<meta content="" name="author"/>  <meta content = "" name = "author" />

<meta content="" name="keywords"/>  <meta content = "" name = "keywords" />

<meta content="" name="description"/>  <meta content = "" name = "description" />

<style>  <style>

.head { clear:both; height:70px; border-bottom:2px solid gray; margin-bottom:10px;}    .head {clear: both; height: 70px; border-bottom: 2px solid gray; margin-bottom: 10px;}

.head h1 { padding:0; margin:0; font-size:1.6em; }    .head h1 {padding: 0; margin: 0; font-size: 1.6em; }

.head ul {list-style:none; padding:0; margin:0; }    .head ul {list-style: none; padding: 0; margin: 0; }

.head ul li { float:left; padding:5px; margin:0 5px;}     .head ul li {float: left; padding: 5 px; margin: 0 5px;}

.left { width:200px; padding:5px; float:left; margin-right:15px; border-right:1px solid gray;}    .left {width: 200px; padding: 5 px; float: left; margin-right: 15 px; border-right: 1px solid gray;}

.left .module { border-bottom:2px solid #f2f2f2; padding:5px;}    .left .module {border-bottom: 2px solid # f2f2f2; padding: 5px;}

.left .module h3 { padding:0; margin:0; font-size:0.92em; font-weight:bold;}    .left .module h3 {padding: 0; margin: 0; font-size: 0.92em; font-weight: bold;}

.left .module ul { padding:0; margin:0; list-style:none; }    .left .module ul {padding: 0; margin: 0; list-style: none; }

.left .module ul li { padding:0 0 0 5px }    .left .module ul li {padding: 0 0 0 5px}

.left .module ul li a { font-size:0.8em; }    .left .module ul li a {font-size: 0.8em; }

.wrap_content { width:640px; float:left; }    .wrap_content {width: 640px; float: left; }

.content { padding:5px; }     .content {padding: 5px; }

.content h3 { padding:0; margin:0; font-size:0.92em; font-weight:bold;}    .content h3 {padding: 0; margin: 0; font-size: 0.92em; font-weight: bold;}

.content ul { padding:0; margin:0; list-style:none; }    .content ul {padding: 0; margin: 0; list-style: none; }

.content ul li { padding:0 0 0 5px; float:left; border:1px solid #f2f2f2; width:190px; margin:5px; text-align:center; }    .content ul li {padding: 0 0 0 5px; float: left; border: 1px solid # f2f2f2; width: 190px; margin: 5px; text-align: center; }

.content ul li a { font-size:0.8em; }    .content ul li a {font-size: 0.8em; }

</style>  </ style>

</head></ head>

<body><body>

<div id="import_sde_0">  <div id = "import_sde_0">

<div class="head">    <div class = "head">

<h1>홈페이지 타이틀</h1>      <h1> Home page title </ h1>

<ul class="gnb_menu">      <ul class = "gnb_menu">

<li><a href="index.html">홈</a></li>        <li> <a href="index.html"> Home </a> </ li>

<li><a href="guest.html">방명록</a></li>        <li> <a href="guest.html"> Guestbook </a> </ li>

<li><a href="company.html">회사소개</a></li>        <li> <a href="company.html"> About Us </a> </ li>

<li><a href="board.html">게시판</a></li>        <li> <a href="board.html"> Bulletin </a> </ li>

</ul>      </ ul>

</div>    </ div>

</div>  </ div>

<div id="import_sde_1">  <div id = "import_sde_1">

<div class="left">    <div class = "left">

<div class="module">      <div class = "module">

<h3>카테고리</h3>        <h3> Categories </ h3>

<ul id="M_board_1_list">        <ul id = "M_board_1_list">

<li><a href="{$link}">제목입니다.</a></li>          <li> <a href="{$link}"> Title </a> </ li>

<li><a href="{$link}">제목입니다.</a></li>          <li> <a href="{$link}"> Title </a> </ li>

<li><a href="{$link}">제목입니다.</a></li><li> <a href="{$link}"> Title </a> </ li>

<li><a href="{$link}">제목입니다.</a></li>          <li> <a href="{$link}"> Title </a> </ li>

</ul>         </ ul>

</div>      </ div>

<div id="M_poll_1_form" class="module">    <div id = "M_poll_1_form" class = "module">

<h3>질문입니다.</h3>      <h3> This is a question. </ h3>

<ul>      <ul>

<li><input type="radio" value="{$value}"/>답변입니다.</li>        <li> <input type = "radio" value = "{$ value}" /> Answer. </ li>

<li><input type="radio" value="{$value}"/>답변입니다.</li>        <li> <input type = "radio" value = "{$ value}" /> Answer. </ li>

<li><input type="radio" value="{$value}"/>답변입니다.</li>        <li> <input type = "radio" value = "{$ value}" /> Answer. </ li>

<li><input type="radio" value="{$value}"/>답변입니다.</li>        <li> <input type = "radio" value = "{$ value}" /> Answer. </ li>

</ul>        </ ul>

</div>      </ div>

</div>    </ div>

</div>  </ div>

<div class="wrap_content">  <div class = "wrap_content">

<div class="content" id="M_mall_1_list">    <div class = "content" id = "M_mall_1_list">

<h3>상품 1</h3>      <h3> Item 1 </ h3>

<ul>      <ul>

<li>        <li>

<img src="http://www.cafe24.com/admin/common/noimg_100x100.gif"/>          <img src = "http://www.cafe24.com/admin/common/noimg_100x100.gif" />

<br/>          <br/>

<a href="#">제목입니다.</a>          <a href="#"> Title </a>

</li>        </ li>

<li>        <li>

<img src="http://www.cafe24.com/admin/common/noimg_100x100.gif"/>          <img src = "http://www.cafe24.com/admin/common/noimg_100x100.gif" />

<br/>          <br/>

<a href="#">제목입니다.</a>          <a href="#"> Title </a>

</li>        </ li>

<li>        <li>

<img src="http://www.cafe24.com/admin/common/noimg_100x100.gif"/>          <img src = "http://www.cafe24.com/admin/common/noimg_100x100.gif" />

<br/>          <br/>

<a href="#">제목입니다.</a>          <a href="#"> Title </a>

</li>        </ li>

<li>        <li>

<img src="http://www.cafe24.com/admin/common/noimg_100x100.gif"/>          <img src = "http://www.cafe24.com/admin/common/noimg_100x100.gif" />

<br/>          <br/>

<a href="#">제목입니다.</a>          <a href="#"> Title </a>

</li>        </ li>

<li>        <li>

<img src="http://www.cafe24.com/admin/common/noimg_100x100.gif"/>          <img src = "http://www.cafe24.com/admin/common/noimg_100x100.gif" />

<br/>          <br/>

<a href="#">제목입니다.</a>          <a href="#"> Title </a>

</li>        </ li>

<li>        <li>

<img src="http://www.cafe24.com/admin/common/noimg_100x100.gif"/>          <img src = "http://www.cafe24.com/admin/common/noimg_100x100.gif" />

<br/>          <br/>

<a href="#">제목입니다.</a>          <a href="#"> Title </a>

</li>        </ li>

</ul>      </ ul>

</div>    </ div>

</div>  </ div>

<div style="clear: both;">  <div style = "clear: both;">

<div id="import_sde_2">    <div id = "import_sde_2">

<div style="border-top: 2px solid gray; padding: 10px; clear: both;<div style = "border-top: 2px solid gray; padding: 10px; clear: both;

우리회사는...       Our company ...

</div>      </ div>

</div>    </ div>

</div>  </ div>

<script src="emulation.js" type="text/javascript"/>  <script src = "emulation.js" type = "text / javascript" />

</body></ body>

</html></ html>

상기 코드와 같이, 도 11a 및 도 11b에 도시된 예 처럼 작성된 HTML 소스 코드가, 웹 페이지 출력이 가능한 HTML 소스 코드로 재 작성 될 수 있다.Like the above code, the HTML source code created as in the example shown in FIGS. 11A and 11B may be rewritten into HTML source code capable of outputting a web page.

도 12는 상기와 같이 구성되는 동적 웹 사이트 개발 장치(603)의 동작 절차를 나타내는 흐름도이다. 12 is a flowchart showing an operation procedure of the dynamic web site development apparatus 603 configured as described above.

도 12에 도시된 바와 같이, 웹 브라우저(602)가 시작되면 웹 브라우저(602)는 사용자 PC(601)의 사용자의 웹 디자인 소스 원본(604)에서 HTML(604-1)과, JavaScript(604-2)와, CSS(604-3) 및 Image(604-4) 등과 같은 웹 디자인 요소를 로드하고 웹에 구성한다(단계:S701~S703).As shown in FIG. 12, when the web browser 602 is started, the web browser 602 may generate HTML 604-1 and JavaScript 604-1 from the web design source original 604 of the user of the user's PC 601. 2), web design elements such as CSS 604-3, Image 604-4, etc. are loaded and configured on the web (steps S701 to S703).

이어서, 웹 디자인 요소에 포함된 동적 웹 사이트 개발 장치(603)가 실행 및 초기화 되며, 웹 디자인 요소에서 웹 페이지를 재 생성하고 파싱하여 이를 분석한다(단계:S704~S706). 다음으로, 동적 웹 사이트 개발 장치(603)는 파싱된 웹 페이지를 재구성하고 이를 웹 브라우저에 출력한다(단계:S707~S708).Subsequently, the dynamic web site development apparatus 603 included in the web design element is executed and initialized, and the web page is regenerated and parsed by the web design element and analyzed (steps S704 to S706). Next, the dynamic web site development apparatus 603 reconstructs the parsed web page and outputs it to the web browser (steps S707 to S708).

이상에서 설명한 같이, 본 발명에 따른 동적 웹 사이트 개발 장치에 따르면, 사용자의 웹 디자인은 웹 응용프로그램 및 동적 웹 사이트를 제작할 수 있는 소스 코드의 역할을 대신하여 웹 프로그램 개발자가 아닌 사용자도 쉽게 웹 디자인만으로 웹 응용프로그램 및 동적 웹 사이트를 구축할 수 있다.As described above, according to the apparatus for developing a dynamic website according to the present invention, the user's web design replaces the role of source code for producing a web application and a dynamic web site, and is easily designed by a user who is not a web program developer. You can build web applications and dynamic web sites by yourself.

즉, 본 발명은 웹 디자인에 의한 다양한 형태의 동적인 웹 페이지를 구성할 수 있어 웹 프로그램 개발자가 아닌 누구라도 웹이라는 영역에 접근하여 제작하고 사용할 수 있게 한다. 또한, 사용자가 웹 서버의 구성 없이도 개인 PC에서 웹 브라우저와 다양한 텍스트 에디터 및 웹 에디터를 이용하여 효율적인 웹 디자인 작업을 할 수 있도록 지원한다.That is, the present invention can compose dynamic web pages of various forms by web design, so that anyone who is not a web program developer can access and produce and use the domain of web. In addition, it enables users to efficiently design webs using a web browser, various text editors and web editors on their personal PCs without the need for a web server.

이상 본 발명에 대하여 그 바람직한 실시예를 예시하여 설명하였지만 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구 범위에 기재된 본 발명의 기술적 사항 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시켜 실시할 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.
While the present invention has been described above by way of example thereof, those skilled in the art will variously modify and change the present invention without departing from the technical matters and scope of the present invention as set forth in the claims below. It will be understood that it can be done. Accordingly, modifications to future embodiments of the present invention will not depart from the technology of the present invention.

10 : 웹 서버
20 : 웹 클라이언트
30 : 서비스부
40 : 웹 디자인
60 : 표현 계층
70 : 프로그램 처리 계층
100 : 웹 디자인을 이용한 동적 웹 사이트 개발 장치
110 : 스마트 컨트롤러
112 : 스마트 디자인 엔진
114 : 모듈 컨트롤러
120 : 모듈부
122 : 모듈
10: Web server
20: web client
30: Service Department
40: web design
60: presentation layer
70: program processing layer
100: dynamic web site development device using web design
110: smart controller
112: smart design engine
114: module controller
120: module
122: module

Claims (15)

웹 클라이언트로부터의 요청에 따라 상기 요청에 대응되는 사용자의 웹 디자인을 로딩하고, 상기 로딩된 웹 디자인을 파싱하여 프로그램 처리 계층의 웹 프로그램인 모듈에 의하여 처리되어야 할 HTML(Hypertext Markup Language) 요소를 추출하고, 상기 추출된 HTML 요소를 포함하는 모듈 실행 요청을 전송하고, 상기 모듈의 실행에 의하여 처리된 HTML 요소를 사용하여 상기 웹 디자인을 재구성하는 스마트 컨트롤러; 및
상기 스마트 컨트롤러로부터 전송되는 상기 모듈 실행 요청에 따라 상기 모듈을 실행하여 상기 모듈 실행 요청에 포함되는 HTML 요소에 대하여 상기 웹 클라이언트로부터의 요청에 대응하는 프로그램 처리 계층에서의 처리를 수행하고 상기 처리된 HTML 요소를 상기 스마트 컨트롤러로 전달하는 모듈부를 포함하는 것을 특징으로 하는 웹 디자인을 이용한 동적 웹 사이트 개발 장치.
In response to a request from a web client, a user loads a web design corresponding to the request, parses the loaded web design, and extracts an HTML (Hypertext Markup Language) element to be processed by a module which is a web program of a program processing layer. A smart controller configured to transmit a module execution request including the extracted HTML element and to reconfigure the web design using the HTML element processed by the execution of the module; And
Execute the module according to the module execution request transmitted from the smart controller to perform processing in the program processing layer corresponding to the request from the web client with respect to the HTML element included in the module execution request and the processed HTML Dynamic website development apparatus using a web design, characterized in that it comprises a module unit for transmitting the element to the smart controller.
제 1 항에 있어서, 스마트 컨트롤러는 상기 추출되는 HTML 요소의 속성 중 ID에 의해 지정되는 모듈 인터페이스 식별자를 검출하고, 상기 모듈 인터페이스 식별자 및 상기 추출되는 HTML 요소를 전송하는 스마트 디자인 엔진; 및
상기 스마트 디자인 엔진으로부터 전송되는 모듈 인터페이스 식별자 및 HTML 요소를 수신하고, 상기 모듈 인터페이스 식별자를 사용하여 상기 수신된 HTML 요소에 대한 처리를 수행할 모듈의 정보 및 상기 모듈 내의 기능부의 정보를 검출하고, 상기 모듈로 상기 수신된 HTML 요소 및 상기 기능부의 정보를 포함하는 모듈 실행 요청을 상기 모듈부에 포함된 상기 모듈로 전송하는 모듈 컨트롤러를 포함하는 것을 특징으로 하는 웹 디자인을 이용한 동적 웹사이트 개발 장치.
The smart controller of claim 1, further comprising: a smart design engine that detects a module interface identifier specified by an ID among attributes of the extracted HTML element, and transmits the module interface identifier and the extracted HTML element; And
Receive a module interface identifier and an HTML element transmitted from the smart design engine, detect information of a module to perform processing on the received HTML element and information of a functional part in the module using the module interface identifier, And a module controller for transmitting a module execution request including the received HTML element and information of the functional unit to a module included in the module unit.
제 2 항에 있어서, 상기 스마트 디자인 엔진은 상기 로딩된 웹 페이지의 HTML 요소 중 ID를 포함하는 HTML 요소를 프로그램 처리 계층에서 처리되어야 할 HTML 요소인 것으로 판단하는 것을 특징으로 하는 웹 디자인을 이용한 동적 웹사이트 개발 장치.
The dynamic web using the web design of claim 2, wherein the smart design engine determines that an HTML element including an ID among HTML elements of the loaded web page is an HTML element to be processed in a program processing layer. Site development device.
제 2 항에 있어서, 상기 모듈은 상기 모듈 실행 요청의 상기 기능부의 정보를 기반으로 상기 기능부를 실행하고, 상기 기능부는 요청된 처리를 수행하기 위하여 필요한 개체와 연동하여 처리 데이터를 획득하는 것을 특징으로 하는 웹 디자인을 이용한 동적 웹 사이트 개발 장치.
The method of claim 2, wherein the module executes the function unit based on the information of the function unit of the module execution request, and the function unit acquires the processing data in association with an entity required to perform the requested process. Dynamic web site development device using web design.
제 2 항에 있어서, 상기 모듈은 상기 기능부의 실행에 의하여 획득되는 처리 데이터를 분석하여 상기 수신된 HTML 요소에 매핑함으로써, 상기 처리된 HTML 요소를 생성하는 것을 특징으로 하는 웹 디자인을 이용한 동적 웹 사이트 개발 장치.
The dynamic web site according to claim 2, wherein the module generates the processed HTML element by analyzing the processing data obtained by the execution of the functional unit and mapping the received data to the received HTML element. Development device.
제 1 항에 있어서, 상기 스마트 컨트롤러는 상기 웹 디자인에서 상기 추출된 HTML 요소를 상기 처리된 HTML 요소로 대체하고, 상기 재구성된 웹 디자인을 상기 웹 클라이언트로 전송하는 것을 특징으로 하는 웹 디자인을 이용한 동적 웹 사이트 개발 장치.
The method of claim 1, wherein the smart controller replaces the extracted HTML element with the processed HTML element in the web design and transmits the reconstructed web design to the web client. Website development device.
제 1 항에 있어서, 상기 웹 클라이언트로부터의 요청은 웹 주소를 포함하고, 상기 스마트 컨트롤러는 상기 웹 주소를 사용하여 상기 웹 디자인에 접근하여 상기 웹 디자인을 로딩하는 것을 특징으로 하는 웹 디자인을 이용한 동적 웹 사이트 개발 장치.
2. The dynamic method of claim 1, wherein the request from the web client includes a web address, and the smart controller accesses the web design using the web address to load the web design. Website development device.
제 1 항에 있어서, 상기 모듈은 디스플레이 관련 처리를 담당하는 디스플레이부, 실행 관련 처리를 담당하는 실행부, 외부 통신을 처리하는 API부, 관리 관련 처리를 수행하는 관리부 및 웹의 리소스를 포함하는 리소스부를 포함하는 것을 특징으로 하는 웹 디자인을 이용한 동적 웹 사이트 개발 장치.
The resource of claim 1, wherein the module comprises a display unit in charge of display-related processing, an execution unit in charge of execution-related processing, an API unit in processing external communication, a management unit performing management-related processing, and resources of a web. Dynamic website development apparatus using a web design, characterized in that it comprises a wealth.
동적 웹 사이트 개발 장치에 의하여 수행되는 방법에 있어서,
웹 클라이언트로부터의 요청에 따라 상기 요청에 대응되는 사용자의 웹 디자인을 로딩하는 단계;
상기 로딩된 웹 디자인을 파싱하여 프로그램 처리 계층의 웹 프로그램인 모듈에 의하여 처리되어야 할 HTML(Hypertext Markup Language) 요소를 추출하는 단계;
상기 모듈을 실행하여 상기 추출되는 HTML 요소에 대하여 상기 웹 클라이언트로부터의 요청에 대응하는 프로그램 처리 계층에서의 처리를 수행하여 처리된 HTML 요소를 생성하는 단계: 및
상기 모듈의 실행에 의하여 처리된 상기 HTML 요소를 사용하여 상기 웹 디자인을 재구성하는 단계를 포함하는 것을 특징으로 하는 웹 디자인을 이용한 동적 웹 사이트 개발 방법.
In the method performed by the dynamic web site development device,
Loading a web design of a user corresponding to the request according to a request from a web client;
Parsing the loaded web design to extract a Hypertext Markup Language (HTML) element to be processed by a module which is a web program of a program processing layer;
Executing the module to perform processing in a program processing layer corresponding to a request from the web client to the extracted HTML element to generate a processed HTML element; and
And reconstructing the web design using the HTML element processed by the execution of the module.
제 9 항에 있어서, 상기 추출되는 HTML 요소의 속성 중 ID에 의해 지정되는 모듈 인터페이스 식별자를 검출하는 단계;
상기 모듈 인터페이스 식별자를 사용하여 상기 추출되는 HTML 요소에 대한 처리를 수행할 모듈의 정보 및 상기 모듈 내의 기능부의 정보를 검출하는 단계; 및
상기 모듈로 상기 추출되는 HTML 요소 및 상기 기능부의 정보를 포함하는 모듈 실행 요청을 상기 모듈로 전송하는 단계를 더 포함하는 것을 특징으로 하는 웹 디자인을 이용한 동적 웹사이트 개발 방법.
10. The method of claim 9, further comprising: detecting a module interface identifier specified by an ID among attributes of the extracted HTML element;
Detecting information of a module to perform processing on the extracted HTML element and information of a functional part in the module by using the module interface identifier; And
And transmitting a module execution request including the extracted HTML element and the functional unit to the module to the module. 2.
제 10 항에 있어서, 상기 로딩된 웹 페이지의 HTML 요소 중 ID를 포함하는 HTML 요소를 프로그램 처리 계층에서 처리되어야 할 HTML 요소인 것으로 판단하는 단계를 더 포함하는 것을 특징으로 하는 웹 디자인을 이용한 동적 웹사이트 개발 방법.
11. The method of claim 10, further comprising the step of determining that the HTML element including the ID among the HTML elements of the loaded web page is an HTML element to be processed in the program processing layer, the dynamic web using a web design How to develop a site.
제 10 항에 있어서, 상기 처리된 HTML 요소를 생성하는 단계는,
상기 모듈이 상기 모듈 실행 요청의 상기 기능부의 정보를 기반으로 상기 기능부를 실행하는 단계;
상기 기능부가 요청된 처리를 수행하기 위하여 필요한 개체와 연동하여 처리 데이터를 획득하는 단계; 및
상기 모듈이 상기 기능부의 실행에 의하여 획득되는 처리 데이터를 분석하여 상기 수신된 HTML 요소에 매핑함으로써, 상기 처리된 HTML 요소를 생성하는 단계를 포함하는 것을 특징으로 하는 웹 디자인을 이용한 동적 웹 사이트 개발 방법.
The method of claim 10, wherein generating the processed HTML element comprises:
Executing, by the module, the functional unit based on the information of the functional unit of the module execution request;
Acquiring processing data in association with an entity necessary for performing the requested processing by the function unit; And
And generating, by the module, the processed HTML element by analyzing the process data obtained by the execution of the function unit and mapping the received data to the received HTML element. .
제 10 항에 있어서, 상기 웹 디자인을 재구성하는 단계는,
상기 웹 디자인에서 상기 추출된 HTML 요소를 상기 처리된 HTML 요소로 대체하는 단계를 포함하는 것을 특징으로 하는 웹 디자인을 이용한 동적 웹 사이트 개발 방법.
The method of claim 10, wherein reconfiguring the web design comprises:
And replacing the extracted HTML element with the processed HTML element in the web design.
제 9 항에 있어서, 상기 재구성된 웹 디자인을 상기 웹 클라이언트로 전송하는 단계를 더 포함하는 것을 특징으로 하는 웹 디자인을 이용한 동적 웹 사이트 개발 방법.
10. The method of claim 9, further comprising transmitting the reconstructed web design to the web client.
제 9 항에 있어서, 상기 웹 클라이언트로부터의 요청은 웹 주소를 포함하고,
상기 웹 디자인을 로딩하는 단계는,
상기 웹 주소를 사용하여 상기 웹 디자인에 접근하여 상기 웹 디자인을 로딩하는 단계를 포함하는 것을 특징으로 하는 웹 디자인을 이용한 동적 웹 사이트 개발 방법.
10. The method of claim 9, wherein the request from the web client includes a web address,
Loading the web design,
And loading the web design by accessing the web design using the web address.
KR1020110006564A 2010-01-21 2011-01-21 Device and Method for Producing Dynamic Web Site Using Web Design KR101228877B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20100005491 2010-01-21
KR1020100005491 2010-01-21

Publications (2)

Publication Number Publication Date
KR20110085945A KR20110085945A (en) 2011-07-27
KR101228877B1 true KR101228877B1 (en) 2013-02-07

Family

ID=44922604

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110006564A KR101228877B1 (en) 2010-01-21 2011-01-21 Device and Method for Producing Dynamic Web Site Using Web Design

Country Status (1)

Country Link
KR (1) KR101228877B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102137676B1 (en) * 2013-08-29 2020-07-24 에스케이플래닛 주식회사 Service apparatus, User apparatus, System and Method for editing a Output produced from Web authoring tool
KR102351134B1 (en) * 2021-08-03 2022-01-13 주식회사 미리디 A method of managing design resource, and system therefor
KR102637888B1 (en) * 2022-03-21 2024-02-20 주식회사 가비아씨엔에스 System for building website based on website module and method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020004723A (en) * 2000-07-07 2002-01-16 오영숙 Method for manufacture web site using page component
KR20020085604A (en) * 2001-05-09 2002-11-16 주식회사 현대메드인 Hospital Home-page building system by using Internet community
KR20030095546A (en) * 2002-06-12 2003-12-24 (주)아이비솔루션 Construction method of wab page and wab site
KR20060115805A (en) * 2005-05-06 2006-11-10 (주)한비솔 Method and system for managing web-based program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020004723A (en) * 2000-07-07 2002-01-16 오영숙 Method for manufacture web site using page component
KR20020085604A (en) * 2001-05-09 2002-11-16 주식회사 현대메드인 Hospital Home-page building system by using Internet community
KR20030095546A (en) * 2002-06-12 2003-12-24 (주)아이비솔루션 Construction method of wab page and wab site
KR20060115805A (en) * 2005-05-06 2006-11-10 (주)한비솔 Method and system for managing web-based program

Also Published As

Publication number Publication date
KR20110085945A (en) 2011-07-27

Similar Documents

Publication Publication Date Title
CN110442816B (en) Method and device for configuring web form and computer readable storage medium
US10325012B2 (en) Filtered stylesheets
US8266202B1 (en) System and method for auto-generating JavaScript proxies and meta-proxies
US8849985B1 (en) On-the-fly instrumentation of Web applications, Web-pages or Web-sites
US8954989B1 (en) Flexible, event-driven JavaScript server architecture
US8527860B1 (en) System and method for exposing the dynamic web server-side
US8639743B1 (en) System and method for on-the-fly rewriting of JavaScript
US8335982B1 (en) System and method for binding a document object model through JavaScript callbacks
US9122650B1 (en) Web server based on the same paradigms as web clients
US8914774B1 (en) System and method for tagging code to determine where the code runs
US9798524B1 (en) System and method for exposing the dynamic web server-side
US11003835B2 (en) System and method to convert a webpage built on a legacy framework to a webpage compatible with a target framework
US20070204216A1 (en) System and method for creating layouts using a layout editor
Ortiz et al. Improving device-aware Web services and their mobile clients through an aspect-oriented, model-driven approach
CN114996619A (en) Page display method and device, computer equipment and storage medium
KR20150078840A (en) Storage medium, method and system for storinging integrated platform for developing mobile user interface
Gómez et al. A model-based approach for developing event-driven architectures with asyncapi
KR101228877B1 (en) Device and Method for Producing Dynamic Web Site Using Web Design
US8938491B1 (en) System and method for secure binding of client calls and server functions
CN116432624A (en) Micro-service API document generation method, device, equipment and storage medium
CN113626016A (en) Front-end and back-end separated reusable component based on Vue + Element UI + Koa2
Kao et al. Designing an XML-based context-aware transformation framework for mobile execution environments using CC/PP and XSLT
CN112632436A (en) Webpage display method and device, electronic equipment and storage medium
Loh et al. Generating web applications from use case scenarios
Zhao et al. Application of Micro Front-end Technology in Network Public Opinion System

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161118

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171226

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20191224

Year of fee payment: 8