KR20080013324A - Presentation method for web applications and web application development system using the same - Google Patents

Presentation method for web applications and web application development system using the same Download PDF

Info

Publication number
KR20080013324A
KR20080013324A KR1020060074702A KR20060074702A KR20080013324A KR 20080013324 A KR20080013324 A KR 20080013324A KR 1020060074702 A KR1020060074702 A KR 1020060074702A KR 20060074702 A KR20060074702 A KR 20060074702A KR 20080013324 A KR20080013324 A KR 20080013324A
Authority
KR
South Korea
Prior art keywords
web
handler
screen
data
server
Prior art date
Application number
KR1020060074702A
Other languages
Korean (ko)
Other versions
KR100831393B1 (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 KR1020060074702A priority Critical patent/KR100831393B1/en
Publication of KR20080013324A publication Critical patent/KR20080013324A/en
Application granted granted Critical
Publication of KR100831393B1 publication Critical patent/KR100831393B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques

Abstract

A presentation method for web applications and a web application development system using the presentation method are provided to respectively manage a handler corresponding to a program source of a web application and a screen corresponding to a design of an image to facilitate the development of new web applications and maintenance of web applications and minimize reload of images to reduce a loading time. A web plus engine executed in a client generates a common document at the request of a web browser(S2). When the web plus engine requests a web server to provide a handler of a corresponding image(S3), the web server provides the handler(S4). When the web plus engine requests the web server to provide a screen used for the handler(S5), the web server provides the screen(S6). The web plus engine responds to the web browser by using the handler and the screen. When an event is generated and data is required(S9), the web plus engine requests the web server to provide data, the web server executes a predetermined business logic and provides data obtained as the execution result as an xml file(S16). The web plus engine provides an html file including data updated by parsing the xml file to the web browser(S18).

Description

웹 응용을 위한 프리젠테이션 방법 및 이를 이용한 웹 응용 개발 시스템{ PRESENTATION METHOD FOR WEB APPLICATIONS AND WEB APPLICATION DEVELOPMENT SYSTEM USING THE SAME}PRESENTATION METHOD FOR WEB APPLICATIONS AND WEB APPLICATION DEVELOPMENT SYSTEM USING THE SAME}

도 1은 종래의 웹 응용을 위한 프리젠테이션 개념을 도시한 개략도,1 is a schematic diagram illustrating a presentation concept for a conventional web application;

도 2는 본 발명에 따른 웹 응용을 위한 프리젠테이션 개념을 도시한 개략도,2 is a schematic diagram illustrating a presentation concept for a web application according to the present invention;

도 3은 도 2에 도시된 프리젠테이션 계층의 구성도,3 is a configuration diagram of a presentation layer shown in FIG. 2;

도 4는 도 2에 도시된 웹플러스 엔진의 동작 절차를 도시한 순서도,4 is a flowchart illustrating an operation procedure of the webplus engine shown in FIG. 2;

도 5는 본 발명에 따라 브라우저와 서버간에 전달되는 전체 프로세스를 도시한 순서도,5 is a flow chart illustrating the overall process delivered between a browser and a server in accordance with the present invention;

도 6은 본 발명에 따른 공통 도큐먼트의 구조 예.6 is a structural example of a common document according to the present invention.

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

100: 클라이언트 110: 웹 브라우저100: Client 110: Web Browser

120: 웹플러스 엔진 200: 웹 서버120: WebPlus Engine 200: Web Server

210: 프리젠테이션 계층 211: 웹플러스 뷰어 매니저210: Presentation tier 211: WebPlus Viewer Manager

212: 웹플러스 데이터 콘트롤러 213: 핸들러212: WebPlus Data Controller 213: Handler

214: 스크린 215: 툴부214: Screen 215: Tool part

220: 비지니스 로직 300: 자원부220: business logic 300: Ministry of Resources

본 발명은 웹 애플리케이션(Web Application)을 개발하기 위한 솔루션으로 웹 인터페이스(Web interface)기술에 관한 것으로, 특히 월드 와이드 웹(World-Wide-Web: WWW)을 통해 웹 애플리케이션에 접속하는 일반 사용자에게 웹페이지를 어떻게 표현해줄 것인가를 명세화 시켜주는 솔루션으로 견고하게 구성된 비즈니스 로직과의 연결을 통해 웹 애플리케이션을 데스크탑 애플리케이션 수준으로 표현 가능한 프리젠테이션 방법 및 이를 이용한 웹 애플리케이션 개발 시스템에 관한 기술이다.The present invention relates to a web interface technology as a solution for developing a web application, and in particular, to a general user who accesses a web application through a world wide web (WWW). It is a solution that specifies how to present a page. It is a technology for presentation method and web application development system that can express web application at the level of desktop application through connection with solidly constructed business logic.

일반적으로, 인터넷은 컴퓨터 및 네트워크가 확산됨에 따라 최근에 급격히 성장하였으며, " 월드 와이드 웹(또는 WWW)" 을 집합적으로 구성하는 웹 페이지에 의해 함께 연결된 컴퓨터 시스템으로 이루어진 세계적인 정교한 네트워크로 발전해 왔다. WWW에 액세스하고자 하는 개별 PC에서 사용자는 통상 '웹 브라우저'라고 알려진 소프트웨어를 사용한다. 웹 브라우저는 WWW 상의 웹 서버라고 알려진 다른 컴퓨터에 대한 접속을 만들고, 웹 서버로부터 정보를 수신하고, 이것을 사용자의 컴퓨터상에 표시한다. 사용자에게 표시되는 정보는 통상 하이퍼텍스트 마크업 랭귀지(Hypertext Markup Language: HTML)라고 하는 전용의 언어를 사용하여 구현된 페이지로 구성되어 있다. HTML을 사용하는 웹 브라우저는 시장에 소개되어 있는 거의 모든 컴퓨터 시스템에 대하여 이용가능하게 되어, 컴퓨터 및 모뎀에 액세스(Access) 가능한 거의 모든 사람이 WWW에 액세스할 수 있게 되었다. WWW에 액세스하는 컴퓨터 사용자의 급속한 신장 및 확산은 필연적으로 컴퓨터 하드웨어와 소프트웨어의 눈부신 발전을 이끄는 원동력이 되었다.In general, the Internet has grown rapidly in recent years as computers and networks have spread, and have evolved into a worldwide sophisticated network of computer systems linked together by web pages that collectively constitute the "world wide web" (or WWW). On individual PCs that want to access the WWW, users typically use software known as a "web browser." The web browser makes a connection to another computer known as a web server on the WWW, receives information from the web server, and displays it on the user's computer. The information displayed to the user is composed of pages implemented using a dedicated language, commonly referred to as Hypertext Markup Language (HTML). HTML-enabled web browsers have been made available for almost every computer system on the market, allowing almost anyone with access to the computer and modem to access the WWW. The rapid growth and proliferation of computer users accessing the WWW has inevitably led to the remarkable development of computer hardware and software.

도 1은 종래의 웹 응용을 위한 프리젠테이션 개념을 도시한 개략도로서, 클라이언트(10)인 웹 브라우저(11)와 웹 서버(20) 및 데이터베이스(30)가 도시되어 있다.1 is a schematic diagram illustrating a presentation concept for a conventional web application, in which a web browser 11, a web server 20, and a database 30, which are clients 10, are shown.

도 1을 참조하면, 웹 서버(20)는 적어도 프리젠테이션 계층(21)과 비지니스 로직 계층(22)을 포함하고 있는데, 종래의 웹 모델에서 프리젠테이션 계층(21)은 화면의 디자인과 프로그램 소스가 분리되지 않은 채 동일한 파일에 구현되어 있다. 이러한 종래의 웹 모델에서 브라우저(11)가 HTTP 프로토콜에 따라 웹 문서를 요청하면, 웹 서버의 프리젠테이션 계층(21)은 필요에 따라 비지니스 로직(22)에 처리를 요구한 후 데이터를 전달받아 HTML과 CSS로 구성된 웹 표준 문서를 생성하여 브라우저(11)로 응답하였고, 이에 따라 브라우저(11)가 화면에 출력하였다.Referring to FIG. 1, the web server 20 includes at least the presentation layer 21 and the business logic layer 22. In the conventional web model, the presentation layer 21 is a screen design and a program source. It is implemented in the same file without being separated. In the conventional web model, when the browser 11 requests a web document according to the HTTP protocol, the presentation layer 21 of the web server requests the business logic 22 to process the data as necessary, and then receives the data. The web standard document consisting of and CSS was generated and responded to the browser 11, and the browser 11 outputted the screen.

그런데 이와 같이 WWW의 인기는 상승하고 그에 따른 기술도 급속히 발전하고 있지만 이에 따른 여러 가지 부수적인 문제점 또한 같이 커져 가고 있는 것이 현실이다. 현재의 웹 애플리케이션에 있어서의 문제점을 사용자측면과, 웹 애플리케이션 운영자 측면, 웹 개발자 측면에서 각각 살펴보면 다음과 같다.However, as the popularity of WWW is rising and the technology is rapidly developing accordingly, various incidental problems are also growing together. The problems of the current web application are as follows from the user side, web application operator side, and web developer side, respectively.

사용자 측면에서 문제점Problem on the user side

현재까지의 웹 애플리케이션의 구조는 사용자가 WWW상의 특정 웹 애플리케이션에 접속하여 사용자가 웹페이지에서의 특정 작업을 요청하면 웹서버의 프리젠테이션 계층(21)이 필요에 따라 비지니스 로직(22)에 처리를 요청하여 해당 작업을 완료하고 데이터를 전달받아 사용자의 웹브라우저에 보내줄 출력 데이타(해당 페이지의 내용이 변하지 않는 정적 HTML 페이지를 포함하거나 또는 동적으로 결정되어 출력 데이터 내로 삽입되어야 하는 데이터를 포함할 수 있다)를 작성하고, 이를 사용자 웹 브라우저로 전송하게 되면 웹 브라우저가 이것을 해석하여 사용자의 모니터 화면에 출력하게 된다. 다시 말해 사용자의 요청이 오면 웹서버에서 모든 처리를 완료하여 사용자 웹 브라우저에 출력 데이터가 전송될 때 까지 사용자는 대기해야만 했다.Until now, the structure of a web application is that when a user connects to a specific web application on the WWW and the user requests a specific operation on the web page, the presentation layer 21 of the web server processes the business logic 22 as needed. Output data that can be requested to complete the task, receive the data, and send it to the user's web browser (including static HTML pages that don't change the content of the page, or can be dynamically determined to be inserted into the output data). And send it to the user's web browser, which will interpret it and print it to the user's monitor screen. In other words, when the user's request came, the user had to wait until the web server completed all the processing and sent the output data to the user's web browser.

따라서 사용자가 기다리는 동안에 네트워크의 속도 또는 웹서버의 프로세스 등의 가변적인 환경에 따라 갑작스럽게 접속이 끊기거나 또는 일정한 시간 이상 사용자가 대기하는 상황이 종종 발생하였다.Therefore, while the user waits, the connection is suddenly disconnected or the user waits for a certain time depending on the variable environment such as the speed of the network or the process of the web server.

또한 사용자의 요청에 따라 현재 접속된 웹페이지에서 특정 부분의 데이터 변경이 발생할 때, 이를 웹 브라우저에 반영하기 위해서 종래에는 변경되는 부분의 정보만 받아오지 못하고 화면에 표시할 HTML 등의 데이터 전체를 다시 웹 서버로부터 전송을 받게 되므로 웹서버와 네트워크에 부하를 초래하고, 이후 웹 브라우저가 받아온 출력 데이터를 재구성하여 사용자의 모니터상에서 보여주게 되므로 모니터상의 화면이 깜빡거리는 등의 둔탁하고 유려하지 못한 웹 애플리케이션을 만날 수 밖에 없었다.In addition, when a change of data of a specific part occurs in a web page that is currently connected at the request of a user, in order to reflect this in a web browser, the entire data such as HTML to be displayed on the screen is not received conventionally only the information of the changed part is received. As it receives the transmission from the web server, it causes a load on the web server and the network, and afterwards, the output data received by the web browser is reconfigured and displayed on the user's monitor, so that a dull and unreliable web application such as flickering on the monitor is displayed. I had to meet.

위와 같은 여러 한계로 인해 좀 더 다양하고 복잡한 업무를 처리하기 위해서 때로는 해당 사용자 컴퓨터에 새로운 설치과정을 거치는 번거로운 작업을 통해서 데스크탑 애플리케이션 프로그램을 설치하여 이를 이용할 수 밖에 없었다. 하지만 이것은 해당 데스크탑 애플리케이션 프로그램이 설치되지 않은 컴퓨터에서는 접속 자체가 불가능한 근본적인 문제점을 안고 있다.Due to these limitations, in order to handle more diverse and complex tasks, it was necessary to install and use a desktop application program through a cumbersome task of sometimes installing a new installation process on the user's computer. However, this has a fundamental problem that the connection itself is not possible on a computer without the corresponding desktop application program installed.

웹 애플리케이션 운영자/회사 측면Web application operator / company side

위에서도 언급했듯이 WWW을 통해 수많은 사용자의 요청을 받아 해당 요청을 웹 서버에서 모두 처리하여 그에 대한 출력 데이터를 만들어 각각의 사용자에게 응답을 해야하는 현재까지의 웹 애플리케이션의 구조는 해당 웹 애플리케이션 시스템의 대량화와 방대함을 이루게 되었다. 그러나 더욱더 많은 사용자의 접속에 따라서 웹서버의 부하라는 문제가 또다시 초래되었다. 이를 해결하기 위해서 또 다른 시스템의 새로운 개발과 확장에 대한 노력으로 여러 개발 방법론과 보다 나은 컴퓨터 시스템의 개념들이 도출되고, 이에 따른 하드웨어와 소프트웨어의 발전이 이루어졌다. 하지만 이것은 하드웨어, 소프트웨어, 컴퓨터, 플랫폼별로의 상이하게 발전하는 형태로 진행되었다. 이들 본질적으로 다른 하드웨어 시스템은 통상 완전히 다른 운영 시스템을 사용한다. 이들 여러 가지 다른 하드웨어 및 소프트웨어 시스템이 존재하므로, 주어진 웹 애플리케이션에 대해 각각의 상이한 하드웨어 플랫폼으로 포팅(porting)하기 위해 보통은 완전히 새로운 시스템 개발 노력을 필요로 한다. 이로 인해 동일한 컨텐츠를 가진 웹 애플리케이션을 서로 다른 하드웨어 및 소프트웨어 플랫폼별로 각각 개발하고 운영하게 되므로 상당한 시간과 높은 비용을 가져오는 비생산적인 상황이 발생하게 된다. As mentioned above, the structure of a web application up to now, which has to receive a large number of user requests through the WWW, process all the requests on a web server, generate output data for it, and respond to each user, is a massive and massive web application system. Was achieved. However, as more and more users connected, the problem of load on the web server was again introduced. In order to solve this problem, various development methodologies and better computer system concepts have been derived from efforts for new development and expansion of another system, and the development of hardware and software has been made accordingly. However, this progressed in different forms of development by hardware, software, computer and platform. These essentially different hardware systems typically use completely different operating systems. Because of these different hardware and software systems, porting a separate web platform to a given web application usually requires a completely new system development effort. This creates and operates web applications with the same content on different hardware and software platforms, resulting in an unproductive situation that results in significant time and high costs.

그리고 그동안 기업의 복잡한 업무들을 웹으로 구현하기에는 전통적인 웹 애플리케이션 구조의 한계로 인해 데스크탑 애플리케이션을 별도로 개발하여 관리하여 왔다. 이 때문에 업무에 따라 웹 애플리케이션과 데스크탑 애플리케이션으로 나누어진 두 가지 형태의 애플리케이션을 보유하여야 하므로 유지보수의 어려움과 비용증가 등의 여러 어려움을 겪을 수 밖에 없었다.In the meantime, desktop applications have been developed and managed separately due to the limitations of the traditional web application structure for implementing complex business tasks on the web. As a result, two types of applications, which are divided into web applications and desktop applications, have to be maintained. Therefore, it is difficult to maintain and increase costs.

그리고 또한 데스크탑 애플리케이션은 해당 사용자의 컴퓨터에 별도의 설치 과정을 거쳐야만 이용이 가능했으므로 해당 데스크탑 애플리케이션 프로그램이 설치된 컴퓨터가 아니면 접속 자체가 불가능하였다. 그래서 이를 해결하기 위해서 데스크탑 애플리케이션을 웹 애플리케이션으로 전환하기 위한 노력이 계속되었지만 현재까지의 노력으로는 데스크탑 애플리케이션의 복잡하고 다양한 기능을 모두 웹 애플리케이션으로 전환하기에는 부족한 것이 현실이다. 따라서 데스크탑 애플리케이션의 일부 기능을 제거하여 웹 애플리케이션으로 전환 가능한 부분만을 엄선하여 해당 웹 애플리케이션을 개발하는, 충족되지 못한 형태의 전환 작업이 이루어지고 있다.In addition, since the desktop application was only available through a separate installation process on the user's computer, the connection itself was not possible unless the desktop application program was installed. So, in order to solve this problem, efforts have been made to convert desktop applications to web applications. However, the efforts to date are insufficient to convert all the complex and various functions of desktop applications to web applications. As a result, unsatisfactory transitions are being made to remove some of the functionality of the desktop application and to develop the web application by selecting only the parts that can be converted to the web application.

웹 애플리케이션 개발자(프로그래머, 웹디자이너) 측면Web application developer (programmer, web designer) aspect

서로 다른 새로운 웹 애플리케이션마다 새로운 인터페이스를 구성하게 되는 현재의 시스템 환경에서는 개발자들은 새로운 프로그래밍 방법에 대해 재학습하여야만하고, 이를 운영하기 위해 또 다른 노력과 비용을 지불하게 된다. 따라서, 비록 오늘날 많은 웹 애플리케이션이 WWW을 통해 액세스할 수 있지만, 이들 다양한 웹 애플리케이션 플랫폼의 상이함으로 인해 웹 애플리케이션 개발자는 새로운 플랫폼 환경과 운영 방법을 학습하기 위해 시간을 소비해야 하므로, 개발 의욕을 저하시키고 새로운 응용의 도입을 꺼려하게 되는 문제점이 있다.In the current system environment, where new interfaces are configured for different new web applications, developers must relearn new programming methods and pay extra effort and money to run them. Thus, although many web applications today can be accessed through the World Wide Web, the differentiation of these various web application platforms means that web application developers must spend time learning new platform environments and how to operate them, reducing their motivation to develop. There is a problem that reluctance to introduce new applications.

그런데 HTML은 현재 출시된 대부분의 컴퓨터 시스템에 의해 사용될 수 있는 잘 알려진 언어이다. 또한, HTML은 상당히 잘 제어되고 표준화된 언어이므로, 새로운 소프트웨어 애플리케이션의 기능들이 개발되어 HTML에 의해 지원될 경우, 그러한 기능들이 추가될 수 있다. 그러나 WWW상의 수많은 웹 애플리케이션 프로그램들은 동적인 데이터 정보의 빈번한 요청으로 인한 비즈니스 로직의 호출과 데이터베이스와의 연결 등으로 인해 단순 HTML을 사용하여 웹페이지를 구성하는 곳은 드물 것이다.HTML is a well-known language that can be used by most computer systems on the market. In addition, HTML is a fairly well-controlled and standardized language, so that features of new software applications can be added if they are developed and supported by HTML. However, many web application programs on the WWW rarely construct web pages using simple HTML due to invocation of business logic and connections to databases due to frequent requests for dynamic data information.

그래서 대부분의 웹 애플리케이션은 각각의 시스템 플랫폼에 적합한 서버 스크립트 언어를 사용하여 웹 애플리케이션 프로그램을 개발하는 것이 현실이다. 예를 들어, JSP(Java Sever Page), ASP(Active Server Page), PHP(PHP: Hypertext Preprocessor) 등이 있다.As a result, most web applications develop a web application program using a server scripting language suitable for each system platform. Examples include Java Sever Pages (JSP), Active Server Pages (ASP), and Hypertext Preprocessor (PHP).

위와 같은 서버 스크립트 언어는 정적인 데이터를 나타내는 HTML위에 비즈니스 로직과 연동하여 데이터베이스의 동적인 데이터를 표현하기 위해 각각의 서버 스크립트의 문법에 따른 프로그래밍을 더하게 되는 작업 구조를 가진다. The server script language as described above has a work structure that adds programming according to the syntax of each server script to express dynamic data of a database in conjunction with business logic on HTML representing static data.

다시 말해 일반적으로 웹 디자이너가 HTML로 웹 페이지의 구성 및 내용을 만들면 이를 다시 프로그래머가 넘겨받아 각각의 서버 스크립트 방식으로 해당 파일에 소스(Source)를 추가로 입력하여 비즈니스 로직과의 연결을 구성하게 된다. 이로써 동적인 웹페이지의 변화와 다양한 컨텐츠로 유려한 UI(User Interface)를 구현할 수 있게 되었지만, 동일한 하나의 파일을 가지고 웹디자이너가 작업을 하고 프로그래머가 이를 받아서 다시 작업하게 되므로 디자인과 소스의 구현을 동시에 수행할 수 없어 개발에 시간이 많이 소요되는 문제점이 있다. 또한 일차적인 웹 애플리케이션 프로그램의 개발이 끝나고 다시금 새로운 사용자의 요구사항에 따라 해당 웹페이지의 구성을 달리하게 될 때, 디자이너가 이미 서버스크립트 언어로 구현된 파일을 받아 새로운 HTML을 추가 또는 삭제하게 되는데 웹디자이너에게는 익숙하지 않은 서버 스크립트 언어의 문법으로 인해 해당 서버 스크립트 언어의 문법에 어긋나는 웹디자인이 이루어지면 이를 다시 프로그래머가 넘겨받아 서버 스크립트 언어를 수정해야 하므로 전체적으로 시간과 비용을 낭비하는 비효율적인 문제점이 발생하기도 한다.In other words, when a web designer generally constructs a web page in HTML and constructs the content, the programmer takes over and inputs an additional source into the file using each server script to form a connection with the business logic. . This makes it possible to implement a dynamic user interface (UI) with dynamic changes of web pages and various contents, but the web designer can work with the same single file and the programmer can receive it and work on it. There is a problem that it takes a long time to develop because it can not be performed at the same time. In addition, when the development of the primary web application program is completed and the web page configuration is changed again according to the requirements of the new user, the designer receives a file already implemented in the server script language and adds or deletes new HTML. If the design of the server script language is unfamiliar to the designer due to the grammar of the server script language, the programmer must take over and modify the server script language again. Sometimes.

또한 프로그래머 입장에서는 웹 페이지 내에서 일어나는 사용자의 이벤트(event) 또는 액션(action)과 같은 특정한 요청에 따른 응답을 웹 브라우저에 나타내기 위한 프로그래밍을, 여러 종류의 스크립트(VB Script, JScript) 또는 서버 스크립트 언어로 구현해야 했다. 이로 인해 각각의 요청에 따른 응답을 위한 소스를 구현하기 위해 오랜 프로그래밍 시간이 요구되고, 해당 요청사항의 변화가 발생할 때는 그에 맞는 또 다른 응답을 위한 소스를 구현해야 하므로 유지보수가 어려 운 문제점이 있다.In addition, programmers can write programming to present a response to a web browser in response to a specific request, such as a user's event or action, that occurs within a web page. Several types of script (VB Script, JScript) or server script We had to implement it in a language. As a result, long programming time is required to implement a source for a response according to each request, and when a change in the request occurs, a source for another response must be implemented to maintain a difficult problem. .

이와 같이 종래의 웹 모델에서는 프리젠테이션 계층의 웹 문서가 디자인과 소스로 구분되어 있지 않으므로 코드의 재사용이나 유지보수가 어렵고, 새로운 웹 응용을 개발하는데 시간이 많이 소요되는 문제점이 있다. As described above, in the conventional web model, since the presentation document's web document is not divided into design and source, it is difficult to reuse or maintain code, and it takes a long time to develop a new web application.

본 발명은 상기와 같은 문제점들을 해결하기 위해 제안된 것으로, 디자인과 소스를 상기 발명에 따라 스크린과 핸들러의 완전히 독립된 파일로 관리하며, 상기 발명에 의해 이미 개발된 컴포넌트(Components)와 그에 속한 속성(Attribute)의 선언을 통해 개발자의 직접 프로그래밍 작업 없이 해당 기능의 구현이 완성되는 특징 등을 이용하여 개발 및 유지보수가 용이하고 화면이 로드된 후에는 필요한 특정 부분의 데이터만 다시 호출 및 표현이 가능하여 화면의 리로드(Reload)를 최소화하고 반응속도를 개선할 수 있는 웹 응용을 위한 프리젠테이션 방법 및 이를 이용한 웹 응용 개발 시스템을 제공하는데 그 목적이 있다.The present invention has been proposed to solve the above problems, and manages the design and the source in a completely independent file of the screen and the handler according to the invention, and the components and properties belonging to the already developed by the invention ( It is easy to develop and maintain by using the feature that the implementation of the function is completed without the direct programming of the developer through the declaration of Attribute, and after the screen is loaded, it is possible to recall and express only the specific part of data that is necessary. It is an object of the present invention to provide a presentation method for a web application and a web application development system using the same, which can minimize reload of a screen and improve response speed.

상기와 같은 목적을 달성하기 위하여 본 발명의 방법은, 클라이언트- 웹 서버 구조에서 웹 응용(Application)을 제공하기 위한 방법에 있어서, 상기 클라이언트에서 실행되는 웹 플러스 엔진이 웹 브라우저의 요청에 따라 공통 도큐먼트를 생성하는 제1 단계; 상기 웹 플러스 엔진이 해당 화면의 핸들러를 요청하면 상기 웹 서버가 핸들러를 제공하는 제2 단계; 상기 웹 플러스 엔진이 해당 핸들러에 사용할 스크린을 요청하면 상기 웹 서버가 해당 스크린을 제공하는 제3 단계; 상기 웹 플러스 엔진이 상기 핸들러와 상기 스크린을 이용하여 웹 브라우저에 응답하는 제4 단계; 이벤트가 발생되어 데이터가 요구되면, 상기 웹 플러스 엔진이 상기 웹 서버에 데이터를 요청하고, 상기 웹 서버는 소정의 비지니스 로직을 실행하여 그 결과 데이터를 xml 파일로 응답하는 제5 단계; 및 상기 웹 플러스 엔진이 상기 xml 파일을 파싱하여 갱신된 데이터를 포함하는 html 파일을 상기 웹 브라우저에 제공하는 제6 단계를 구비한 것을 특징으로 한다.In order to achieve the above object, the method of the present invention is a method for providing a web application in a client-web server structure, wherein the web plus engine executed in the client is a common document according to a request of a web browser. Generating a first step; A second step of the web server providing the handler when the web plus engine requests the handler of the corresponding screen; A third step of providing the screen by the web server when the web plus engine requests a screen to use for the handler; A fourth step in which the web plus engine responds to a web browser using the handler and the screen; A fifth step in which the web plus engine requests data from the web server when an event is generated and the data is requested, the web server executing predetermined business logic and responding the result data to an xml file; And a sixth step of the web plus engine parsing the xml file to provide an html file including the updated data to the web browser.

또한, 상기와 같은 목적을 달성하기 위하여 본 발명의 시스템은, 클라이언트-서버 구조로 된 웹 환경에 있어서, 상기 클라이언트에서 실행되는 웹 브라우저; 초기 접속시 상기 서버로부터 상기 클라이언트측으로 로드(load)되고, 상기 웹 브라우저의 요청에 따라 상기 서버로 해당 화면의 핸들러와 스크린을 요청한 후 xml로 구성된 핸들러를 파싱(Parsing)하고 스크린과의 매핑(Mapping) 정보를 해석하여 웹브라우저에 출력할 기본 html 문서을 생성하여 상기 웹 브라우저로 출력하고, 이벤트에 따라 새로운 데이터가 필요하면 상기 서버로 동기/비동기방식으로 통신하여 xml 데이터를 전달받아 웹브라우저에 출력된 html 정보를 갱신하여 상기 웹 브라우저로 출력하는 웹 플러스 엔진; 상기 서버에서 실행되고 문서를 핸들러와 스크린으로 구분하여 관리하면서 상기 웹 플러스 엔진의 요구에 따라 핸들러와 스크린을 제공하는 프리젠테이션부; 및 상기 서버에서 실행되고 상기 프리젠테이션부의 요청에 따라 특정의 서비스를 처리하여 결과를 제공하는 비지니스 로직과의 연결을 제공하 는 데이터 컨트롤러(Data Controller)를 구비한 것을 특징으로 한다.In addition, in order to achieve the above object, the system of the present invention, a web environment of a client-server structure, the web browser running on the client; Upon initial access, the server is loaded from the server to the client side, and the server requests a handler and a screen of the screen according to the request of the web browser, and then parses a handler composed of xml and maps the screen with the screen. ) Interprets the information, generates a basic html document to be output to the web browser, outputs it to the web browser, and if new data is needed according to the event, communicates to the server in a synchronous / asynchronous manner, receives xml data, and outputs it to the web browser. a web plus engine for updating html information and outputting the html information to the web browser; A presentation unit which is executed in the server and provides a handler and a screen according to a request of the web plus engine while managing documents divided into handlers and screens; And a data controller running in the server and providing a connection with business logic that processes a specific service and provides a result according to a request of the presentation unit.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 2는 본 발명에 따른 웹 응용을 위한 프리젠테이션 개념을 도시한 개략도이고, 도 3은 도 2에 도시된 프리젠테이션 계층의 세부 구성도이며, 도 4는 도 2에 도시된 웹플러스 엔진의 동작 절차를 도시한 순서도이다.2 is a schematic diagram illustrating a presentation concept for a web application according to the present invention, FIG. 3 is a detailed configuration diagram of the presentation layer shown in FIG. 2, and FIG. 4 is an operation of the webplus engine shown in FIG. A flowchart showing the procedure.

본 발명에 따른 웹 응용을 구현하기 위한 환경은 도 2에 도시된 바와 같이, 클라이언트(100)와 웹 서버(200) 구조로 이루어진다. 클라이언트(100)는 통상의 웹 브라우저(110)와 본 발명에 따른 웹 플러스 엔진(120)으로 이루어지고, 웹 서버(200)는 본 발명에 따라 웹 문서를 프로그램 소스에 해당하는 핸들러(213)와 화면의 디자인에 해당하는 스크린(214)으로 구분하여 제공하는 프리젠테이션 계층(210)과 통상의 비지니스 로직(220)(비지니스 로직은 상기 발명에 따른 결과물이 아니고 기존에 이미 구현되어 있는 통상의 비즈니스 로직을 의미한다.)으로 구성된다. 비지니스 로직(220)은 응용의 성격에 따라 데이터베이스관리시스템(DBMS)(300)이나 CRM/ERP, LDAP 같은 다른 자원(300)에 연결되어 응용이 요구하는 서비스를 처리한 후, 그 결과를 프리젠테이션 계층(210)에 제공한다. 웹 플러스 엔진(120)은 클라이언트(100)가 본 발명이 적용된 웹 서버(200)에 접속할 경우 초기에 자동으로 로드되어 클라이언트측에서 실행된다.An environment for implementing a web application according to the present invention has a structure of a client 100 and a web server 200, as shown in FIG. The client 100 is composed of a conventional web browser 110 and a web plus engine 120 according to the present invention, and the web server 200 includes a handler 213 corresponding to a program source for a web document according to the present invention. The presentation layer 210 and the normal business logic 220 (business logic, which are divided into screens 214 corresponding to the design of the screens) (the business logic is not the result of the above-described invention, but the conventional business logic already implemented. It means.). The business logic 220 is connected to a database management system (DBMS) 300 or another resource 300 such as CRM / ERP or LDAP according to the nature of the application, processes the service required by the application, and then presents the result. To the layer 210. The web plus engine 120 is automatically loaded initially and executed on the client side when the client 100 accesses the web server 200 to which the present invention is applied.

또한 본 발명에 따른 프리젠테이션 계층(210)은 도 3에 도시된 바와 같이, 웹 플러스 뷰어 매니저(211)와, 웹플러스 데이터 콘트롤러(212), 툴부(215)로 이루어지고, 웹 플러스 뷰어 매니저(211)는 웹 응용의 화면을 이루는 요소인 스크린(214)과, 웹 응용의 로직을 이루는 요소로서 데이터를 연결해주며 스크린을 제어하는 핸들러(213)로 구성된다. 그리고 핸들러(213)는 데이터셋(213-1)과 트랜스퍼(213-2), 컨피그(213-3), 내장기능함수(213-4), 에이잭스(Ajax)기반 콤퍼넌트 라이브러리(213-5)를 포함하고 있고, 웹플러스 데이터 콘트롤러(WebPlus Data Controller)(212)는 비즈니스 로직(220)과 연결되어 해당 웹페이지에 출력할 데이터를 중계하는 역할을 하는 XML Manager(212-1)와 데이터 맵핑(Data Mapping)(212-2)으로 나누어진다. 보조적인 기능을 수행하는 툴부(215)는 핸들러 자동 완성(Handler Automatic Completion) 및 로깅(Logging) 등을 처리한다. In addition, the presentation layer 210 according to the present invention includes a web plus viewer manager 211, a web plus data controller 212, and a tool unit 215, as shown in FIG. 3. 211 is composed of a screen 214, which constitutes a screen of a web application, and a handler 213 that connects data and controls a screen as an element of a logic of a web application. The handler 213 is configured to transfer a data set 213-1, a transfer 213-2, a config 213-3, a built-in function 213-4, and an Ajax-based component library 213-5. The webplus data controller 212 is connected to the business logic 220 and relays data to be output to a corresponding web page. Mapping) 212-2. The tool unit 215, which performs an auxiliary function, handles handler automatic completion, logging, and the like.

도 3을 참조하면, 스크린(214)은 UI 표현을 위해 HTML 태그(Tag)를 삽입하고, 핸들러와 매핑(Mapping)되는 정보를 가진 ID를 정의하며, 해당 스크린을 다른 핸들러에서 재사용할 수 있게 한다. 이러한 스크린은 html, jsp, asp, php 등의 모든 서버스크립트 언어 형식의 파일을 수용할 수 있다.Referring to FIG. 3, screen 214 inserts an HTML tag for UI presentation, defines an ID with information that is mapped to a handler, and allows the screen to be reused by other handlers. . These screens can accept files in all ServerScript language formats such as html, jsp, asp, php, and so on.

핸들러(213)는 XML로 구현되어 스크린 UI 컴포넌트를 XML의 엘리먼트(Element)로 정의하고, 스크린과의 매핑(Mapping)과 데이터 바인딩을 위한 ID와 XPATH를 정의하며, 자동화된 기능 구현을 위한 엘리먼트의 속성 및 내장기능함수(213-4)를 사용하며, 상속과 포함관계를 이용하여 해당 핸들러와 스크린을 재사용할 수 있다. 이러한 핸들러(213)는 Dataset(213-1)과 Transfer(213-2), Config(213-3), 내장기능함수(213-4), 애이잭스(Ajax)기반 콤퍼넌트 라이브러 리(213-5)로 이루어지는 웹 응용의 로직으로서, 스크린(214)과 데이터를 연결해주며 스크린(214)이 실질적인 기능을 할 수 있도록 콘트롤한다. 콤포넌트 라이브러리(213-4)는 UI CONTROLS, UI COMPONENT, DATA MANAGE, BEHAVIORS, TOOLS 등이 있으며, UI CONTROLS는 UI콤포넌트 간의 유기적인 제어 속성들을 제공하고, UI COMPONENT는 풍부한 화면 인터페이스를 제공하며, DATA MANAGE는 효율적인 데이터 동기화 관리와 비동화 및 데이터 전송을 제공한다. BEHAVIORS는 최적화된 리로드(Reload)와 간단한 URL 이동 등을 제공한다.The handler 213 is implemented in XML to define the screen UI component as an element of XML, define ID and XPATH for mapping and data binding with the screen, and Using attributes and built-in functions 213-4, you can reuse the handlers and screens using inheritance and containment relationships. These handlers 213 are Dataset 213-1, Transfer 213-2, Config 213-3, built-in function 213-4, Ajax-based component library 213-5. As the logic of the web application, the screen 214 connects data and controls the screen 214 to perform a practical function. Component library (213-4) includes UI CONTROLS, UI COMPONENT, DATA MANAGE, BEHAVIORS, TOOLS, etc., UI CONTROLS provides organic control properties between UI components, UI COMPONENT provides a rich screen interface, and DATA MANAGE. Provides efficient data synchronization management, asynchronous and data transfer. BEHAVIORS provides optimized reload and simple URL navigation.

예컨대, 다음 표1과 같이 디자인과 프로그램이 분리되지 않은 종래의 웹 페이지를 본 발명에 따라 디자인과 핸들러로 구분할 경우에, 핸들러는 다음의 표2와 같고, 스크린은 다음의 표3과 같다.For example, when a conventional web page in which a design and a program is not separated as shown in Table 1 is divided into a design and a handler according to the present invention, the handler is as shown in Table 2 below and the screen as shown in Table 3 as follows.

다음 표 1은 디자인과 프로그램이 분리되지 않은 웹 페이지의 예이다.Table 1 below is an example of a web page with no separate design and program.

디자인과 프로그램이 분리되지 않은 예(JSP - Java Server Page)             Example of design and program not being separated (JSP-Java Server Page) <%@ page import="common.*,museum.*,java.text.*,java.util.*"%> <%@ page contentType="text/html;charset=KSC5601"%> <% String sch_value = (request.getParameter("sch_value") != null ? request.getParameter("searcsch_valueh_word") : ""); Board free = new Board(); DbSet ds = free.executeCond(search_word); %> <script language="javascript"> function go_search() { var frm = document.form; if(frm.sch_value.value=="" ){ alert("검색값이 없습니다. 확인해주세요"); return; } frm.action="member_list.jsp"; frm.submit(); } </script> <form name="form" method="post"> <table> <tr> <td> 검색값(ID):<input type="text" name="sch_value"> <img src="/common_img/btn_search_2.gif" onclick="javascript:go_search()"> </td> </tr> </table> <table id="webplus" class="template" cellpadding="1" cellspacing="1" width="98%"> <tr> <td>ID</td> <td>이름</td> <td>주민번호</td> <td>우편번호</td> <td>주소</td> <td>E-MAIL</td> </tr> <% while(ds.next()){ %> <a href="member_update.jsp?ID=<%=ds.getValue("ID")%>"> <tr> <td><%=ds.getValue("ID")%></td> <td><%=ds.getValue("이름")%></td> <td><%=ds.getValue("주민번호")%></td> <td><%=ds.getValue("우편번호")%></td> <td><%=ds.getValue("주소")%></td> <td><%=ds.getValue("EMAIL")%></td> </tr> </a> <% } %> </table> </form><% @ page import = "common. *, museum. *, java.text. *, java.util. *"%> <% @ page contentType = "text / html; charset = KSC5601"%> <% String sch_value = (request.getParameter ("sch_value")! = null? request.getParameter ("searcsch_valueh_word"): ""); Board free = new Board (); DbSet ds = free.executeCond (search_word); %> <script language = "javascript"> function go_search () {var frm = document.form; if (frm.sch_value.value == "") {alert ("No value found. Please check"); return; } frm.action = "member_list.jsp"; frm.submit (); } </ script> <form name = "form" method = "post"> <table> <tr> <td> search value (ID): <input type = "text" name = "sch_value"> <img src = "/common_img/btn_search_2.gif" onclick = "javascript: go_search ()"> </ td> </ tr> </ table> <table id = "webplus" class = "template" cellpadding = "1" cellspacing = " 1 "width =" 98% "> <tr> <td> ID </ td> <td> Name </ td> <td> Resident Code </ td> <td> Postal Code </ td> <td> Address </ td> <td> E-MAIL </ td> </ tr> <% while (ds.next ()) {%> <a href = "member_update.jsp? ID = <% = ds.getValue (" ID ")%>"> <tr> <td> <% = ds.getValue ("ID")%> </ td> <td> <% = ds.getValue ("name")%> </ td> <td> <% = ds.getValue ("Resident Number")%> </ td> <td> <% = ds.getValue ("Postal Code")%> </ td> <td> <% = ds. getValue ("address")%> </ td> <td> <% = ds.getValue ("EMAIL")%> </ td> </ tr> </a> <%}%> </ table> < / form>

핸들러                                     Handler <?xml version="1.0" encoding="utf-8"?> <handler id='select' title="member" code="@/codes.xml" dataMapping='/subji'> <screens> <include target="contentView" screen="@/test.html" parent="window"></include> </screens> <script> Data.send('executeCond'); UICtrol.load(Properties.RETRIEVE); </script> <controls><control xpath="condition"> <text id="sch_value" title="검색값" size="10" maxLength='10' /> <image id="bt_search" file="/common_img/btn_search_2.gif" postXML="condition" replaceXML="columnValues" reloadController="table"> <script event="onclick"> Data.sendXML('executeCond'); UICtrol.load(Properties.RETRIEVE); </script> </image> </control> <control xpath="list:columnValues/columnValue"> <listGrid id="table" paramName="ID:ID" > <script event="onclick"> Link.open("/member_update"); </script> <column id="ID" title="ID" align="center"/> <column id="NAME" title="이름" /> <column id="JUMIN" title="주민번호"/> <column id="ZIPCODE" title="우편번호"/> <column id="ADDR" title="주소" /> <column id="EMAIL" title="E-MAIL"/> </listGrid> </control> </controls> </handler> <? xml version = "1.0" encoding = "utf-8"?> <handler id = 'select' title = "member" code = "@ / codes.xml" dataMapping = '/ subji'> <screens> <include target = "contentView" screen = "@ / test.html" parent = "window"> </ include> </ screens> <script> Data.send ('executeCond'); UICtrol.load (Properties.RETRIEVE); </ script> <controls> <control xpath = "condition"> <text id = "sch_value" title = "Search value" size = "10" maxLength = '10 '/> <image id = "bt_search" file = " /common_img/btn_search_2.gif "postXML =" condition "replaceXML =" columnValues "reloadController =" table "> <script event =" onclick "> Data.sendXML ('executeCond'); UICtrol.load (Properties.RETRIEVE); </ script> </ image> </ control> <control xpath = "list: columnValues / columnValue"> <listGrid id = "table" paramName = "ID: ID"> <script event = "onclick"> Link.open ("/ member_update"); </ script> <column id = "ID" title = "ID" align = "center" /> <column id = "NAME" title = "Name" /> <column id = "JUMIN" title = "Resident Number" /> <column id = "ZIPCODE" title = "Postal code" /> <column id = "ADDR" title = "Address" /> <column id = "EMAIL" title = "E-MAIL" /> </ listGrid > </ control> </ controls> </ handler>

스크린                                      screen <meta http-equiv=Content-Type content="text/html;charset=euc-kr"> <table width='700' align='center' cellpadding="0" cellspacing="0"> <tr> <td> 검색값(사번) : <w:text id="sch_value"> &nbsp;<w:image id="bt_search"/><br><br> </td> </tr> <tr> <td> <table id="table" class="template" cellpadding="1" cellspacing="1" width="98%"> </td> </tr> </table> <meta http-equiv = Content-Type content = "text / html; charset = euc-kr"> <table width = '700' align = 'center' cellpadding = "0" cellspacing = "0"> <tr> < td> search value (number): <w: text id = "sch_value"> &nbsp; <w: image id = "bt_search" /> <br> <br> </ td> </ tr> <tr> <td > <table id = "table" class = "template" cellpadding = "1" cellspacing = "1" width = "98%"> </ td> </ tr> </ table>

XML Manager(212-1)는 클라이언트(100)로부터 xml 형태로 구성된 데이터를 전달받아 해당 xml을 파싱(parsing)하여 데이터 맵핑부(Data Mapping)(212-2)에 전달하고 데이터 맵핑부(Data Mapping)(212-2)에서 받은 데이터를 클라이언트에게 xml형태의 데이터를 생성하여 전달하는 역할을 수행한다.The XML Manager 212-1 receives the data configured in the form of xml from the client 100, parses the corresponding xml, and delivers the data to the data mapping unit 212-2, and the data mapping unit. ) 212-2 creates and delivers the data in xml format to the client.

데이터 맵핑부(Data Mapping)(212-2)는 비즈니스 로직(220)과 연결하여 전달받은 데이터를 XML Manager(212-1)에 전달하는 비즈니스 로직(220)과의 데이터 인터페이스(data interface) 역할을 수행한다.The data mapping unit 212-2 serves as a data interface with the business logic 220 that connects the business logic 220 and transfers the received data to the XML manager 212-1. To perform.

그리고 웹 플러스 엔진(120)은 자바스크립트(Javascript)로 구현되어 도 4에 도시된 바와 같은 절차를 수행하여 브라우저(110)의 요구에 따라 핸들러(213)와 스크린(214)을 호출하고 핸들러(213)를 파싱(Parsing)하고 스크린(214)과 ID정보로 매핑(Mapping)된 해당 개체의 html 파일을 생성하여 제공하며, 웹 서버(200)과 연결통신은 HTTP 및 xmlHttpRequest로 통신한다. 즉, 웹플러스 엔진(120)은 웹 브라우저(110)의 요청에 따라 웹플러스 엔진을 적재하고 있는 하나의 윈도우를 구성하는 기능과, 하나의 윈도우는 웹플러스 엔진을 재 적재할 필요 없이 팝업을 포함한 모든 화면에서 사용 가능하도록 해주는 기능, 화면과 기능 구현을 위한 공통 요소를 정의하고 있는 환경 설정 파일을 로드하고 파싱하여 전역 변수 및 세션 등과 같은 정보를 설정하는 기능, 화면과 기능을 구현하기 위해 환경 설정 파일 또는 URL을 통해 직접 정의하는 핸들러를 호출하는 기능, 핸들러에 정의된 스크린 파일들을 호출하여 설정된 윈도우 각각의 위치에 그리는 기능, 호출된 핸들러에 기술된 컨트롤러를 데이터 정보(XPATH) 및 화면 분류(ID)별로 나누고 엘리먼트(Element) 및 속성 정보를 파싱하는 기능, 핸들러의 컨트롤러 태그와 스크린 컨트롤러 태그의 아이디를 맵핑하여 해당 스크린 개체와 연결 기본 정보를 생성하는 기능, 핸들러의 컨트롤러 태그 속성을 통해 기존에 개발자가 직접 기능을 구현하던 것을 선언된 속성 정보만으로 다양한 화면 기능을 자동으로 구현하게 하는 기능, 핸들러의 스크립트 태그를 통해 이벤트 핸들러를 사용하며 이벤트가 발생시 내장함수 및 사용자 정의 스크립트를 통해 데이터 호출, 화면 전환, 팝업, 메시지 알림 등의 제공 기능과 다양한 사용자 추가 기능 구현을 가능하게 하는 기능, 핸들러와 스크린이 완전 분리됨에 따라 각각 중복 사용되는 화면과 기능을 핸들러에서 임포트하여 재사용하는 기능, 및 핸들러의 컨트롤러 태그 분류에 따라 원하는 데이터만 리로드(Reload)하는 기능을 처리한다.In addition, the web plus engine 120 is implemented in JavaScript to perform a procedure as illustrated in FIG. 4 to call the handler 213 and the screen 214 according to the request of the browser 110, and the handler 213. Parsing) generates and provides an html file of the corresponding object mapped with the screen 214 and ID information. The web server 200 and the connection communication communicate with HTTP and xmlHttpRequest. That is, the web plus engine 120 has a function of configuring one window loading the web plus engine at the request of the web browser 110, and one window includes a popup without having to reload the web plus engine. The ability to load all the screens, the ability to load and parse configuration files that define common elements for implementing screens and functions, to set information such as global variables and sessions, and to configure screens and features The ability to call a handler that you define directly through a file or URL, The ability to call the screen files defined in the handler and draw it at each location of the window that is set, The controller described in the called handler to the data information (XPATH) and Screen classification (ID ) And parsing element and attribute information, controller tags in handlers and screen controllers Ability to create basic information linked with the corresponding screen object by mapping his ID, Automatically implement various screen functions only with the property information declared that the developer has already implemented the function through the controller tag property of the handler, Through the script tag of the handler, the event handler is used.When an event occurs, functions such as data call, screen change, popup, and message notification are provided through the built-in function and user-defined script, and the function, handler and As the screen is completely separated, it handles the function of importing and reusing the screens and functions that are duplicated in the handler, and reloading only the desired data according to the controller tag classification of the handler.

도 4를 참조하면, 클라이언트(100)가 본 발명이 적용된 웹 서버(200)의 해당 웹 애플리케이션에 초기 접속을 시도할 때, 웹 서버(200)로부터 웹플러스 엔진(120)이 클라이언트(100)의 브라우저(110)에 로드된다(S401,S402).Referring to FIG. 4, when the client 100 attempts an initial connection to a corresponding web application of the web server 200 to which the present invention is applied, the web plus engine 120 from the web server 200 is connected to the client 100. It is loaded in the browser 110 (S401, S402).

이후 웹플러스 엔진(120)은 브라우저(110)의 요청(HTTP request)이 있으면 공통 도큐먼트를 생성한다(S403). 공통 도큐먼트는 도 6에 도시된 바와 같이 톱(top)과 바디(body), 보텀(bottom)으로 이루어진 공통으로 사용할 기본화면 구성으로서, 톱은 전체 화면에서 헤드부분에 해당하고, 바디는 메인부분으로 스크린의 내용을 보여주는 부분이며, 보텀은 전체화면에서 아래부분이다. Thereafter, the web plus engine 120 generates a common document when there is a request (HTTP request) of the browser 110 (S403). The common document is a basic screen configuration commonly used as a top, a body, and a bottom, as shown in FIG. 6, where the top corresponds to the head portion of the entire screen, and the body corresponds to the main portion. It shows the contents of the screen, and the bottom is the bottom of the full screen.

이어 start-config.xml과 message.xml 파일 읽어서 웹 애플리케이션의 실행될 기본적인 환경을 설정하고 화면을 제어하는 핸들러(213)를 호출한다(S404). start-config.xml 파일은 해당 웹 애플리케이션의 기본적인 환경을 컨트롤하고, message.xml 파일은 해당 웹페이지에서 클라이언트(100)가 특정 이벤트를 발생시에 클라이언트(100)에게 보여줄 경고(alert)창 내용을 나타내는 안내문이 정의되어 있다.Subsequently, the start-config.xml and message.xml files are read to set a basic environment to be executed in the web application, and the handler 213 for controlling the screen is called (S404). The start-config.xml file controls the basic environment of the web application, and the message.xml file indicates the contents of an alert window to be shown to the client 100 when the client 100 generates a specific event in the web page. Notices are defined.

이어서 혹은 초기접속이 아닌 경우에는 호출된 핸들러(213)에 기술된 정보를 파싱한다(S405). 이때 다른 핸들러를 import하여 공용으로 재사용 가능하다. 이어 핸들러(213)에 정의된 스크린(214) 파일을 호출하여 공통 도큐먼트의 바디 부분에 해당 스크린(214)을 인클루드(include)한다(S406). 이에 따라 스크린을 재사용할 수 있다.Subsequently or in the case of not the initial connection, the information described in the called handler 213 is parsed (S405). At this time, another handler can be imported and reused publicly. Subsequently, the screen 214 file defined in the handler 213 is called to include the screen 214 in the body part of the common document (S406). This allows the screen to be reused.

이어 핸들러 태그와 스크린 태그의 동일한 아이디(ID)명을 가진 태그(Tag)를 매핑(Mapping)하여 해당 개체의 기본 html 태그를 생성한다(S407). 이를 좀더 자세히 살펴보면, 다음과 같다.Subsequently, a tag having the same ID name of the handler tag and the screen tag is mapped to generate a basic html tag of the corresponding object (S407). Looking more closely at this,

a) 웹 플러스 엔진이 핸들러의 엘리먼트 태그의 id정보를 해석한다.a) The web plus engine interprets the id information of the element tag of the handler.

b) 웹 플러스 엔진이 a)단계에서 찾은 id정보로 스크린의 태그의 id에서 동일한 id를 찾는다.b) The web plus engine finds the same id from the id of the tag on the screen using the id information found in step a).

c) 웹 플러스 엔진이 a), b)단계를 통해 찾은 매핑정보를 html의 기본 태그로 생성한다.c) The web plus engine generates the mapping information found through steps a) and b) as the basic tag of html.

d) 다시 a)단계로 순환하여 해당 핸들러와 스크린의 매핑을 실시한다.d) Go back to step a) to map the handler to the screen.

예컨대, 다음 표 3과 같이 id가 "sch_value"인경우 핸들러와 스크린의 매핑으로부터 다음 표 4와 같이 html 기본 태그를 생성한다.For example, if id is "sch_value" as shown in Table 3, html basic tag is created as shown in Table 4 from mapping of handler and screen.

구분     division 소스                            sauce 핸들러   Handler . . <text id="sch_value" title="검색값" size="10" maxLength='10' /> .. . <text id = "sch_value" title = "Search value" size = "10" maxLength = '10 '/>. 스크린   screen . . <w:text id="sch_value"> .. . <w: text id = "sch_value">. html태그   htmltag <input type="text" id="sch_value">  <input type = "text" id = "sch_value">

이어, 핸들러(213)에 xml의 엘리먼트의 정의된 속성과 이벤트, 액션을 해석하여 이전 단계에 생성된 기본 html 태그의 속성과 스크립트 등을 추가로 설정한다(S408). 이를 좀더 자세히 살펴보면, 다음과 같다.Subsequently, the handler 213 analyzes the defined attributes, events, and actions of the elements of the xml to additionally set the attributes, scripts, etc. of the basic html tag generated in the previous step (S408). Looking more closely at this,

1) 웹플러스 엔진이 handler의 Element Tag의 event와 action과 관련된 개체의 정보를 찾거나, 기술된 각각의 속성(Attribute) 정보를 해석한다. 1) The WebPlus engine finds the object information related to the event and action of the element tag of the handler or interprets each attribute information described.

2) 웹플러스 엔진이 handler의 Element Tag에 기술된 속성 정보를 토대로 handler와 screen이 id가 같은 개체의 html 속성을 추가하고, 1단계에서 찾은 정보를 토대로 event와 action과 관련된 스크립트를 추가로 작성 한다.2) The WebPlus engine adds the html property of the object with the same id as the handler and the screen based on the property information described in the element tag of the handler, and additionally creates a script related to the event and action based on the information found in step 1. .

3) 다시 1)단계로 순환하여 재실행한다.3) Repeat step 1) and execute again.

예컨대, 상기 표4와 같이 html 태그가 생성된 경우, 핸들러와 스크린으로부터 다음 표 5와 같이 속성을 부여한다.For example, when the html tag is generated as shown in Table 4 above, attributes are assigned from the handler and the screen as shown in Table 5 below.

구분     division 소스                            sauce 핸들러   Handler . . <text id="sch_value" title="검색값" size="10" maxLength='10' /> .. . <text id = "sch_value" title = "Search value" size = "10" maxLength = '10 '/>. 스크린   screen . . <w:text id="sch_value"> .. . <w: text id = "sch_value">. html태그   htmltag <input type="text" id="sch_value" size="10" maxlength="10">  <input type = "text" id = "sch_value" size = "10" maxlength = "10">

그리고 공통 도큐먼트의 바디 부분을 브라우저에 출력하고, 톱과 보텀에 해당하는 스크린을 호출하여 브라우저로 출력한다(S409,S410).The body part of the common document is output to the browser, and the screen corresponding to the top and bottom is called and output to the browser (S409 and S410).

이어서, 상기와 같이 구성되는 본 발명에 따른 웹 응용 시스템에서 웹 브라우저와 웹 서버간의 전체 동작 절차를 도 5를 참조하여 설명하면 다음과 같다.Next, the entire operation procedure between the web browser and the web server in the web application system according to the present invention configured as described above will be described with reference to FIG. 5.

도 5를 참조하면, 클라이언트측의 브라우저(110)가 요구하면 웹 플러스 엔진(120)이 공통 도큐먼트를 생성한다(S1,S2). 공통 도큐먼트는 앞서 설명한 바와 같이 톱(top)과 바디(body), 보텀(bottom)으로 이루어진 공통으로 사용할 기본화면 구성이다.Referring to FIG. 5, when the client 110 requests the browser 110, the web plus engine 120 generates a common document (S1 and S2). As described above, the common document is a basic screen configuration to be commonly used, which consists of a top, a body, and a bottom.

이어 웹 플러스 엔진(120)이 xmlHttpRequest로 웹 서버(200)에 해당 화면의 핸들러를 요청하면 웹 서버(200)가 핸들러(213)를 제공하고, 핸들러(213)에 사용할 스크린을 요청하면 스크린(214)을 전달한다(S3~S6). 이때 웹서버의 프리젠테이션 계층(210)은 본 발명에 따라 이전 웹 애플리케이션 모델 형태에 따른 하나의 파일에 디자인과 소스가 결합된 형태가 아닌 프로그램 소스에 해당하는 핸들러(213)와 디자인에 해당하는 스크린(214)으로 구분된 독립된 파일로 관리하고 있다.Subsequently, when the web plus engine 120 requests the handler of the corresponding screen to the web server 200 through the xmlHttpRequest, the web server 200 provides the handler 213 and requests the screen to be used for the handler 213. ) (S3 ~ S6). In this case, the presentation layer 210 of the web server is a screen corresponding to a design and a handler 213 corresponding to a program source, rather than a combination of a design and a source in one file according to the previous web application model according to the present invention. It is managed as an independent file separated by (214).

이어 웹플러스 엔진(120)이 핸들러(213)와 스크린(214)을 파싱(Parsing) 및 매핑(Mapping) 정보를 토대로 HTML 출력데이터를 생성하여 웹 브라우저(110)에 응답한다(S7,S8).Subsequently, the webplus engine 120 generates HTML output data based on the parsing and mapping information of the handler 213 and the screen 214 and responds to the web browser 110 (S7 and S8).

이벤트가 발생되어 데이터가 요구되면, 웹플러스 엔진(120)이 웹 서버의 XML Manager(212-1)로 xmlHttpRequest를 이용하여 데이터를 요청하고, 웹 서버의 XML Manager(212-1)는 xml 파싱을 수행한 후 Data Mapping(212-2)로 VO(Value Object), 모델(Model), 리스트(List) 형태의 데이터를 전달하고, 이에 따라 Data Mapping(212-2)는 비지니스 로직을 호출하여 해당 처리를 요청한다(S9~S12).When an event is generated and data is requested, the web plus engine 120 requests data from the web server's XML manager 212-1 using xmlHttpRequest, and the web server's XML manager 212-1 performs xml parsing. After execution, data in the form of VO (Value Object), Model, and List are transferred to Data Mapping 212-2. Accordingly, Data Mapping 212-2 calls business logic to process the data. Request (S9 ~ S12).

비지니스 로직(220)은 요구되는 응용의 성격에 따라 데이터베이스관리시스템 등과 같은 자원(300)을 통해 요구사항을 처리한 후, 그 결과 데이터를 Data Mapping(212-2)로 전달하고, Data Mapping(212-2)는 다시 XML Manager(212-1)로 해당 데이터 정보를 VO(Value Object), 모델(Model), 리스트(List) 형태로 전달한다(S13~S15).The business logic 220 processes the requirements through a resource 300 such as a database management system according to the nature of the required application, and then transfers the data to the data mapping 212-2, and the data mapping 212. -2) transmits the corresponding data information to the XML Manager 212-1 in the form of a Value Object (VO), a Model, and a List (S13 to S15).

그리고 XML Manager(212-1)는 Data Mapping(212-2)가 제공하는 VO(Value Object), 모델(Model), 리스트(List) 형태의 데이터를 xml로 생성한 후 웹 플러스 엔진(120)으로 응답하고, 이에 따라 웹 플러스 엔진(120)은 수신된 xml정보를 파싱한 후 브라우저(110)를 갱신하기 위한 html 정보로 전환하여 브라우저(110) 화면의 일부를 갱신한다(S16~S19). The XML Manager 212-1 generates data in the form of VO (Value Object), Model, and List provided by the Data Mapping 212-2 in xml and then sends it to the web plus engine 120. In response, the web plus engine 120 parses the received xml information and then switches to html information for updating the browser 110 to update a part of the screen of the browser 110 (S16 to S19).

이와 같이 본 발명에 따른 웹 응용 모델은 브라우저의 요청을 웹 플러스 엔진이 받아 웹서버로 전달하고, 웹서버로부터 받은 핸들러와 스크린을 이용하여 브라우저를 위한 html 파일을 생성한다. 즉, 본 발명은 웹 브라우저를 통해 사용자에게 보여지는 화면을 만드는 모든 사용자 인터페이스(UI) 작업은 클라이언트의 웹 플러스엔진에서 처리하고, 서버는 비지니스 로직과 데이터만을 처리하여 클라이언트와 서버 사이의 역할을 균형 있게 분배하여 자원을 효율적으로 사용할 수 있게 한다.As described above, the web application model according to the present invention receives the request of the browser and delivers the request to the web server, and generates an html file for the browser using the handler and the screen received from the web server. That is, in the present invention, all user interface (UI) operations for creating a screen displayed to the user through a web browser are handled by the client's web plus engine, and the server processes only business logic and data to balance the role between the client and the server. To ensure efficient use of resources.

이상에서 설명한 바와 같이, 본 발명에 따르면 화면을 구성하는 웹 애플리케이션의 프로그램 소스에 해당하는 핸들러와 화면의 디자인에 해당하는 스크린으로 구분하여 관리함으로써 새로운 웹 응용의 개발을 용이하게 함과 아울러 유지보수를 편리하게 하고, 사용자 인터페이스(UI)를 담당하는 기능을 클라이언트측에서 처리하여 서버의 부하를 줄일 수 있음과 아울러 애이잭스(AJAX)와 같은 최신의 웹 표준을 적용하여 화면의 리로드(Reload)를 최소화하여 유려한 화면구성과 로드 시간을 줄일 수 있는 효과를 제공한다.As described above, according to the present invention, by managing the screen corresponding to the program source of the web application constituting the screen and the screen corresponding to the design of the screen, it is easy to develop a new web application and maintain the maintenance. It is convenient and can reduce the load on the server by handling functions that handle the user interface (UI) on the client side and minimize the reload of the screen by applying the latest web standards such as AJAX. It provides the effect of reducing the screen configuration and load time.

또한 WWW 상의 소프트웨어 애플리케이션에 액세스하는 기존 웹 애플리케이션 모델에 추가적인 기능을 부가하여 일반 사용자에게는 쉽고 유려한 웹페이지의 구성과 빠른 응답속도를 제공하고, 소프트웨어 개발자(프로그래머, 디자이너)에게는 기존 개발방식의 획기적인 변화를 통해 웹 애플리케이션 프로그램을 개발하기 위한 서로 다른 개발언어에 종속되지 않고, 디자인과 소스파일의 완전한 분리를 이루어 프로그래머와 디자이너에게 독립된 작업 환경을 제공하여 개발 생산성의 향상과 유지보수의 용이성을 제공한다.In addition, it adds additional functions to the existing web application model for accessing software applications on the WWW, providing easy and elegant web page configuration and fast response time for general users, and revolutionizing the existing development method for software developers (programmers and designers). It is not dependent on the different development languages for developing web application programs, and provides a separate working environment for programmers and designers by providing complete separation of design and source files, improving development productivity and ease of maintenance.

또한 소프트웨어 개발자가 표준 액세스 프로토콜을 채택하는 것을 허용하여, 개발자들로 하여금 HTML 인식 브라우저를 사용할 수 있는 모든 컴퓨터 시스템에 대한 지원을 제공할 수 있도록 해준다. It also allows software developers to adopt standard access protocols, allowing developers to provide support for any computer system that can use an HTML-aware browser.

그리고 본 발명은 해당 웹 애플리케이션의 운영자 및 운영조직에게 해당 웹 애플리케이션을 개발하기 위해 서로 다른 플랫폼에 종속되지 않는 독립적인 환경을 제공하여 각각의 상이한 플랫폼 개수만큼이나 동일한 컨텐츠를 가진 웹 애플리케이션 프로그램을 서로 다른 플랫폼 별로 만들 필요 없이 상기 발명에 따라 하나의 웹 애플리케이션으로 각각의 플랫폼에 활용 가능하므로 비용과 개발 기간 단축효과를 통해 소규모의 운영자 및 운영조직이라 하더라도 커다란 시장에 접근할 수 있는 공개적 경로를 제공할 수 있다. In addition, the present invention provides an independent environment that does not depend on different platforms for the development of the web application to the operator and the operating organization of the web application, so that the web application program having the same content as the number of different platforms to different platforms According to the above invention, it can be used for each platform as a web application without any need, and thus, cost and development time can be shortened, so even a small operator and an operating organization can provide an open path to a large market. .

본 발명은 상기한 실시예에 한정되지 않으며, 본 발명이 속한 기술적 사상 내에서 당 분야의 통상의 지식을 가진 자에 의해 많은 변형이 가능함은 명백하다.The present invention is not limited to the above-described embodiments, and it is apparent that many modifications are possible by those skilled in the art within the technical spirit to which the present invention belongs.

Claims (8)

웹 브라우저가 구비된 클라이언트와 다양한 종류의 서버 플랫폼들로 구현된 웹 서버로 이루어진 웹 환경에서 웹 애플리케이션(Web Application)을 개발하기 위한 솔루션 인터페이스(interface) 방법에 있어서,In the solution interface method for developing a web application in a web environment consisting of a client with a web browser and a web server implemented in various server platforms, 상기 웹 서버상에 웹 페이지들을 디자인에 해당하는 스크린과, 프로그램에 해당하는 핸들러로 구분하여 별개의 파일로 구현하고,On the web server, web pages are divided into screens corresponding to designs and handlers corresponding to programs, and implemented as separate files. 상기 클라이언트측에서 실행되는 웹플러스 엔진이 상기 웹브라우저의 요구에 따라 상기 핸들러를 불러오고, 상기 핸들러에 대응하는 스크린을 불러오며, 상기 핸들러와 상기 스크린을 매핑하여 html 태그를 생성한 후 속성을 부여하여 상기 웹브라우저에 제공함으로써The web plus engine running on the client side invokes the handler according to the request of the web browser, loads the screen corresponding to the handler, maps the handler and the screen, generates an html tag, and then assigns an attribute. By providing it to the web browser 디자인과 프로그램을 동시에 개발하여 개발기간을 단축하고 유지보수를 용이하게 함과 아울러 상기 웹 서버의 플랫폼에 관계없이 독립적으로 개발할 수 있는 것을 특징으로 하는 웹 응용을 위한 프리젠테이션 방법.A method of presentation for a web application, characterized in that the design and the program can be simultaneously developed to shorten the development period and to facilitate maintenance, and to be independently developed regardless of the platform of the web server. 클라이언트- 웹 서버 구조에서 웹 응용(Application)을 제공하기 위한 방법에 있어서,In the method for providing a web application in a client-web server structure, 상기 클라이언트에서 실행되는 웹 플러스 엔진이 웹 브라우저의 요청에 따라 공통 도큐먼트를 생성하는 제1 단계;A first step of the web plus engine running on the client generating a common document according to a request of a web browser; 상기 웹 플러스 엔진이 해당 화면의 핸들러를 요청하면 상기 웹 서버가 핸들 러를 제공하는 제2 단계;A second step of the web server providing a handler when the web plus engine requests a handler of the screen; 상기 웹 플러스 엔진이 해당 핸들러에 사용할 스크린을 요청하면 상기 웹 서버가 해당 스크린을 제공하는 제3 단계;A third step of providing the screen by the web server when the web plus engine requests a screen to use for the handler; 상기 웹 플러스 엔진이 상기 핸들러를 파싱(parsing)하고 상기 스크린과의 매핑(mapping)을 이용하여 웹 브라우저에 응답할 html을 만들어 웹브라우저에 출력하는 제4 단계;A fourth step of the web plus engine parsing the handler and generating html to respond to the web browser using a mapping with the screen and outputting the html to the web browser; 이벤트가 발생되어 데이터가 요구되면, 상기 웹 플러스 엔진이 상기 웹 서버에 데이터를 요청하고, 상기 웹 서버는 소정의 비지니스 로직을 실행하여 그 결과 데이터를 xml 파일로 응답하는 제5 단계; 및A fifth step in which the web plus engine requests data from the web server when an event is generated and the data is requested, the web server executing predetermined business logic and responding the result data to an xml file; And 상기 웹 플러스 엔진이 상기 xml 파일을 파싱하여 갱신된 데이터를 포함하는 html 파일을 상기 웹 브라우저에 제공하는 제6 단계를 구비한 것을 특징으로 하는 웹 응용을 위한 프리젠테이션 방법.And a sixth step of the web plus engine parsing the xml file to provide an html file including the updated data to the web browser. 제2항에 있어서, 상기 제5 단계는The method of claim 2, wherein the fifth step 상기 웹 플러스 엔진이 상기 웹 서버의 xml Manager에 데이터를 요청하면 상기 xml Manager가 xml 파싱 후 데이터 맵핑(Data Mapping)을 통해 해당 데이터를 요구하고, 상기 Data Mapping는 비지니스 로직을 호출하여 결과 데이터를 xml Manager로 전달하며, 상기 xml Manager는 결과 데이터를 xml 파일로 생성하는 것을 특징으로 하는 웹 응용을 위한 프리젠테이션 방법.When the web plus engine requests data from the xml manager of the web server, the xml manager requests the corresponding data through data mapping after parsing the xml, and the data mapping calls business logic to output the xml data. Delivering to the Manager, the xml Manager is a presentation method for a web application, characterized in that for generating the resulting data as an xml file. 클라이언트와 웹 서버로 이루어진 웹 환경에 있어서,In a web environment consisting of a client and a web server, 상기 클라이언트의 접속이 초기접속이면 상기 웹 서버로부터 웹 플러스 엔진을 로드하는 단계;Loading a web plus engine from the web server if the client's connection is an initial connection; 상기 웹 플러스 엔진이 웹 브라우저의 요청에 따라 공통 도큐먼트를 생성하는 단계;Generating, by the web plus engine, a common document according to a request of a web browser; 상기 웹 플러스 엔진이 구성 파일을 리드(Read)하여 첫화면을 제어하는 핸들러를 호출하는 단계;Calling, by the web plus engine, a handler which controls a first screen by reading a configuration file; 상기 웹 플러스 엔진이 호출된 핸들러에 기술된 엘리먼트(Element) 정보를 파싱(Parsing)하는 단계;Parsing Element information described in the called handler by the web plus engine; 상기 웹 플러스 엔진이 상기 핸들러에 정의된 스크린 파일을 호출하는 단계;The web plus engine calling a screen file defined in the handler; 상기 웹 플러스 엔진이 핸들러를 파싱(parsing)하고 핸들러 태그(tag)와 스크린 태그(tag)의 아이디(id)를 맵핑(mapping)하여 해당 개체의 기본 html태그를 생성하는 단계; 및Parsing a handler by the web plus engine and mapping an id of a handler tag and a screen tag to generate a basic html tag of the object; And 상기 웹 플러스 엔진이 핸들러의 엘리먼트(Element)에 정의된 속성(Attribute)를 해석하여 이전 단계에 생성된 기본 html에 속성을 설정하는 단계를 구비한 것을 특징으로 하는 웹 응용을 위한 프리젠테이션 방법.And setting, by the web plus engine, an attribute defined in an element of a handler and setting an attribute in a basic html generated in a previous step. 클라이언트-서버 구조로 된 웹 환경에 있어서,In a client-server web environment, 상기 클라이언트에서 실행되는 웹 브라우저;A web browser running on the client; 초기 접속시 상기 서버로부터 상기 클라이언트로 로드되고, 상기 웹 브라우저의 요청에 따라 상기 서버로 해당 화면의 핸들러와 스크린을 요청하여 파싱 및 매핑을 통해 html 출력 데이터를 생성하여 상기 웹 브라우저로 제공하고, 이벤트에 따라 새로운 데이터가 필요하면 상기 서버로 동기/비동기방식으로 통신하여 xml 데이터를 전달받아 html 정보를 추가하여 상기 웹 브라우저로 전달하는 웹 플러스 엔진; 및During initial access, the server is loaded from the server to the client, requests the handler and the screen of the screen to the server according to the request of the web browser, generates html output data through parsing and mapping, and provides the event to the web browser. If a new data is required according to the web plus engine to communicate to the server in a synchronous / asynchronous manner to receive xml data, add html information to the web browser; And 상기 서버에서 실행되고 문서를 핸들러와 스크린으로 구분하여 관리하면서 상기 웹 플러스 엔진의 요구에 따라 핸들러와 스크린을 제공하는 프리젠테이션부를 구비한 것을 특징으로 하는 웹 응용 개발 시스템. And a presentation unit that is executed in the server and provides a handler and a screen according to the request of the web plus engine while managing documents divided into handlers and screens. 제5항에 있어서, 상기 프리젠테이션부는The method of claim 5, wherein the presentation unit 웹 응용의 화면을 이루는 요소인 스크린과, 웹 응용의 로직을 이루는 요소로서 상기 스크린과 데이터를 연결해주며 상기 스크린을 제어하는 핸들러로 이루어진 웹 플러스 뷰어 매니저(Manager)와,A web plus viewer manager comprising a screen which is an element forming a screen of a web application, a handler which connects data to the screen as an element forming logic of a web application, and controls the screen; 상기 클라이언트가 요청하는 데이터를 전달해주기 위해 상기 웹플러스 엔진으로부터 넘겨받은 xml 정보를 파싱하여 데이터 맵핑(Data Mapping)부로 전달하고, 상기 데이터맵핑(Data Mapping)부에서 받은 데이터를 xml정보로 생성하여 클라이언트에게 전달는 XML 매니저(XML Manager)와, 상기 비즈니스 로직을 연결하여 해당 데이터를 찾아 상기 XML Manager에게 데이터를 전달하는 상기 데이터 맵핑(Data Mapping)부로 이루어진 웹플러스 데이터 컨트롤러로 구성된 것을 특징으로 하는 웹 응용 개발 시스템. In order to deliver the data requested by the client, the xml information received from the web plus engine is parsed and transmitted to the data mapping unit, and the data received from the data mapping unit is generated as xml information and the client Web application development comprising a Web Plus data controller consisting of an XML Manager (XML Manager) and the data mapping unit for connecting the business logic to find the data and deliver the data to the XML Manager. system. 제6항에 있어서, 상기 핸들러는The method of claim 6, wherein the handler is 테이터셋(Dataset)과 트랜스퍼(Transfer), 컨피그(Config), 내장기능함수, 에이잭스(Ajax)기반 컴포넌트 라이브러리를 포함하는 것을 특징으로 하는 웹 응용 개발 시스템.Web application development system, including dataset, Transfer, Config, built-in function, Ajax-based component library. 제5항에 있어서, 상기 웹플러스 엔진은The method of claim 5, wherein the web plus engine 자바스크립트(Javascript)로 구현되어Implemented in JavaScript 상기 웹 브라우저의 요청에 따라 웹플러스 엔진을 적재하고 있는 하나의 윈도우를 구성하는 기능;A function of configuring one window loaded with a webplus engine in response to a request of the web browser; 상기 하나의 윈도우는 상기 웹플러스 엔진을 재 적재할 필요 없이 팝업을 포함한 모든 화면에서 사용 가능하도록 해주는 기능;The one window function to be made available on all screens including pop-ups without having to reload the webplus engine; 화면과 기능 구현을 위한 공통 요소를 정의하고 있는 환경 설정 파일을 로드하고 파싱하여 전역 변수 및 세션 등과 같은 정보를 설정하는 기능;A function of loading and parsing an environment configuration file defining common elements for implementing screens and functions to set information such as global variables and sessions; 화면과 기능을 구현하기 위해 환경 설정 파일 또는 URL을 통해 직접 정의하는 핸들러를 호출하는 기능;The ability to call handlers that you define directly through configuration files or URLs to implement screens and functionality; 상기 핸들러에 정의된 스크린 파일들을 호출하여 설정된 윈도우 각각의 위치에 그리는 기능;A function of calling screen files defined in the handler and drawing each position of the set window; 상기 호출된 핸들러에 기술된 컨트롤러를 데이터 정보(XPATH) 및 화면 분 류(ID)별로 나누고 엘리먼트(Element) 및 속정 정보를 파싱하는 기능;Dividing the controller described in the called handler by data information (XPATH) and screen classification (ID) and parsing elements and property information; 상기 핸들러의 컨트롤러 태그와 상기 스크린 컨트롤러 태그의 아이디를 맵핑하여 해당 스크린 개체와 연결하여 기본 정보를 생성하는 기능; A function of mapping the controller tag of the handler and the ID of the screen controller tag and connecting the screen tag with the corresponding screen object to generate basic information; 상기 핸들러의 컨트롤러 태그 속성을 통해 기존에 개발자가 직접 기능을 구현하던 것을 선언된 속성 정보만으로 다양한 화면 기능을 자동으로 구현하게 하는 기능;A function of automatically implementing various screen functions only with attribute information declared that the developer has previously implemented a function directly through the controller tag attribute of the handler; 상기 핸들러의 스크립트 태그를 통해 이벤트 핸들러를 사용하며, 이벤트가 발생시 내장함수 및 사용자 정의 스크립트를 통해 데이터 호출, 화면 전환, 팝업, 메시지 알림 등의 제공 기능과 다양한 사용자 추가 기능 구현을 가능하게 하는 기능;A function of using an event handler through a script tag of the handler, and providing a function such as data call, screen change, popup, message notification, and various user addition functions through an embedded function and a user-defined script when an event occurs; 상기 핸들러와 상기 스크린이 완전 분리됨에 따라 각각 중복 사용되는 화면과 기능을 상기 핸들러에서 임포트하여 재사용하는 기능; 및A function of importing and reusing a screen and a function that are used in duplicate as the handler and the screen are completely separated from each other; And 상기 핸들러의 컨트롤러 태그 분류에 따라 원하는 데이터만 리로드(Reload)하는 기능을 수행하는 것을 특징으로 하는 웹 응용 개발 시스템.And reload only desired data according to the controller tag classification of the handler.
KR1020060074702A 2006-08-08 2006-08-08 Presentation method for web applications and web application development system using the same KR100831393B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060074702A KR100831393B1 (en) 2006-08-08 2006-08-08 Presentation method for web applications and web application development system using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060074702A KR100831393B1 (en) 2006-08-08 2006-08-08 Presentation method for web applications and web application development system using the same

Publications (2)

Publication Number Publication Date
KR20080013324A true KR20080013324A (en) 2008-02-13
KR100831393B1 KR100831393B1 (en) 2008-05-21

Family

ID=39341097

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060074702A KR100831393B1 (en) 2006-08-08 2006-08-08 Presentation method for web applications and web application development system using the same

Country Status (1)

Country Link
KR (1) KR100831393B1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001344105A (en) 2000-03-31 2001-12-14 Hitachi Software Eng Co Ltd Web application developing method, development support system, and memory medium storing program related to this method
KR100420103B1 (en) * 2002-01-24 2004-03-02 (주) 자이오넥스 System And Method For Implementation Of Web Application Over XML

Also Published As

Publication number Publication date
KR100831393B1 (en) 2008-05-21

Similar Documents

Publication Publication Date Title
US7912935B2 (en) Development and deployment of mobile and desktop applications within a flexible markup-based distributed architecture
US7937670B2 (en) Data sharing system, method and software tool
US7707563B2 (en) System and method for network-based computing
US8578333B2 (en) Method and system for client-side user interface enhancement to enable application integration and portalisation
US8965864B2 (en) Method and system for efficient execution and rendering of client/server interactive applications
JP5439190B2 (en) Method and system for creating server-based web applications for IT
WO2021008030A1 (en) Web form configuration method and device, and computer readable storage medium
US6961750B1 (en) Server-side control objects for processing client-side user interface elements
US7614052B2 (en) System and method for developing and deploying computer applications over a network
US7954107B2 (en) Method and system for integrating the existing web-based system
JP5248964B2 (en) Method and system for generating screen elements or data objects for wireless applications
AU770160B2 (en) Automated web interface generation for software coded applications
US7007266B1 (en) Method and software system for modularizing software components for business transaction applications
US20050076294A1 (en) Method and apparatus for supporting layout management in a web presentation architecture
US20050050021A1 (en) Information Messaging and Collaboration System
EP1872204A4 (en) System and method for flexible visual representation of presentation components
US7281252B1 (en) Method, system, and apparatus for implementing object interfaces at runtime
CN111008051B (en) Dynamic layout based on multidimensional rules
WO2014045826A1 (en) Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method
CA2297711A1 (en) Method and system for building internet-based applications
KR100831393B1 (en) Presentation method for web applications and web application development system using the same
KR20230036670A (en) Web Application Development System
CN116501427A (en) WakeData applet custom layout method
Manzoor Ahmad Integration of JasperReports Server Engine in iCON Telematics Application
CN114625386A (en) Method and device for updating interface layout of application

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
N231 Notification of change of applicant
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee