1 |
1
서블릿 소스 코드(servlet source code)로부터 엔터프라이즈 빈(enterprise bean)을 추출하는 장치에 있어서, 상기 서블릿 소스 코드와 자바 클래스(Java class)가 입력되는 서블릿 소스 코드 입력 수단과; 상기 서블릿 소스 코드 입력부를 통해 입력된 서블릿 소스 코드로부터 자바 클래스를 추출하는 자바 클래스 추출 수단과; 상기 자바 클래스 추출 수단을 통해 추출된 자바 클래스를 상호 관련된 클래스들끼리 그룹핑하는 자바 클래스 클러스터링(clustering) 수단과; 상기 자바 클래스 클러스터링 수단을 통해 클러스터링된 클래스들로부터 세션 빈(session bean)을 추출하는 세션 빈 추출 수단과; 상기 자바 클래스 클러스터링 수단을 통해 클러스터링된 클래스들로부터 엔터티 빈(entity bean)을 추출하는 엔터티 빈 추출 수단과; 상기 세션 빈 추출 수단과 엔터티 빈 추출 수단을 통해 추출된 세션 빈과 엔터티 빈으로부터 빈들간의 관계 정보를 추출하는 빈들간의 관계 정보 추출 수단을 포함하는 엔터프라이즈 빈 추출 장치
|
2 |
2
제 1 항에 있어서, 상기 서블릿 소스 코드 입력 수단은, 상기 서블릿 소스 코드와 자바 클래스로 구성된 웹 애플리케이션을 수신하는 것을 특징으로 하는 엔터프라이즈 빈 추출 장치
|
3 |
3
제 1 항에 있어서, 상기 자바 클래스 추출 수단은, 상기 서블릿 소스 코드에 포함된 비즈니스 로직을 분석하여 새로운 자바 클래스를 추출하는 것을 특징으로 하는 엔터프라이즈 빈 추출 장치
|
4 |
4
제 1 항에 있어서, 상기 자바 클래스 클러스터링 수단은, 상기 세션 빈을 위한 클러스터링을 수행하는 세션 빈 클러스터링 수단과; 상기 엔터티 빈을 위한 클러스터링을 수행하는 엔터티 빈 클러스터링 수단으로 구성되는 것을 특징으로 하는 엔터프라이즈 빈 추출 장치
|
5 |
5
제 4 항에 있어서, 상기 세션 빈 클러스터링 수단은, 클러스터(cluster)에 포함된 클래스들의 연관 관계(association relationship), 집단화 관계(aggregation relationship), 상속 관계(inheritance relationship) 중 적어도 하나 이상의 관계들의 관계성(relationship)을 판단하여 클러스터링하는 것을 특징으로 하는 엔터프라이즈 빈 추출 장치
|
6 |
6
제 4 항에 있어서, 상기 엔터티 빈 클러스터링 수단은, 데이터베이스의 테이블 이름에 따라 같은 테이블 이름에 접근(access)하는 클래스들을 클러스터링하는 것을 특징으로 하는 엔터프라이즈 빈 추출 장치
|
7 |
7
제 1 항에 있어서, 상기 세션 빈 추출 수단은, 상기 세션 빈의 구성 요소 중 하나인 세션 빈 클래스를 추출하는 세션 빈 클래스 추출부와; 상기 세션 빈의 리모트 인터페이스를 추출하는 리모트 인터페이스 추출부와; 상기 세션 빈의 홈 인터페이스를 추출하는 홈 인터페이스 추출부로 구성되는 것을 특징으로 하는 엔터프라이즈 빈 추출 장치
|
8 |
8
제 1 항에 있어서, 상기 엔터티 빈 추출 수단은, 상기 엔터티 빈의 구성 요소 중 하나인 엔터티 빈 클래스를 추출하는 엔터티 빈 클래스 추출부와; 상기 엔터티 빈의 리모트 인터페이스를 추출하는 리모트 인터페이스 추출부와; 상기 엔터티 빈의 홈 인터페이스를 추출하는 홈 인터페이스 추출부와; 상기 엔터티 빈의 프라이머리 키(primary key)를 추출하는 프라이머리 키 추출부와; 상기 엔터티 빈의 구성 메소드(method) 중 하나인 파인더(finder) 메소드를 추출하는 파인더 메소드 추출부로 구성되는 것을 특징으로 하는 엔터프라이즈 빈 추출 장치
|
9 |
9
서블릿 소스 코드로부터 엔터프라이즈 빈을 추출하는 엔터프라이즈 빈 추출 방법에 있어서, 상기 서블릿 소스 코드와 자바 클래스를 수신하는 제 1 단계와; 상기 입력된 서블릿 소스 코드에서 상기 자바 클래스를 추출하는 제 2 단계와; 상기 추출된 자바 클래스를 대상으로 SQL(Structured Query Language) 문장이 포함되어 있는지를 판단하는 제 3 단계와; 상기 제 3 단계의 판단 결과, 상기 SQL 문장이 포함되어 있지 않으면 상기 자바 클래스에서 세션 빈을 추출하는 제 4 단계와; 상기 제 3 단계의 판단 결과, 상기 SQL 문장이 포함되어 있으면 상기 자바 클래스에서 엔터티 빈을 추출하는 제 5 단계를 포함하는 엔터프라이즈 빈 추출 방법
|
10 |
10
제 9 항에 있어서, 상기 제 2 단계는, HTML(HyperText Markup Language) 코드를 제거하는 제 6 단계와; 서블릿 API(Application Program Interface)를 사용한 코드를 제거하는 제 7 단계와; 클라이언트의 요청을 처리하는 서블릿 메소드를 자바 클래스 메소드로 변환하는 제 8 단계로 이루어지는 것을 특징으로 하는 엔터프라이즈 빈 추출 방법
|
11 |
11
제 9 항에 있어서, 상기 제 4 단계는, 클래스들간의 연관 관계, 집단화 관계, 및 상속 관계를 근거로 세션 빈 추출을 위한 자바 클래스 클러스터링을 하는 제 9 단계와; 세션 빈 홈 인터페이스를 추출하는 제 10 단계와; 세션 빈 리모트 인터페이스를 추출하는 제 11 단계와; 세션 빈 클래스를 추출하는 제 12 단계로 이루어지는 것을 특징으로 하는 엔터프라이즈 빈 추출 방법
|
12 |
12
제 9 항에 있어서, 상기 제 5 단계는, 엔터티 빈 추출을 위한 자바 클래스 클러스터링을 하는 제 13 단계와; 상기 엔터티 빈의 파인더 메소드를 추출하는 제 14 단계와; 상기 엔터티 빈의 필수 메소드를 추출하는 제 15 단계와; 상기 엔터티 빈의 프라이머리 키 클래스를 추출하는 제 16 단계와; 상기 엔터티 빈의 홈 인터페이스를 추출하는 제 17 단계와; 상기 엔터티 빈의 리모트 인터페이스를 추출하는 제 18 단계와; 상기 엔터티 빈의 빈 클래스를 추출하는 제 19 단계로 이루어지는 것을 특징으로 하는 엔터프라이즈 빈 추출 방법
|
13 |
13
제 12 항에 있어서, 상기 제 13 단계는, 자바 클래스에 포함된 SQL문장을 분석하는 제 20 단계와; 상기 분석된 SQL 문장에서 데이터베이스의 테이블 이름을 추출하는 제 21 단계와; 상기 추출된 테이블 이름을 근거로 동일한 테이블에 접근하는 자바 클래스를 추출하는 제 22 단계와; 상기 추출된 자바 클래스를 테이블 이름에 따라 클러스터링하는 제 23 단계로 이루어지는 것을 특징으로 하는 엔터프라이즈 빈 추출 방법
|