[go: up one dir, main page]

KR20060114517A - Framework for building web applications and their web servers - Google Patents

Framework for building web applications and their web servers Download PDF

Info

Publication number
KR20060114517A
KR20060114517A KR1020050036671A KR20050036671A KR20060114517A KR 20060114517 A KR20060114517 A KR 20060114517A KR 1020050036671 A KR1020050036671 A KR 1020050036671A KR 20050036671 A KR20050036671 A KR 20050036671A KR 20060114517 A KR20060114517 A KR 20060114517A
Authority
KR
South Korea
Prior art keywords
module
request
business logic
application
web
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
KR1020050036671A
Other languages
Korean (ko)
Inventor
이수정
Original Assignee
(주)이포넷
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)이포넷 filed Critical (주)이포넷
Priority to KR1020050036671A priority Critical patent/KR20060114517A/en
Publication of KR20060114517A publication Critical patent/KR20060114517A/en
Ceased legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H23/00Percussion or vibration massage, e.g. using supersonic vibration; Suction-vibration massage; Massage with moving diaphragms
    • A61H23/02Percussion or vibration massage, e.g. using supersonic vibration; Suction-vibration massage; Massage with moving diaphragms with electric or magnetic drive
    • A61H23/0254Percussion or vibration massage, e.g. using supersonic vibration; Suction-vibration massage; Massage with moving diaphragms with electric or magnetic drive with rotary motor
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/01Constructive details
    • A61H2201/0119Support for the device
    • A61H2201/0153Support for the device hand-held
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/50Control means thereof
    • A61H2201/5023Interfaces to the user
    • A61H2201/5038Interfaces to the user freely programmable by the user
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/50Control means thereof
    • A61H2201/5023Interfaces to the user
    • A61H2201/5043Displays
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61HPHYSICAL THERAPY APPARATUS, e.g. DEVICES FOR LOCATING OR STIMULATING REFLEX POINTS IN THE BODY; ARTIFICIAL RESPIRATION; MASSAGE; BATHING DEVICES FOR SPECIAL THERAPEUTIC OR HYGIENIC PURPOSES OR SPECIFIC PARTS OF THE BODY
    • A61H2201/00Characteristics of apparatus not provided for in the preceding codes
    • A61H2201/50Control means thereof
    • A61H2201/5058Sensors or detectors
    • A61H2201/5082Temperature sensors

Landscapes

  • Health & Medical Sciences (AREA)
  • Epidemiology (AREA)
  • Pain & Pain Management (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Rehabilitation Therapy (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 e-Business용 웹 애플리케이션 구축을 위한 프레임워크와 이를 탑재한 서버에 관한 것으로, 본 발명에 따른 웹 애플리케이션 구축을 위한 프레임워크는, 클라이언트로부터 애플리케이션 요청을 받아 프리젠테이션을 위한 요청과 비즈니스 로직 실행을 위한 요청으로 구분하여 전달하는 제1 모듈; 제1 모듈로부터 전달받은 비즈니스 로직 실행을 위한 요청에 따라 해당 비즈니스 로직을 수행하는 제2 모듈; 및 제1 모듈로부터 전달받은 프리젠테이션을 위한 요청에 따라 클라이언트에게 제공될 해당 웹 페이지의 화면을 구성하는 제3 모듈을 포함하는 것을 특징으로 한다. 이에 따라, 개발생산성의 향상 및 유지보수와 확장성이 용이한 웹 애플리케이션 구축용 통합환경을 얻을 수 있다.The present invention relates to a framework for building a web application for e-business and a server equipped with the same. The framework for building a web application according to the present invention receives an application request from a client and requests for presentation and business logic. A first module for classifying and delivering the request for execution; A second module that executes the corresponding business logic in response to a request for executing the business logic received from the first module; And a third module constituting a screen of a corresponding web page to be provided to a client according to a request for presentation received from the first module. As a result, it is possible to obtain an integrated environment for building web applications that is easy to improve, maintain, and expand development productivity.

Description

웹 애플리케이션 구축용 프레임워크 및 그 웹 서버{Framework for building a Web application and a Web server thereof}Framework for building a web application and a web server

도 1은 종래의 웹 애플리케이션의 문제점을 설명하기 위한 도면,1 is a view for explaining a problem of a conventional web application,

도 2는 종래의 웹 애플리케이션 프레임워크의 문제점을 설명하기 위한 도면,2 is a view for explaining the problem of the conventional web application framework,

도 3은 본 발명에 따른 웹 애플리케이션 프레임워크의 특징을 설명하기 위한 도면,3 is a view for explaining the features of the web application framework according to the present invention;

도 4는 본 발명에 따른 웹 애플리케이션 프레임워크를 탑재한 웹 서버의 구성의 일 실시예,Figure 4 is an embodiment of the configuration of a web server equipped with a web application framework according to the present invention,

도 5는 본 발명에 따른 웹 애플리케이션 프레임워크를 탑재한 웹 서버의 구성의 다른 실시예,5 is another embodiment of a configuration of a web server equipped with a web application framework according to the present invention;

도 6은 본 발명에 따른 웹 애플리케이션 프레임워크의 상세 구성도,6 is a detailed configuration diagram of a web application framework according to the present invention;

도 7은 본 발명에 따른 웹 애플리케이션을 위한 개발 도구의 상세 구성도,7 is a detailed configuration diagram of a development tool for a web application according to the present invention;

도 8은 본 발명에 따른 웹 애플리케이션을 위한 관리 도구의 상세 구성도,8 is a detailed configuration diagram of a management tool for a web application according to the present invention;

도 9는 본 발명에 따른 웹 애플리케이션 프레임워크에 포함되는 리소스 풀의 동작을 설명하기 위한 도면,9 is a view for explaining the operation of the resource pool included in the web application framework according to the present invention;

도 10은 본 발명에 따른 웹 애플리케이션 프레임워크에 포함되는 컨트롤러의 동작을 설명하기 위한 도면,10 is a view for explaining the operation of the controller included in the web application framework according to the present invention;

도 11은 본 발명에 따른 웹 애플리케이션 프레임워크에 포함되는 모델의 동작을 설명하기 위한 도면,11 is a view for explaining the operation of the model included in the web application framework according to the present invention;

도 12는 본 발명에 따른 웹 애플리케이션 프레임워크에 포함되는 뷰의 동작을 설명하기 위한 도면이다.12 is a view for explaining the operation of the view included in the web application framework according to the present invention.

본 발명은 웹 서버에 관한 것으로, 보다 상세하게는 e-Business용 웹 애플리케이션 구축을 위한 프레임워크와 이를 탑재한 웹 서버에 관한 것이다.The present invention relates to a web server, and more particularly, to a framework for building a web application for e-business and a web server having the same.

현재 e-Business를 구현하기 위한 웹 기반의 자바 애플리케이션은 점차 거대해지고 복잡해지고 있다. 또한, 사용자 요구의 변화와 빠르게 변화하는 기술에 영향을 받아 웹 애플리케이션의 잦은 변경이 요구된다. Today, web-based Java applications for building e-business are becoming increasingly large and complex. In addition, changes in user needs and rapidly changing technologies require frequent changes of web applications.

그러나, 종래의 웹 애플리케이션의 개발 방법은 체계적이거나 표준화되지 못하여 웹 애플리케이션의 변경 관리가 매우 어려운 문제점이 있다. 이에 따라 웹 애플리케이션의 변경 관리를 위한 개발자와 관리자의 어려움이 가중되고 있다. However, the conventional web application development method has a problem that change management of the web application is very difficult because it is not systematic or standardized. Accordingly, the difficulty of developers and administrators for change management of web applications is increasing.

가장 대표적인 웹 애플리케이션 개발 방법은 클라이언트에 보여질 화면을 구성하는 마크업 언어와 자바와 같은 프로그래밍 언어를 혼합한 JSP(Java Server Page)를 작성하는 것이다. 그러나, JSP의 경우, 방대한 자바 코드와 HTML 코드간의 결합과 자바스크립트의 혼재로 인한 문제점을 가지고 있다. The most typical web application development method is to write a Java Server Page (JSP) that mixes a markup language that composes the screen to the client and a programming language such as Java. However, in the case of JSP, there is a problem due to the combination of massive Java code and HTML code and the mixing of JavaScript.

도 1은 종래의 웹 애플리케이션의 문제점을 설명하기 위한 도면이며, 도 2는 종래의 웹 애플리케이션 프레임워크의 문제점을 설명하기 위한 도면이다. 도 1및 도 2에 도시된 바와 같이 종래의 웹 애플리케이션 개발 방법은 소스 코드 내에 HTML을 이용한 프리젠테이션 로직(JSP)과 자바나 자바 스크립트를 이용한 비즈니스 로직이 혼재함으로 인해 개발과 유지보수가 어려운 문제점이 있었다.1 is a diagram illustrating a problem of a conventional web application, and FIG. 2 is a diagram illustrating a problem of a conventional web application framework. As illustrated in FIGS. 1 and 2, the conventional web application development method has a problem in that development and maintenance are difficult due to a mixture of presentation logic (JSP) using HTML and business logic using Java or JavaScript in source code. there was.

또한, 전술한 웹 애플리케이션 개발 방법은 페이지 독립적인 설계 방식으로 인하여 개발된 컴포넌트 모듈을 재사용하기가 매우 어렵고, 독립된 페이지들간의 유기적 흐름 제어가 까다롭다는 문제점을 갖는다. 나아가, 공통 모듈이 각각 독립적인 페이지 내에 탑재되어 실행됨으로써, 공통 모듈의 변경이나 업데이트 요구가 발생하는 경우 모든 페이지들을 수정해야 하는 구조적인 결함을 갖는다.In addition, the web application development method described above has a problem that it is very difficult to reuse the developed component module due to a page independent design method, and it is difficult to control the organic flow between the independent pages. Furthermore, since the common modules are mounted and executed in independent pages, there is a structural defect that all pages should be corrected when a change or update request of the common module occurs.

이에 따라, 웹 애플리케이션 개발 시에 비즈니스 로직보다 페이지 구성을 위한 프리젠테이션 로직에 더 많은 시간과 인력을 투입해야 하고, 이는 고급 기술자의 양성에 장애요인이 되고 있으며, 유지보수가 어렵고, 사용자의 다양한 요구에 대응하기 어렵다는 문제점을 야기시킨다. As a result, when developing web applications, more time and staff should be devoted to presentation logic for constructing pages than business logic, which is a barrier to the development of advanced technicians, is difficult to maintain, and meets various needs of users. It causes a problem that is difficult to respond to.

이러한 문제점을 해결할 수 있는 방안으로는 디자인 레벨과 프로그램 레벨을 분리하고, 중앙 집중 처리 방식의 컨트롤러 구조를 가진 MVC(Model, View, Controller) 아키텍쳐가 제시되고 있으며, MVC 아키텍쳐를 웹 애플리케이션에 적용한 새로운 개발 환경이 요구되고 있다. As a solution to this problem, MVC (Model, View, Controller) architecture has been proposed that separates the design level from the program level, and has a centralized controller structure, and a new development that applies the MVC architecture to a web application. Environment is required.

본 발명의 목적은, MVC 아키텍쳐를 이용하여 개발생산성의 향상 및 유지보수와 확장성이 용이한 웹 애플리케이션 구축용 프레임워크를 제공하는 것이다.It is an object of the present invention to provide a framework for building web applications that is easy to improve, maintain, and expand development productivity using MVC architecture.

또한, 본 발명의 다른 목적은, 전술한 웹 애플리케이션 구축용 프레임워크를 탑재한 웹 서버를 제공하는 것이다.Another object of the present invention is to provide a web server equipped with the above-described web application building framework.

본 발명에 따라 전술한 목적은, 웹 애플리케이션을 위한 프레임워크에 있어서, 클라이언트로부터 애플리케이션 요청을 받아 프리젠테이션을 위한 요청과 비즈니스 로직 실행을 위한 요청으로 구분하여 전달하는 제1 모듈; 제1 모듈로부터 전달받은 비즈니스 로직 실행을 위한 요청에 따라 해당 비즈니스 로직을 수행하는 제2 모듈; 및 제1 모듈로부터 전달받은 프리젠테이션을 위한 요청에 따라 클라이언트에게 제공될 해당 웹 페이지의 화면을 구성하는 제3 모듈을 포함하는 것을 특징으로 하는 애플리케이션 프레임워크에 의해 달성된다. According to the present invention, the above object is a framework for a web application, comprising: a first module for receiving an application request from a client and dividing the request into a request for presentation and a request for executing business logic; A second module that executes the corresponding business logic in response to a request for executing the business logic received from the first module; And a third module constituting a screen of a corresponding web page to be provided to a client according to a request for presentation received from the first module.

제1 모듈은 클라이언트로부터 애플리케이션 요청을 수신하고, 클라이언트로 처리된 애플리케이션 응답을 전달하는 서블릿(Servlet); 및 비즈니스 로직 실행을 위한 요청을 해당 이벤트가 발생한 경우 제2 모듈로 전달하는 이벤트 처리기(Action)를 포함하는 것이 바람직하며,The first module includes: a servlet for receiving an application request from a client and delivering a processed application response to the client; And an event handler which delivers a request for executing business logic to a second module when an event occurs.

제2 모듈은 각종 저장매체에 대한 어댑터나 웹 서비스 제공자에 대한 인터페이스를 통해 요청한 데이터를 얻어내고, 이를 제1 모듈로 전달하는 비즈니스 로직 처리기(Process)를 포함하는 것이 바람직하다.The second module preferably includes a business logic processor (Process) that obtains the requested data through an adapter for various storage media or an interface to a web service provider and delivers the requested data to the first module.

또한, 제3 모듈은 비즈니스 로직 처리기를 통해 얻어낸 데이터를 포함하도록 웹 페이지 화면을 구성하는 자바 서버 페이지(JSP)를 포함하는 것이 바람직하다.In addition, the third module preferably includes a Java server page (JSP) that configures a web page screen to include data obtained through the business logic processor.

나아가, 애플리케이션 프레임워크는, 이벤트 처리를 담당하는 Action 클래스 원형을 상속한 적어도 하나의 Action 클래스, 및/또는 비즈니스 로직을 담당하는 Process 클래스 원형을 상속한 적어도 하나의 Process 클래스들을 리소스 풀(Resource Pool)에 등록하고 관리하는 것이 특히 바람직하다.Furthermore, the application framework may include at least one Action class that inherits the Action class prototype responsible for event handling, and / or at least one Process class that inherits the Process class prototype responsible for business logic. It is particularly desirable to register and manage at.

한편, 본 발명의 다른 분야에 따르면 전술한 목적은, 웹 애플리케이션을 실행하는 웹 서버에 있어서, 프리젠테이션 로직과 비즈니스 로직을 구분하고, 이를 중앙 처리하는 애플리케이션 프레임워크를 탑재하며, 애플리케이션 프레임워크는, 클라이언트로부터 애플리케이션 요청을 받아 프리젠테이션을 위한 요청과 비즈니스 로직 실행을 위한 요청으로 구분하여 각각 전달하는 제1 모듈; 제1 모듈로부터 전달받은 비즈니스 로직 실행을 위한 요청에 따라 해당 비즈니스 로직을 수행하는 제2 모듈; 및 제1 모듈로부터 전달받은 프리젠테이션을 위한 요청에 따라 클라이언트에게 제공될 해당 웹 페이지의 화면을 구성하는 제3 모듈을 포함하는 것을 특징으로 하는 웹 서버에 의해 달성된다.On the other hand, according to another field of the present invention, the above object is, in a web server for executing a web application, the application logic to distinguish the presentation logic and business logic, and to centrally process it, the application framework, A first module which receives an application request from a client and divides the request into a request for presentation and a request for executing business logic; A second module that executes the corresponding business logic in response to a request for executing the business logic received from the first module; And a third module constituting a screen of a corresponding web page to be provided to the client according to a request for presentation received from the first module.

또한, 웹 서버는 개발자로부터 소정의 입력을 받아 애플리케이션 프레임워크에 기초하여 각 클래스들을 자동으로 생성하는 개발 도구를 더 포함하는 것이 바람직하며,In addition, the web server preferably further includes a development tool that receives a predetermined input from the developer to automatically generate each class based on the application framework,

애플리케이션 프레임워크에 대한 설정기능, 모니터링 기능, 또는 리포트 기능을 제공하는 관리 도구를 더 포함하는 것이 바람직하다.It is preferable to further include a management tool that provides configuration, monitoring, or reporting functions for the application framework.

이하에서는 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described a preferred embodiment of the present invention;

도 3은 본 발명에 따른 웹 애플리케이션 프레임워크의 특징을 설명하기 위한 도면이다.3 is a view for explaining the features of the web application framework according to the present invention.

도 3을 참조하면, 본 발명에 따른 웹 애플리케이션은 계층구조를 가지며, 플랫폼 계층에 자바 가상 머신과 WAS를, 애플리케이션 계층에는 애플리케이션 프레임 워크와 웹 애플리케이션을 포함한다. 구체적인 e-Business 애플리케이션은 각 웹 애플리케이션들에 공통된 통합 환경을 제공하는 애플리케이션 프레임워크(10)를 이용하여 작성된다. 본 발명은 웹 애플리케이션의 개발과 유지보수를 용이하게 하기 위한 애플리케이션 통합 환경으로서, 애플리케이션 프레임워크를 제공하는 것을 목적으로 한다. Referring to FIG. 3, the web application according to the present invention has a hierarchical structure, and includes a Java virtual machine and a WAS in the platform layer, and an application framework and a web application in the application layer. Specific e-business applications are created using an application framework 10 that provides an integrated environment common to each web application. An object of the present invention is to provide an application framework as an application integration environment for facilitating development and maintenance of web applications.

특히, 본 발명에 따른 애플리케이션 프레임워크(10)는 MVC 아키텍처에 따라 모델(Model)(12), 뷰(View)(14) 및 컨트롤러(Controller)(16)로 구분하여 구조화된 클래스들을 제공한다. 이에 따라, 개발자는 본 발명에 따른 애플리케이션 프레임워크에서 제공되는 구조화된 클래스들을 이용하여 원하는 비즈니스 로직을 손쉽게 구현할 수 있다. MVC 아키텍처에 대한 상세한 내용은 http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/index.html를 참조한다.In particular, the application framework 10 according to the present invention provides structured classes divided into a model 12, a view 14, and a controller 16 according to the MVC architecture. Accordingly, the developer can easily implement the desired business logic using the structured classes provided in the application framework according to the present invention. For more information on the MVC architecture, see http://java.sun.com/blueprints/guidelines/designing_enterprise_applications_2e/index.html .

도 4는 본 발명에 따른 웹 애플리케이션 프레임워크를 탑재한 웹 서버의 구성의 일 실시예이다.4 is an embodiment of a configuration of a web server equipped with a web application framework according to the present invention.

도 4를 참조하면, 본 발명에 따른 웹 서버(1)는 애플리케이션 프레임워크(10)와 Enterprise Java Bean Tier(이하, EJB Tier라 약칭함)(40)를 구비한다. 또한, 웹 서버(1)는 클라이언트(60)와 연결되어 애플리케이션 요청(Request)을 받고, 이러한 요청에 대하여 Enterprise Information Server(이하 EIS Tier라 약칭함)(50)로부터 원하는 데이터를 받아 클라이언트에 응답한다. Referring to FIG. 4, the web server 1 according to the present invention includes an application framework 10 and an Enterprise Java Bean Tier (hereinafter, abbreviated as EJB Tier) 40. In addition, the web server 1 connects with the client 60 to receive an application request, and receives the desired data from the Enterprise Information Server (hereinafter, referred to as EIS Tier) 50 to the client and responds to the client. .

보다 구체적으로, 본 발명에 따른 애플리케이션 프레임워크(또는 Web Tier라고도 함)(10)의 구조를 살펴보면, 중앙처리를 맡은 컨트롤러(12), 비즈니스 로직을 구현하는 모델(14) 및 클라이언트에 제공될 화면의 구성을 제어하는 뷰(16)를 구비한다. 이와 같이 본 발명에 따른 애플리케이션 프레임워크(10)는 각자 맡은 역할에 따라 MVC 아키텍처에 따라 정형화되어 구현되는 것이 특징이다. 즉, 프리젠테이션을 담당하는 뷰(16), 비즈니스 로직을 담당하는 모델(14) 및 이들의 중앙처리제어를 담당하는 컨트롤러(12)로 그 역할이 명확하게 구분된다. 또한, 비즈니스 로직을 담당하는 Proc 클래스는 상황에 따라 EJB 객체를 통하여 데이터베이스에 접근 할 수도 있고 EJB를 사용하지 않고 직접 JDBC API를 통하여 데이터베이스에 접근할 수도 있다.More specifically, looking at the structure of the application framework (or Web Tier) 10 according to the present invention, the controller 12 in charge of central processing, the model 14 for implementing business logic and the screen to be provided to the client It is provided with a view 16 to control the configuration of the. As described above, the application framework 10 according to the present invention is characterized by being implemented according to the MVC architecture according to the respective roles. That is, the role is clearly divided into the view 16 for presentation, the model 14 for business logic, and the controller 12 for central processing control thereof. In addition, the Proc class in charge of business logic can access the database through EJB object or directly through JDBC API without using EJB.

이에 반해 종래의 애플리케이션 개발환경은 클라이언트에서 요청할 때마다 직접 프리젠테이션 로직을 구현한 JSP 또는 서블릿을 요청하는 것이 일반적이었다. 그러나, JSP 내부에는 프리젠테이션 로직 뿐만 아니라 비즈니스 로직이나 데이터베이스 액세스를 위한 SQL 로직까지도 직접 포함하여 코딩되는 경우가 많아, 본원 발명과 같이 구조화된 통합환경을 제공하지 못하고, 전술한 여러 가지 문제점을 야기시켰다. 즉, 도 2에 도시된 바와 같이 클라이언트로부터의 애플리케이션 요청이 프리젠테이션을 담당하고 있는 JSP로 직접 전달되어 전술한 문제점이 발생했다.In contrast, conventional application development environments typically request JSPs or servlets that implement presentation logic directly whenever a client requests. However, the JSP is often coded directly including not only the presentation logic but also the SQL logic for accessing the business or the database, and thus, it is not possible to provide a structured integrated environment as in the present invention. . That is, as illustrated in FIG. 2, the application request from the client is directly transmitted to the JSP in charge of the presentation, which causes the above-described problem.

그러나, 본 발명에 따른 클라이언트로부터의 애플리케이션 요청이 프리젠테 이션을 담당하는 JSP로 바로 전달되는 것이 아니라, 중앙 처리 제어를 담당하는 컨트롤러(12)로 전달되어 처리되며, 요청된 내용에 따라 각각 비즈니스 로직을 담당하는 모델(14)과 프리젠테이션을 담당하는 뷰(16)로 적절히 전달됨으로써, JSP는 본연의 임무인 프리젠테이션 기능만을 처리하면 된다. 따라서, 애플리케이션의 개발과 유지보수가 편리하게 된다. However, the application request from the client according to the present invention is not directly delivered to the JSP in charge of the presentation, but is delivered to and processed by the controller 12 in charge of the central processing control. By properly passing to the model 14 in charge of the view and the view 16 in charge of the presentation, the JSP only needs to handle the presentation function, which is a natural task. Thus, the development and maintenance of the application is convenient.

도 5는 본 발명에 따른 웹 애플리케이션 프레임워크를 탑재한 웹 서버의 구성의 다른 실시예이다.5 is another embodiment of the configuration of a web server equipped with a web application framework according to the present invention.

도 5를 참조하면, 본 발명에 따른 웹 서버(1)는 도 4에서 상술한 애플리케이션 프레임워크를 제공할 뿐만 아니라, 더하여 관리 도구(Management Tool)(3) 및/또는 개발 도구(Development Tool)(2)를 제공할 수 있다.Referring to FIG. 5, the web server 1 according to the present invention not only provides the application framework described above with reference to FIG. 4, but also adds a management tool 3 and / or a development tool ( 2) can be provided.

보다 구체적으로, 애플리케이션 프레임워크 엔진(10)은 중앙 처리를 맡은 중앙처리기(Servlet)(122)과 이벤트 처리기(Action)(124)를 포함하며, 프리젠테이션을 위한 출력처리기(JSP)(142) 및 비즈니스로직 처리기(Proc)(142)를 포함한다. 사용자로부터 애플리케이션 요청을 받은 중앙처리기(122)는 이를 이벤트 처리기(124)와 출력처리기(162)로 전달하고, 이벤트 처리기(124)는 해당 이벤트가 발생한 경우 비즈니스로직 처리기(142)로 전달한다. 비즈니스로직 처리기(142)는 각종 저장매체에 대한 어댑터나 웹 서비스 제공자에 대한 RPC SOAP등과 같은 인터페이스를 통해 원하는 데이터를 얻는다. 얻어진 데이터는 출력처리기(162)에서 처리된 페이지에 포함되어 사용자에게 전달된다. More specifically, the application framework engine 10 includes a central processor (Servlet) 122 and an event handler (Action) 124 in charge of central processing, an output processor (JSP) 142 for presentation and Business logic processor (Proc) 142. The central processor 122 receives the application request from the user and transmits it to the event processor 124 and the output processor 162, and the event processor 124 transmits the event to the business logic processor 142 when the event occurs. The business logic processor 142 obtains the desired data through an interface such as an adapter for various storage media or an RPC SOAP for a web service provider. The obtained data is included in the page processed by the output processor 162 and delivered to the user.

또한, 본 발명에 따른 웹 서버(1)는 웹 애플리케이션을 용이하게 개발할 수 있도록 개발자를 도와주는 개발 도구(2)를 더 제공할 수 있다. 이러한 개발 도구(2)에는 중앙처리를 위한 서블릿 클래스, 이벤트를 위한 Action 클래스, 비즈니스 로직을 위한 Proc 클래스, 페이지 출력 포맷을 편집하기 위한 JSP 클래스, 각종 저장매체에 대한 어댑터 클래스, 데이터베이스에 대한 인터페이스 클래스 등을 편리하게 자동 생성하는 마법사 기능이 포함된다. 즉, 각 클래스들의 원형(prototype)이 각 클래스 풀(pool)(리소스 풀이라고도 함)에 미리 정의되고 개발자는 각 클래스 풀로부터 원하는 클래스를 선택하여 이들을 상속하고 필요한 데이터를 추가하거나 변형하여 손쉽게 애플리케이션 프레임워크에서 사용되는 클래스들을 생성할 수 있다.In addition, the web server 1 according to the present invention may further provide a development tool 2 to help the developer to easily develop a web application. These development tools (2) include servlet class for central processing, Action class for events, Proc class for business logic, JSP class for editing page output format, adapter class for various storage media, interface class for database Includes a wizard function to automatically generate and more. That is, the prototype of each class is predefined in each class pool (also known as a resource pool), and the developer can select the desired class from each class pool to inherit them, add or modify the necessary data, and easily You can create classes for use in your work.

나아가, 본 발명에 따른 웹 서버(1)는 웹 애플리케이션을 편리하게 관리할 수 있는 관리 도구(3)를 제공할 수 있다. 이러한 관리 도구(3)에는 애플리케이션 프레임워크 엔진(10)의 설정을 제어하는 기능, 모니터링 기능 및/또는 리포트 기능을 제공하는 도구들이 포함된다.Furthermore, the web server 1 according to the present invention can provide a management tool 3 that can conveniently manage a web application. These management tools 3 include tools that provide functions for controlling the setting of the application framework engine 10, monitoring functions and / or report functions.

도 6은 본 발명에 따른 웹 애플리케이션 프레임워크의 상세 구성도이다.6 is a detailed configuration diagram of a web application framework according to the present invention.

도 6을 참조하면, 이벤트 처리를 담당하는 Action 클래스 원형이나 비즈니스 로직을 담당하는 Process 클래스 원형을 상속한 Action 클래스들 또는 Process 클래스들이 애플리케이션 프레임워크(10)가 관리하는 리소스 풀(Resource Pool)에 자동으로 등록되어 리소스로서 관리된다. 이에 따라, 한번 생성된 리소스들에 빠른 접근이 가능하고, 실행 성능을 향상시킬 수 있다. 또한, 한번 생성된 컴포넌트들의 재사용이 용이한 장점이 있다.Referring to FIG. 6, Action classes or Process classes that inherit the Action class prototype responsible for event processing or Process class prototype responsible for business logic are automatically added to a resource pool managed by the application framework 10. It is registered as and managed as a resource. As a result, quick access to resources created once is possible and execution performance can be improved. In addition, there is an advantage that it is easy to reuse the components created once.

도 7은 본 발명에 따른 웹 애플리케이션을 위한 개발 도구의 상세 구성도이다.7 is a detailed block diagram of a development tool for a web application according to the present invention.

도 7을 참조하면, 개발 도구(2)는 중앙처리 생성기(22), 비즈니스 로직 생성기(24), 이벤트 생성기(26) 및 출력 편집기(28)를 포함한다. Referring to FIG. 7, the development tool 2 includes a central processing generator 22, a business logic generator 24, an event generator 26, and an output editor 28.

중앙처리 생성기(22)는 전/후 처리 로직을 탑재한 중앙 처리 서블릿을 생성한다. 구체적으로는, 중앙처리 생성기(22)는 중앙처리 소스를 생성하고 생성된 소스에 전/후 처리 로직을 탑재하여 이벤트를 호출하며, 이벤트 호출 후 출력 처리 모듈을 거쳐 중앙처리기 클래스를 자동 생성한다.Central processing generator 22 generates a central processing servlet with pre / post processing logic. Specifically, the central processing generator 22 generates a central processing source, mounts pre / post processing logic on the generated source to call an event, and automatically generates the central processing class through the output processing module after the event call.

비즈니스 로직 생성기(24)는 Utility Bean, Entity Bean, Session Bean 등의 자바 클래스를 생성한다. 비즈니스 로직 생성기(24)는 또한 각종 매체와의 연결을 관장하는 어뎁터를 제공하고, 웹 서비스와의 연계를 제공하는 인터페이스로서 SOAP Client를 생성하는 도구를 포함하는 것이 바람직하다. The business logic generator 24 generates Java classes such as utility beans, entity beans, and session beans. The business logic generator 24 also preferably includes a tool for providing an adapter that manages the connection with the various media and generating a SOAP Client as an interface for providing the connection with the web service.

이벤트 생성기(26)는 Http 요청과 응답에 대한 처리를 관장하는 이벤트 클래스를 생성한다. 구체적으로는, 개발자에 의해 화면이 디자인되고 요청/응답 형태가 정의되면, 화면 디자인 및 정의된 요청/응답 형태를 기초로 이벤트 클래스를 자동 생성한다. 출력 편집기(28)는 도구, 템플릿 출력 엔진을 사용하는 출력 클래스를 생성한다. The event generator 26 generates an event class that manages the handling of Http requests and responses. Specifically, when the screen is designed by the developer and the request / response form is defined, an event class is automatically generated based on the screen design and the defined request / response form. The output editor 28 creates an output class using the tool, template output engine.

도 7에 도시된 바와 같이, 개발자가 원하는 내용을 간단히 입력하기만 하면, 본 발명에 따른 애플리케이션 프레임워크에 따라 각 클래스들이 자동으로 생성된다. 이에 따라, 웹 애플리케이션의 개발과 유지보수가 용이해지는 효과를 얻을 수 있다. As shown in FIG. 7, the user simply inputs a desired content, and each class is automatically generated according to the application framework according to the present invention. As a result, the development and maintenance of the web application becomes easy.

도 8은 본 발명에 따른 웹 애플리케이션을 위한 관리 도구의 상세 구성도이다.8 is a detailed configuration diagram of a management tool for a web application according to the present invention.

도 8을 참조하면, 관리 도구(3)에는 애플리케이션 프레임워크 엔진의 설정을 관리하기 위한 도구(32)로서, 비즈니스로직 처리기, 이벤트 처리기, 출력처리기, 중앙 처리기 등의 설정을 관리하고 그 밖에 공유자원을 관리하는 도구, 로그 출력을 관리하는 도구, 각 처리기에 대한 접근 권한을 관리하는 도구, 저장 매체 등의 연결 정보 관리 도구, 데이터베이스나 호스트와 같은 웹서비스 엔진에 대한 정보 관리 도구 등이 포함된다. Referring to FIG. 8, the management tool 3 is a tool 32 for managing the settings of the application framework engine. The management tool 3 manages settings of a business logic processor, an event processor, an output processor, a central processor, and the like. This includes tools for managing the database, tools for managing log output, tools for managing access rights to each processor, tools for managing connection information such as storage media, and tools for managing web services engines such as databases and hosts.

또한, 관리 도구(3)에는 각 리소스들의 사용 현황을 모니터링하는 도구(34)로서, 퍼포먼스 모니터링 도구, 스트레스 테스트 도구, 공유 자원 사용 현황 모니터링 도구, 현재 접속중인 사용자 모니터링 도구, 로그 출력 도구, 웹 서비스 엔진 현황 모니터링 도구 등이 포함된다. In addition, the management tool 3 includes a tool 34 for monitoring usage of each resource, such as a performance monitoring tool, a stress test tool, a shared resource usage monitoring tool, a user monitoring tool that is currently connected, a log output tool, and a web service. Engine status monitoring tools.

나아가, 관리 도구(3)에는 리포트 출력을 위한 도구(36)로서, 클래스 관계도, 이벤트 처리 흐름도, 각 클래스의 사용빈도 보고서 등 유지보수에 관련된 보고서를 출력하는 도구가 포함된다.Furthermore, the management tool 3 includes a tool 36 for outputting a report, which includes a tool for outputting a report related to maintenance, such as a class relation chart, an event processing flowchart, and a frequency report of each class.

이하, 도 9 내지 도 12는 본 발명에 따른 애플리케이션 프레임워크 엔진(10)의 동작을 설명하기 위한 도면들이다.9 to 12 are diagrams for describing an operation of the application framework engine 10 according to the present invention.

먼저, 도 9는 본 발명에 따른 웹 애플리케이션 프레임워크에 포함되는 리소스 풀의 동작을 설명하기 위한 도면이다.First, FIG. 9 illustrates an operation of a resource pool included in a web application framework according to the present invention.

도 9를 참조하면, 본 발명에 따른 애플리케이션 프레임워크 엔진(10)에 포함되는 Context Listener 컴포넌트는 웹 애플리케이션이 로딩될 때 설정파일을 읽어 들여 리소스 풀(resource pool)을 구성한다. 리소스 풀에는 전술한 바와 같이 이벤트 처리를 담당하는 Action 리소스, 비즈니스 로직의 처리를 담당하는 Proc 리소스, 그밖에 Code 리소스, Message 리소스, UserDefine 리소스 등이 포함된다. 리소스 풀은 멀티 쓰레드 모델로 동작하여 실행 성능을 높일 수 있다. 구성된 리소스 풀은 AegisContext를 통해 각 클래스에서 사용할 수 있다. 9, the Context Listener component included in the application framework engine 10 according to the present invention configures a resource pool by reading a configuration file when a web application is loaded. As described above, the resource pool includes an Action resource for handling an event, a Proc resource for handling business logic, a Code resource, a Message resource, and a UserDefine resource. Resource pools can run on a multi-threaded model to improve execution performance. The configured resource pool is available to each class through AegisContext.

도 10은 본 발명에 따른 웹 애플리케이션 프레임워크에 포함되는 컨트롤러의 동작을 설명하기 위한 도면이다.10 is a view for explaining the operation of the controller included in the web application framework according to the present invention.

도 10을 참조하면, 원형(protype) 클래스를 제공하여 이를 상속한 클래스들에 부가기능이나 변경되는 기능만을 반영하여 클래스들을 간단히 개발할 수 있도록 한다. 이에 따라 소스 코드가 표준화될 수 있어 애플리케이션의 개발 및 유지보수가 용이해진다. 도시된 예에서 ControllerServlet 원형을 상속하여 ControllerServlet 클래스를 생성할 수 있다. ControllerServlet 클래스는 Login 이나 do와 같은 액션키나 컨트롤러 서블릿 키를 통해 애플리케이션이 요청되면, 전처리 과정을 거쳐 요청된 정보를 파라메터로 하여 Action 클래스에게 요청한다. Action 클래스는 요청 파라메터를 받아 프로세스를 실행하고 실행 결과를 ActionResponse를 통해 ControllerServlet에 전달한다. ResponseHandler는 JSP 포워드, 리디렉트(redirect) 또는 템플릿 엔진 등의 프리젠테이션 로직을 실행시킨다. 이와 같이 컨트롤러(12)는 사용자의 요청을 받아 이벤트를 관리하고 요청된 프로세스를 실행하여 그 결과를 사용자에게 응답하는 과정을 제어한다.Referring to FIG. 10, a prototype class may be provided so that classes can be easily developed by reflecting only an additional function or a changed function in the classes that inherit the class. This allows source code to be standardized, facilitating development and maintenance of applications. In the example shown, you can inherit the ControllerServlet prototype to create a ControllerServlet class. When an application is requested through an action key such as Login or do or a controller servlet key, the ControllerServlet class performs preprocessing and requests the Action class with the requested information as a parameter. The Action class receives the request parameters, executes the process, and passes the execution result to the ControllerServlet through ActionResponse. ResponseHandler executes presentation logic such as JSP forward, redirect, or template engine. As such, the controller 12 controls the process of managing the event in response to the user's request, executing the requested process, and responding to the result.

도 11은 본 발명에 따른 웹 애플리케이션 프레임워크에 포함되는 모델의 동작을 설명하기 위한 도면이다.11 is a view for explaining the operation of the model included in the web application framework according to the present invention.

도 11을 참조하면, 비즈니스 로직의 처리를 담당하는 모델(14)은 원형 Proc 클래스를 상속하여 Proc 클래스를 생성한다. Proc 클래스는 저장매체와의 연결이나 데이터베이스와의 연결을 위해 AegisContext 로부터 매체 연결 처리를 담당하는 각 Factory 객체를 로딩하여 연결정보를 반환한다. 팩토리 모델을 사용하여 매체이 변화가 생겼을 때, 최소한의 변경, 즉 팩토리의 변경만으로 매체 변경을 처리할 수 있다. 이에 따라, DAO, TAO와 같은 어댑터 또는 웹서비스의 SOAP 데이터를 이용한 인터페이스를 용이하게 생성할 수 있다. Referring to FIG. 11, the model 14 in charge of processing business logic inherits the prototype Proc class to generate the Proc class. Proc class loads each Factory object which handles media connection from AegisContext and returns connection information for connection with storage media or database. The factory model allows you to handle media changes with minimal changes, ie factory changes, when the media changes. Accordingly, an interface using SOAP data of an adapter or a web service such as DAO or TAO can be easily generated.

도 12는 본 발명에 따른 웹 애플리케이션 프레임워크에 포함되는 뷰의 동작을 설명하기 위한 도면이다.12 is a view for explaining the operation of the view included in the web application framework according to the present invention.

도 12를 참조하면, 프리젠테이션 로직을 담당하는 뷰(16)는 JSP에서는 커스텀 태그를 사용하여 프리젠테이션 로직을 처리한다. 또한, Coven과 같이 애플리케이션 프레임워크 엔진(10)에 내장된 템플릿 엔진을 이용하여 프리젠테이션 로직을 처리할 수도 있다. 나아가, 내장된 핸들러 외에 애플리케이션 별로 핸들러를 등록하여 프리젠테이션 로직을 처리하도록 구현할 수도 있다.Referring to FIG. 12, the view 16 in charge of the presentation logic processes the presentation logic using a custom tag in the JSP. In addition, the presentation logic may be processed using a template engine embedded in the application framework engine 10 such as Coven. Furthermore, in addition to the built-in handlers, the handlers may be registered for each application to implement the presentation logic.

이상에서 상술한 본 발명에 따른 애플리케이션 프레임워크(10)와 이를 탑재한 웹 서버(1)는 다음과 같은 특징을 갖는다.The application framework 10 and the web server 1 having the same according to the present invention described above have the following features.

1) 프리젠테이션 로직과 비즈니스 로직을 명확하게 분리하여 구조화한다.1) Clearly structure presentation logic and business logic.

2) 플랫폼이나 저장매체에 독립적인 애플리케이션 통합환경을 제공한다.2) Provide an application integration environment independent of platform or storage media.

3) 어댑터 또는 인터페이스를 클래스로 구현함으로써, 시스템을 확장하는 경우에도 개방된 시스템 구조를 제공한다.3) By implementing adapters or interfaces as classes, they provide an open system structure even when extending the system.

4) 개발 도구 중에 마법사 기능을 제공하여 클래스를 자동 생성해 주어 애플리케이션 프레임워크의 구조를 정확히 모르는 개발자라도 용이하게 개발에 참여할 수 있다.4) By providing the wizard function among the development tools to automatically generate classes, even developers who do not know the structure of the application framework can easily participate in development.

5) 다양한 관리도구를 제공하여 애플리케이션 프레임워크의 설정을 사용자 인터페이스를 통해 용이하게 설정할 수 있으며, 클래스의 사용량이나 로그 상태 등 각종 퍼포먼스 모니터링 기능이 제공된다.5) By providing various management tools, the application framework can be easily set through the user interface. Various performance monitoring functions such as class usage and log status are provided.

6) 개발 완료 후 사용할 수 있는 Stress Test 기능이 제공된다.6) The stress test function that can be used after the completion of development is provided.

이상의 설명은 본 발명의 일 실시예에 불과할 뿐, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명의 본질적 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현할 수 있을 것이다. 따라서, 본 발명의 범위는 전술한 실시예에 한정되지 않고 특허 청구범위에 기재된 내용과 동등한 범위 내에 있는 다양한 실시 형태가 포함되도록 해석되어야 할 것이다. The above description is only one embodiment of the present invention, and those skilled in the art may implement the present invention in a modified form without departing from the essential characteristics of the present invention. Therefore, the scope of the present invention should not be limited to the above-described examples, but should be construed to include various embodiments within the scope equivalent to those described in the claims.

전술한 바와 같이 본 발명에 따르면, MVC 아키텍쳐를 이용하여 개발생산성의 향상 및 유지보수와 확장성이 용이한 웹 애플리케이션 구축용 프레임워크 및 이를 탑재한 웹 서버가 제공된다. As described above, according to the present invention, there is provided a web application building framework and a web server having the same, which are easy to improve, maintain, and expand development productivity and development using the MVC architecture.

즉, 애플리케이션 프레임워크가 제공하는 정형화된 구조의 컴포넌트를 활용 하여 컴포넌트의 재사용성을 증가시킬 수 있다. 또한, 애플리케이션 프레임워크가 하부구조를 제공함으로써 개발자는 비즈니스 로직에만 집중할 수 있고, 개발 소스 코드의 구조가 단순해진다. 나아가, MVC 아키텍처에 따라 기능별로 명확히 구분된 하부구조를 이용하면 소스 코드의 확장 및 유지 보수가 용이해 진다.That is, the reusability of components can be increased by utilizing the components of the formal structure provided by the application framework. In addition, the application framework provides the infrastructure so that developers can focus on business logic and simplify the structure of development source code. Furthermore, using a clearly differentiated infrastructure by function according to the MVC architecture facilitates extension and maintenance of the source code.

Claims (11)

웹 애플리케이션을 위한 프레임워크에 있어서,In the framework for web applications, 클라이언트로부터 애플리케이션 요청을 받아 프리젠테이션을 위한 요청과 비즈니스 로직 실행을 위한 요청으로 구분하여 전달하는 제1 모듈;A first module receiving an application request from a client and classifying the application request into a request for presentation and a request for executing business logic; 상기 제1 모듈로부터 전달받은 비즈니스 로직 실행을 위한 요청에 따라 해당 비즈니스 로직을 수행하는 제2 모듈; 및A second module configured to execute corresponding business logic in response to a request for executing business logic received from the first module; And 상기 제1 모듈로부터 전달받은 프리젠테이션을 위한 요청에 따라 상기 클라이언트에게 제공될 해당 웹 페이지의 화면을 구성하는 제3 모듈을 포함하는 것을 특징으로 하는 애플리케이션 프레임워크.And a third module constituting a screen of a corresponding web page to be provided to the client according to a request for presentation received from the first module. 제1항에 있어서, 상기 제1 모듈은,The method of claim 1, wherein the first module, 상기 클라이언트로부터 애플리케이션 요청을 수신하고, 상기 클라이언트로 처리된 애플리케이션 응답을 전달하는 서블릿(Servlet); 및A servlet for receiving an application request from the client and delivering a processed application response to the client; And 상기 비즈니스 로직 실행을 위한 요청을 해당 이벤트가 발생한 경우 상기 제2 모듈로 전달하는 이벤트 처리기(Action)를 포함하는 것을 특징으로 하는 애플리케이션 프레임워크.And an event handler for delivering the request for executing the business logic to the second module when the corresponding event occurs. 제2항에 있어서, 상기 제2 모듈은,The method of claim 2, wherein the second module, 각종 저장매체에 대한 어댑터나 웹 서비스 제공자에 대한 인터페이스를 통해 요청한 데이터를 얻어내고, 이를 상기 제1 모듈로 전달하는 비즈니스 로직 처리기(Process)를 포함하는 것을 특징으로 하는 애플리케이션 프레임워크.And a business logic processor (Process) that obtains the requested data through an interface to an adapter or a web service provider for various storage media and delivers the requested data to the first module. 제3항에 있어서, 상기 제3 모듈은, The method of claim 3, wherein the third module, 상기 비즈니스 로직 처리기를 통해 얻어낸 데이터를 포함하도록 웹 페이지 화면을 구성하는 자바 서버 페이지(JSP)를 포함하는 것을 특징으로 하는 애플리케이션 프레임워크.And a Java server page (JSP) for constructing a web page screen to include data obtained through the business logic processor. 제4항에 있어서, 상기 애플리케이션 프레임워크는,The method of claim 4, wherein the application framework, 이벤트 처리를 담당하는 Action 클래스 원형을 상속한 적어도 하나의 Action 클래스, 및/또는 비즈니스 로직을 담당하는 Process 클래스 원형을 상속한 적어도 하나의 Process 클래스들을 리소스 풀(Resource Pool)에 등록하고 관리하는 것을 특징으로 하는 애플리케이션 프레임워크.Register and manage at least one Action class that inherits the Action class prototype in charge of event handling, and / or at least one Process class that inherits the Process class prototype in charge of business logic in the Resource Pool. Application framework. 웹 애플리케이션을 실행하는 웹 서버에 있어서, In a web server running a web application, 프리젠테이션 로직과 비즈니스 로직을 구분하고, 이를 중앙처리하는 애플리케이션 프레임워크를 탑재하며,It distinguishes between presentation logic and business logic, and has an application framework that centralizes it. 상기 애플리케이션 프레임워크는, The application framework, 클라이언트로부터 애플리케이션 요청을 받아 프리젠테이션을 위한 요청과 비즈니스 로직 실행을 위한 요청으로 구분하여 각각 전달하는 제1 모듈;A first module which receives an application request from a client and divides the request into a request for presentation and a request for executing business logic; 상기 제1 모듈로부터 전달받은 비즈니스 로직 실행을 위한 요청에 따라 해당 비즈니스 로직을 수행하는 제2 모듈; 및A second module configured to execute corresponding business logic in response to a request for executing business logic received from the first module; And 상기 제1 모듈로부터 전달받은 프리젠테이션을 위한 요청에 따라 상기 클라이언트에게 제공될 해당 웹 페이지의 화면을 구성하는 제3 모듈을 포함하는 것을 특징으로 하는 웹 서버.And a third module constituting a screen of a corresponding web page to be provided to the client according to a request for presentation received from the first module. 제6항에 있어서,The method of claim 6, 개발자로부터 소정의 입력을 받아 상기 애플리케이션 프레임워크에 기초하여 각 클래스들을 자동으로 생성하는 개발 도구를 더 포함하는 것을 특징으로 하는 웹 서버.And a development tool that receives predetermined input from a developer and automatically generates each class based on the application framework. 제6항에 있어서,The method of claim 6, 상기 애플리케이션 프레임워크에 대한 설정기능, 모니터링 기능, 또는 리포트 기능을 제공하는 관리 도구를 더 포함하는 것을 특징으로 하는 웹 서버.And a management tool for providing a setting function, a monitoring function, or a report function for the application framework. 제6항에 있어서, 상기 제1 모듈은,The method of claim 6, wherein the first module, 상기 클라이언트로부터 애플리케이션 요청을 수신하고, 상기 클라이언트로 처리된 애플리케이션 응답을 전달하는 서블릿(Servlet); 및A servlet for receiving an application request from the client and delivering a processed application response to the client; And 상기 비즈니스 로직 실행을 위한 요청을 해당 이벤트가 발생한 경우 상기 제2 모듈로 전달하는 이벤트 처리기(Action)를 포함하는 것을 특징으로 하는 웹 서 버.And an event handler which delivers a request for executing the business logic to the second module when a corresponding event occurs. 제9항에 있어서, 상기 제2 모듈은,The method of claim 9, wherein the second module, 각종 저장매체에 대한 어댑터나 웹 서비스 제공자에 대한 인터페이스를 통해 요청한 데이터를 얻어내고, 이를 상기 제1 모듈로 전달하는 비즈니스 로직 처리기(Process)를 포함하는 것을 특징으로 하는 웹 서버.And a business logic processor (Process) that obtains the requested data through an adapter to various storage media or an interface to a web service provider and delivers the requested data to the first module. 제10항에 있어서, 상기 제3 모듈은, The method of claim 10, wherein the third module, 상기 비즈니스 로직 처리기를 통해 얻어낸 데이터를 포함하도록 웹 페이지 화면을 구성하는 자바 서버 페이지(JSP)를 포함하는 것을 특징으로 하는 웹 서버.And a Java server page (JSP) for constructing a web page screen to include data obtained through the business logic processor.
KR1020050036671A 2005-05-02 2005-05-02 Framework for building web applications and their web servers Ceased KR20060114517A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050036671A KR20060114517A (en) 2005-05-02 2005-05-02 Framework for building web applications and their web servers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050036671A KR20060114517A (en) 2005-05-02 2005-05-02 Framework for building web applications and their web servers

Publications (1)

Publication Number Publication Date
KR20060114517A true KR20060114517A (en) 2006-11-07

Family

ID=37652200

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050036671A Ceased KR20060114517A (en) 2005-05-02 2005-05-02 Framework for building web applications and their web servers

Country Status (1)

Country Link
KR (1) KR20060114517A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010123127A (en) * 2008-11-20 2010-06-03 Nhn Corp Component based java web application development framework used in order to make web page
KR101414797B1 (en) * 2013-12-13 2014-07-03 (주)인스웨이브시스템즈 Instant Web App composition system applied web app composition meta model
KR101552914B1 (en) * 2007-01-30 2015-10-01 에스케이커뮤니케이션즈 주식회사 Web server application framework web application processing method using the framework and computer readable medium processing the method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101552914B1 (en) * 2007-01-30 2015-10-01 에스케이커뮤니케이션즈 주식회사 Web server application framework web application processing method using the framework and computer readable medium processing the method
JP2010123127A (en) * 2008-11-20 2010-06-03 Nhn Corp Component based java web application development framework used in order to make web page
US8839194B2 (en) 2008-11-20 2014-09-16 Nhn Corporation Component-based web application development framework used for creating web page
KR101414797B1 (en) * 2013-12-13 2014-07-03 (주)인스웨이브시스템즈 Instant Web App composition system applied web app composition meta model

Similar Documents

Publication Publication Date Title
US6971001B1 (en) General and reusable components for defining net-centric application program architectures
US8291047B2 (en) Screen scraping interface
US7451403B1 (en) System and method for developing user interfaces purely by modeling as meta data in software application
CN103380423B (en) Systems and methods for private cloud computing
US7712085B2 (en) Use of attribution to describe management information
RU2419854C2 (en) Template based service management
US20060075408A1 (en) Distributed object execution system
CN102567092B (en) The establishment of assembly action scope and termination
US7424722B2 (en) Method and system for creating a dynamic OGSI service proxy framework using runtime introspection of an OGSI service
WO2002021269A1 (en) Software application development
Russell et al. The vine toolkit: A java framework for developing grid applications
JP2006351019A (en) Automatic service providing method and device based on contract
KR20060114517A (en) Framework for building web applications and their web servers
US12373196B2 (en) Smart grouping of code packages
Michael et al. GridSphere’s grid portlets
Chen et al. Grid services orchestration with OMII-BPEL
Brandle et al. Cloud computing patterns of expertise
Malinova et al. Using the Business Process Execution Language for managing scientific processes
CA2551059C (en) Pipeline architecture for use with net-centric application program architectures
McKeown Microsoft Azure Essentials Azure Automation
Mahdhi Blazor Server: A Modern Approach to Web Apps
Tieu Leveraging serverless computing with Azure functions for high-performance backend services in Precast Wall Designer
AU2006200733B2 (en) Application framework for the use with net-centric application program architectures
Selmeci et al. ERP change management for innovation and sustainability applied to User Interfaces
Karus XML development with plug‐ins as a service

Legal Events

Date Code Title Description
A201 Request for examination
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20050502

PA0201 Request for examination
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20061107

Patent event code: PE09021S01D

PG1501 Laying open of application
E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20070601

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20061107

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I