KR20190036828A - Method and system for managing version of web-application and distributing web-application - Google Patents

Method and system for managing version of web-application and distributing web-application Download PDF

Info

Publication number
KR20190036828A
KR20190036828A KR1020170126209A KR20170126209A KR20190036828A KR 20190036828 A KR20190036828 A KR 20190036828A KR 1020170126209 A KR1020170126209 A KR 1020170126209A KR 20170126209 A KR20170126209 A KR 20170126209A KR 20190036828 A KR20190036828 A KR 20190036828A
Authority
KR
South Korea
Prior art keywords
version
application
web application
server
user terminal
Prior art date
Application number
KR1020170126209A
Other languages
Korean (ko)
Other versions
KR102026377B1 (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 KR1020170126209A priority Critical patent/KR102026377B1/en
Publication of KR20190036828A publication Critical patent/KR20190036828A/en
Application granted granted Critical
Publication of KR102026377B1 publication Critical patent/KR102026377B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Abstract

Disclosed are a method and system for managing a version of a web-application and distributing a web-application. According to one embodiment of the present invention, the method comprises the steps of: checking a version executable in a user terminal of a web-application as an access request to a page associated with execution of a specific web-application is occurred from a user terminal; identifying a first application server corresponding to the checked version of a plurality of web application servers (WAS) provided for each version of the web-application; and causing the first application server to execute the web-application with the version in the user terminal by the first application server by connecting the user terminal to the first application server.

Description

웹 어플리케이션의 버전 관리 및 배포 방법, 및 웹 어플리케이션의 버전 관리 및 배포 시스템{METHOD AND SYSTEM FOR MANAGING VERSION OF WEB-APPLICATION AND DISTRIBUTING WEB-APPLICATION}METHOD AND SYSTEM FOR MANAGING VERSION OF WEB APPLICATION AND DISTRIBUTING WEB-APPLICATION [0002]

본 발명은 웹 어플리케이션의 버전 관리를 통한 효과적인 웹 서비스 배포 기술에 관한 것으로, 보다 상세하게는, 동일한 웹주소로 접속한 사용자 단말 별로 웹 어플리케이션의 버전을 다르게 제공하여 오류나 사용성 관련 문제가 타 버전에 영향을 미치지 않도록 하는 웹 어플리케이션의 버전 관리 및 배포 방법, 및 웹 어플리케이션의 버전 관리 및 배포 시스템에 관한 것이다.The present invention relates to an effective web service distribution technology through version management of a web application. More specifically, the present invention provides a web application distribution version differently for each user terminal connected to the same web address, And a version management and distribution system for a web application.

웹 환경에서 신규 기능이 추가된 버전의 웹 어플리케이션을 배포하는 경우 해당 버전의 웹 어플리케이션에서 오류가 발생 시 웹 어플리케이션에 접속한 전체 사용자에게 영향을 줄 수 있어, 웹 어플리케이션의 배포가 용이하지 않다는 문제점을 가지고 있다. 따라서, 일부 사용자에게 제한된 웹 어플리케이션을 미리 배포하여 검증할 필요성이 있다.If a version of a web application with a new function is deployed in the web environment, it is not easy to distribute the web application because it can affect all the users who access the web application when an error occurs in the corresponding version of the web application Have. Therefore, there is a need to distribute and verify limited web applications to some users in advance.

또한, 사용성 평가를 위해 일부 사용자에 한해 특정 기능이 추가된 버전의 웹 어플리케이션을 배포하여 사용자의 반응을 미리 파악해 볼 수 있는 방법이 종래에는 없었다.Also, in order to evaluate the usability, there has been no conventional method of distributing a web application having a specific function added to only a part of users to grasp the reaction of the user in advance.

이에 따라, 웹 환경에서 버전 관리를 통해 특정 사용자에게 제한적으로 웹 어플리케이션을 서비스 하여 문제 발생을 지역화 하고 효과적인 웹 서비스를 배포하기 위한 기술이 요구되고 있다.Accordingly, there is a demand for a technique for localizing problem occurrence and distributing an effective web service by providing a limited number of web applications to specific users through version management in the web environment.

본 발명의 실시예는 동일한 웹주소로 접속한 사용자 단말 별로 웹 어플리케이션의 버전을 다르게 제공하여 오류나 사용성 관련 문제를 지역화 하는 것을 목적으로 한다.It is an object of the present invention to provide a different version of a web application for each user terminal connected to the same web address to localize an error or usability-related problem.

또한, 본 발명의 실시예는 웹 환경에서 버전 관리를 통해 특정 일부의 사용자에게 제한된 버전의 웹 어플리케이션을 미리 배포해 검증할 수 있도록 하는 것을 목적으로 한다.It is another object of the present invention to provide a method of distributing and verifying a limited version of a web application to a specific part of users through version management in a web environment.

또한, 본 발명의 실시예는 동일한 URL로 웹페이지에 접속한 사용자 단말을 그룹화 하여, 서비스 제공자가 원하는 다양한 버전의 웹 서비스를 그룹 별로 제공하는 것을 목적으로 한다.It is also an object of the present invention to group user terminals connected to a web page with the same URL and provide various versions of web services desired by a service provider group by group.

또한, 본 발명의 실시예는 웹 어플리케이션의 버전 별로 복수의 어플리케이션 서버(WAS, Web Application Server)를 마련하고, 동일 웹페이지에 접속을 요청한 사용자 단말 각각으로, 해당 사용자 단말에 적합한 버전의 웹 어플리케이션이 설치된 어플리케이션 서버로 사용자 단말을 스위칭 하거나, 관리자 단말에 의해 지정된 일부 사용자에 한해 특정 버전(예컨대, 업그레이드 버전)의 웹 어플리케이션을 제한적으로 배포하는 것을 목적으로 한다.In addition, in the embodiment of the present invention, a plurality of application servers (WAS, Web Application Server) are provided for each version of a web application, and each version of a web application suitable for the user terminal It is intended to switch a user terminal to an installed application server or restrictively distribute a specific version (for example, upgrade version) of a web application to only a part of users specified by an administrator terminal.

본 발명의 일실시예에 따른 웹 어플리케이션의 버전 관리 및 배포 방법은, 사용자 단말로부터, 특정 웹 어플리케이션의 실행과 연관되는 페이지로의 접속 요청이 발생 됨에 따라, 상기 웹 어플리케이션의, 상기 사용자 단말에서 실행 가능한 버전을, 확인하는 단계와, 상기 웹 어플리케이션의 버전 별로 마련된 복수의 어플리케이션 서버(WAS) 중, 상기 확인한 버전에 상응하는 제1 어플리케이션 서버를 식별하는 단계, 및 상기 사용자 단말을 상기 제1 어플리케이션 서버와 접속시켜, 상기 제1 어플리케이션 서버에 의해 상기 버전의 웹 어플리케이션이 상기 사용자 단말에서 실행되도록 하는 단계를 포함한다.A method for managing and managing a version of a web application according to an exemplary embodiment of the present invention is a method for managing and managing a version of a web application that is executed by a user terminal of the web application, Identifying a first application server corresponding to the verified version among a plurality of application servers (WAS) provided for each version of the web application; And causing the first application server to execute the version of the web application at the user terminal.

또한, 본 발명의 일실시예에 따른 웹 어플리케이션의 버전 관리 및 배포 시스템은, 사용자 단말로부터, 특정 웹 어플리케이션의 실행과 연관되는 페이지로의 접속 요청이 발생 됨에 따라, 상기 웹 어플리케이션의, 상기 사용자 단말에서 실행 가능한 버전을, 확인하는 버전 확인부와, 상기 웹 어플리케이션의 버전 별로 마련된 복수의 어플리케이션 서버(WAS) 중, 상기 확인한 버전에 상응하는 제1 어플리케이션 서버를 식별하는 서버 식별부, 및 상기 사용자 단말을 상기 제1 어플리케이션 서버와 접속시켜, 상기 제1 어플리케이션 서버에 의해 상기 버전의 웹 어플리케이션이 상기 사용자 단말에서 실행되도록 하는 처리부를 포함한다.In addition, the version management and distribution system of the web application according to an embodiment of the present invention may be configured such that, when a connection request to a page related to the execution of a specific web application is generated from a user terminal, A server identification unit for identifying a first application server corresponding to the verified version among a plurality of application servers (WAS) provided for each version of the web application, To the first application server and causing the first application server to execute the version of the web application on the user terminal.

본 발명의 일실시예에 따르면, 동일한 웹주소로 접속한 사용자 단말 별로 웹 어플리케이션의 버전을 다르게 제공 함으로써, 오류나 사용성 관련 문제를 지역화 할 수 있다.According to an embodiment of the present invention, the version of the web application is differently provided for each user terminal connected to the same web address, so that the error and usability-related problems can be localized.

또한, 본 발명의 일실시예에 따르면, 동일한 웹주소로 접속한 특정 사용자 군에 특정 버전의 웹 어플리케이션을 서비스하여, 특정 버전에서 야기되는 문제를 타 버전에 영향을 주지 않도록 할 수 있다.According to an embodiment of the present invention, a specific version of the web application may be provided to a specific user group connected to the same web address, so that a problem caused by the specific version may not be affected by other versions.

또한, 본 발명의 일실시예에 따르면, 동일한 URL로 웹페이지에 접속한 사용자 단말을 그룹화 하여, 서비스 제공자가 원하는 다양한 버전의 웹 서비스를 그룹 별로 제공할 수 있다.Also, according to an embodiment of the present invention, user terminals connected to a web page by the same URL can be grouped, and the service providers can provide various versions of the web services desired by the service provider.

또한, 본 발명의 일실시예에 따르면, 웹 환경에서 버전 관리를 통해 특정 일부의 사용자에게 제한된 버전의 웹 어플리케이션을 미리 배포해 검증할 수 있다.In addition, according to an embodiment of the present invention, a limited version of a web application can be pre-distributed and verified to a specific part of users through version management in a web environment.

또한, 본 발명의 일실시예에 따르면, 웹 어플리케이션의 버전 별로 복수의 어플리케이션 서버(WAS, Web Application Server)를 마련하고, 동일 웹페이지에 접속을 요청한 사용자 단말 각각으로, 해당 사용자 단말에 적합한 버전의 웹 어플리케이션이 설치된 어플리케이션 서버로 사용자 단말을 스위칭 하거나, 관리자 단말에 의해 지정된 일부 사용자에 한해 특정 버전(예컨대, 업그레이드 버전)의 웹 어플리케이션을 제한적으로 배포할 수 있다.According to an embodiment of the present invention, a plurality of application servers (WAS, Web Application Server) are provided for each version of a web application, and each of the user terminals requesting access to the same web page has a version It is possible to switch the user terminal to the application server in which the web application is installed or restrictively distribute a specific version (e.g., upgrade version) of the web application to only a limited number of users designated by the administrator terminal.

또한, 본 발명의 일실시예에 따르면, 단일 웹페이지와 연관하여, 서로 상이한 버전의 웹 어플리케이션이 설치된 어플리케이션 서버(WAS)를 구비하고, 버전 관리를 통해 특정 일부 사용자에게 제한된 버전의 웹 어플리케이션을 배포할 수 있다.According to an embodiment of the present invention, there is provided an application server (WAS) having a different version of a web application in association with a single web page, and distributes a limited version of the web application to a specific user through version management can do.

또한, 본 발명의 일실시예에 따르면, 낮은 버전의 웹 어플리케이션을 가지고 있는 사용자 단말에서, 버전 업 된 웹 어플리케이션으로의 업데이트를 유도 또는 강제할 수 있다.According to an embodiment of the present invention, in a user terminal having a lower version of the web application, the update to the upgraded web application can be induced or enforced.

도 1은 본 발명의 일실시예에 따른 웹 어플리케이션의 버전 관리 및 배포 시스템의 구성을 도시한 블록도이다.
도 2는 본 발명의 일실시예에 따른 웹 어플리케이션의 버전 관리 및 배포 시스템에서, 복수 버전의 웹 어플리케이션 서버(WAS)와, WAS 관리 서버, 및 배포 서버 간의 전체적인 연결 관계를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따른 웹 어플리케이션의 버전 관리 및 배포 시스템에서, 사용자 테이블의 일례를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 웹 어플리케이션의 버전 관리 및 배포 시스템에서, WAS 테이블의 일례를 도시한 도면이다.
도 5는 본 발명의 일실시예에 따른 웹 어플리케이션의 버전 관리 및 배포 시스템에서, 메시지 큐 테이블의 일례를 도시한 도면이다.
도 6은 본 발명의 일실시예에 따른 웹 어플리케이션의 버전 관리 및 배포 방법의 순서를 도시한 흐름도이다.
도 7은 본 발명의 다른 실시예에 따른 웹 어플리케이션의 버전 관리 및 배포 방법의 순서를 도시한 흐름도이다.
1 is a block diagram showing a configuration of a version management and distribution system of a web application according to an embodiment of the present invention.
2 is a diagram showing the overall connection relationship between a plurality of versions of a web application server (WAS), a WAS management server, and a distribution server in a version management and distribution system of a web application according to an embodiment of the present invention.
3 is a diagram showing an example of a user table in a version management and distribution system of a web application according to an embodiment of the present invention.
4 is a diagram showing an example of a WAS table in a version management and distribution system of a web application according to an embodiment of the present invention.
5 is a diagram illustrating an example of a message queue table in a version management and distribution system of a web application according to an embodiment of the present invention.
6 is a flowchart illustrating a procedure of a version management and distribution method of a web application according to an embodiment of the present invention.
7 is a flowchart illustrating a procedure of a version management and distribution method of a web application according to another embodiment of the present invention.

이하, 첨부된 도면들을 참조하여 본 발명의 일실시예에 따른 응용프로그램 업데이트 장치 및 방법에 대해 상세히 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, an apparatus and method for updating an application program according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to or limited by the embodiments. Like reference symbols in the drawings denote like elements.

도 1은 본 발명의 일실시예에 따른 웹 어플리케이션의 버전 관리 및 배포 시스템의 구성을 도시한 블록도이다.1 is a block diagram showing a configuration of a version management and distribution system of a web application according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 웹 어플리케이션의 버전 관리 및 배포 시스템(100)은, 버전 확인부(110), 서버 식별부(120) 및 처리부(130)를 포함하여 구성될 수 있다. 또한, 웹 어플리케이션의 버전 관리 및 배포 시스템(100)은, 인증 처리부(140), 테이블 작성부(150) 및 배포부(160)를 각각 추가하여 구성할 수 있다.1, a web application version management and distribution system 100 according to an exemplary embodiment of the present invention includes a version checking unit 110, a server identifying unit 120, and a processing unit 130 . The web application version management and distribution system 100 may be configured by adding an authentication processing unit 140, a table creating unit 150, and a distributing unit 160, respectively.

버전 확인부(110)는 사용자 단말로부터, 특정 웹 어플리케이션의 실행과 연관되는 페이지로의 접속 요청이 발생 됨에 따라, 상기 웹 어플리케이션의, 상기 사용자 단말에서 실행 가능한 버전을, 확인한다.The version checking unit 110 checks the version of the web application executable by the user terminal as the connection request to the page associated with the execution of the specific web application is generated from the user terminal.

일례로, 도 2에 도시된 것처럼, 버전 확인부(110)는 사용자 단말(201)로부터, HTTPS 프로토콜을 이용하여 페이지 접속 요청을 수신할 수 있다.For example, as shown in FIG. 2, the version checking unit 110 may receive a page connection request from the user terminal 201 using the HTTPS protocol.

실시예에 따라, 웹 어플리케이션의 버전 관리 및 배포 시스템(100)은, 인증 처리부(140)를 더 포함하여 구성될 수 있다.According to the embodiment, the version management and distribution system 100 of the web application may further include an authentication processing unit 140. [

인증 처리부(140)는 상기 접속 요청에 포함되는 상기 사용자 단말에 관한 식별정보('U00001')가, 사용자 테이블에 등록되었는지 판단하고, 상기 식별정보가 등록된 경우, 상기 사용자 단말에 대해 인증 처리한다.The authentication processing unit 140 determines whether the identification information ('U00001') related to the user terminal included in the connection request is registered in the user table, and authenticates the user terminal when the identification information is registered .

버전 확인부(110)는 상기 인증이 처리 됨에 따라, 상기 사용자 테이블로부터, 상기 식별정보에 대응하여 유지된 WAS 버전 및 사용자 DB를 리드하여 확인할 수 있다.The version checking unit 110 can read and confirm the WAS version and the user DB held in correspondence with the identification information from the user table as the authentication is processed.

이하, 도 3을 참조하여, 인증 처리부(140) 및 버전 확인부(110)를 설명한다.Hereinafter, the authentication processing unit 140 and the version checking unit 110 will be described with reference to FIG.

도 3은 본 발명의 일실시예에 따른 웹 어플리케이션의 버전 관리 및 배포 시스템에서, 사용자 테이블의 일례를 도시한 도면이다.3 is a diagram showing an example of a user table in a version management and distribution system of a web application according to an embodiment of the present invention.

도 3을 참조하면, 인증 처리부(140)는 사용자 테이블에서 사용자 단말(201)의 식별정보('U00001')를 확인하여 인증 처리 후, 사용자 단말(201)의 WAS 버전('1.0.0')과 사용자 DB('U00001.DB')에 관한 WAS 정보('U00001: 1.0.0, U00001.DB')를 리드할 수 있다.Referring to FIG. 3, the authentication processing unit 140 checks the identification information ('U00001') of the user terminal 201 in the user table and determines the WAS version ('1.0.0') of the user terminal 201, And the WAS information ('U00001: 1.0.0, U00001.DB') regarding the user DB ('U00001.DB').

이때, 상기 식별정보가 사용자 테이블에 미등록된 경우, 상기 사용자 단말로부터 정보 등록이 요청되면, 처리부(130)는, 인증 처리부(140)를 통해 상기 사용자 단말에 대해 추가 인증 절차를 처리하고, 사용자 단말에 설치된 운영체제와 인터넷 브라우저의 종류와 버전 및 잔여 용량 중 적어도 하나의 단말정보를 근거로, 사용자 단말에 설치 가능한 웹 어플리케이션의 WAS 버전을 결정하고, 테이블 작성부(150)를 통해 상기 WAS 버전을, 상기 식별정보에 대응시켜 상기 사용자 테이블에 추가할 수 있다.If the identification information is not registered in the user table, the processing unit 130 processes the additional authentication process to the user terminal through the authentication processing unit 140, Determines the WAS version of the web application that can be installed in the user terminal based on at least one terminal information of the operating system installed in the Internet browser, the type and version of the Internet browser, and the remaining capacity, and transmits the WAS version through the table creating unit 150, And may be added to the user table in association with the identification information.

서버 식별부(120)는 상기 웹 어플리케이션의 버전 별로 마련된 복수의 어플리케이션 서버(WAS) 중, 상기 확인한 버전에 상응하는 제1 어플리케이션 서버를 식별한다.The server identification unit 120 identifies a first application server corresponding to the verified version among a plurality of application servers (WAS) provided for each version of the web application.

실시예에 따라, 웹 어플리케이션의 버전 관리 및 배포 시스템(100)은, 배포부(160) 및 테이블 작성부(150)를 더 포함하여 구성될 수 있다.According to an embodiment, the version management and distribution system 100 of the web application may further include a distribution unit 160 and a table creation unit 150.

배포부(160)는 상기 특정 웹 어플리케이션에 대해, 복수 버전의 웹 어플리케이션을 설치한 어플리케이션 서버를 각각 마련한다.The distribution unit 160 provides an application server having a plurality of versions of the web application for the specific web application.

테이블 작성부(150)는 상기 복수의 어플리케이션 서버 각각으로, 상기 각 어플리케이션 서버의 주소와, 상기 각 어플리케이션 서버에 설치된 웹 어플리케이션의 버전에 관한 WAS 버전, 상기 각 어플리케이션 서버의 이용 가능 상태 및 PID 중 적어도 하나의 WAS 정보를 포함하는 WAS 테이블을 작성한다.The table creating unit 150 creates at least one of a plurality of application servers, a WAS version related to an address of each of the application servers, a version of a web application installed in each of the application servers, And creates a WAS table including one WAS information.

서버 식별부(120)는 상기 WAS 테이블을 로딩하고, 상기 WAS 테이블로부터, 상기 확인한 버전과 일치하는 WAS 버전에 대응하는 제1 어플리케이션 서버의 주소를 리드할 수 있다.The server identification unit 120 may load the WAS table and read from the WAS table the address of the first application server corresponding to the version of the WAS matching the verified version.

이하, 도 3을 참조하여, 서버 식별부(120)를 설명한다.Hereinafter, the server identification unit 120 will be described with reference to FIG.

도 3은 본 발명의 일실시예에 따른 웹 어플리케이션의 버전 관리 및 배포 시스템에서, 사용자 테이블의 일례를 도시한 도면이다.3 is a diagram showing an example of a user table in a version management and distribution system of a web application according to an embodiment of the present invention.

도 3을 참조하면, 서버 식별부(120)는 WAS 테이블에서 사용자 단말의 WAS 버전('1.0.0')과 일치하면서, 이용 가능 상태가 활성('ACTIVE')인 어플리케이션 서버의 주소(URL)를 리드할 수 있다.3, the server identification unit 120 identifies the address (URL) of the application server whose availability status is 'ACTIVE', consistent with the WAS version ('1.0.0') of the user terminal in the WAS table, Can be read.

즉, 서버 식별부(120)는 도 4에 도시된 WAS 테이블 내에서 WAS 버전('1.0.0') 및 활성('ACTIVE')에 대응되는 두 개의 IP:PORT(192.168.244.10:9090, 192.168.244.10:9091)를 리드하여, 후술하는 처리부(130)에서, 사용자 단말로부터 페이지 접속 요청이 발생 시마다 순차적으로 번갈아 가면서 프록시(Proxy)하도록 할 수 있다.That is, the server identification unit 120 identifies two IP: PORTs (192.168.244.10: 9090, 192.168) corresponding to the WAS version ('1.0.0') and active ('ACTIVE') in the WAS table shown in FIG. . 244.10: 9091), and the processing unit 130, which will be described later, can proxitively sequentially alternate the page access requests from the user terminal.

처리부(130)는 상기 사용자 단말을 상기 제1 어플리케이션 서버와 접속시켜, 상기 제1 어플리케이션 서버에 의해 상기 버전의 웹 어플리케이션이 상기 사용자 단말에서 실행되도록 한다.The processing unit 130 connects the user terminal to the first application server and allows the first application server to execute the version of the web application on the user terminal.

일례로, 처리부(130)는 상기 확인한 버전의 웹 어플리케이션의 실행파일이 유지되는 제1 어플리케이션 서버를 확인하고, 상기 접속 요청에, 상기 사용자 단말에 관한 식별정보, 사용자 DB 및 WAS 버전 중 적어도 하나의 사용자 정보를 더 포함하여, 상기 주소에 의해 식별되는 상기 제1 어플리케이션 서버로, 스위칭 할 수 있다.For example, the processing unit 130 identifies a first application server in which an executable file of the verified version of the web application is maintained, and stores at least one of the identification information of the user terminal, the user DB, and the WAS version Further comprising user information, to the first application server identified by the address.

또한, 서버 식별부(120)에 의해 상기 버전에 상응하는 제1 어플리케이션 서버가 복수로 식별되는 경우, 처리부(130)는 상기 접속 요청이 발생 시마다, 상기 복수의 제1 어플리케이션 서버 중 어느 하나로 교대로 스위칭 할 수 있다.When a plurality of first application servers corresponding to the versions are identified by the server identification unit 120, the processing unit 130 sequentially transmits the connection requests to any one of the plurality of first application servers Can be switched.

예를 들어, 도 4에 도시된 WAS 테이블을 참조하면, 처리부(130)는 사용자 단말에서 첫 번째로 페이지 접속 요청이 발생되면, IP:PORT(192.168.244.10:9090)에 의해 식별되는 어플리케이션 서버로 페이지 접속 요청을 전달하고, 사용자 단말에서 두 번째로 페이지 접속 요청이 발생되면, IP:PORT(192.168.244.10:9091)에 의해 식별되는 어플리케이션 서버로 페이지 접속 요청을 전달하고, 사용자 단말에서 세 번째로 페이지 접속 요청이 발생되면, 다시 IP:PORT(192.168.244.10:9090)에 의해 식별되는 어플리케이션 서버로 페이지 접속 요청을 전달할 수 있다.For example, referring to the WAS table shown in FIG. 4, when the first page access request is generated in the user terminal, the processing unit 130 transmits the page access request to the application server identified by the IP: PORT (192.168.244.10:9090) Page access request, and if a second page access request is issued from the user terminal, the page access request is transmitted to the application server identified by IP: PORT (192.168.244.10: 9091), and the page access request is transmitted from the user terminal to the third When a page access request is issued, the page access request can be transmitted again to the application server identified by IP: PORT (192.168.244.10: 9090).

이와 같이, 처리부(130)는 사용자 단말로부터의 페이지 접속 요청을 분산하여 로드 밸런싱을 적절히 실시할 수 있다.In this manner, the processing unit 130 can appropriately perform load balancing by distributing page access requests from the user terminal.

또한, 처리부(130)는 사용자 단말(201)을, 해당 사용자 단말(201)에 적합한 버전의 웹 어플리케이션이 설치된 제1 어플리케이션 서버로 스위칭하여, 동일한 웹주소로 접속한 특정 사용자 군에 특정 버전의 웹 어플리케이션을 서비스하여, 특정 버전에서 야기되는 문제를 타 버전에 영향을 주지 않도록 할 수 있다.The processing unit 130 switches the user terminal 201 to a first application server having a version of the web application suitable for the corresponding user terminal 201 and transmits a specific version of the web The application can be serviced to prevent problems that arise in one version from affecting other versions.

처리부(130)는 어플리케이션 서버로부터 페이지 접속 요청에 대한 응답이 수신되면, 사용자 단말을 제1 어플리케이션 서버와 접속시켜, 제1 어플리케이션 서버(221)에 설치된 버전('1.0.0')의 웹 어플리케이션이 사용자 단말에서 실행되도록 할 수 있다.When a response to the page access request is received from the application server, the processing unit 130 connects the user terminal to the first application server and transmits the web application of the version ('1.0.0') installed in the first application server 221 And can be executed in the user terminal.

이때, 상기 접속 요청의 스위칭으로부터 일정 시간 이내에, 상기 제1 어플리케이션 서버로부터, 응답이 수신되지 않으면, 테이블 작성부(150)는 상기 WAS 테이블에서 상기 제1 어플리케이션 서버의 이용 가능 상태를 '비활성'으로 수정하고, 서버 정보 갱신에 관한 메시지 코드를, 메시지 큐 테이블에 추가하여, 상기 메시지 큐 테이블을 참조(subscribe)하는 WAS 관리 서버에서, 상기 메시지 코드의 추가를 감지 함에 따라, 상기 WAS 테이블을 갱신 처리하도록 할 수 있다.At this time, if a response is not received from the first application server within a predetermined time from switching of the connection request, the table creating unit 150 sets the availability state of the first application server in the WAS table to 'inactive' And adding a message code relating to the server information update to the message queue table so as to subscribe the message queue table, the WAS management server detects the addition of the message code and updates the WAS table .

이하, 도 5를 참조하여, 서버 정보를 갱신하는 과정을 설명한다.Hereinafter, the process of updating the server information will be described with reference to FIG.

도 5는 본 발명의 일실시예에 따른 웹 어플리케이션의 버전 관리 및 배포 시스템에서, 메시지 큐 테이블의 일례를 도시한 도면이다.5 is a diagram illustrating an example of a message queue table in a version management and distribution system of a web application according to an embodiment of the present invention.

도 5를 참조하면, 처리부(130)는 사용자 단말로부터의 페이지 접속 요청을 스위칭한 제1 어플리케이션 서버(WAS)로부터 응답이 없을 경우, WAS 테이블에서 해당 제1 어플리케이션 서버의 이용 가능 상태를 비활성으로 변경하고, 이와 같은 WAS 테이블의 변경을 모든 WAS 관리 서버에 알려 주기 위해 메시지 큐 테이블에 서버 정보 갱신에 관한 메시지 코드를 추가할 수 있다. 5, when there is no response from the first application server (WAS) switching the page access request from the user terminal, the processing unit 130 changes the availability state of the first application server in the WAS table to inactive And add a message code for updating the server information in the message queue table to notify all the WAS management servers of such a change in the WAS table.

즉, 처리부(130)는 버전 별로 웹 어플리케이션이 설치된 어플리케이션 서버(WAS)를 관리하는 WAS 관리 서버의 구동 시, 현재 WAS 정보를 WAS 테이블에서 로드하고, WAS 관리 서버들 간의 동기화 및 배포 서버에서 변경사항을 감지하기 위해, 메시지 큐 테이블을 발행(publish) 또는 참조(subscribe)할 수 있다.That is, when the WAS management server managing the application server (WAS) in which the web application is installed is activated for each version, the processing unit 130 loads the current WAS information from the WAS table, synchronizes the WAS management servers, The message queue table can be published or subscribed to detect the message queue table.

이때, 처리부(130)는 제1 어플리케이션 서버에서, 일정 시간 이내에 상기 페이지 접속 요청에 응답하지 않을 경우, 도 4의 WAS 테이블에서 제1 어플리케이션 서버의 IP:PORT(192.168.244.10:9090)에 대한 이용 가능 상태를, 비활성('DEACTIVATED')으로 수정 후, 도 5의 메시지 큐 테이블에, 서버 정보 갱신에 관한 메시지 코드('Refresh_was')를 추가할 수 있다.At this time, if the first application server does not respond to the page access request within a predetermined time, the processing unit 130 uses the WAS table of FIG. 4 for the IP: PORT (192.168.244.10:9090) of the first application server ('Refresh_was') related to the server information update to the message queue table of FIG. 5 after modifying the possible state to be inactive ('DEACTIVATED').

상기 메시지 큐 테이블을 참조하는 모든 WAS 관리 서버들은, 메시지 큐 테이블에 서버 정보 갱신에 관한 메시지 코드가 추가됨을 감지하면, WAS 테이블에서 로딩한 WAS 정보(특히, 이용 가능 상태)를 갱신하고, WAS 테이블에서 식별한 다른 어플리케이션 서버('IP:PORT(192.168.244.10:9091)')로 상기 페이지 접속 요청을 스위칭 할 수 있다.When all the WAS management servers that refer to the message queue table detect that a message code related to updating the server information is added to the message queue table, the WAS management server updates the loaded WAS information (in particular, available state) (&Quot; IP: PORT (192.168.244.10:9091) ") identified in the page access request.

실시예에 따라, 관리자 단말로부터, 특정 버전의 웹 어플리케이션의 배포 요청이 발생되는 경우, 배포부(160)는, 상기 특정 버전의 웹 어플리케이션을 설치한 제2 어플리케이션 서버를 추가로 마련하고, 상기 특정 버전 이외의 버전을 이용하는 사용자 단말 중에서, 상기 관리자 단말에 의해 지정된 사용자 단말에 관한 사용자 DB를, 상기 특정 버전의 웹 어플리케이션의 설치에 따라 생성되는 DB로 업데이트 할 수 있다.According to the embodiment, when a distribution request of a specific version of the web application is generated from the administrator terminal, the distribution unit 160 additionally provides a second application server installed with the specific version of the web application, The user DB related to the user terminal designated by the administrator terminal can be updated to the DB generated in accordance with the installation of the specific version of the web application among the user terminals using the version other than the version.

테이블 작성부(150)는 상기 제2 어플리케이션 서버에 관한 WAS 정보를, 상기 WAS 테이블에 추가하고, 서버 정보 갱신에 관한 메시지 코드를, 메시지 큐 테이블에 추가하여, 상기 메시지 큐 테이블을 참조하는 WAS 관리 서버에서, 상기 메시지 코드의 추가를 감지 함에 따라, 상기 WAS 테이블을 갱신 처리하도록 할 수 있다. 이때, 테이블 작성부(150)는 상기 사용자 DB를 업데이트 시, 사용자 테이블 내의 상기 지정된 사용자 단말에 관한 상태를 '비활성'으로 변경할 수 있다.The table creating unit 150 adds the WAS information about the second application server to the WAS table, adds the message code relating to the server information update to the message queue table, In the server, upon detecting the addition of the message code, the WAS table can be updated. At this time, when the user DB is updated, the table creating unit 150 may change the state of the specified user terminal in the user table to 'inactive'.

예를 들어, 도 5를 참조하면, 테이블 작성부(150)는 특정 버전의 웹 어플리케이션의 배포에 따라, 새롭게 추가된 제2 어플리케이션 서버에 관한 WAS 정보가 WAS 테이블에 추가되었음을 다른 모든 WAS 관리 서버에 알려주기 위해, 메시지 큐 테이블에 서버 정보 갱신에 관한 메시지 코드를 추가할 수 있다. For example, referring to FIG. 5, the table creating unit 150 notifies, to the distribution of the specific version of the web application, that the WAS information about the newly added second application server is added to the WAS table To inform you, you can add a message code on the message queue table to update the server information.

상기 메시지 큐 테이블을 참조하는 모든 WAS 관리 서버들은, 메시지 큐 테이블에 서버 정보 갱신에 관한 메시지 코드가 추가됨을 감지하면, 바뀐 WAS 테이블에서 WAS 정보를 새롭게 로딩하고, 이후, 지정된 사용자 단말로부터 페이지 접속 요청이 수신되면, 해당 사용자 단말을, 새롭게 추가된 제2 어플리케이션 서버로 스위칭하여, 웹 어플리케이션의 배포판이 사용자 단말에서 실행되도록 할 수 있다.When all the WAS management servers that refer to the message queue table detect that a message code related to the server information update is added to the message queue table, the WAS information is newly loaded in the changed WAS table, and then the page access request The user terminal can be switched to the newly added second application server so that the distribution of the web application can be executed in the user terminal.

실시예에 따라, 본 발명의 웹 어플리케이션의 버전 관리 및 배포 시스템(100)은, 사용자 단말에서 웹페이지로의 접속 요청이 발생 함에 따라, 상기 사용자 단말에 보유 중인 제1 웹 어플리케이션의 버전을 확인하고, 상기 사용자 단말에서 상기 웹페이지를 구현하는 데에 요구되는 프로그램 사양이, 상기 제1 웹 어플리케이션의 버전과 일치하는지를 판단하고, 상기 판단 결과, 일치하지 않으면, 상기 프로그램 사양에 상응하는 어플리케이션 서버를 식별하고, 식별된 상기 어플리케이션 서버로부터 제2 웹 어플리케이션을 전송받아, 상기 사용자 단말에 제공하여, 상기 사용자 단말에서 상기 제1 웹 어플리케이션을, 상기 제2 웹 어플리케이션으로 스위칭하도록 할 수 있다.According to the embodiment, the version management and distribution system 100 of the web application of the present invention checks the version of the first web application held in the user terminal when a connection request from the user terminal to the web page occurs And determining whether the program specification required to implement the web page in the user terminal matches the version of the first web application and, if the determination is not the result of the determination, identifying an application server corresponding to the program specification And receiving the second web application from the identified application server and providing the second web application to the user terminal so that the user terminal can switch the first web application to the second web application.

이와 같이, 본 발명의 일실시예에 따르면, 동일한 웹주소로 접속한 사용자 단말 별로 웹 어플리케이션의 버전을 다르게 제공 함으로써, 오류나 사용성 관련 문제를 지역화 할 수 있다.As described above, according to the embodiment of the present invention, the version of the web application is differently provided for each user terminal connected to the same web address, so that the error and usability-related problems can be localized.

또한, 본 발명의 일실시예에 따르면, 동일한 웹주소로 접속한 특정 사용자 군에 특정 버전의 웹 어플리케이션을 서비스하여, 특정 버전에서 야기되는 문제를 타 버전에 영향을 주지 않도록 할 수 있다.According to an embodiment of the present invention, a specific version of the web application may be provided to a specific user group connected to the same web address, so that a problem caused by the specific version may not be affected by other versions.

또한, 본 발명의 일실시예에 따르면, 동일한 URL로 웹페이지에 접속한 사용자 단말을 그룹화 하여, 서비스 제공자가 원하는 다양한 버전의 웹 서비스를 그룹 별로 제공할 수 있다.Also, according to an embodiment of the present invention, user terminals connected to a web page by the same URL can be grouped, and the service providers can provide various versions of the web services desired by the service provider.

또한, 본 발명의 일실시예에 따르면, 웹 환경에서 버전 관리를 통해 특정 일부의 사용자에게 제한된 버전의 웹 어플리케이션을 미리 배포해 검증할 수 있다.In addition, according to an embodiment of the present invention, a limited version of a web application can be pre-distributed and verified to a specific part of users through version management in a web environment.

또한, 본 발명의 일실시예에 따르면, 웹 어플리케이션의 버전 별로 복수의 어플리케이션 서버(WAS, Web Application Server)를 마련하고, 동일 웹페이지에 접속을 요청한 사용자 단말 각각으로, 해당 사용자 단말에 적합한 버전의 웹 어플리케이션이 설치된 어플리케이션 서버로 사용자 단말을 스위칭 하거나, 관리자 단말에 의해 지정된 일부 사용자에 한해 특정 버전(예컨대, 업그레이드 버전)의 웹 어플리케이션을 제한적으로 배포할 수 있다.According to an embodiment of the present invention, a plurality of application servers (WAS, Web Application Server) are provided for each version of a web application, and each of the user terminals requesting access to the same web page has a version It is possible to switch the user terminal to the application server in which the web application is installed or restrictively distribute a specific version (e.g., upgrade version) of the web application to only a limited number of users designated by the administrator terminal.

또한, 본 발명의 일실시예에 따르면, 단일 웹페이지와 연관하여, 서로 상이한 버전의 웹 어플리케이션이 설치된 어플리케이션 서버(WAS)를 구비하고, 버전 관리를 통해 특정 일부 사용자에게 제한된 버전의 웹 어플리케이션을 배포할 수 있다.According to an embodiment of the present invention, there is provided an application server (WAS) having a different version of a web application in association with a single web page, and distributes a limited version of the web application to a specific user through version management can do.

또한, 본 발명의 일실시예에 따르면, 낮은 버전의 웹 어플리케이션을 가지고 있는 사용자 단말에서, 버전 업 된 웹 어플리케이션으로의 업데이트를 유도 또는 강제할 수 있다.According to an embodiment of the present invention, in a user terminal having a lower version of the web application, the update to the upgraded web application can be induced or enforced.

도 2는 본 발명의 일실시예에 따른 웹 어플리케이션의 버전 관리 및 배포 시스템에서, 복수 버전의 웹 어플리케이션 서버(WAS)와, WAS 관리 서버, 및 배포 서버 간의 전체적인 연결 관계를 도시한 도면이다.2 is a diagram showing the overall connection relationship between a plurality of versions of a web application server (WAS), a WAS management server, and a distribution server in a version management and distribution system of a web application according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일실시예에 따른 웹 어플리케이션의 버전 관리 및 배포 시스템(200)은, WAS 관리 서버(210), 배포 서버(220) 및 어플리케이션 서버(WAS)(221 내지 223)를 포함하여 구성될 수 있다. 또한, 웹 어플리케이션의 버전 관리 및 배포 시스템(200)은 시스템 DB(230)를 더 포함하여 구성될 수 있다.2, a web application version management and distribution system 200 according to an embodiment of the present invention includes a WAS management server 210, a distribution server 220, and application servers (WAS) 221 to 223, As shown in FIG. The web application version management and distribution system 200 may further include a system DB 230.

WAS 관리 서버(210)는, 복수 버전의 웹 어플리케이션이 설치된 어플리케이션 서버(WAS)(221 내지 223)들을 관리하고, 사용자 버전 별 스위칭 관리를 수행하는 역할을 한다.The WAS management server 210 manages application servers (WAS) 221 to 223 installed with a plurality of versions of web applications, and performs switching management according to user versions.

일례로, WAS 관리 서버(210)는 사용자 단말(201)로부터의 페이지 접속 요청을 분산하고, 사용자 인증을 통해 사용자 단말을 해당 사용자 단말(201)에 적합한 버전의 웹 어플리케이션이 설치된 어플리케이션 서버로 스위칭하고, 로드 밸런싱을 실시할 수 있다.For example, the WAS management server 210 distributes a page access request from the user terminal 201, switches the user terminal to an application server installed with a version of the web application suitable for the corresponding user terminal 201 , And load balancing can be performed.

여기서, 각 어플리케이션 서버(221 내지 223)는, 서비스하는 프로그램이 작동되는 웹 어플리케이션이 버전 별로 설치된 서버일 수 있다.Here, each of the application servers 221 to 223 may be a server in which a web application in which a program to be serviced operates is installed for each version.

WAS 관리 서버(210)는 구동 시 현재 WAS 정보를 WAS 테이블에서 로드하고, WAS 관리 서버(210)들 간의 동기화 및 배포 서버(220)에서 변경사항을 감지하기 위해, 메시지 큐 테이블을 발행(publish) 또는 참조(subscribe)할 수 있다.The WAS management server 210 loads the current WAS information from the WAS table at the time of operation and publishes the message queue table to synchronize between the WAS management servers 210 and detect the change at the distribution server 220. [ Or subscribe.

일례로, 도 2에 도시된 것처럼, WAS 관리 서버(210)는 사용자 단말(201)로부터, HTTPS 프로토콜을 이용하여 페이지 접속 요청을 수신할 수 있다.As an example, as shown in FIG. 2, the WAS management server 210 may receive a page access request from the user terminal 201 using the HTTPS protocol.

WAS 관리 서버(210)는 도 3에 도시된 사용자 테이블에서 사용자 단말(201)의 식별정보('U00001')를 확인하여 인증 처리 후, 사용자 단말(201)의 WAS 버전('1.0.0')과 사용자 DB('U00001.DB')에 관한 WAS 정보('U00001: 1.0.0, U00001.DB')를 리드할 수 있다.The WAS management server 210 checks the identification information ('U00001') of the user terminal 201 in the user table shown in FIG. 3 and confirms the WAS version ('1.0.0') of the user terminal 201, And the WAS information ('U00001: 1.0.0, U00001.DB') regarding the user DB ('U00001.DB').

WAS 관리 서버(210)는 인증 통과된 사용자 단말(201)의 정보를 어플리케이션 서버(WAS)에 알려주기 위해서 사용자 단말(201)로부터 전송된 페이지 접속 요청의 헤더(header)에, 사용자 단말(201)의 식별정보, 사용자 DB, WAS 버전(U00001, 1.0.0, U00001.DB)을 추가할 수 있다.The WAS management server 210 transmits the page access request to the user terminal 201 in the header of the page access request transmitted from the user terminal 201 to inform the application server WAS of the information of the authenticated user terminal 201. [ , User DB, and WAS version (U00001, 1.0.0, U00001.DB) can be added.

또한, WAS 관리 서버(210)는 WAS 테이블에서 사용자 단말(201)의 WAS 버전('1.0.0')과 일치하면서, 이용 가능 상태가 활성('ACTIVE')인 어플리케이션 서버(221, 222)의 주소(URL)를 리드할 수 있다.In addition, the WAS management server 210 determines whether or not the application servers 221 and 222 whose availability status is 'ACTIVE' in agreement with the WAS version ('1.0.0') of the user terminal 201 in the WAS table The address (URL) can be read.

즉, WAS 관리 서버(210)는 도 4에 도시된 WAS 테이블에서 WAS 버전('1.0.0') 및 활성('ACTIVE')에 대응되는 두 개의 IP:PORT(192.168.244.10:9090, 192.168.244.10:9091)를 리드하고, 사용자 단말(201)로부터 페이지 접속 요청이 발생 시마다 순차적으로 번갈아 가면서 프록시(Proxy)할 수 있다.That is, the WAS management server 210 generates two IP: PORTs (192.168.244.10: 9090, 192.168.0) corresponding to the WAS version ('1.0.0') and the active ('ACTIVE') in the WAS table shown in FIG. 244.10: 9091) and proxies can be sequentially alternated every time a page connection request is issued from the user terminal 201. [

예를 들어, WAS 관리 서버(210)는 사용자 단말(201)에서 첫 번째로 페이지 접속 요청이 발생되면, IP:PORT(192.168.244.10:9090)에 의해 식별되는 어플리케이션 서버(221)로 페이지 접속 요청을 전달하고, 사용자 단말(201)에서 두 번째로 페이지 접속 요청이 발생되면, IP:PORT(192.168.244.10:9091)에 의해 식별되는 어플리케이션 서버(222)로 페이지 접속 요청을 전달하고, 사용자 단말(201)에서 세 번째로 페이지 접속 요청이 발생되면, 다시 IP:PORT(192.168.244.10:9090)에 의해 식별되는 어플리케이션 서버(221)로 페이지 접속 요청을 전달할 수 있다.For example, when the first page access request is generated in the user terminal 201, the WAS management server 210 transmits a page access request to the application server 221 identified by the IP: PORT (192.168.244.10:9090) And transmits a page connection request to the application server 222 identified by the IP: PORT (192.168.244.10:9091) when the second page access request is generated in the user terminal 201, and transmits the page access request to the user terminal 201, the page access request can be forwarded to the application server 221 identified by the IP: PORT (192.168.244.10: 9090) again.

WAS 관리 서버(210)는 어플리케이션 서버(221)로부터 첫 번째 페이지 접속 요청에 대한 응답이 수신되면, 사용자 단말(201)을 어플리케이션 서버(221)와 접속시켜, 어플리케이션 서버(221)에 설치된 버전('1.0.0')의 웹 어플리케이션이 사용자 단말(201)에서 실행되도록 할 수 있다.The WAS management server 210 connects the user terminal 201 to the application server 221 and transmits the version information of the application server 221 to the application server 221, 1.0.0 ') web application to be executed in the user terminal 201.

이와 같이, WAS 관리 서버(210)는 사용자 단말(201)로부터의 페이지 접속 요청을 분산하여 로드 밸런싱을 실시할 수 있고, 사용자 단말(201)을, 해당 사용자 단말(201)에 적합한 버전의 웹 어플리케이션이 설치된 어플리케이션 서버로 스위칭하여, 동일한 웹주소로 접속한 특정 사용자 군에 특정 버전의 웹 어플리케이션을 서비스하여, 특정 버전에서 야기되는 문제를 타 버전에 영향을 주지 않도록 할 수 있다.In this way, the WAS management server 210 can distribute the page access requests from the user terminal 201 to perform load balancing, and can distribute the user terminal 201 to a version of the web application suitable for the user terminal 201 To the installed application server so that a specific version of the web application is served to a specific user group connected to the same web address so that the problem caused by the specific version is not affected by the other version.

이때, WAS 관리 서버(210)는 어플리케이션 서버(221)에서, 일정 시간 이내에 상기 페이지 접속 요청에 응답하지 않을 경우, 상기 WAS 테이블에서 어플리케이션 서버(221)의 IP:PORT(192.168.244.10:9090)에 대한 이용 가능 상태를, 비활성('DEACTIVATED')으로 수정 후, 메시지 큐 테이블에, 서버 정보 갱신에 관한 메시지 코드('Refresh_was')를 추가할 수 있다.At this time, if the application server 221 does not respond to the page connection request within a predetermined time, the WAS management server 210 sends an IP: PORT (192.168.244.10:9090) of the application server 221 in the WAS table ('Refresh_was') relating to the server information update to the message queue table after modifying the availability state of the server information to 'DEACTIVATED'.

상기 메시지 큐 테이블을 참조하는 WAS 관리 서버들은, 메시지 큐 테이블에 서버 정보 갱신에 관한 메시지 코드가 추가됨을 감지하면, WAS 테이블 내의 WAS 정보를 갱신하고, IP:PORT(192.168.244.10:9091)에 의해 식별되는 어플리케이션 서버(222)로 페이지 접속 요청을 스위칭 할 수 있다.The WAS management servers that refer to the message queue table update the WAS information in the WAS table when the message code related to the server information update is added to the message queue table, and update the WAS information by IP: PORT (192.168.244.10: 9091) And may switch the page access request to the identified application server 222.

배포 서버(220)는 특정 버전의 웹 어플리케이션을 특정 사용자에게 제한적으로 배포하는 역할을 한다.The distribution server 220 plays a role of distributing a specific version of the web application to a specific user in a limited manner.

또한, 배포 서버(220)는 어플리케이션 서버(WAS)의 추가 또는 삭제와, 시스템 DB(230)에 유지된 각 사용자 DB의 버전을 관리하고, WAS 관리 서버(210)로 WAS 정보 변경을 통지(노티) 함으로써, 배포를 진행 할 수 있다.The distribution server 220 also manages the version of each user DB stored in the system DB 230 and notifies the WAS management server 210 of the change of the WAS information ), The distribution can proceed.

일례로, 도시하지 않은 CI(Continuous Integration) 서버에서는, 웹 어플리케이션의 배포 버전(이하, 배포판(Product))을 제작하여 폴더 내에 관리하는 역할을 할 수 있다.For example, in a CI (Continuous Integration) server (not shown), a distribution version of a web application (hereinafter referred to as a product) can be produced and managed in a folder.

여기서, CI 서버는 상용 서버로서, 개발자가 소스 변경 후 저장소에 반영할 때, 소스 빌드(build), 정적 분석(Static analysis) 및 자동화 테스트(예, Unit test, GUI test)와 같은 작업을 수행하게 되며, 관리자 단말에 의해 소스 저장소의 commit 버전에 추가된 태그를 후킹하여 소스 변경을 반영할 때 진행했던 작업을 재수행 함으로써 웹 어플리케이션의 배포판을 제작할 수 있다.The CI server is a commercial server that performs tasks such as source build, static analysis, and automated testing (eg, Unit test, GUI test) , And a web application distribution can be created by hooking a tag added to the commit version of the source repository by the administrator terminal and redoing the work that was performed when the source change was reflected.

배포 서버(220)는 CI 서버에서 제작된 배포판을, 관리자 단말에 의해 지정되는 특정 사용자 단말에 배포하기 위한 작업을 수행할 수 있다. 여기서, 웹 어플리케이션의 배포판에는 WAS 프로그램 및 DB 변경 스크립트(과거 버전 모두 포함)가 포함될 수 있고, 웹 어플리케이션의 배포판을 설치할 물리적인 서버 장비가 준비될 수 있다.The distribution server 220 may perform a task of distributing the distribution produced by the CI server to a specific user terminal designated by the administrator terminal. Here, the distribution of the web application may include the WAS program and the DB change script (including all of the past versions), and the physical server equipment to install the distribution of the web application may be prepared.

일례로, 배포 서버(220)는 WAS 버전('1.0.0')이 가지는 사용자 단말('U00001')과, WAS 버전('2.0.0')을 가지는 사용자 단말('U00004')로, 배포 버전('3.0.0')을 서비스 하기 위한 배포 작업을 수행할 수 있다. 구체적인 배포 버전('3.0.0')의 배포 과정은, 도 7에서 후술한다.For example, the distribution server 220 distributes the user terminal 'U00001' having the WAS version ('1.0.0') and the user terminal (U00004 ') having the WAS version (' 2.0.0 ' Version ('3.0.0'). The distribution process of the specific distribution version ('3.0.0') will be described later with reference to FIG.

도 6은 본 발명의 일실시예에 따른 웹 어플리케이션의 버전 관리 및 배포 방법의 순서를 도시한 흐름도이다.6 is a flowchart illustrating a procedure of a version management and distribution method of a web application according to an embodiment of the present invention.

본 실시예에 따른 웹 어플리케이션의 버전 관리 및 배포 방법은, 웹 어플리케이션의 버전 관리 및 배포 시스템(100)에 의해 수행될 수 있다.The version management and distribution method of the web application according to the present embodiment can be performed by the version management and distribution system 100 of the web application.

도 6을 참조하면, 단계(610)에서, 웹 어플리케이션의 버전 관리 및 배포 시스템(100)은, 사용자 단말로부터, 특정 웹 어플리케이션의 실행과 연관되는 페이지로의 접속 요청이 발생되는지 판단한다.Referring to FIG. 6, in step 610, the web application version management and distribution system 100 determines whether a connection request from a user terminal to a page associated with execution of a particular web application occurs.

단계(620)에서, 웹 어플리케이션의 버전 관리 및 배포 시스템(100)은, 상기 웹 어플리케이션의, 상기 사용자 단말에서 실행 가능한 버전을, 확인한다.In step 620, the version management and distribution system 100 of the web application identifies the version of the web application executable on the user terminal.

단계(630)에서, 웹 어플리케이션의 버전 관리 및 배포 시스템(100)은, 상기 웹 어플리케이션의 버전 별로 마련된 복수의 어플리케이션 서버(WAS) 중, 상기 확인한 버전에 상응하는 제1 어플리케이션 서버를 식별한다.In step 630, the version management and distribution system 100 of the web application identifies a first application server corresponding to the verified version among a plurality of application servers (WAS) provided for each version of the web application.

단계(640)에서, 웹 어플리케이션의 버전 관리 및 배포 시스템(100)은, 상기 사용자 단말을 상기 제1 어플리케이션 서버와 접속시켜, 상기 제1 어플리케이션 서버에 의해 상기 버전의 웹 어플리케이션이 상기 사용자 단말에서 실행되도록 한다.In step 640, the version management and distribution system 100 of the web application connects the user terminal to the first application server, and the version of the web application is executed on the user terminal by the first application server .

실시예에 따라, 본 발명의 웹 어플리케이션의 버전 관리 및 배포 시스템(100)은, 사용자 단말에서 웹페이지로의 접속 요청이 발생 함에 따라, 상기 사용자 단말에 보유 중인 제1 웹 어플리케이션의 버전을 확인하고, 상기 사용자 단말에서 상기 웹페이지를 구현하는 데에 요구되는 프로그램 사양이, 상기 제1 웹 어플리케이션의 버전과 일치하는지를 판단하고, 상기 판단 결과, 일치하지 않으면, 상기 프로그램 사양에 상응하는 어플리케이션 서버를 식별하고, 식별된 상기 어플리케이션 서버로부터 제2 웹 어플리케이션을 전송받아, 상기 사용자 단말에 제공하여, 상기 사용자 단말에서 상기 제1 웹 어플리케이션을, 상기 제2 웹 어플리케이션으로 스위칭하도록 할 수 있다.According to the embodiment, the version management and distribution system 100 of the web application of the present invention checks the version of the first web application held in the user terminal when a connection request from the user terminal to the web page occurs And determining whether the program specification required to implement the web page in the user terminal matches the version of the first web application and, if the determination is not the result of the determination, identifying an application server corresponding to the program specification And receiving the second web application from the identified application server and providing the second web application to the user terminal so that the user terminal can switch the first web application to the second web application.

도 7은 본 발명의 다른 실시예에 따른 웹 어플리케이션의 버전 관리 및 배포 방법의 순서를 도시한 흐름도이다.7 is a flowchart illustrating a procedure of a version management and distribution method of a web application according to another embodiment of the present invention.

본 실시예에 따른 웹 어플리케이션의 버전 관리 및 배포 방법은, 배포 서버(220)에 의해 수행될 수 있다.The version management and distribution method of the web application according to the present embodiment can be performed by the distribution server 220. [

도 7을 참조하면, 배포 서버(220)는 CI 서버 내의 폴더에서 상기 배포판의 배포 버전('3.0.0')을 확인한 후 관리자 단말에 출력하고, 관리자 단말에서 상기 배포 버전('3.0.0')이 선택되고(단계(701)), 배포판을 설치할 물리적 서버 장비의 정보('IP:PORT(192.168.247.111:8080)')가 입력되면(단계(702)), 사용자 테이블(도 3 참조)로부터 배포 버전('3.0.0')과 상이한 WAS 버전(예, '1.0.0', '1.0.1', '2.0.0', '2.0.1')을 가지는 사용자 단말의 식별정보를 확인하여 배포 대상으로서 선택할 수 있는 화면을 출력하고, 관리자 단말에 의해 상기 화면에서 사용자 단말('U00001', 'U00004')이 배포 대상으로 선택되면(단계(703)), CI 서버 내의 폴더에 있는 배포판을 로컬 폴더에 복사하고, DB 변경 스크립트를 가져온다(단계(704)).Referring to FIG. 7, the distribution server 220 checks the distribution version ('3.0.0') of the distribution in the folder in the CI server and outputs the distribution version to the administrator terminal. 3) is selected (step 701) and information ('IP: PORT (192.168.247.111:8080)') of the physical server equipment to be installed on the distribution is inputted (step 702) (For example, '1.0.0', '1.0.1', '2.0.0', '2.0.1') different from the distribution version ('3.0.0' ('U00001', 'U00004') is selected as an object to be distributed on the screen (step 703) by the administrator terminal on the screen, a distribution in the folder in the CI server To the local folder, and fetches the DB change script (step 704).

배포 서버(220)는 로컬 폴더 내의 배포판을, 상기 물리적 서버 장비에 다시 복사하고, 입력된 port(8080)를 listen 하는 WAS 프로세스를 실행하여, 웹 어플리케이션의 배포판('3.0.0')을 설치한 어플리케이션 서버를 마련할 수 있다(단계(705)).The distribution server 220 copies the distribution in the local folder to the physical server equipment and executes the WAS process listening to the input port 8080 to install the distribution of the web application ('3.0.0') An application server may be provided (step 705).

배포 서버(220)는 배포판의 설치가 완료되면, WAS 관리 서버(210)로 서버 정보 갱신에 관한 메시지 코드를 전송한다(단계(706)).Upon completion of the installation of the distribution, the distribution server 220 transmits a message code relating to the updating of the server information to the WAS management server 210 (step 706).

구체적으로, 배포 서버(220)는 WAS 테이블에, 레코드(URL: 192.168.247.111:8080, WAS 버전: 3.0.0, 상태: ACTIVE, PID: P23232)를 추가하고, WAS 관리 서버(210)에서 상기 WAS 테이블을 참조하여 WAS 정보를 갱신할 수 있도록, 메시지 큐 테이블(도 5 참조)에, 서버 정보 갱신에 관한 메시지 코드('Refresh_was')를 추가할 수 있으며, WAS 관리 서버(210)는 메시지 큐 테이블에 상기 메시지 코드의 추가를 감지할 수 있다.Specifically, the distribution server 220 adds a record (URL: 192.168.247.111:8080, WAS version: 3.0.0, state: ACTIVE, PID: P23232) to the WAS table, The WAS management server 210 may add a message code ('Refresh_was') related to the server information update to the message queue table (see FIG. 5) so that the WAS information can be updated with reference to the WAS table. And may detect the addition of the message code to the table.

WAS 관리 서버(210)는 시스템 DB(230)으로부터 통지된 메시지 코드가 서버 정보 갱신과 연관되면, 데이터를 요청하여 WAS 테이블 내의 WAS 정보를 갱신할 수 있다.The WAS management server 210 can update the WAS information in the WAS table by requesting data when the message code notified from the system DB 230 is associated with the server information update.

배포 서버(220)는 선택된 사용자 단말을 비활성화 한다(단계(707)).Distribution server 220 deactivates the selected user terminal (step 707).

즉, 배포 서버(220)는, 배포 대상으로 선택된 사용자 단말('U00001', 'U00004')에서 업데이트된 어플리케이션 서버(WAS)에 접속할 수 있도록 하기 위해, 시스템 DB(230) 내의 사용자 DB 변경을 수행하게 되며, 사용자 DB 변경 작업을 진행 중에는 정상적인 사용자 응답을 보장할 수 없기 때문에 사용자 DB 변경 작업이 완료될 때까지 사용자의 상태를 비활성('DEACTIVATED')으로 변경할 수 있다.That is, the distribution server 220 performs the user DB change in the system DB 230 so as to be able to access the updated application server (WAS) in the user terminal ('U00001', 'U00004' Since the normal user response can not be guaranteed during the user DB change operation, the user can change the state of the user to 'DEACTIVATED' until the user DB change operation is completed.

다시 말해, 배포 서버(220)는, 사용자 DB 업데이트 시 오류를 피하기 위해 사용자 테이블에서 해당 사용자 단말('U00001')의 상태를 비활성('DEACTIVATED')으로 변경하여 인증 실패를 발생하도록 할 수 있다.In other words, the distribution server 220 may change the status of the corresponding user terminal ('U00001') from in the user table to 'DEACTIVATED' in order to avoid errors in updating the user DB, thereby causing authentication failure.

배포 서버(220)는, 처리되지 않은 사용자 단말이 존재하는지 확인하고(단계(708)), 존재하는 경우, 실행할 수 있는 DB 스크립트가 있는지 확인한다(단계(709)).The distribution server 220 checks if an unprocessed user terminal exists (step 708), and if so, checks whether there is a DB script that can be executed (step 709).

단계(709)에서의 확인 결과, 실행 가능한 DB 스크립트가 있는 경우, 배포 서버(220)는, 사용자 DB를 백업하고(단계(710)), 사용자 DB 버전 이후의 스크립트를 로딩하여(단계(711)), 사용자 DB를 변경하고(단계(712)), 사용자 DB를 변경 중 오류가 발생하면, 사용자 오류를 처리하고(단계(713)), 백업한 사용자 DB로 콜백한다(단계(714)). 이때, 사용자 DB를 변경 중 오류가 발생하지 않으면, 배포 서버(220)는, 사용자 WAS 버전을 변경한다(단계(716)).As a result of checking in step 709, if there is an executable DB script, the distribution server 220 backs up the user DB (step 710), loads the script after the user DB version (step 711) (Step 712). If an error occurs while changing the user DB, the user error is processed (step 713), and the user DB is called back to the backup user DB (step 714). At this time, if no error occurs during the change of the user DB, the distribution server 220 changes the user WAS version (step 716).

단계(709)에서의 확인 결과, 실행 가능한 DB 스크립트가 없는 경우, 사용자 WAS 버전을 변경한다(단계(717)).As a result of checking in step 709, if there is no executable DB script, the user WAS version is changed (step 717).

이후, 배포 서버(220)는 단계(708)를 재수행하고, 처리되지 않은 사용자 단말이 없으면, 선택된 사용자 단말을 활성화 하고(단계(718)), 관리자 단말에 배포를 보고한다(단계(719)).Thereafter, the distribution server 220 re-executes step 708, activating the selected user terminal (step 718) and reporting the distribution to the administrator terminal (step 719), if there is no unprocessed user terminal .

구체적으로, 배포 서버(220)는, 배포 대상으로 지정된 사용자 단말 중 한 명('U00001')을 선택하여 비동기 처리하고, 사용자 테이블에서 해당 사용자 단말('U00001')의 사용자 DB를 확인하여 백업하고, 사용자 테이블에서 해당 사용자 단말('U00001')의 WAS 버전('1.0.0')을 확인하여 해당되는 DB 스크립트를 하위 버전부터 실행하여 설치하고, 설치 중 오류가 발생되면, 백업한 사용자 DB로 롤백하고, 오류 발생 없이 성공하면 사용자 단말('U00001')의 WAS 버전을, 배포 버전('3.0.0')으로 갱신하고, 처리되지 않은 사용자 단말('U00004')이 있으면, 상기 과정을 재수행하고, 처리되지 않은 사용자 단말이 없으면, 사용자 단말('U00001', 'U00004')의 상태를 비활성('DEACTIVATED')에서 활성('ACTIVE')으로 변경하여 인증 처리가 통과할 수 있도록 할 수 있다. 이후, 사용자 단말('U00001', 'U00004')은 배포판이 설치된 어플리케이션 서버로 웹 어플리케이션의 실행을 요청할 수 있다.Specifically, the distribution server 220 selects one of the user terminals designated as a distribution target ('U00001') and asynchronously processes it, checks the user DB of the user terminal (U00001 ') in the user table and backs up , Checks the WAS version ('1.0.0') of the corresponding user terminal ('U00001') in the user table and executes the corresponding DB script from the lower version and installs it. If an error occurs during installation, The user terminal ('U00001') is updated to the distribution version ('3.0.0'), and if there is an unprocessed user terminal ('U00004'), If there is no unprocessed user terminal, the state of the user terminal (U00001 ', U00004') can be changed from inactive ('DEACTIVATED') to active ('ACTIVE') so that the authentication process can pass . Then, the user terminal (U00001 ', U00004') can request execution of the web application to the application server having the distribution.

본 발명의 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment of the present invention may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions to be recorded on the medium may be those specially designed and configured for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

100: 웹 어플리케이션의 버전 관리 및 배포 시스템
110: 버전 확인부 120: 서버 식별부
130: 처리부 140: 인증 처리부
150: 테이블 작성부 160: 배포부
100: Web application versioning and distribution system
110: Version Verification Unit 120: Server Identification Unit
130: processor 140: authentication processor
150: table preparation unit 160: distribution unit

Claims (18)

사용자 단말로부터, 특정 웹 어플리케이션의 실행과 연관되는 페이지로의 접속 요청이 발생 됨에 따라,
상기 웹 어플리케이션의, 상기 사용자 단말에서 실행 가능한 버전을, 확인하는 단계;
상기 웹 어플리케이션의 버전 별로 마련된 복수의 어플리케이션 서버(WAS) 중, 상기 확인한 버전에 상응하는 제1 어플리케이션 서버를 식별하는 단계; 및
상기 사용자 단말을 상기 제1 어플리케이션 서버와 접속시켜, 상기 제1 어플리케이션 서버에 의해 상기 버전의 웹 어플리케이션이 상기 사용자 단말에서 실행되도록 하는 단계
를 포함하는 웹 어플리케이션의 버전 관리 및 배포 방법.
As a request to connect to a page associated with the execution of a particular web application occurs from a user terminal,
Identifying a version of the web application executable at the user terminal;
Identifying a first application server corresponding to the verified version among a plurality of application servers (WAS) provided for each version of the web application; And
Connecting the user terminal to the first application server and causing the first application server to execute the version of the web application at the user terminal
And a method of managing and distributing a version of the web application.
제1항에 있어서,
상기 접속 요청에 포함되는 상기 사용자 단말에 관한 식별정보가, 사용자 테이블에 등록되었는지 판단하는 단계; 및
상기 식별정보가 등록된 경우, 상기 사용자 단말에 대해 인증 처리하는 단계
를 더 포함하고,
상기 인증이 처리 됨에 따라,
상기 확인하는 단계는,
상기 사용자 테이블로부터, 상기 식별정보에 대응하여 유지된 WAS 버전 및 사용자 DB를 리드하여 확인하는 단계
를 포함하는 웹 어플리케이션의 버전 관리 및 배포 방법.
The method according to claim 1,
Determining whether identification information on the user terminal included in the connection request is registered in a user table; And
When the identification information is registered, authenticating the user terminal
Further comprising:
As the authentication is processed,
Wherein the verifying step comprises:
Reading from the user table the WAS version and the user DB held in correspondence with the identification information and confirming
And a method of managing and distributing a version of the web application.
제2항에 있어서,
상기 웹 어플리케이션의 버전 관리 및 배포 방법은,
상기 식별정보가 미등록된 경우,
상기 사용자 단말로부터 정보 등록이 요청되면, 상기 사용자 단말에 대해 추가 인증 절차를 처리하는 단계;
상기 사용자 단말에 설치된 운영체제와 인터넷 브라우저의 종류와 버전 및 잔여 용량 중 적어도 하나의 단말정보를 근거로, 상기 사용자 단말에 설치 가능한 웹 어플리케이션의 WAS 버전을 결정하는 단계; 및
상기 WAS 버전을, 상기 식별정보에 대응시켜 상기 사용자 테이블에 추가하는 단계
를 더 포함하는 웹 어플리케이션의 버전 관리 및 배포 방법.
3. The method of claim 2,
A method of managing and distributing a version of a web application,
If the identification information is unregistered,
Processing an additional authentication procedure for the user terminal if information registration is requested from the user terminal;
Determining a WAS version of a web application that can be installed in the user terminal based on at least one terminal information among an operating system installed in the user terminal, a type and version of the Internet browser, and a remaining capacity; And
Adding the WAS version to the user table in association with the identification information
The method comprising the steps of:
제1항에 있어서,
상기 특정 웹 어플리케이션에 대해, 복수 버전의 웹 어플리케이션을 설치한 어플리케이션 서버를 각각 마련하는 단계; 및
상기 복수의 어플리케이션 서버 각각으로, 상기 각 어플리케이션 서버의 주소와, 상기 각 어플리케이션 서버에 설치된 웹 어플리케이션의 버전에 관한 WAS 버전, 상기 각 어플리케이션 서버의 이용 가능 상태 및 PID 중 적어도 하나의 WAS 정보를 포함하는 WAS 테이블을 작성하는 단계
를 더 포함하고,
상기 제1 어플리케이션 서버를 식별하는 단계는,
상기 WAS 테이블을 로딩하고, 상기 WAS 테이블로부터, 상기 확인한 버전과 일치하는 WAS 버전에 대응하는 제1 어플리케이션 서버의 주소를 리드하는 단계
를 포함하는 웹 어플리케이션의 버전 관리 및 배포 방법.
The method according to claim 1,
Providing an application server having a plurality of versions of the web application for the specific web application; And
Wherein each of the plurality of application servers includes at least one WAS information among the address of each application server, the WAS version related to the version of the web application installed in each application server, the availability state of each application server, and the PID Steps to create a WAS table
Further comprising:
Wherein identifying the first application server comprises:
Loading the WAS table and reading from the WAS table an address of a first application server corresponding to a version of the WAS matching the verified version
And a method of managing and distributing a version of the web application.
제4항에 있어서,
상기 사용자 단말에서 실행되도록 하는 단계는,
상기 확인한 버전의 웹 어플리케이션의 실행파일이 유지되는 제1 어플리케이션 서버를 확인하는 단계; 및
상기 접속 요청에, 상기 사용자 단말에 관한 식별정보, 사용자 DB 및 WAS 버전 중 적어도 하나의 사용자 정보를 더 포함하여, 상기 주소에 의해 식별되는 상기 제1 어플리케이션 서버로, 스위칭 하는 단계
를 포함하는 웹 어플리케이션의 버전 관리 및 배포 방법.
5. The method of claim 4,
The method of claim 1,
Identifying a first application server in which an executable file of the verified version of the web application is maintained; And
Switching to the first application server identified by the address, further comprising user information of at least one of a user DB and a WAS version in the connection request;
And a method of managing and distributing a version of the web application.
제5항에 있어서,
상기 버전에 상응하는 제1 어플리케이션 서버가 복수로 식별되는 경우,
상기 스위칭 하는 단계는,
상기 접속 요청이 발생 시마다, 상기 복수의 제1 어플리케이션 서버 중 어느 하나로 교대로 스위칭 하는 단계
를 포함하는 웹 어플리케이션의 버전 관리 및 배포 방법.
6. The method of claim 5,
When a plurality of first application servers corresponding to the version are identified,
Wherein the switching comprises:
Alternately switching to any one of the plurality of first application servers each time the connection request occurs
And a method of managing and distributing a version of the web application.
제5항에 있어서,
상기 접속 요청의 스위칭으로부터 일정 시간 이내에, 상기 제1 어플리케이션 서버로부터, 응답이 수신되지 않으면,
상기 웹 어플리케이션의 버전 관리 및 배포 방법은,
상기 WAS 테이블에서 상기 제1 어플리케이션 서버의 이용 가능 상태를 '비활성'으로 수정하고, 서버 정보 갱신에 관한 메시지 코드를, 메시지 큐 테이블에 추가하여, 상기 메시지 큐 테이블을 참조(subscribe)하는 WAS 관리 서버에서, 상기 메시지 코드의 추가를 감지 함에 따라, 상기 WAS 테이블을 갱신 처리하도록 하는 단계
를 더 포함하는 웹 어플리케이션의 버전 관리 및 배포 방법.
6. The method of claim 5,
If a response is not received from the first application server within a predetermined time from switching of the connection request,
A method of managing and distributing a version of a web application,
A WAS management server for modifying the availability state of the first application server to 'inactive' in the WAS table, adding a message code for updating the server information to the message queue table, In response to detecting the addition of the message code, causing the WAS table to be updated
The method comprising the steps of:
제4항에 있어서,
관리자 단말로부터, 특정 버전의 웹 어플리케이션의 배포 요청이 발생되는 경우,
상기 웹 어플리케이션의 버전 관리 및 배포 방법은,
상기 특정 버전의 웹 어플리케이션을 설치한 제2 어플리케이션 서버를 추가로 마련하는 단계;
상기 특정 버전 이외의 버전을 이용하는 사용자 단말 중에서, 상기 관리자 단말에 의해 지정된 사용자 단말에 관한 사용자 DB를, 상기 특정 버전의 웹 어플리케이션의 설치에 따라 생성되는 DB로 업데이트 하는 단계;
상기 제2 어플리케이션 서버에 관한 WAS 정보를, 상기 WAS 테이블에 추가하는 단계; 및
서버 정보 갱신에 관한 메시지 코드를, 메시지 큐 테이블에 추가하여, 상기 메시지 큐 테이블을 참조하는 WAS 관리 서버에서, 상기 메시지 코드의 추가를 감지 함에 따라, 상기 WAS 테이블을 갱신 처리하도록 하는 단계
를 더 포함하는 웹 어플리케이션의 버전 관리 및 배포 방법.
5. The method of claim 4,
When a distribution request of a specific version of a web application is generated from an administrator terminal,
A method of managing and distributing a version of a web application,
Further comprising: providing a second application server in which the specific version of the web application is installed;
Updating a user DB related to a user terminal specified by the administrator terminal to a DB generated according to the installation of the specific version of the web application among user terminals using a version other than the specific version;
Adding WAS information about the second application server to the WAS table; And
Adding a message code relating to the server information update to a message queue table to cause the WAS management server that refers to the message queue table to update the WAS table upon detecting addition of the message code
The method comprising the steps of:
제8항에 있어서,
상기 웹 어플리케이션의 버전 관리 및 배포 방법은,
상기 사용자 DB를 업데이트 시, 사용자 테이블 내의 상기 지정된 사용자 단말에 관한 상태를 '비활성'으로 변경하는 단계
를 더 포함하는 웹 어플리케이션의 버전 관리 및 배포 방법.
9. The method of claim 8,
A method of managing and distributing a version of a web application,
When the user DB is updated, changing the status of the specified user terminal in the user table to 'inactive'
The method comprising the steps of:
사용자 단말로부터, 특정 웹 어플리케이션의 실행과 연관되는 페이지로의 접속 요청이 발생 됨에 따라,
상기 웹 어플리케이션의, 상기 사용자 단말에서 실행 가능한 버전을, 확인하는 버전 확인부;
상기 웹 어플리케이션의 버전 별로 마련된 복수의 어플리케이션 서버(WAS) 중, 상기 확인한 버전에 상응하는 제1 어플리케이션 서버를 식별하는 서버 식별부; 및
상기 사용자 단말을 상기 제1 어플리케이션 서버와 접속시켜, 상기 제1 어플리케이션 서버에 의해 상기 버전의 웹 어플리케이션이 상기 사용자 단말에서 실행되도록 하는 처리부
를 포함하는 웹 어플리케이션의 버전 관리 및 배포 시스템.
As a request to connect to a page associated with the execution of a particular web application occurs from a user terminal,
A version checking unit which verifies a version of the web application executable by the user terminal;
A server identification unit for identifying a first application server corresponding to the verified version among a plurality of application servers provided for each version of the web application; And
A processing unit for connecting the user terminal to the first application server and causing the first application server to execute the version of the web application on the user terminal;
A version management and distribution system for the web application.
제10항에 있어서,
상기 접속 요청에 포함되는 상기 사용자 단말에 관한 식별정보가, 사용자 테이블에 등록되었는지 판단하고, 상기 식별정보가 등록된 경우, 상기 사용자 단말에 대해 인증 처리하는 인증 처리부
를 더 포함하고,
상기 인증이 처리 됨에 따라,
상기 버전 확인부는,
상기 사용자 테이블로부터, 상기 식별정보에 대응하여 유지된 WAS 버전 및 사용자 DB를 리드하여 확인하는
웹 어플리케이션의 버전 관리 및 배포 시스템.
11. The method of claim 10,
The authentication processing unit determines whether the identification information about the user terminal included in the connection request is registered in the user table and, when the identification information is registered,
Further comprising:
As the authentication is processed,
The version checking unit,
Reads the WAS version and the user DB held in correspondence with the identification information from the user table and confirms
Version management and distribution system for web applications.
제11항에 있어서,
상기 식별정보가 미등록된 경우,
상기 사용자 단말로부터 정보 등록이 요청되면,
상기 처리부는,
인증 처리부를 통해 상기 사용자 단말에 대해 추가 인증 절차를 처리하고,
상기 사용자 단말에 설치된 운영체제와 인터넷 브라우저의 종류와 버전 및 잔여 용량 중 적어도 하나의 단말정보를 근거로, 상기 사용자 단말에 설치 가능한 웹 어플리케이션의 WAS 버전을 결정하고,
테이블 작성부를 통해 상기 WAS 버전을, 상기 식별정보에 대응시켜 상기 사용자 테이블에 추가하는
웹 어플리케이션의 버전 관리 및 배포 시스템.
12. The method of claim 11,
If the identification information is unregistered,
When information registration is requested from the user terminal,
Wherein,
Processing the additional authentication procedure for the user terminal through the authentication processing unit,
Determining a WAS version of a web application that can be installed in the user terminal based on at least one terminal information among an operating system installed in the user terminal, a type, a version, and a remaining capacity of an Internet browser,
Adding the WAS version to the user table in association with the identification information through the table creating unit
Version management and distribution system for web applications.
제10항에 있어서,
상기 특정 웹 어플리케이션에 대해, 복수 버전의 웹 어플리케이션을 설치한 어플리케이션 서버를 각각 마련하는 배포부; 및
상기 복수의 어플리케이션 서버 각각으로, 상기 각 어플리케이션 서버의 주소와, 상기 각 어플리케이션 서버에 설치된 웹 어플리케이션의 버전에 관한 WAS 버전, 상기 각 어플리케이션 서버의 이용 가능 상태 및 PID 중 적어도 하나의 WAS 정보를 포함하는 WAS 테이블을 작성하는 테이블 작성부
를 더 포함하고,
상기 서버 식별부는,
상기 WAS 테이블을 로딩하고, 상기 WAS 테이블로부터, 상기 확인한 버전과 일치하는 WAS 버전에 대응하는 제1 어플리케이션 서버의 주소를 리드하는
웹 어플리케이션의 버전 관리 및 배포 시스템.
11. The method of claim 10,
A distribution unit for providing an application server having a plurality of versions of the web application for the specific web application; And
Wherein each of the plurality of application servers includes at least one WAS information among the address of each application server, the WAS version related to the version of the web application installed in each application server, the availability state of each application server, and the PID A table creating unit for creating a WAS table
Further comprising:
The server identification unit,
Loading the WAS table and reading from the WAS table the address of the first application server corresponding to the version of the WAS matching the verified version
Version management and distribution system for web applications.
제13항에 있어서,
상기 처리부는,
상기 확인한 버전의 웹 어플리케이션의 실행파일이 유지되는 제1 어플리케이션 서버를 확인하고,
상기 접속 요청에, 상기 사용자 단말에 관한 식별정보, 사용자 DB 및 WAS 버전 중 적어도 하나의 사용자 정보를 더 포함하여, 상기 주소에 의해 식별되는 상기 제1 어플리케이션 서버로, 스위칭 하는
웹 어플리케이션의 버전 관리 및 배포 시스템.
14. The method of claim 13,
Wherein,
Confirms a first application server in which an executable file of the verified version of the web application is maintained,
Further comprising user information of at least one of a user DB and a WAS version in the connection request to switch to the first application server identified by the address,
Version management and distribution system for web applications.
제14항에 있어서,
상기 버전에 상응하는 제1 어플리케이션 서버가 복수로 식별되는 경우,
상기 처리부는,
상기 접속 요청이 발생 시마다, 상기 복수의 제1 어플리케이션 서버 중 어느 하나로 교대로 스위칭 하는
웹 어플리케이션의 버전 관리 및 배포 시스템.
15. The method of claim 14,
When a plurality of first application servers corresponding to the version are identified,
Wherein,
Each time the connection request is generated, switching to one of the plurality of first application servers
Version management and distribution system for web applications.
제14항에 있어서,
상기 접속 요청의 스위칭으로부터 일정 시간 이내에, 상기 제1 어플리케이션 서버로부터, 응답이 수신되지 않으면,
상기 테이블 작성부는,
상기 WAS 테이블에서 상기 제1 어플리케이션 서버의 이용 가능 상태를 '비활성'으로 수정하고, 서버 정보 갱신에 관한 메시지 코드를, 메시지 큐 테이블에 추가하여, 상기 메시지 큐 테이블을 참조(subscribe)하는 WAS 관리 서버에서, 상기 메시지 코드의 추가를 감지 함에 따라, 상기 WAS 테이블을 갱신 처리하도록 하는 단계
를 더 포함하는 웹 어플리케이션의 버전 관리 및 배포 시스템.
15. The method of claim 14,
If a response is not received from the first application server within a predetermined time from switching of the connection request,
The table creating unit creates,
A WAS management server for modifying the availability state of the first application server to 'inactive' in the WAS table, adding a message code for updating the server information to the message queue table, In response to detecting the addition of the message code, causing the WAS table to be updated
The version control and distribution system of the web application.
제13항에 있어서,
관리자 단말로부터, 특정 버전의 웹 어플리케이션의 배포 요청이 발생되는 경우,
상기 배포부는,
상기 특정 버전의 웹 어플리케이션을 설치한 제2 어플리케이션 서버를 추가로 마련하고,
상기 특정 버전 이외의 버전을 이용하는 사용자 단말 중에서, 상기 관리자 단말에 의해 지정된 사용자 단말에 관한 사용자 DB를, 상기 특정 버전의 웹 어플리케이션의 설치에 따라 생성되는 DB로 업데이트 하고,
상기 테이블 작성부는,
상기 제2 어플리케이션 서버에 관한 WAS 정보를, 상기 WAS 테이블에 추가하고, 서버 정보 갱신에 관한 메시지 코드를, 메시지 큐 테이블에 추가하여, 상기 메시지 큐 테이블을 참조하는 WAS 관리 서버에서, 상기 메시지 코드의 추가를 감지 함에 따라, 상기 WAS 테이블을 갱신 처리하도록 하는
웹 어플리케이션의 버전 관리 및 배포 시스템.
14. The method of claim 13,
When a distribution request of a specific version of a web application is generated from an administrator terminal,
Wherein,
Further comprising a second application server in which the specific version of the web application is installed,
Updates the user DB related to the user terminal specified by the administrator terminal with a DB generated according to the installation of the specific version of the web application among the user terminals using the version other than the specific version,
The table creating unit creates,
Adding a WAS information about the second application server to the WAS table, adding a message code relating to the server information update to the message queue table, and referring to the message queue table, Upon detecting the addition, the WAS table is updated
Version management and distribution system for web applications.
제17항에 있어서,
상기 테이블 작성부는,
상기 사용자 DB를 업데이트 시, 사용자 테이블 내의 상기 지정된 사용자 단말에 관한 상태를 '비활성'으로 변경하는
웹 어플리케이션의 버전 관리 및 배포 시스템.
18. The method of claim 17,
The table creating unit creates,
When the user DB is updated, the status of the specified user terminal in the user table is changed to 'inactive'
Version management and distribution system for web applications.
KR1020170126209A 2017-09-28 2017-09-28 Method and system for managing version of web-application and distributing web-application KR102026377B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170126209A KR102026377B1 (en) 2017-09-28 2017-09-28 Method and system for managing version of web-application and distributing web-application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170126209A KR102026377B1 (en) 2017-09-28 2017-09-28 Method and system for managing version of web-application and distributing web-application

Publications (2)

Publication Number Publication Date
KR20190036828A true KR20190036828A (en) 2019-04-05
KR102026377B1 KR102026377B1 (en) 2019-09-27

Family

ID=66104215

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170126209A KR102026377B1 (en) 2017-09-28 2017-09-28 Method and system for managing version of web-application and distributing web-application

Country Status (1)

Country Link
KR (1) KR102026377B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111147291A (en) * 2019-12-18 2020-05-12 深圳前海微众银行股份有限公司 Service maintenance method and device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013077220A (en) * 2011-09-30 2013-04-25 Toshiba Corp Computer system and application multiple version management device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013077220A (en) * 2011-09-30 2013-04-25 Toshiba Corp Computer system and application multiple version management device

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111147291A (en) * 2019-12-18 2020-05-12 深圳前海微众银行股份有限公司 Service maintenance method and device
CN111147291B (en) * 2019-12-18 2024-02-06 深圳前海微众银行股份有限公司 Service maintenance method and device

Also Published As

Publication number Publication date
KR102026377B1 (en) 2019-09-27

Similar Documents

Publication Publication Date Title
KR102430869B1 (en) Live migration of clusters in containerized environments
US11693746B2 (en) Systems and methods for enabling a highly available managed failover service
CN109716331B (en) Application deployment conforming to application data sharing and decision service platform mode
US9009277B2 (en) Configuration management repository for a distributed platform
US20160352588A1 (en) Scalable proxy clusters
US11366728B2 (en) Systems and methods for enabling a highly available managed failover service
US10069688B2 (en) Dynamically assigning, by functional domain, separate pairs of servers to primary and backup service processor modes within a grouping of servers
US11341005B2 (en) Systems and methods for enabling a highly available managed failover service
US10110434B2 (en) Cloud orchestrated cloud connector upgrades
US11582083B2 (en) Multi-tenant event sourcing and audit logging in a cloud-based computing infrastructure
EP3629522B1 (en) Systems and methods for testing resilience of a distributed network
CN113347037B (en) Data center access method and device
CN105635218B (en) Software center system
US20190028502A1 (en) Method for processing a network service
US10838712B1 (en) Lifecycle management for software-defined datacenters
US10021171B2 (en) Zero-downtime cloud connector upgrades
US9882779B2 (en) Software version maintenance in a software defined network
KR20190036828A (en) Method and system for managing version of web-application and distributing web-application
US20130246523A1 (en) Browser based recovery discovery
US20240012632A1 (en) Coordinating updates to an agent platform appliance in which agents of cloud services are deployed
US20190268180A1 (en) Method and system for high availability topology for master-slave data systems with low write traffic
US20230315505A1 (en) System and method for deploying a software-defined data center based on desired state specification from virtualization software
US11509527B1 (en) Assisted and context-driven network changes
US11675577B2 (en) Systems and methods of orchestrating nodes in a blockchain network
US11709741B1 (en) Systems and methods for enabling a failover service for block-storage volumes

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant