KR100426315B1 - Analysis method and apparatus for extraction of ejb component from servlet program - Google Patents

Analysis method and apparatus for extraction of ejb component from servlet program Download PDF

Info

Publication number
KR100426315B1
KR100426315B1 KR10-2002-0002486A KR20020002486A KR100426315B1 KR 100426315 B1 KR100426315 B1 KR 100426315B1 KR 20020002486 A KR20020002486 A KR 20020002486A KR 100426315 B1 KR100426315 B1 KR 100426315B1
Authority
KR
South Korea
Prior art keywords
information
servlet
analysis
ejb
program
Prior art date
Application number
KR10-2002-0002486A
Other languages
Korean (ko)
Other versions
KR20030062066A (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 KR10-2002-0002486A priority Critical patent/KR100426315B1/en
Publication of KR20030062066A publication Critical patent/KR20030062066A/en
Application granted granted Critical
Publication of KR100426315B1 publication Critical patent/KR100426315B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/221Parsing markup language streams
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 서블릿 프로그램에서 EJB 컴포넌트 추출을 위한 분석 장치 및 그 방법에 관한 것으로, 개시된 분석 장치는 서블릿 프로그램의 구조를 바탕으로 구축된 구조 지식 정보 DB와, 이 구조 지식 정보 DB를 이용하여 서블릿 프로그램의 구조를 분석하여 분석 정보 DB에 저장하는 구조 정보 처리기와, 서블릿 프로그램의 자바 코드에서 비즈니스 로직을 추출하고 SQL문과 HTML 태그에서는 SQL과 HTML 분석 정보를 추출하여 비즈니스 로직 정보 및 EJB 템플릿 정보를 분석 정보 DB에 저장하는 다중 언어 처리기를 포함하며, 서블릿에 포함된 SQL 언어를 분석하여 DB를 이용한 컴포넌트 추출을 위한 정보를 제공하여 컴포넌트 추출에 유용한 API(Application Program Interface) 라이브러리를 제공하고, HTML 언어를 분석함으로써 서블릿에 포함된 사용자 인터페이스(User Interface)에 대한 정보를 분석할 수 있는 이점이 있다.The present invention relates to an analysis apparatus for extracting an EJB component from a servlet program and a method thereof. The disclosed analysis apparatus includes a structural knowledge information DB constructed based on the structure of a servlet program, and a servlet program using the structural knowledge information DB. Structure information processor that analyzes structure and stores in analysis information DB, extracts business logic from Java code of servlet program, and extracts SQL and HTML analysis information from SQL statement and HTML tag to analyze business logic information and EJB template information It includes a multi-language handler that is stored in the library, analyzes the SQL language included in the servlet, provides information for component extraction using DB, provides API (Application Program Interface) library useful for component extraction, and analyzes HTML language. In the user interface included in the servlet There is an advantage to analyze the information.

Description

서블릿 프로그램에서 EJB 컴포넌트 추출을 위한 분석 장치 및 그 방법{ANALYSIS METHOD AND APPARATUS FOR EXTRACTION OF EJB COMPONENT FROM SERVLET PROGRAM}ANALYSIS METHOD AND APPARATUS FOR EXTRACTION OF EJB COMPONENT FROM SERVLET PROGRAM}

본 발명은 서블릿 프로그램에서 컴포넌트 추출을 위한 기법에 관한 것으로, 더욱 상세하게는 웹 기반의 어플리케이션에서 사용하는 웹 프로그램 언어 중의 하나인 서블릿에서 EJB 컴포넌트를 추출하기 위해 필요한 서블릿 프로그램 분석 장치 및 방법에 관한 것이다.The present invention relates to a technique for extracting components from a servlet program, and more particularly, to an apparatus and method for analyzing a servlet program required to extract EJB components from a servlet, which is one of web programming languages used in a web-based application. .

서블릿 프로그램 분석 분야는 크게 보면 기존의 레거시 프로그램을 새로운 시스템에 필요한 프로그램으로 바꾸는 레거시 시스템 현대화(Legacy System Modernization) 분야에 속한다.The field of servlet program analysis is largely in the field of legacy system modernization, which replaces legacy programs with those needed for new systems.

레거시 시스템의 현대화가 필요한 이유는 시스템의 환경이 변하거나 소프트웨어의 생산성의 향상을 위해 소프트웨어의 생산 기법이 변하기 때문이다. 특히 요즘처럼 급변하는 IT분야에서 시스템은 계속 변하기 때문에 레거시 시스템 현대화가 필요하다.The need for modernization of legacy systems is due to changes in the environment of the system or changes in the production techniques of the software to improve the productivity of the software. Especially in today's rapidly changing field of IT, legacy systems need to be modernized.

레거시 시스템 현대화 방법으로는 크게 재개발(Redevelopment), 변환(Transformation), 래핑(Wrapping) 등의 방법이 있다.Legacy system modernization methods include redevelopment, transformation, and wrapping.

재개발 방법은 기존 시스템과 같은 기능을 하는 시스템을 처음부터 새로 개발하는 방법을 말한다. 이는 소프트웨어공학 측면에서 재사용이 전혀 이뤄지지 않고 단지 기존 시스템은 새로운 시스템을 개발할 때 참고 자료의 역할만 할 뿐이기 때문에 상당히 비효율적이다.The redevelopment method is a method of newly developing a system that functions as an existing system from the beginning. This is quite inefficient because no reuse is done in software engineering, and existing systems only serve as a reference when developing new systems.

변환 방법은 기존 프로그램을 새로운 시스템의 소프트웨어 기법에 맞게 재추상화하여 새로운 프로그램으로 바꿈으로써 현대화를 이루는 방법으로 궁극적으로는 가장 효율적이나 안정성에 문제가 발생할 수 있다.The conversion method is a method of modernizing by re-abstracting an existing program to a software system of a new system and replacing it with a new program, which may ultimately be most efficient but may cause stability problems.

래핑 방법은 기존 시스템을 그대로 두고 새로운 시스템 환경 하에서 사용할 수 있도록 해 주는 방법으로 안정적으로 새로운 환경에서 기존 프로그램을 동작시킬 수는 있지만 소프트웨어의 발전 측면에서는 바람직하지 못하다.The wrapping method allows the existing program to be used in a new system environment while allowing the existing program to run stably in a new environment, but it is not desirable in terms of software development.

상기와 같은 레거시 시스템 현대화 방법 중 본 발명은 변환 방법을 사용할 때 필요한 기존 시스템 분석 기법에 속한다. 변환을 하기 위해서는 필연적으로 기존 프로그램에 대한 재추상화가 필요하고 이를 위해서는 기존 프로그램에 대한 분석 과정이 있어야 한다.Among the legacy system modernization methods as described above, the present invention belongs to the existing system analysis techniques required when using the transformation method. In order to convert, it is necessary to re-abstract the existing program, which requires an analysis of the existing program.

본 발명과 대비되는 종래 기술들을 살펴보면 다음과 같다.Looking at the prior art compared with the present invention.

대한민국 특허출원번호 제1998-047477호에는 "절차지향 프로그램을 객체지향 프로그램으로 변환하기 위한 분석 방법"이 개시되어 있다.Korean Patent Application No. 1998-047477 discloses an analysis method for converting a procedure-oriented program into an object-oriented program.

동호의 발명은, 원시 절차지향 프로그램 코드를 파싱하여 매개 언어 형식으로 변환하여 저장한 후 이를 이용하여 객체를 추출하여 프로그램을 시각화하거나 객체지향 프로그램 코드를 생성하기 위해 필요한 정보를 라이브러리 형태로 제공해 준다.The invention of the hoho, parsing the raw procedural-oriented program code, converts it into an intermediate language format, stores it, extracts an object using the same, and provides information necessary for visualizing a program or generating an object-oriented program code in a library form.

그러나, 이와 같은 선행 특허는 절차지향 프로그램에 대한 분석 방법으로는 적당하지만 웹 프로그램과 같이 코드가 유연하고 코드 안에 여러 언어가 포함된 경우에는 사용이 불가능한 문제점이 있었다.However, such a prior patent has a problem in that it is suitable as a method for analyzing a procedure-oriented program, but cannot be used when the code is flexible and multiple languages are included in the code, such as a web program.

한국정보처리학회 춘계 학술발표논문집 제8권 제1호 pp. 989-992에는 "서블릿의 EJB 변환 기법"이 개시되어 있다.Transactions of the Korea Information Processing Society Spring Conference 8, Volume. 989-992 discloses "Servlet EJB Conversion Scheme."

개시된 선행 논문은, 서블릿에서 EJB 컴포넌트로 변환하기 위해서 서블릿 분석을 사람이 도메인 분석을 하고 이와 같은 기능을 수행할 수 있는 시스템을 모델링 한 후 매핑을 함으로써 변환을 하는 방법이다.The disclosed prior paper is a method of converting a servlet analysis by mapping a servlet analysis to a human domain analysis and modeling a system capable of performing such a function.

그러나, 이와 같은 선행 논문은 각기 다른 도메인에 대해 공통적인 분석 기법을 적용할 수 없으며 시스템 모델링과 매핑에서도 자동화가 아니기 때문에 생산성이 떨어지는 문제점이 있었다.However, such a previous paper has a problem that productivity cannot be applied because common analysis techniques cannot be applied to different domains and system modeling and mapping are not automated.

본 발명은 이와 같은 종래의 문제점을 해결하기 위하여 제안한 것으로, 그 목적하는 바는 서블릿 프로그램 소스에서 재사용 가능한 컴포넌트 후보를 추출하여 자동으로 EJB 컴포넌트를 생성해 주는 과정에서 필요한 분석 정보를 제공해 주는 서블릿 프로그램에서 EJB 컴포넌트 추출을 위한 분석 장치를 제공하는 데 있다.The present invention has been proposed to solve such a conventional problem, and the object of the present invention is to provide an analysis information required in the process of automatically generating an EJB component by extracting a reusable component candidate from a servlet program source. To provide an analysis device for EJB component extraction.

본 발명의 다른 목적은, 서블릿을 대상으로 하여 컴포넌트 추출에 필요한 비즈니스 로직을 분석해 내고 서블릿 타입에 따라 각기 다른 분석 방법을 적용함으로써 컴포넌트 추출, 생성, 기존 프로그램의 정적 분석에 대해 정보를 제공하도록 한 서블릿 프로그램에서 EJB 컴포넌트 추출을 위한 분석 방법을 제공하는 데 있다.Another object of the present invention is to provide information on component extraction, generation, and static analysis of existing programs by analyzing business logic required for component extraction and applying different analysis methods according to the servlet type. The purpose is to provide an analysis method for extracting EJB components from a program.

이와 같은 목적을 실현하기 위한 본 발명의 한 견지로서 서블릿 프로그램에서 EJB 컴포넌트 추출을 위한 분석 장치는, 서블릿 프로그램의 구조를 바탕으로 구축된 구조 지식 정보 DB와, 상기 구조 지식 정보 DB를 이용하여 상기 서블릿 프로그램의 구조를 분석하여 분석 정보 DB에 저장하는 구조 정보 처리기와, 상기 서블릿 프로그램의 자바 코드에서 비즈니스 로직을 추출하고 SQL문과 HTML 태그에서는 SQL과 HTML 분석 정보를 추출하여 비즈니스 로직 정보 및 EJB 템플릿 정보를 상기 분석 정보 DB에 저장하는 다중 언어 처리기를 포함한다.In an aspect of the present invention for realizing the above object, an analysis apparatus for extracting an EJB component from a servlet program includes a structure knowledge information DB constructed based on a structure of a servlet program, and the servlet using the structure knowledge information DB. A structure information processor that analyzes the structure of the program and stores it in the analysis information DB, extracts business logic from Java code of the servlet program, and extracts SQL and HTML analysis information from SQL statements and HTML tags to obtain business logic information and EJB template information. It includes a multi-language processor for storing in the analysis information DB.

본 발명의 다른 견지로서 서블릿 프로그램에서 EJB 컴포넌트 추출을 위한 분석 방법은, 서블릿 프로그램을 입력받아 서블릿 프로그램의 구조 정보를 파싱한 후 파싱된 결과를 서블릿 타입에 따라 식별하는 제 1 단계와, 상기 식별된 서블릿 타입에 따라 각기 다른 비즈니스 로직을 추출해 내는 제 2 단계와, 상기 서블릿 프로그램에 포함된 SQL문의 존재 여부에 따라 SQL문이 있으면 SQL문 분석을 하는 제 3 단계와, 상기 서블릿 프로그램에 포함된 HTML 태그를 분석하여 사용자 인터페이스 정보를 분석해 내는 제 4 단계를 포함한다.According to another aspect of the present invention, an analysis method for extracting an EJB component from a servlet program includes a first step of receiving a servlet program, parsing the structural information of the servlet program, and identifying the parsed result according to the servlet type; A second step of extracting different business logic according to the servlet type, a third step of analyzing an SQL statement if there is an SQL statement in the servlet program, and an HTML tag included in the servlet program And analyzing the user interface to analyze the user interface information.

도 1은 본 발명에 따라 서블릿 프로그램에서 EJB 컴포넌트를 생성하는 시스템의 전체 구성도,1 is an overall configuration diagram of a system for generating an EJB component in a servlet program according to the present invention;

도 2는 도 1에 나타낸 서블릿 코드 분석기의 세부 구성 및 시스템의 추가 구성도,Figure 2 is a detailed configuration of the servlet code analyzer shown in Figure 1 and an additional configuration of the system,

도 3은 본 발명에 따른 서블릿 프로그램 분석 방법을 적용한 서블릿 프로그램 분석기에 대한 세부 구성도,3 is a detailed configuration diagram of a servlet program analyzer to which the servlet program analysis method according to the present invention is applied;

도 4는 본 발명에 따른 서블릿 프로그램 분석 과정을 전체적으로 나타낸 흐름도이다.4 is a flowchart illustrating an overall process of analyzing a servlet program according to the present invention.

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

100 : 서블릿 코드 101, 202 : 서블릿 코드 분석기100: servlet code 101, 202: servlet code analyzer

102, 206 : 분석 정보 DB 103 : 서블릿 정보 시각기102, 206: Analysis information DB 103: Servlet information visualizer

104 : EJB 컴포넌트 추출기 105 : EJB 컴포넌트 생성기104: EJB component extractor 105: EJB component generator

106 : EJB 코드 201, 300 : 서블릿 프로그램106: EJB code 201, 300: servlet program

203, 302 : 구조 지식 정보 DB 301 : 구조 정보 파서203, 302: structure knowledge information DB 301: structure information parser

303 : 다중 언어 파서 304 : 서블릿 타입 식별기303: multi-language parser 304: servlet type identifier

308 : 비즈니스 로직 추출기 309 : SQL문 분석기308: Business Logic Extractor 309: SQL Statement Analyzer

310 : UI 추출기310: UI Extractor

본 발명의 실시예로는 다수개가 존재할 수 있으며, 이하에서는 첨부한 도면을 참조하여 바람직한 실시예에 대하여 상세히 설명하기로 한다. 이 실시예를 통해 본 발명의 목적, 특징 및 이점들을 보다 잘 이해할 수 있게 된다.There may be a plurality of embodiments of the present invention. Hereinafter, preferred embodiments will be described in detail with reference to the accompanying drawings. This embodiment allows for a better understanding of the objects, features and advantages of the present invention.

본 발명의 기술 요지를 살펴보면, 서블릿 프로그램의 일반적인 구조를 바탕으로 구조 지식 정보 DB를 구축한 후 이를 참조하여 입력받은 서블릿 프로그램의구조 정보를 분석한다. 분석된 서블릿 프로그램의 구조에 따라 서블릿 타입을 식별하고 식별된 타입별로 각기 다른 비즈니스 로직 추출 단계를 거치게 되며, 비즈니스 로직 추출 후에는 SQL문과 HTML의 존재 여부에 따라 각기 SQL 분석기와 HTML 분석기를 통해 컴포넌트 추출 및 생성에 필요한 정보를 분석하여 제공해 준다.Referring to the technical gist of the present invention, after constructing the structure knowledge information DB based on the general structure of the servlet program, the structure information of the received servlet program is analyzed with reference thereto. The servlet type is identified according to the structure of the analyzed servlet program, and different business logic extraction steps are performed for each identified type.After extracting business logic, components are extracted through SQL and HTML analyzers according to the existence of SQL statements and HTML. And provides information by analyzing the information required for generation.

도 1은 서블릿 프로그램에서 EJB 컴포넌트를 생성하는 시스템의 전체 구성도로서, 본 발명에 따른 서블릿 프로그램 분석 방법이 적용될 전체 시스템이다.1 is an overall configuration diagram of a system for generating an EJB component in a servlet program, and is an overall system to which a servlet program analysis method according to the present invention is applied.

서블릿 코드 분석기(101)는 서블릿 코드(100)를 입력받아 서블릿 정보 시각기(103), EJB 컴포넌트 추출기(104), EJB 컴포넌트 생성기(105)에서 필요로 하는 정보를 분석해 낸 후 이를 분석 정보 DB(102)에 저장한다.The servlet code analyzer 101 receives the servlet code 100 and analyzes the information required by the servlet information viewer 103, the EJB component extractor 104, and the EJB component generator 105, and analyzes the information required by the servlet code 100. 102).

서블릿 정보 시각기(103)는 입력받은 서블릿 코드에 대한 정적 분석으로 서블릿의 구조 등에 대한 정보를 제공해 준다.The servlet information visual device 103 provides information about the structure of the servlet through static analysis of the received servlet code.

EJB 컴포넌트 추출기(104)는 분석된 비즈니스 로직과 SQL 정보들을 이용하여 EJB 컴포넌트를 추출한다.The EJB component extractor 104 extracts an EJB component using the analyzed business logic and SQL information.

EJB 컴포넌트 생성기(105)는 추출된 EJB 컴포넌트들을 EJB 컴포넌트 스펙에 맞춰 EJB 코드(106)를 생성한다.The EJB component generator 105 generates the EJB code 106 according to the extracted EJB components in accordance with the EJB component specification.

도 2는 서블릿 코드 분석기의 세부 구성 및 다른 도구에게 어떻게 분석된 정보를 제공해 주는지를 보여주는 구성도이다. 참조부호 202의 서블릿 코드 분석기는 도 1이 서블릿 코드 분석기(101)와 동일한 구성 요소이며, 206의 분석 정보 DB는 도 1의 분석 정보 DB(102)와 동일한 구성 요소이다.2 is a block diagram showing the detailed configuration of the servlet code analyzer and how to provide analyzed information to other tools. In FIG. 1, the servlet code analyzer 202 is identical to the servlet code analyzer 101, and the analysis information DB 206 is identical to the analysis information DB 102 of FIG. 1.

서블릿 코드 분석기(202)의 구조 정보 처리기(204)는 입력받은 서블릿 프로그램(201)의 구조를 구조 지식 정보 DB(203)를 이용하여 분석해 내고 이를 시각기 지원 라이브러리 생성기(207)에게 분석된 정보를 제공해 준다. 또한 분석된 구조 정보를 바탕으로 서블릿의 타입이 결정되고 실제 코드 파싱은 다중 언어 처리기(205)가 담당하게 된다.The structure information processor 204 of the servlet code analyzer 202 analyzes the structure of the received servlet program 201 using the structure knowledge information DB 203, and then analyzes the structure information of the servlet code analyzer 207 using the structure knowledge information DB 203. Provide. In addition, the type of the servlet is determined based on the analyzed structure information, and the multi-language processor 205 takes charge of actual code parsing.

서블릿 코드 분석기(202)의 다중 언어 처리기(205)는 자바 코드에서 비즈니스 로직을 추출하고 SQL문과 HTML 태그에서는 SQL과 HTML 분석 정보를 추출하여 분석 정보 DB(206)에 저장한다.The multi-language processor 205 of the servlet code analyzer 202 extracts business logic from Java code, and extracts SQL and HTML analysis information from SQL statements and HTML tags and stores them in the analysis information DB 206.

분석 정보 DB(206)에 저장된 정보 중 구조 정보는 시각기 지원 라이브러리 생성기(207)가 이용하여 서블릿 정보 시각기(103)에 제공된다.The structural information among the information stored in the analysis information DB 206 is provided to the servlet information visual device 103 by the visual aid support library generator 207.

비즈니스 로직 정보는 추출기 지원 라이브러리 생성기(208)에 의해 EJB 컴포넌트 추출기(104)에게 제공된다.Business logic information is provided to the EJB component extractor 104 by the extractor support library generator 208.

EJB 템플릿 정보는 생성기 지원 라이브러리 생성기(209)에 의해 EJB 컴포넌트 생성기(105)에게 제공된다.EJB template information is provided to the EJB component generator 105 by the generator support library generator 209.

도 3은 본 발명에 따른 서블릿 프로그램 분석 방법을 적용한 서블릿 프로그램 분석기에 대한 세부 구조도이다. 도 3에서 참조부호 300의 서블릿 프로그램은 도 2에 나타낸 참조부호 201의 서블릿 프로그램과 동일한 구성 요소이며, 도 3에서 참조부호 302의 구조 지식 정보 DB는 도 2에 나타낸 참조부호 203의 구조 지식 정보 DB와 동일한 구성 요소이다.3 is a detailed structural diagram of a servlet program analyzer to which the servlet program analysis method according to the present invention is applied. In FIG. 3, the servlet program 300 is the same component as the servlet program 201 of FIG. 2, and the structure knowledge information DB of 302 in FIG. 3 is the structure knowledge information DB of 203 shown in FIG. 2. Same component as.

구조 정보 처리기(204)는 구조 지식 정보 DB(302)를 이용하여 서블릿 프로그램의 구조를 파싱하는 구조 정보 파서(301)와, 이로부터 얻어진 정보를 이용하여서블릿의 타입을 식별하는 서블릿 타입 식별기(304)로 이루어진다.The structure information processor 204 is a structure information parser 301 for parsing the structure of the servlet program using the structure knowledge information DB 302, and a servlet type identifier 304 for identifying the type of the servlet using the information obtained therefrom. )

다중 언어 처리기(205)는 다중 언어를 파싱하는 다중 언어 파서(303)와, 파싱된 결과로부터 필요한 정보를 분석해내는 비즈니스 로직 추출기(308)와, SQL문 분석기(309)와, 사용자 인터페이스(User Interface; UI) 추출기(310)로 이루어진다. 다중 언어 파서(303)는 자바 코드를 파싱하는 자바 파서(305), SQL문을 파싱하는 SQL 파서(306), HTML 태그를 파싱하는 HTML 파서(307)로 이루어진다.The multi-language processor 205 includes a multi-language parser 303 for parsing multiple languages, a business logic extractor 308 for analyzing the necessary information from the parsed results, an SQL statement analyzer 309, and a user interface. A UI) extractor 310. The multi-language parser 303 includes a Java parser 305 for parsing Java code, an SQL parser 306 for parsing SQL statements, and an HTML parser 307 for parsing HTML tags.

자바 파서(305)로부터 파싱된 정보는 비즈니스 로직 추출기(308)에 의해서 비즈니스 로직이 추출되어 비즈니스 로직 정보 DB(311)에 저장되며, SQL문 분석기(309)에 의해서 분석된 SQL 관련 정보는 SQL 정보 DB(312)에 저장되고, UI 추출기(310)에 의해서 얻어진 UI 관련 정보는 UI 정보 DB(313)에 저장된다.The information parsed from the Java parser 305 is extracted by the business logic extractor 308 and stored in the business logic information DB 311, and the SQL-related information analyzed by the SQL statement analyzer 309 is SQL information. The UI related information stored in the DB 312 and obtained by the UI extractor 310 is stored in the UI information DB 313.

도 4는 본 발명에 따른 서블릿 프로그램 분석 과정을 전체적으로 나타낸 흐름도이다.4 is a flowchart illustrating an overall process of analyzing a servlet program according to the present invention.

먼저, 서블릿 프로그램을 입력받아 서블릿 프로그램의 구조 정보를 파싱한 후 파싱된 결과를 서블릿 타입에 따라 식별한다(S401∼S403).First, after receiving a servlet program, the structure information of the servlet program is parsed, and the parsed result is identified according to the servlet type (S401 to S403).

식별된 서블릿 프로그램이 타입1일 경우에는 재귀적 호출 구조의 서블릿이며, 여기서 비즈니스 로직을 추출하기 위해서는 서블릿의 doGet()를 중점적으로 분석하게 된다(S404∼S405).If the identified servlet program is type 1, it is a servlet having a recursive call structure, and in order to extract business logic, doGet () of the servlet is analyzed intensively (S404 to S405).

식별된 서블릿 프로그램이 타입2일 경우에는 외부 클래스 호출 구조이며, 서블릿의 doPost()와 사용된 외부 자바 클래스에 대한 분석을 하게 된다(S406∼S407).If the identified servlet program is type 2, it is an external class call structure, and the doPost () of the servlet and the used external Java class are analyzed (S406 to S407).

식별된 서블릿 프로그램이 타입3일 경우에는 doGet()에서 doPost()를 호출하고 여기에 자바스크립트(Javascript)가 혼합된 형태로 자바와 스크립트 언어에 대한 분석을 같이 하게 된다(S408∼S409).If the identified servlet program is type 3, doGet () is called to doPost (), and the analysis of Java and script languages is performed together with a mixture of JavaScripts (S408 to S409).

상기와 같이 타입들에 따라 비즈니스 로직 추출 과정이 끝나면 다음으로 서블릿 프로그램에 포함된 SQL문의 존재 여부에 따라 SQL문이 있으면 SQL문 분석을 하게 된다. SQL문 분석 종류는 질의문의 종류에 따라 선택(Select), 삽입(Insert), 갱신(Update), 삭제(Delete) 등이 있으며, 질의문을 통해 DB 테이블에 대한 정보를 얻을 수 있고 이를 이용하여 EJB의 엔티티 빈(Entity Bean)을 추출하기 위한 정보로 사용될 수 있다(S410∼S411).After the business logic extraction process is completed according to the types as described above, if there is an SQL statement according to the existence of the SQL statement included in the servlet program, the SQL statement is analyzed. SQL statement analysis types are Select, Insert, Update, Delete, etc. according to the type of query statement. You can get information about DB tables through query statements and use EJB Can be used as information for extracting the entity bean (S410 ~ S411).

SQL문에 대한 처리가 끝나거나 SQL문이 서블릿에 포함되지 않을 경우에는 HTML 태그에 대한 분석을 함으로써 서블릿 프로그램 분석이 끝난다. HTML의 태그를 분석하는 것으로써 화면의 분기나 화면 프레임웍의 구조, 포함된 이미지 파일에 대한 경로, 링크된 파일에 대한 정보, HTML 기본 컴포넌트에 대한 정보 등을 대상으로 분석한다(S412).If the processing of the SQL statement is finished or the SQL statement is not included in the servlet, the analysis of the servlet program is completed by analyzing the HTML tag. By analyzing the tag of the HTML, it analyzes the branch of the screen or the structure of the screen framework, the path to the included image file, the information on the linked file, the information on the basic HTML components (S412).

상기에서는 본 발명의 일 실시예에 국한하여 설명하였으나 본 발명의 기술이 당업자에 의하여 용이하게 변형 실시될 가능성이 자명하다. 이러한 변형된 실시예들은 본 발명의 특허청구범위에 기재된 기술사상에 포함된다고 하여야 할 것이다.In the above description, but limited to one embodiment of the present invention, it is obvious that the technology of the present invention can be easily modified by those skilled in the art. Such modified embodiments should be included in the technical spirit described in the claims of the present invention.

전술한 바와 같은 본 발명은 다음과 같은 효과가 있다.The present invention as described above has the following effects.

첫째, 기존의 서블릿 코드를 쉽게 이해할 수 있도록 정적 분석을 제공한다.First, it provides static analysis to make it easier to understand existing servlet code.

둘째, 서블릿 프로그램의 유연성에도 불구하고 다양한 서블릿 코드에서 쉽게 비즈니스 로직을 분석해 낼 수 있다.Second, despite the flexibility of servlet programs, you can easily analyze business logic in various servlet code.

셋째, 서블릿에 포함된 SQL 언어를 분석하여 DB를 이용한 컴포넌트 추출을 위한 정보를 제공하여 컴포넌트 추출에 유용한 API(Application Program Interface) 라이브러리를 제공한다.Third, it provides API (Application Program Interface) library which is useful for component extraction by analyzing information of SQL language included in servlet and providing information for component extraction using DB.

넷째, HTML 언어를 분석함으로써 서블릿에 포함된 사용자 인터페이스(User Interface)에 대한 정보를 분석할 수 있다.Fourth, by analyzing the HTML language it is possible to analyze the information on the user interface (User Interface) included in the servlet.

Claims (10)

서블릿 프로그램에서 EJB 컴포넌트로 사용 가능한 모듈을 추출하기 위한 분석 장치에 있어서,In the analysis device for extracting a module available as an EJB component in the servlet program, 상기 서블릿 프로그램의 구조를 바탕으로 구축된 구조 지식 정보 DB와;A structural knowledge information DB constructed based on the structure of the servlet program; 상기 구조 지식 정보 DB를 이용하여 상기 서블릿 프로그램의 구조를 분석하여 분석 정보 DB에 저장하는 구조 정보 처리기와;A structure information processor for analyzing the structure of the servlet program using the structure knowledge information DB and storing the structure information in the analysis information DB; 상기 서블릿 프로그램의 자바 코드에서 비즈니스 로직을 추출하고 SQL문과 HTML 태그에서는 SQL과 HTML 분석 정보를 추출하여 비즈니스 로직 정보 및 EJB 템플릿 정보를 상기 분석 정보 DB에 저장하는 다중 언어 처리기를 포함하는 서블릿 프로그램에서 EJB 컴포넌트 추출을 위한 분석 장치.EJB in a servlet program including a multi-language processor that extracts business logic from Java code of the servlet program and extracts SQL and HTML analysis information from SQL statements and HTML tags and stores business logic information and EJB template information in the analysis information DB. Analysis device for component extraction. 제 1 항에 있어서,The method of claim 1, 상기 분석 정보 DB에 저장된 정보 중 구조 정보를 서블릿 정보 시각기로 제공하는 시각기 지원 라이브러리 생성기와, 상기 분석 정보 DB에 저장된 정보 중 비즈니스 로직 정보를 EJB 컴포넌트 추출기로 제공하는 추출기 지원 라이브러리 생성기와, 상기 분석 정보 DB에 저장된 정보 중 EJB 템플릿 정보를 EJB 컴포넌트 생성기로 제공하는 생성기 지원 라이브러리 생성기를 포함하는 서블릿 프로그램에서 EJB 컴포넌트 추출을 위한 분석 장치.A visual aid support library generator for providing structure information among the information stored in the analysis information DB as a servlet information visual viewer, an extractor support library generator for providing business logic information among the information stored in the analysis information DB to an EJB component extractor, and the analysis Information analysis device for extracting EJB component from servlet program including generator support library generator which provides EJB template information to EJB component generator among information stored in DB. 제 1 항에 있어서, 상기 구조 정보 처리기는The structure information processor of claim 1, wherein 상기 구조 지식 정보 DB를 이용하여 서블릿 프로그램의 구조를 파싱하는 구조 정보 파서와, 상기 파싱 정보를 이용하여 서블릿의 타입을 식별하는 서블릿 타입 식별기를 포함하는 서블릿 프로그램에서 EJB 컴포넌트 추출을 위한 분석 장치.And a structure information parser for parsing the structure of the servlet program using the structure knowledge information DB, and a servlet type identifier for identifying the type of the servlet using the parsing information. 제 1 항에 있어서, 상기 다중 언어 처리기는The system of claim 1, wherein the multilingual processor is 다중 언어를 파싱하는 다중 언어 파서와, 상기 파싱된 결과로부터 필요한 정보를 분석해내는 비즈니스 로직 추출기와, 상기 파싱된 결과로부터 SQL문의 존재 여부에 따라 SQL문이 있으면 SQL문 분석을 하는 SQL문 분석기와, 상기 파싱된 결과로부터 UI 정보를 추출하는 UI 추출기를 포함하는 서블릿 프로그램에서 EJB 컴포넌트 추출을 위한 분석 장치.A multi-language parser for parsing multiple languages, a business logic extractor for analyzing necessary information from the parsed results, an SQL statement analyzer for analyzing an SQL statement if there is an SQL statement based on the presence or absence of an SQL statement from the parsed results, Analysis apparatus for EJB component extraction in the servlet program including a UI extractor for extracting UI information from the parsed result. 제 4 항에 있어서, 상기 다중 언어 파서는5. The system of claim 4, wherein the multilingual parser 자바 코드를 파싱하는 자바 파서, SQL문을 파싱하는 SQL 파서, HTML 태그를 파싱하는 HTML 파서를 포함하는 서블릿 프로그램에서 EJB 컴포넌트 추출을 위한 분석 장치.An analysis device for extracting EJB components from a servlet program including a Java parser that parses Java code, an SQL parser that parses SQL statements, and an HTML parser that parses HTML tags. 서블릿 프로그램에서 EJB 컴포넌트로 사용 가능한 모듈을 추출하기 위한 분석 방법에 있어서,In the analysis method for extracting a module usable as an EJB component from a servlet program, 상기 서블릿 프로그램을 입력받아 서블릿 프로그램의 구조 정보를 파싱한 후파싱된 결과를 서블릿 타입에 따라 식별하는 제 1 단계와;A first step of receiving the servlet program and parsing structure information of the servlet program and identifying the parsed result according to the servlet type; 상기 식별된 서블릿 타입에 따라 각기 다른 비즈니스 로직을 추출해 내는 제 2 단계와;Extracting different business logic according to the identified servlet type; 상기 서블릿 프로그램에 포함된 SQL문의 존재 여부에 따라 SQL문이 있으면 SQL문 분석을 하는 제 3 단계와;A third step of analyzing the SQL statement if there is an SQL statement according to the existence of the SQL statement included in the servlet program; 상기 서블릿 프로그램에 포함된 HTML 태그를 분석하여 사용자 인터페이스 정보를 분석해 내는 제 4 단계를 포함하는 서블릿 프로그램에서 EJB 컴포넌트 추출을 위한 분석 방법.And a fourth step of analyzing user interface information by analyzing HTML tags included in the servlet program. 제 6 항에 있어서, 상기 서블릿 구조 지식 정보는The method of claim 6, wherein the servlet structure knowledge information doGet(), doPost(), Javascript, 다른 자바 클래스 호출 유무에 대한 정보들을 포함하는 것을 특징으로 한 서블릿 프로그램에서 EJB 컴포넌트 추출을 위한 분석 방법.An analysis method for extracting EJB components from a servlet program that includes information on whether doGet (), doPost (), Javascript, and other Java class calls are made. 제 7 항에 있어서, 상기 서블릿 타입은The method of claim 7, wherein the servlet type is 상기 비즈니스 로직에 따라 doGet() 안에 재귀적 호출을 갖고 있는 타입, doPost() 안에 자바 클래스를 호출하여 비즈니스 로직을 수행하는 타입, doGet(), doPost()가 서로 호출하고 자바 스크립트를 사용함으로써 비즈니스 로직을 수행하는 타입을 포함하는 것을 특징으로 한 서블릿 프로그램에서 EJB 컴포넌트 추출을 위한 분석 방법.According to the business logic, the type that has recursive call in doGet (), the type that executes business logic by calling Java class in doPost (), doGet (), doPost () call each other and use Javascript An analysis method for extracting EJB components from a servlet program comprising a type that executes logic. 제 6 항에 있어서, 상기 SQL문 분석 종류는The method of claim 6, wherein the SQL statement analysis type 질의문의 종류에 따라 선택, 삽입, 갱신, 삭제를 포함하며, 질의문을 통해 DB 테이블에 대한 정보를 얻을 수 있고 이를 이용하여 EJB의 엔티티 빈(Entity Bean)을 추출하기 위한 정보로 사용될 수 있는 것을 특징으로 한 서블릿 프로그램에서 EJB 컴포넌트 추출을 위한 분석 방법.It includes selection, insertion, update, and deletion according to the type of query statement, and the information about DB table can be obtained through the query statement, and it can be used as information for extracting entity bean of EJB by using it. Analysis method for extracting EJB components from a servlet program. 제 6 항에 있어서, HTML 분석은7. The method of claim 6, wherein the HTML analysis is 상기 HTML의 태그를 분석하는 것으로써 화면의 분기나 화면 프레임웍의 구조, 포함된 이미지 파일에 대한 경로, 링크된 파일에 대한 정보, HTML 기본 컴포넌트에 대한 정보를 대상으로 분석하는 것을 특징으로 한 서블릿 프로그램에서 EJB 컴포넌트 추출을 위한 분석 방법.By analyzing the tag of the HTML, a servlet program which analyzes the branch of the screen or the structure of the screen framework, the path to the included image file, the information about the linked file, and the information about the basic HTML components. Analysis method for extracting EJB components from the database.
KR10-2002-0002486A 2002-01-16 2002-01-16 Analysis method and apparatus for extraction of ejb component from servlet program KR100426315B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0002486A KR100426315B1 (en) 2002-01-16 2002-01-16 Analysis method and apparatus for extraction of ejb component from servlet program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0002486A KR100426315B1 (en) 2002-01-16 2002-01-16 Analysis method and apparatus for extraction of ejb component from servlet program

Publications (2)

Publication Number Publication Date
KR20030062066A KR20030062066A (en) 2003-07-23
KR100426315B1 true KR100426315B1 (en) 2004-04-06

Family

ID=32218217

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0002486A KR100426315B1 (en) 2002-01-16 2002-01-16 Analysis method and apparatus for extraction of ejb component from servlet program

Country Status (1)

Country Link
KR (1) KR100426315B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010111147A2 (en) * 2009-03-25 2010-09-30 Microsoft Corporation Input content to application via web browser

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101339520B (en) * 2007-12-04 2011-01-26 浙江大学 Method for accessing EJB into enterprise service bus

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6209125B1 (en) * 1997-06-03 2001-03-27 Sun Microsystems, Inc. Method and apparatus for software component analysis
US6237135B1 (en) * 1998-06-18 2001-05-22 Borland Software Corporation Development system with visual design tools for creating and maintaining Java Beans components

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6209125B1 (en) * 1997-06-03 2001-03-27 Sun Microsystems, Inc. Method and apparatus for software component analysis
US6237135B1 (en) * 1998-06-18 2001-05-22 Borland Software Corporation Development system with visual design tools for creating and maintaining Java Beans components

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Paper 2000.00.00. The method for designing about servlet classes which control the requested service according to the user authentication" and the group information of the user and session management it defines about the new session class maintaining the information about the user. [Summary reference] *
Paper 2001.10.00 The method for extracting the recyclable EJB component from the web application developed as the servlet in order to enhance the reusability of the standard web program. [Summary reference] *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010111147A2 (en) * 2009-03-25 2010-09-30 Microsoft Corporation Input content to application via web browser
WO2010111147A3 (en) * 2009-03-25 2011-01-13 Microsoft Corporation Input content to application via web browser

Also Published As

Publication number Publication date
KR20030062066A (en) 2003-07-23

Similar Documents

Publication Publication Date Title
US7546315B2 (en) Device for reporting software problem information
KR100501410B1 (en) System and method of generating EJB component from reusable business logic in servlet
US7536640B2 (en) Advanced translation context via web pages embedded with resource information
CN108491199B (en) Method and terminal for automatically generating interface
EP1014265B1 (en) Method and apparatus for testing event driven software
US5287444A (en) Message processing system
CN111666526A (en) Page generation method, device, equipment and storage medium
EP0827072A1 (en) Correcting program porting errors
US8875103B2 (en) Method of testing multiple language versions of a software system using one test script
CN108399064B (en) Multilingual entry generation method based on Qt development
US20050149868A1 (en) User interface application development program and development apparatus
CN101667118A (en) Method and device for multi-language version development and replacement
CN111782737B (en) Information processing method, device, equipment and storage medium
CN111427583A (en) Component compiling method and device, electronic equipment and computer readable storage medium
CN112083926A (en) Web user interface generation method and device
KR100426315B1 (en) Analysis method and apparatus for extraction of ejb component from servlet program
US10540157B2 (en) Systems to remove object relational mappings from a software project
CN113641594B (en) Cross-terminal automatic testing method and related device
US20040046793A1 (en) Program generation method
JP2007115155A (en) Program structure management device and program structure management program
CN111209757B (en) Method and device for realizing multi-language version of relay protection device based on language package
EP0202007A2 (en) A generator of program generators
JP2003280956A (en) Database case device
CN114741063B (en) Method and system for realizing programming framework based on Lua language
KR101974804B1 (en) Flow diagram generation method and apparatus performing the same

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20100323

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee