KR102614060B1 - Automatic analysis method for converting general applications into software-as-a-service applications - Google Patents

Automatic analysis method for converting general applications into software-as-a-service applications Download PDF

Info

Publication number
KR102614060B1
KR102614060B1 KR1020230162220A KR20230162220A KR102614060B1 KR 102614060 B1 KR102614060 B1 KR 102614060B1 KR 1020230162220 A KR1020230162220 A KR 1020230162220A KR 20230162220 A KR20230162220 A KR 20230162220A KR 102614060 B1 KR102614060 B1 KR 102614060B1
Authority
KR
South Korea
Prior art keywords
service
source code
application
general application
information
Prior art date
Application number
KR1020230162220A
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 KR1020230162220A priority Critical patent/KR102614060B1/en
Application granted granted Critical
Publication of KR102614060B1 publication Critical patent/KR102614060B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/76Adapting program code to run in a different environment; Porting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/43Checking; Contextual analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/447Target code generation

Abstract

본 발명은 일반 애플리케이션을 서비스형 소프트웨어 애플리케이션으로 변환하기 위한 자동 분석 방법에 관한 것이다.
본 발명은 이를 위해 일반 애플리케이션을 서비스형 소프트웨어 애플리케이션으로 변환하기 위한 자동 분석 방법을 컴퓨팅 장치에서 수행하는 것으로, (a) 일반 애플리케이션 실행환경을 Agentless(SSH;Secure Shell)방식으로 원격으로 접속하는 단계; (b) 일반 애플리케이션 수집 Script 실행을 System CLI Shell 방식의 수집 Script로 실행하는 단계; (c) 일반 애플리케이션의 실행환경 및 서비스 환경 정보를 수집하는 단계; (d) 일반 애플리케이션의 실행환경 및 서비스 환경 정보를 저장하는 단계; (e) 일반 애플리케이션이 소스코드를 소스관리도구(Git)에서 다운로드하여 분석 및 저장하는 단계; (f) 저장된 소스 코드의 함수를 Tagging하는 단계; (g) 일반 애플리케이션의 소스 코드에서 서비스 연결정보를 탐색하는 단계; (h) 일반 애플리케이션의 환경정보와 소스 코드에서 탐색된 연결정보를 데이터로 분석 조합하는 단계; (i) 연결함수를 등록하는 단계; 및 (j) 연결 함수 매칭으로 컴포넌트 분석정보를 Topology Map으로 시각화하여 조회하는 단계;가 포함된다.
상기와 같이 구성된 본 발명은 레가시 환경에서 일반적인 3-Tier(WEB/WAS/DB)의 응용프로그램을 IaaS/PaaS 운영환경의 SaaS Application으로 자동 변환하기 위해서 소스 분석 및 Workload를 배포하기 위한 클라우드 전환 분석 기술을 제공하고, 이로 인해 서비스 방법의 품질과 신뢰성을 대폭 향상시키므로 사용자인 개발자, 운영자, 관리자 및 담당자들의 다양한 욕구(니즈)를 충족시켜 서비스가 더욱 확산될 수 있도록 한 것이다.
The present invention relates to an automatic analysis method for converting a general application into a service-type software application.
For this purpose, the present invention performs an automatic analysis method on a computing device to convert a general application into a service-type software application, including the steps of (a) remotely accessing the general application execution environment using Agentless (SSH; Secure Shell) method; (b) executing the general application collection script as a System CLI Shell type collection script; (c) collecting execution environment and service environment information of general applications; (d) storing execution environment and service environment information of general applications; (e) a step where the general application downloads the source code from a source management tool (Git), analyzes and stores it; (f) Tagging the function of the stored source code; (g) searching for service connection information in the source code of a general application; (h) analyzing and combining the environment information of the general application and the connection information discovered from the source code into data; (i) registering a connection function; and (j) visualizing and querying component analysis information as a topology map using connection function matching.
The present invention configured as described above is a cloud conversion analysis technology for source analysis and workload distribution to automatically convert a typical 3-tier (WEB/WAS/DB) application in a legacy environment to a SaaS application in an IaaS/PaaS operating environment. This significantly improves the quality and reliability of the service method, allowing the service to spread further by satisfying the various desires (needs) of users, developers, operators, managers, and people in charge.

Description

일반 애플리케이션을 서비스형 소프트웨어 애플리케이션으로 변환하기 위한 자동 분석 방법{Automatic analysis method for converting general applications into software-as-a-service applications}Automatic analysis method for converting general applications into software-as-a-service applications}

본 발명의 실시예는 일반 애플리케이션을 서비스형 소프트웨어 애플리케이션(Software-as-a-Service, SaaS)으로 변환하기 위한 자동 분석 방법에 관한 것으로, 보다 상세하게는 레가시 환경에서 일반적인 3-Tier(WEB/WAS/DB)의 응용프로그램을 IaaS/PaaS 운영환경의 SaaS Application으로 자동 변환하기 위해서 소스 분석 및 Workload를 배포하기 위한 클라우드 전환 분석 기술을 제공하고, 이로 인해 서비스 방법의 품질과 신뢰성을 대폭 향상시키므로 사용자인 개발자, 운영자, 관리자 및 담당자들의 다양한 욕구(니즈)를 충족시켜 서비스가 더욱 확산될 수 있도록 한 것이다.An embodiment of the present invention relates to an automatic analysis method for converting a general application into a software-as-a-service (SaaS) application, and more specifically, a general 3-tier (WEB/WAS) application in a legacy environment. /DB) application program to a SaaS application in an IaaS/PaaS operating environment, and provides cloud conversion analysis technology for source analysis and workload distribution. This significantly improves the quality and reliability of the service method, so that users can This is to enable the service to spread further by satisfying the various desires (needs) of developers, operators, managers, and people in charge.

본 명세서에서 달리 표시되지 않는 한, 이 식별항목에 설명되는 내용들은 이 출원의 청구항들에 대한 종래 기술이 아니며, 이 식별항목에 기재된다고 하여 종래 기술이라고 인정되는 것은 아니다.Unless otherwise indicated herein, the matters described in this identification are not prior art to the claims of this application, and are not admitted to be prior art by being described in this identification.

주지하다시피 서비스형 소프트웨어 애플리케이션(Software-as-a-Service, SaaS)은 클라우드 기반 소프트웨어 제공 방법이다. 상기 SaaS 사용자는 애플리케이션을 구매한 후 설치하는 대신 애플리케이션에 가입한다. 사용자는 인터넷을 통해 호환 장치에서 SaaS 애플리케이션에 로그인하고 사용할 수 있다. 실제 애플리케이션은 사용자의 위치에서 멀리 떨어져 있을 수 있는 클라우드 서버에서 실행된다.As you know, Software-as-a-Service (SaaS) is a cloud-based software delivery method. The SaaS user subscribes to the application instead of purchasing and then installing the application. Users can log in and use SaaS applications on compatible devices over the Internet. The actual application runs on a cloud server that may be remote from the user's location.

상기 서비스형 소프트웨어 애플리케이션(Software-as-a-Service, SaaS)은 Agentless 방식의 정보수집 기술, 소스코드 분석 기술, 서비스 연결정보 탐색 기술, 분석 데이터 조합 기술, 연결함수 매칭 기술 및 분석정보 시각화 기술이 요구되나, 상기 종래의 기술은 사스(SaaS)를 애플리케이션으로 변환하기 위한 자동 분석 방법이 없다는 문제점이 있었다.The software-as-a-service (SaaS) application includes agentless information collection technology, source code analysis technology, service connection information search technology, analysis data combination technology, connection function matching technology, and analysis information visualization technology. Although required, the conventional technology had a problem in that there was no automatic analysis method for converting SaaS into an application.

특히 상기 종래 기술은 일반적인 3-Tier(WEB/WAS/DB)의 응용프로그램을 클라우드 운영환경인 IaaS/PaaS에서 SaaS Application으로 안정적으로 서비스 하기 위해서는 소스 개발자, 응용프로그램 운영자, Application의 서비스 관리자에 이르는 많은 업무 연관성을 가지는 당사자의 클라우드 전환 및 기술에 대한 지식과 노하우가 필요한 기술적 문제점이 있었다.In particular, the above prior art requires many people, including source developers, application operators, and application service managers, to reliably service general 3-tier (WEB/WAS/DB) applications as SaaS Applications in the cloud operating environment, IaaS/PaaS. There were technical problems that required knowledge and know-how about cloud conversion and technology from parties involved in the business.

상기한 문제점을 해결하기 위해 종래에는 아래와 같은 선행기술문헌들이 개발되었으나, 여전히 상기한 종래 기술의 문제점을 일거에 해결하지 못하는 커다란 문제점이 발생 되었다.In order to solve the above-mentioned problems, the following prior art documents have been developed, but there is still a big problem that the problems of the above-described prior art cannot be solved at once.

대한민국 등록특허공보 제2134309호(2020. 07. 09)가 등록된바 있다.Republic of Korea Patent Publication No. 2134309 (2020. 07. 09) has been registered. 대한민국 등록특허공보 제2469977호(2022. 11. 18)가 등록된바 있다.Republic of Korea Patent Publication No. 2469977 (November 18, 2022) has been registered. 대한민국 등록특허공보 제2471221호(2022. 11. 22)가 등록된바 있다.Republic of Korea Patent Publication No. 2471221 (November 22, 2022) has been registered. 대한민국 등록특허공보 제2323276호(2021. 11. 02)가 등록된바 있다.Republic of Korea Patent Publication No. 2323276 (2021. 11. 02) has been registered. 대한민국 등록특허공보 제2439778호(2022. 08. 30)가 등록된바 있다.Republic of Korea Patent Publication No. 2439778 (2022. 08. 30) has been registered.

본 발명은 상기와 같은 종래 기술의 제반 문제점을 해소하기 위하여 안출한 것으로, 방식의 정보수집 기술, 소스코드 분석 기술, 서비스 연결정보 탐색 기술, 분석 데이터 조합 기술, 연결함수 매칭 기술 및 분석정보 시각화 기술이 구비됨을 제1목적으로 한 것이고, 상기한 기술적 구성에 의한 본 발명의 제2목적은 레가시 환경에서 일반적인 3-Tier(WEB/WAS/DB)의 응용프로그램을 IaaS/PaaS 운영환경의 SaaS Application으로 자동 변환하기 위해서 소스 분석 및 Workload를 배포하기 위한 클라우드 전환 분석 기술을 제공하고, 제3목적은 소스 개발자의 개입이 없이 소스코드를 분석하며, 응용프로그램 운영자는 클라우드에 전환 및 지식이 전무해도 쉽게 클라우드 IaaS/PaaS 환경으로 전환할 수 있도록 한 것이고, 제4목적은 Application 서비스 관리자는 클라우드 환경에서 안정적인 SaaS 서비스를 유지 및 관리할 수 있도록 한 것이고, 제5목적은 Agentless 방식의 정보수집을 통해 운영중인 Application의 어떠한 부하나 간섭을 주지 않고 운영환경 정보를 수집할 수 있도록 한 것이고, 제6목적은 소스코드 분석은 Application과 서비스의 연결정보를 분석하는 과정으로 소스 코드의 함수를 태깅하고 서비스 연결정보를 탐색하여 분석 정보를 수집할 수 있어 유지보수 개발자나 엔지니어가 소스코드를 분석하는 복잡하고 어려운 과정을 쉽게 단순화 해주도록 한 것이고, 제7목적은 수집된 운영환경 정보와 소스코드 데이터를 분석하여 조합하고, 연결 함수를 매칭하여 정형화된 분석 결과를 구성하고 시각화하여 Application 서비스 관리자에게 편이성을 제공할 수 있도록 한 것이고, 제8목적은 이로 인해 서비스 방법의 품질과 신뢰성을 대폭 향상시키므로 사용자인 개발자, 운영자, 관리자 및 담당자들의 다양한 욕구(니즈)를 충족시켜 서비스가 더욱 확산될 수 있도록 한 일반 애플리케이션을 서비스형 소프트웨어 애플리케이션으로 변환하기 위한 자동 분석 방법을 제공한다.The present invention was developed to solve all the problems of the prior art as described above, and includes information collection technology, source code analysis technology, service connection information search technology, analysis data combination technology, connection function matching technology, and analysis information visualization technology. The first purpose is to provide this, and the second purpose of the present invention based on the above-described technical configuration is to convert a general 3-tier (WEB/WAS/DB) application program in a legacy environment into a SaaS application in an IaaS/PaaS operating environment. In order to automatically convert, it provides cloud conversion analysis technology for source analysis and workload distribution. The third purpose is to analyze the source code without the intervention of the source developer, and application operators can easily convert to the cloud even if they have no knowledge. The fourth purpose is to enable conversion to an IaaS/PaaS environment, and the fourth purpose is to enable application service managers to maintain and manage stable SaaS services in a cloud environment. The fifth purpose is to enable application management through agentless information collection. The purpose is to collect operating environment information without any load or interference, and the sixth purpose is source code analysis, which is a process of analyzing connection information between applications and services, tagging functions in the source code and exploring service connection information. By collecting analysis information, it is possible to easily simplify the complex and difficult process of maintenance developers or engineers analyzing source code. The seventh purpose is to analyze and combine the collected operating environment information and source code data, The goal is to provide convenience to application service managers by matching connection functions to configure and visualize standardized analysis results. The 8th purpose is to significantly improve the quality and reliability of the service method, so users such as developers, operators, and managers It provides an automatic analysis method for converting general applications into service-type software applications to further expand services by satisfying the various desires (needs) of the people in charge.

이러한 목적 달성을 위하여 본 발명은 일반 애플리케이션을 서비스형 소프트웨어 애플리케이션으로 변환하기 위한 자동 분석 방법을 컴퓨팅 장치에서 수행하는 것으로, (a) 일반 애플리케이션 실행환경을 Agentless(SSH;Secure Shell)방식으로 원격으로 접속하는 단계; (b) 일반 애플리케이션 수집 Script 실행을 System CLI Shell 방식의 수집 Script로 실행하는 단계; (c) 일반 애플리케이션의 실행환경 및 서비스 환경 정보를 수집하는 단계; (d) 일반 애플리케이션의 실행환경 및 서비스 환경 정보를 저장하는 단계; (e) 일반 애플리케이션이 소스코드를 소스관리도구(Git)에서 다운로드하여 분석 및 저장하는 단계; (f) 저장된 소스 코드의 함수를 Tagging하는 단계; (g) 일반 애플리케이션의 소스 코드에서 서비스 연결정보를 탐색하는 단계; (h) 일반 애플리케이션의 환경정보와 소스 코드에서 탐색된 연결정보를 데이터로 분석 조합하는 단계; (i) 연결함수를 등록하는 단계; 및 (j) 연결 함수 매칭으로 컴포넌트 분석정보를 Topology Map으로 시각화하여 조회하는 단계;가 포함됨을 특징으로 하는 일반 애플리케이션을 서비스형 소프트웨어 애플리케이션으로 변환하기 위한 자동 분석 방법을 제공한다.To achieve this purpose, the present invention performs an automatic analysis method on a computing device to convert a general application into a service-type software application. (a) Remotely accesses the general application execution environment using Agentless (SSH; Secure Shell) method. steps; (b) executing the general application collection script as a System CLI Shell type collection script; (c) collecting execution environment and service environment information of general applications; (d) storing execution environment and service environment information of general applications; (e) a step where the general application downloads the source code from a source management tool (Git), analyzes and stores it; (f) Tagging the function of the stored source code; (g) searching for service connection information in the source code of a general application; (h) analyzing and combining the environment information of the general application and the connection information discovered from the source code into data; (i) registering a connection function; and (j) visualizing and querying the component analysis information as a topology map using connection function matching.

상기에서 상세히 살펴본 바와 같이 본 발명은 레가시 환경에서 일반적인 3-Tier(WEB/WAS/DB)의 응용프로그램을 IaaS/PaaS 운영환경의 SaaS Application으로 자동 변환하기 위해서 소스 분석 및 Workload를 배포하기 위한 클라우드 전환 분석 기술을 제공한다.As discussed in detail above, the present invention is a cloud conversion for source analysis and workload distribution in order to automatically convert a typical 3-tier (WEB/WAS/DB) application program in a legacy environment to a SaaS application in an IaaS/PaaS operating environment. Provides analysis technology.

또한 본 발명은 소스 개발자의 개입이 없이 소스코드를 분석하며, 응용프로그램 운영자는 클라우드에 전환 및 지식이 전무해도 쉽게 클라우드 IaaS/PaaS 환경으로 전환할 수 있도록 한 것이다.In addition, the present invention analyzes source code without the intervention of a source developer, and allows application operators to easily switch to a cloud IaaS/PaaS environment even if they have no knowledge or knowledge about the cloud.

그리고 본 발명은 Application 서비스 관리자는 클라우드 환경에서 안정적인 SaaS 서비스를 유지 및 관리할 수 있도록 한 것이다.And the present invention allows application service managers to maintain and manage stable SaaS services in a cloud environment.

특히 본 발명은 Agentless 방식의 정보수집을 통해 운영중인 Application의 어떠한 부하나 간섭을 주지 않고 운영환경 정보를 수집할 수 있도록 한 것이다.In particular, the present invention allows information on the operating environment to be collected without any load or interference on the running application through agentless information collection.

아울러 본 발명은 소스코드 분석은 Application과 서비스의 연결정보를 분석하는 과정으로 소스 코드의 함수를 태깅하고 서비스 연결정보를 탐색하여 분석 정보를 수집할 수 있어 유지보수 개발자나 엔지니어가 소스코드를 분석하는 복잡하고 어려운 과정을 쉽게 단순화 해주도록 한 것이다.In addition, the present invention is that source code analysis is a process of analyzing connection information between applications and services. Analysis information can be collected by tagging functions of the source code and exploring service connection information, allowing maintenance developers or engineers to analyze the source code. This is to simplify a complex and difficult process.

더하여 본 발명은 수집된 운영환경 정보와 소스코드 데이터를 분석하여 조합하고, 연결 함수를 매칭하여 정형화된 분석 결과를 구성하고 시각화하여 Application 서비스 관리자에게 편이성을 제공할 수 있도록 한 것이다.In addition, the present invention analyzes and combines collected operating environment information and source code data, matches connection functions, and configures and visualizes standardized analysis results to provide convenience to application service managers.

본 발명은 상기한 효과로 인해 서비스 방법의 품질과 신뢰성을 대폭 향상시키므로 사용자인 개발자, 운영자, 관리자 및 담당자들의 다양한 욕구(니즈)를 충족시켜 서비스가 더욱 확산될 수 있도록 한 매우 유용한 발명인 것이다.The present invention is a very useful invention that significantly improves the quality and reliability of the service method due to the above-described effects, thereby enabling the service to further spread by satisfying the various desires (needs) of users (developers, operators, managers, and people in charge).

이하에서는 이러한 효과 달성을 위한 본 발명의 바람직한 실시 예를 첨부된 도면에 따라 상세히 설명하면 다음과 같다.Hereinafter, a preferred embodiment of the present invention for achieving these effects will be described in detail according to the attached drawings.

도 1 은 일반 Web Application의 구성도.
도 2 는 일반 Application의 정보를 수집에서부터 분석한 결과를 조회하는
일련의 과정을 표현한 흐름도.
도 3 은 일반 Application 백엔드(API)의 소스코드에서 Postgre
SQL(Database) 서비스를 호출한 연결 정보가 포함되어 있는 소스코
드의 함수 예시도.
도 4 는 레가시 환경과 SaaS 전환 예측 맵을 비교하여 조회한 도면.
Figure 1 is a configuration diagram of a general web application.
Figure 2 shows the results of collecting and analyzing general application information.
A flowchart expressing a series of processes.
Figure 3 shows Postgre in the source code of the general application backend (API).
Source code containing connection information calling the SQL (Database) service
Example of function of de.
Figure 4 is a diagram comparing the legacy environment and SaaS conversion prediction map.

본 발명에 적용된 일반 애플리케이션을 서비스형 소프트웨어 애플리케이션으로 변환하기 위한 자동 분석 방법은 도 1 내지 도 4 에 도시된 바와 같이 구성되는 것이다.The automatic analysis method for converting a general application applied to the present invention into a service-type software application is configured as shown in FIGS. 1 to 4.

하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 것이다.In the following description of the present invention, if it is determined that a detailed description of a related known function or configuration may unnecessarily obscure the gist of the present invention, the detailed description will be omitted.

그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 설정된 용어들로서 이는 생산자의 의도 또는 관례에 따라 달라질 수 있으므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In addition, the terms described below are terms established in consideration of the functions in the present invention, and may vary depending on the intention or custom of the producer, so their definitions should be made based on the content throughout the specification.

또한 도면에서 나타난 각 구성의 크기 및 두께는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도면에 도시된 바에 한정되지 않는다.In addition, since the size and thickness of each component shown in the drawings are arbitrarily shown for convenience of explanation, the present invention is not necessarily limited to what is shown in the drawings.

먼저, 본 발명은 방식의 정보수집 기술, 소스코드 분석 기술, 서비스 연결정보 탐색 기술, 분석 데이터 조합 기술, 연결함수 매칭 기술 및 분석정보 시각화 기술이 구비된다.First, the present invention is equipped with a method of information collection technology, source code analysis technology, service connection information search technology, analysis data combination technology, connection function matching technology, and analysis information visualization technology.

한편 본 발명은 상기의 구성부를 적용함에 있어 다양하게 변형될 수 있고 여러 가지 형태를 취할 수 있다.Meanwhile, the present invention can be variously modified and take various forms when applying the above-mentioned components.

그리고 본 발명은 상기의 상세한 설명에서 언급되는 특별한 형태로 한정되는 것이 아닌 것으로 이해되어야 하며, 오히려 첨부된 청구범위에 의해 정의되는 본 발명의 정신과 범위 내에 있는 모든 변형물과 균등물 및 대체물을 포함하는 것으로 이해되어야 한다.And it should be understood that the present invention is not limited to the particular form mentioned in the above detailed description, but rather includes all modifications, equivalents and substitutes within the spirit and scope of the present invention as defined by the appended claims. It should be understood as

상기와 같이 구성된 본 발명 일반 애플리케이션을 서비스형 소프트웨어 애플리케이션으로 변환하기 위한 자동 분석 방법의 작용효과를 설명하면 다음과 같다.The effect of the automatic analysis method for converting the general application of the present invention configured as above into a service-type software application is explained as follows.

우선, 본 발명은 레가시 환경에서 일반적인 3-Tier(WEB/WAS/DB)의 응용프로그램을 IaaS/PaaS 운영환경의 SaaS Application으로 자동 변환하기 위해서 소스 분석 및 Workload를 배포하기 위한 클라우드 전환 분석 기술을 제공하는 것이다.First, the present invention provides a cloud conversion analysis technology for source analysis and workload distribution to automatically convert a typical 3-tier (WEB/WAS/DB) application in a legacy environment to a SaaS application in an IaaS/PaaS operating environment. It is done.

이를 위해 본 발명에 적용된 도 1 은 일반 Web Application의 구성도로, SaaS Application으로 자동 변환하기 위한 레가시 환경의 일반 Application은 사용자가 개발한 프론트엔드(UI), 백엔드(API)와 서비스 프로그램 (데이터베이스, 메시지큐, Redis, ETC)의 3-Tier(WEB/WAS/DB)구조의 정형화된 담당역할로 분리할 수 있다.For this purpose, Figure 1 applied to the present invention is a configuration diagram of a general Web Application. A general application in a legacy environment for automatic conversion to SaaS Application includes a front-end (UI), back-end (API) and service programs (database, message) developed by the user. It can be separated into standardized roles in a 3-tier (WEB/WAS/DB) structure (Queue, Redis, ETC).

또한 도 2 는 일반 Application의 정보를 수집에서부터 분석한 결과를 조회하는 일련의 과정을 표현한 흐름도를 보인 것이다.In addition, Figure 2 shows a flowchart expressing a series of processes from collecting general application information to querying the analysis results.

그리고 도 3 은 일반 Application 백엔드(API)의 소스코드에서 Postgre SQL(Database) 서비스를 호출한 연결 정보가 포함되어 있는 소스코드의 함수 예시도로, 서비스 연결정보 탐색을 보인 것이다.And Figure 3 is an example function diagram of the source code that includes connection information for calling the Postgre SQL (Database) service from the source code of the general application backend (API), showing service connection information search.

또한 도 4 는 레가시 환경과 SaaS 전환 예측 맵을 비교하여 조회한 도면을 보인 것이다.Additionally, Figure 4 shows a diagram comparing the legacy environment and the SaaS conversion prediction map.

이하에서 상기한 본 발명 일반 애플리케이션을 서비스형 소프트웨어 애플리케이션으로 변환하기 위한 자동 분석 방법을 보다 구체적으로 설명하면 다음과 같다.Below, the automatic analysis method for converting the general application of the present invention into a service-type software application will be described in more detail as follows.

먼저, 본 발명은 일반 애플리케이션을 서비스형 소프트웨어 애플리케이션으로 변환하기 위한 자동 분석 방법을 컴퓨팅 장치에서 수행하는 것으로 다음의 각 단계를 거치게 된다.First, the present invention involves performing an automatic analysis method on a computing device to convert a general application into a service-type software application, and goes through the following steps.

즉, 본 발명은 (a) 일반 애플리케이션 실행환경을 Agentless(SSH;Secure Shell)방식으로 원격으로 접속하는 단계를 거친다.That is, the present invention goes through the steps of (a) remotely accessing a general application execution environment using Agentless (SSH; Secure Shell) method.

이때 상기 (a)단계는 도 1 에 도시된 바와 같이 일반 Web Application인 경우로 SaaS Application으로 자동 변환하기 위한 레가시 환경의 일반 Application은 사용자가 개발한 프론트엔드(UI), 백엔드(API)와 서비스 프로그램(예; 데이터베이스, 메시지큐, Redis, ETC)의 3-Tier(WEB/WAS/DB)구조의 정형화된 담당 역할로 분리할 수 있다.At this time, step (a) is a case of a general web application as shown in Figure 1. The general application in the legacy environment for automatic conversion to SaaS Application includes the front-end (UI), back-end (API) and service program developed by the user. It can be separated into standardized roles in a 3-tier (WEB/WAS/DB) structure (e.g. database, message queue, Redis, ETC).

예를 들면 일반 Application이 프론트엔드는 VueJS 프레임워크를 사용한 WEB UI 이고, 백엔드로 Spring Boot로 사용하여 개발한 API이며, Session관리의 연속성 및 일관성 유지를 위해 Session정보를 Redis에 저장하고, 사용자 데이터는 Postgresql라는 데이터베이스에 저장되는 일반 Application이 있다.For example, the front end of a general application is WEB UI using the VueJS framework, and the back end is an API developed using Spring Boot. Session information is stored in Redis to maintain continuity and consistency of session management, and user data is stored in Redis. There is a general application that is stored in a database called PostgreSQL.

또한 본 발명은 (b) 일반 애플리케이션 수집 Script 실행을 System CLI Shell 방식의 수집 Script로 실행하는 단계를 거친다.In addition, the present invention goes through the step of (b) executing the general application collection script as a System CLI Shell type collection script.

이때 상기 (b) 단계는 Remote Agent(Agentless 방식)에 의한 정보 수집으로 아래 표 1 과 같이 일반 Application이 실행 중인 레가시 환경에의 다양한 실행환경의 각종 정보를 수집하기 위해서 Agentless 방식의 SSH접속을 하여 System CLI Shell 기반의 Script를 수행하고 결과를 수집하는 Remote Agent를 사용한다. Remote Agent를 통해 다음 자산정보 및 성능 정보를 수집한다.At this time, step (b) above is information collection by Remote Agent (Agentless method), and as shown in Table 1 below, an agentless SSH connection is used to collect various information on various execution environments in the legacy environment where general applications are running. Uses Remote Agent, which executes CLI shell-based script and collects the results. The following asset information and performance information are collected through Remote Agent.

서버 구분Server classification OSOS CPUCPU MemoryMemory DiskDisk CPU UsageCPU Usage Memory UsageMemory Usage 사용자WEB서버User WEB server Ubuntu 14.04Ubuntu 14.04 8core8core 8GB8GB 100G100G 사용률utilization 사용률utilization 사용자API서버User API server Ubuntu 14.04Ubuntu 14.04 4core4core 8GB8GB 40G40G 사용률utilization 사용률utilization Database서버Databaseserver Ubuntu 14.04Ubuntu 14.04 4core4core 8GB8GB 40G40G 사용률utilization 사용률utilization 메시지큐서버Message queue server Ubuntu 14.04Ubuntu 14.04 4core4core 4GB4GB 20G20G 사용률utilization 사용률utilization

본 발명은 상기 수집된 정보를 기반으로 OS정보 및 CPU, Memory, Disk의 인프라에 대한 기본 정보를 수집한다.The present invention collects basic information about OS information and CPU, memory, and disk infrastructure based on the collected information.

그리고 본 발명은 (c) 일반 애플리케이션의 실행환경 및 서비스 환경 정보를 수집하는 단계를 거친다.Then, the present invention goes through the step (c) of collecting execution environment and service environment information of general applications.

이때 상기 (c) 단계는 아래 표 2, 3 과 같이 레가시 운영환경의 일반 Application을 클라우드 환경의 SaaS Application으로 전환 하기 위해서는 일반 Application의 실행환경(Runtime-Environment)과 서비스의 종류 및 버전 정보 등 보다 더 상세한 정보를 수집하여야 한다.At this time, step (c) above requires more than the runtime-environment of the general application and the type and version information of the service in order to convert a general application in the legacy operating environment to a SaaS application in a cloud environment, as shown in Tables 2 and 3 below. Detailed information must be collected.

Application의 실행환경(Runtime Environment) 정보Application runtime environment information

Process 명Process name 개발언어Development language 실행환경 VersionExecution environment Version 담당 역할role 사용자WEB UIUserWEB UI VueJSVueJS JVM 17JVM 17 FrontendFrontend 사용자APIUser API Java/SpringBootJava/SpringBoot JVM 17JVM 17 BackendBackend

서비스(Service) 환경 정보Service environment information

Process 명Process name VersionVersion 서비스 구분Service category RedisRedis 5.0.65.0.6 메시지큐message queue PostgreSQLPostgreSQL 8.08.0 DatabaseDatabase

상기 일반 Application의 실행환경(Runtime Environment)정보 및 서비스 환경정보는 Remote Agent를 사용하여 Agentless방식으로 원격 접속한 후 System CLI Shell기반의 Script를 실행하고 수집하여 분석한다. Remote Agent는 Process Level에서 수집된 실행파일 및 구성파일을 참조하여 일반 Application의 실행환경(Runtime Environment)정보 및 서비스 환경정보를 분석하게 된다. 수집된 정보를 분석한 결과를 보면 사용자 WEB UI는 VueJS라는 NodeJS계열의 프레임워크를 사용하여 개발하였고, 사용자 API는 Java기반의 SpringBoot를 사용하였으며 사용하는 서비스는 Session관리를 위해 Redis라는 메세지큐 서비스를 적용하였으며, 사용자 데이터의 저장은 PostgreSQL이라는 DBMS를 적용한 것 등을 분석하여 환경정보DB에 저장 한다.The runtime environment information and service environment information of the general application are collected and analyzed by remotely accessing the agentless method using a remote agent and executing a System CLI Shell-based script. Remote Agent analyzes runtime environment information and service environment information of general applications by referring to executable files and configuration files collected at the process level. According to the results of analyzing the collected information, the user WEB UI was developed using a NodeJS-based framework called VueJS, the user API used Java-based SpringBoot, and the service used is a message queue service called Redis for session management. The user data is stored in the environmental information DB by analyzing the application of a DBMS called PostgreSQL.

또한 본 발명은 (d) 일반 애플리케이션의 실행환경 및 서비스 환경 정보를 저장하는 단계를 거친다.Additionally, the present invention goes through the step of (d) storing the execution environment and service environment information of the general application.

그리고 본 발명은 (e) 일반 애플리케이션이 소스코드를 소스관리도구(Git)에서 다운로드하여 분석 및 저장하는 단계를 거치는 것으로, 이는 일반 Application의 소스코드 분석으로, 소스코드 분석의 목적은 일반 Application의 백엔드(API)와 서비스의 연결 정보를 실질적으로 검증하기 위함이다.In addition, the present invention goes through the steps of (e) the general application downloading the source code from the source management tool (Git), analyzing and storing it. This is the source code analysis of the general application, and the purpose of the source code analysis is the backend of the general application. This is to substantially verify the connection information between the (API) and the service.

이때 상기 일반 Application의 백엔드(API) 소스코드를 관리하는 도구(예시: Git등)에서 가장 최근(Master branch)의 소스코드를 다운로드하고 분석을 위해서 저장한다. 소스코드의 분석을 위해서 저장된 소스코드의 정의된 모든 함수에 대해서 Tagging을 하며, 일반 Application의 소스코드를 분석하여 일반 Application의 백엔드(API)가 사용하고 있는 실직적인 서비스(Service)의 특정 함수를 호출(call) 하게 되는 부분을 탐색하여 서비스의 정확한 연결 정보를 검증하게 된다. At this time, the most recent (Master branch) source code is downloaded from a tool (e.g. Git, etc.) that manages the backend (API) source code of the general application and saved for analysis. To analyze the source code, tag all functions defined in the saved source code, analyze the source code of the general application, and call a specific function of the practical service (Service) used by the backend (API) of the general application. The exact connection information of the service is verified by exploring the part where the call is made.

또한 본 발명은 (f) 저장된 소스 코드의 함수를 Tagging하는 단계를 거치는 것으로, 이는 소스코드에서 정의된 함수에 Tag를 생성하여 함수의 위치를 쉽게 인식 할 수 있게 인덱싱 하는 것이다.In addition, the present invention goes through the step of (f) tagging the function of the stored source code, which creates a tag on the function defined in the source code and indexes the location of the function so that the function can be easily recognized.

이때 상기 소스코드 분석기는 저장된 소스코드의 선언된 전체 함수에 대해서 아래 표 4 와 같은 tagging을 만든다.At this time, the source code analyzer creates tagging as shown in Table 4 below for all functions declared in the stored source code.

Tag명Tag name 파일명file name 라인수number of lines 파일내의 정의된 형식Defined format in file Class.forNameClass.forName LoadDriver.javaLoadDriver.java 2323 Class.forName("org.postgresql.Driver");Class.forName("org.postgresql.Driver"); Class.forPasswordClass.forPassword LoadDriver.javaLoadDriver.java 7878 Class.forPassword("org.postgresql.Driver");Class.forPassword("org.postgresql.Driver"); Class.forProjectClass.forProject LoadDriver.javaLoadDriver.java 9797 Class.forProject("org.postgresql.Driver");Class.forProject("org.postgresql.Driver"); Class.forClusterClass.forCluster LoadDriver.javaLoadDriver.java 123123 Class.forCluster("org.postgresql.Driver");Class.forCluster("org.postgresql.Driver"); Class.forNameSpaceClass.forNameSpace LoadDriver.javaLoadDriver.java 157157 Class.forNameSpace("org.postgresql.Driver");Class.forNameSpace("org.postgresql.Driver"); Class.forAccountClass.forAccount LoadDriver.javaLoadDriver.java 256256 Class.forAccount("org.postgresql.Driver");Class.forAccount("org.postgresql.Driver");

그리고 본 발명은 (g) 일반 애플리케이션의 소스 코드에서 서비스 연결정보를 탐색하는 단계를 거치는 것으로, 이는 소스코드 분석기가 저장된 일반 Application의 백엔드(API) 소스코드 모든 함수에 대해 Tagging을 한 후에는 일반 Application 백엔드(API)의 소스코드에서 서비스(Service)의 특정 함수를 호출(call)한 연결정보를 탐색한다.And, the present invention goes through the step of (g) searching for service connection information in the source code of a general application, which means that after tagging all functions of the backend (API) source code of a general application where the source code analyzer is stored, the general application Search for connection information that calls a specific function of the service in the source code of the backend (API).

이때 상기 일반 Application은 도 3 과 같이 백엔드(API)의 소스코드에서 PostgreSQL(Database) 서비스를 호출한 연결 정보가 포함되어 있는 소스코드의 함수 이다.At this time, the general application is a function of the source code that includes connection information calling the PostgreSQL (Database) service from the source code of the backend (API), as shown in Figure 3.

또한 본 발명은 (h) 일반 애플리케이션의 환경정보와 소스 코드에서 탐색된 연결정보를 데이터로 분석 조합하는 단계를 거치는 것으로, 이는 다양하게 수집되고 분석된 정보를 조합(Merge)하여 보다 정확한 정보를 구축하는 단계로, 우선 환경정보 DB에 저장되어 있는 일반 Application의 실행환경(Runtime Environment)정보 및 서비스 환경정보를 가져오고, 소스코드 분석기가 일반 Application 백엔드(API)의 소스코드에서 서비스(Service)의 특정 함수를 호출(call)한 연결정보 탐색 결과를 조합하여 정확한 연결함수의 정보를 생성한다.In addition, the present invention goes through the step of (h) analyzing and combining the environment information of the general application and the connection information discovered from the source code into data, which builds more accurate information by combining (merging) various collected and analyzed information. As a step, first, the runtime environment information and service environment information of the general application stored in the environment information DB are retrieved, and the source code analyzer specifies the service from the source code of the general application backend (API). Accurate connection function information is generated by combining the connection information search results that call the function.

그리고 본 발명은 (i) 연결함수를 등록하는 단계를 거치는 것으로, 이는 연결함수 매칭으로, 분석 데이터 조합을 통해 생성한 연결함수의 정보를 이용하여 연결함수 매칭을 판단한다. 서비스에 대한 정확한 연결정보를 포함하는 연결함수를 탐색하기 위해 연결함수 매칭 작업을 수행하고 만약 검출이 되지 않으면 LLM(ChatGPT)에 언어별 코드에 대한 질의를 한다.In addition, the present invention goes through the step of (i) registering a connection function, which is connection function matching, and connection function matching is determined using information on the connection function created through analysis data combination. A connection function matching task is performed to search for a connection function that contains accurate connection information for the service, and if it is not detected, a query is made to LLM (ChatGPT) for language-specific codes.

예를 들면 Postgre SQL에 연결하기 위한 java source를 작성 Restful API로 요청하면 질의 응답에 대한 결과 중에 소스 코드가 응답이 온다.For example, if you create a java source to connect to Postgre SQL and request a Restful API, the source code is returned among the query response results.

결과 중에 postgresql 관련된 예측 함수는 아래 표 5 의 Class.forName("org.postgresql.Driver"); 소스코드에서 매칭한다.Among the results, the prediction function related to postgresql is Class.forName("org.postgresql.Driver"); in Table 5 below. Match in source code.

태그명tag name ExpressionExpression componentcomponent Class.forNameClass.forName Postgresqlpostgresql PosgreSQLPosgreSQL Class.forPasswordClass.forPassword Postgresqlpostgresql PosgreSQLPosgreSQL Class.forProjectClass.forProject Postgresqlpostgresql PosgreSQLPosgreSQL Class.forClusterClass.forCluster Postgresqlpostgresql PosgreSQLPosgreSQL Class.forNameSpaceClass.forNameSpace Postgresqlpostgresql PosgreSQLPosgreSQL Class.forAccountClass.forAccount Postgresqlpostgresql PosgreSQLPosgreSQL

상기 매칭 작업을 거친 결과로 연결함수가 검출이 되지 않았다면 LLM(ChatGPT)에 언어별 코드에 대한 질의를 하고 얻은 예측된 연결 함수와 표현식(Expression)은 환경정보 DB에 저장이 되고 다시 분석 데이터 조합 단계를 거쳐 연결함수 매칭을 수행하는 반복 작업을 진행하여 최종적으로 분석된 정확한 결과를 조회하게 된다.If the connection function is not detected as a result of the above matching process, the predicted connection function and expression obtained by querying LLM (ChatGPT) for the code for each language are stored in the environment information DB and then again in the analysis data combination stage. Through this, the repeated task of performing connection function matching is performed, and the accurate final analysis results are viewed.

마지막으로 본 발명은 (j) 연결 함수 매칭으로 컴포넌트 분석정보를 Topology Map으로 시각화하여 조회하는 단계를 거치는 것으로, 이는 분석정보 시각화로, 연결 함수의 매칭 작업이 성공적으로 수행이 되어 검출된 정형화된 분석정보를 Topology Map으로 시각화하여 레가시 환경과 SaaS 전환 예측 맵을 비교하여 조회한다.(도4)Lastly, the present invention goes through the step of visualizing and querying the component analysis information as a Topology Map through (j) connection function matching. This is analysis information visualization, which is a standardized analysis detected by successfully performing the matching task of the connection function. Information is visualized as a topology map to compare and query the legacy environment and SaaS conversion prediction map (Figure 4).

상기와 같이 본 발명은 레가시 환경에서 일반적인 3-Tier(WEB/WAS/DB)의 응용프로그램을 IaaS/PaaS 운영환경의 SaaS Application으로 자동 변환하기 위해서 소스 분석 및 Workload를 배포하기 위한 클라우드 전환 분석 기술을 제공하고, 소스 개발자의 개입이 없이 소스코드를 분석하며, 응용프로그램 운영자는 클라우드에 전환 및 지식이 전무해도 쉽게 클라우드 IaaS/PaaS 환경으로 전환할 수 있도록 한 것이고, Application 서비스 관리자는 클라우드 환경에서 안정적인 SaaS 서비스를 유지 및 관리할 수 있도록 한 것이고, Agentless 방식의 정보수집을 통해 운영중인 Application의 어떠한 부하나 간섭을 주지 않고 운영환경 정보를 수집할 수 있도록 한 것이고, 소스코드 분석은 Application과 서비스의 연결정보를 분석하는 과정으로 소스 코드의 함수를 태깅하고 서비스 연결정보를 탐색하여 분석 정보를 수집할 수 있어 유지보수 개발자나 엔지니어가 소스코드를 분석하는 복잡하고 어려운 과정을 쉽게 단순화 해주도록 한 것이고, 수집된 운영환경 정보와 소스코드 데이터를 분석하여 조합하고, 연결 함수를 매칭하여 정형화된 분석 결과를 구성하고 시각화하여 Application 서비스 관리자에게 편이성을 제공할 수 있도록 한 효과를 제공하게 된다.As described above, the present invention uses cloud conversion analysis technology for source analysis and workload distribution to automatically convert a typical 3-tier (WEB/WAS/DB) application in a legacy environment to a SaaS application in an IaaS/PaaS operating environment. It provides and analyzes source code without the intervention of source developers, and allows application operators to easily switch to a cloud IaaS/PaaS environment even if they have no knowledge or knowledge about the cloud. Application service managers provide stable SaaS in a cloud environment. It is designed to maintain and manage the service, and through agentless information collection, it is possible to collect operating environment information without any load or interference on the running application, and source code analysis provides connection information between the application and the service. In the process of analyzing the source code, analysis information can be collected by tagging the function of the source code and exploring service connection information, allowing maintenance developers or engineers to easily simplify the complex and difficult process of analyzing the source code. It provides convenience to application service managers by analyzing and combining operating environment information and source code data, and matching connection functions to construct and visualize standardized analysis results.

본 발명 일반 애플리케이션을 서비스형 소프트웨어 애플리케이션으로 변환하기 위한 자동 분석 방법의 기술적 사상은 실제로 동일결과를 반복 실시 가능한 것으로, 특히 이와 같은 본원발명을 실시함으로써 기술발전을 촉진하여 산업발전에 이바지할 수 있어 보호할 가치가 충분히 있다.The technical idea of the automatic analysis method for converting a general application into a service-type software application of the present invention is that the same result can be repeatedly performed in practice, and in particular, by implementing the present invention, it can promote technological development and contribute to industrial development, thereby providing protection. It's well worth doing.

Claims (5)

일반 애플리케이션을 서비스형 소프트웨어 애플리케이션으로 변환하기 위한 자동 분석 방법을 컴퓨팅 장치에서 수행하는 것으로,
(a) 일반 애플리케이션 실행환경을 Agentless(SSH;Secure Shell)방식으로 원격으로 접속하는 단계;
(b) 일반 애플리케이션 수집 Script 실행을 System CLI Shell 방식의 수집 Script로 실행하는 단계;
(c) 일반 애플리케이션의 실행환경 및 서비스 환경 정보를 수집하는 단계;
(d) 일반 애플리케이션의 실행환경 및 서비스 환경 정보를 저장하는 단계;
(e) 일반 애플리케이션이 소스코드를 소스관리도구(Git)에서 다운로드하여 분석 및 저장하는 단계;
(f) 저장된 소스 코드의 함수를 Tagging하는 단계;
(g) 일반 애플리케이션의 소스 코드에서 서비스 연결정보를 탐색하는 단계;
(h) 일반 애플리케이션의 환경정보와 소스 코드에서 탐색된 연결정보를 데이터로 분석 조합하는 단계;
(i) 연결함수를 등록하는 단계; 및
(j) 연결 함수 매칭으로 컴포넌트 분석정보를 Topology Map으로 시각화하여 조회하는 단계;가 포함됨을 특징으로 하는 일반 애플리케이션을 서비스형 소프트웨어 애플리케이션으로 변환하기 위한 자동 분석 방법.
Performing an automatic analysis method on a computing device to convert a general application into a software-as-a-service application,
(a) remotely accessing a general application execution environment using Agentless (SSH; Secure Shell) method;
(b) executing the general application collection script as a System CLI Shell type collection script;
(c) collecting execution environment and service environment information of general applications;
(d) storing execution environment and service environment information of general applications;
(e) a step where the general application downloads the source code from a source management tool (Git), analyzes and stores it;
(f) Tagging the function of the stored source code;
(g) searching for service connection information in the source code of a general application;
(h) analyzing and combining the environment information of the general application and the connection information discovered from the source code into data;
(i) registering a connection function; and
(j) An automatic analysis method for converting a general application into a service-type software application, including the step of visualizing and querying the component analysis information as a topology map by matching the connection function.
청구항 1 에 있어서,
상기 (e) 일반 애플리케이션이 소스코드를 소스관리도구(Git)에서 다운로드하여 분석 및 저장하는 단계는,
일반 Application의 소스코드 분석으로, 소스코드 분석의 목적은 일반 Application의 백엔드(API)와 서비스의 연결 정보를 실질적으로 검증하기 위함을 특징으로 하는 일반 애플리케이션을 서비스형 소프트웨어 애플리케이션으로 변환하기 위한 자동 분석 방법.
In claim 1,
The step (e) where the general application downloads the source code from the source management tool (Git), analyzes and stores it,
Source code analysis of a general application. The purpose of the source code analysis is to substantially verify the connection information between the backend (API) of the general application and the service. An automatic analysis method for converting a general application into a service-type software application. .
청구항 1 에 있어서,
상기 (f) 저장된 소스 코드의 함수를 Tagging하는 단계는,
소스코드에서 정의된 함수에 Tag를 생성하여 함수의 위치를 쉽게 인식 할 수 있게 인덱싱 함을 특징으로 하는 일반 애플리케이션을 서비스형 소프트웨어 애플리케이션으로 변환하기 위한 자동 분석 방법.
In claim 1,
The step (f) of tagging the function of the stored source code is,
An automatic analysis method for converting a general application into a service-type software application, which is characterized by creating a tag for the function defined in the source code and indexing the location of the function so that it can be easily recognized.
청구항 1 에 있어서,
상기 (g) 일반 애플리케이션의 소스 코드에서 서비스 연결정보를 탐색하는 단계는,
소스코드 분석기가 저장된 일반 Application의 백엔드(API) 소스코드 모든 함수에 대해 Tagging을 한 후에는 일반 Application 백엔드(API)의 소스코드에서 서비스(Service)의 특정 함수를 호출(call)한 연결정보를 탐색함을 특징으로 하는 일반 애플리케이션을 서비스형 소프트웨어 애플리케이션으로 변환하기 위한 자동 분석 방법.
In claim 1,
The step (g) of searching for service connection information in the source code of a general application is,
After tagging all functions in the backend (API) source code of the general application where the source code analyzer is stored, search for connection information that called a specific function of the service in the source code of the general application backend (API). An automatic analysis method for converting a general application into a service-type software application.
청구항 1 에 있어서,
상기 (h) 일반 애플리케이션의 환경정보와 소스 코드에서 탐색된 연결정보를 데이터로 분석 조합하는 단계는,
다양하게 수집되고 분석된 정보를 조합(Merge)하여 보다 정확한 정보를 구축하는 단계로, 우선 환경정보 DB에 저장되어 있는 일반 Application의 실행환경(Runtime Environment)정보 및 서비스 환경정보를 가져오고, 소스코드 분석기가 일반 Application 백엔드(API)의 소스코드에서 서비스(Service)의 특정 함수를 호출(call)한 연결정보 탐색한 결과를 조합하여 정확한 연결함수의 정보를 생성함을 특징으로 하는 일반 애플리케이션을 서비스형 소프트웨어 애플리케이션으로 변환하기 위한 자동 분석 방법.
In claim 1,
The step (h) of analyzing and combining the environment information of the general application and the connection information discovered from the source code into data,
This is a step to build more accurate information by merging various collected and analyzed information. First, the runtime environment information and service environment information of general applications stored in the environment information DB are retrieved, and the source code is retrieved. A service-type general application characterized in that the analyzer generates accurate connection function information by combining the results of searching for connection information that calls a specific function of the service from the source code of the general application backend (API). Automated analysis methods for translation into software applications.
KR1020230162220A 2023-11-21 2023-11-21 Automatic analysis method for converting general applications into software-as-a-service applications KR102614060B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020230162220A KR102614060B1 (en) 2023-11-21 2023-11-21 Automatic analysis method for converting general applications into software-as-a-service applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020230162220A KR102614060B1 (en) 2023-11-21 2023-11-21 Automatic analysis method for converting general applications into software-as-a-service applications

Publications (1)

Publication Number Publication Date
KR102614060B1 true KR102614060B1 (en) 2023-12-15

Family

ID=89124770

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020230162220A KR102614060B1 (en) 2023-11-21 2023-11-21 Automatic analysis method for converting general applications into software-as-a-service applications

Country Status (1)

Country Link
KR (1) KR102614060B1 (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003316574A (en) * 2002-04-24 2003-11-07 Nippon Telegr & Teleph Corp <Ntt> Automatic program generation device
KR20120045586A (en) * 2010-10-29 2012-05-09 한국전자통신연구원 Apparatus and method for setting saas(software as a service) applications for multi-tenant
KR102134309B1 (en) 2013-09-12 2020-07-16 윅스.컴 리미티드 System and method for automated conversion of interactive sites and applications to support mobile and other display environments
KR102271829B1 (en) * 2021-02-24 2021-07-02 주식회사 오픈소스컨설팅 Method for analyzing cloud migration data of data center using system process information and system thereof
KR102323276B1 (en) 2021-03-18 2021-11-05 세종대학교산학협력단 Method and apparatus for converting application
KR102439778B1 (en) 2018-04-23 2022-09-05 삼성에스디에스 주식회사 Application converting apparatus and method for improving security
KR102471221B1 (en) 2016-11-14 2022-11-28 삼성에스디에스 주식회사 System and method for converting application
KR102483361B1 (en) * 2022-02-28 2022-12-30 주식회사 디노아이티 System for intelligent migration in PaaS and method thereof

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003316574A (en) * 2002-04-24 2003-11-07 Nippon Telegr & Teleph Corp <Ntt> Automatic program generation device
KR20120045586A (en) * 2010-10-29 2012-05-09 한국전자통신연구원 Apparatus and method for setting saas(software as a service) applications for multi-tenant
KR102134309B1 (en) 2013-09-12 2020-07-16 윅스.컴 리미티드 System and method for automated conversion of interactive sites and applications to support mobile and other display environments
KR102469977B1 (en) 2013-09-12 2022-11-22 윅스.컴 리미티드 System and method for automated conversion of interactive sites and applications to support mobile and other display environments
KR102471221B1 (en) 2016-11-14 2022-11-28 삼성에스디에스 주식회사 System and method for converting application
KR102439778B1 (en) 2018-04-23 2022-09-05 삼성에스디에스 주식회사 Application converting apparatus and method for improving security
KR102271829B1 (en) * 2021-02-24 2021-07-02 주식회사 오픈소스컨설팅 Method for analyzing cloud migration data of data center using system process information and system thereof
KR102323276B1 (en) 2021-03-18 2021-11-05 세종대학교산학협력단 Method and apparatus for converting application
KR102483361B1 (en) * 2022-02-28 2022-12-30 주식회사 디노아이티 System for intelligent migration in PaaS and method thereof

Similar Documents

Publication Publication Date Title
US11789715B2 (en) Systems and methods for transformation of reporting schema
US11663110B2 (en) Analysis to check web API code usage and specification
US9811325B2 (en) Systems and methods for dynamically replacing code objects for code pushdown
KR20170081239A (en) Impact analysis
CN112394942B (en) Distributed software development compiling method and software development platform based on cloud computing
CN112287013B (en) Data conversion method and adapter
CN107797823B (en) Business rule management method and device, storage medium and computer equipment
US8171045B2 (en) Record based code structure
An et al. An empirical study of crash-inducing commits in Mozilla Firefox
CN111008020A (en) Method for analyzing logic expression into general query statement
US9411618B2 (en) Metadata-based class loading using a content repository
US20200097260A1 (en) Software application developer tools platform
US9372690B2 (en) Analysis of data integration job
CN113987337A (en) Search method, system, equipment and storage medium based on componentized dynamic arrangement
CN113901083A (en) Heterogeneous data source operation resource analysis positioning method and equipment based on multiple analyzers
CN111796855B (en) Incremental version updating method and device, storage medium and computer equipment
KR102614060B1 (en) Automatic analysis method for converting general applications into software-as-a-service applications
CN116010461A (en) Data blood relationship analysis method and device, storage medium and electronic equipment
CN115544089A (en) Data processing method, device, equipment and storage medium
CN111151008B (en) Verification method and device for game operation data, configuration background and medium
CN113419740A (en) Program data stream analysis method and device, electronic device and readable storage medium
CN113297081A (en) Execution method and device of continuous integration assembly line
US20130111450A1 (en) Runtime environment and method for non-invasive monitoring of software applications
US11740995B2 (en) Source quality check service
CN116578585B (en) Data query method, device, electronic equipment and storage medium

Legal Events

Date Code Title Description
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant