1-2. 분석 보고서 작성 및 SQL변환 대상 추출 메뉴 상세 분석
메뉴명
2. 분석 보고서 작성 및 SQL변환 대상 추출
목적
이전 단계에서 생성된 분석 데이터를 통합하여 HTML 리포트를 생성하고, SQL 변환 작업을 위한 대상 목록을 추출
실행 흐름
initOMA.sh
→ execute_app_reporting()
→ $OMA_BASE_DIR/bin/processAppReporting.sh
→ q chat --trust-all-tools --no-interactive < $APP_TOOLS_FOLDER/appReporting.md
→ python3 $APP_TOOLS_FOLDER/genSqlTransformTarget.py
상세 분석
1. execute_app_reporting() 함수
# 위치: initOMA.sh (241-265행)
# 실행파일: $OMA_BASE_DIR/bin/processAppReporting.sh
2. processAppReporting.sh
# 위치: $OMA_BASE_DIR/bin/processAppReporting.sh
# 환경변수 확인: APPLICATION_NAME
# 2단계 실행:
# 1. q chat --trust-all-tools --no-interactive < $APP_TOOLS_FOLDER/appReporting.md
# 2. python3 $APP_TOOLS_FOLDER/genSqlTransformTarget.py
3. 핵심 실행 파일들
# HTML 리포트 생성: $APP_TOOLS_FOLDER/appReporting.md
# SQL 변환 대상 추출: $APP_TOOLS_FOLDER/genSqlTransformTarget.py
4. 주요 환경변수 매핑
# 입력 데이터 경로
APPLICATION_FOLDER # 이전 단계 분석 결과가 저장된 디렉토리
APP_TOOLS_FOLDER # OMA 애플리케이션 도구 및 스크립트 디렉토리
# 기타 설정
TARGET_DBMS_TYPE # 타겟 DBMS 타입 (예: postgres, mysql)
TRANSFORM_JNDI # 변환 대상 JNDI 식별자 (예: jdbc)
APPLICATION_NAME # 프로젝트/애플리케이션 이름
5. 작업 단계
5.1 사전 조건 확인
# 필수 분석 파일 존재 확인 ($APPLICATION_FOLDER/discovery/)
required_files=(
"ApplicationOverview.md"
"TechnicalStack.md"
"Oracle.md"
"Mapperlist.csv"
"DataSource.csv"
"SampleMapperlist.csv"
)
5.2 HTML 분석 리포트 생성 (appReporting.md)
- 통합 리포트 생성: 이전 단계의 모든 분석 결과를 통합한 HTML 리포트 생성
- 시각화: 분석 결과를 차트, 테이블, 그래프 형태로 시각화
- 요약 정보: 프로젝트 개요, 기술 스택, Oracle 의존성 요약
- 상세 분석: Mapper 파일별 상세 분석 결과 포함
5.3 SQL 변환 대상 목록 추출 (genSqlTransformTarget.py)
- JNDI와 Mapper 조합: DataSource JNDI와 Mapper 파일 간의 매핑 관계 생성
- 변환 대상 식별: 실제 SQL 변환이 필요한 파일들 식별
- 우선순위 설정: 복잡도 및 중요도에 따른 변환 우선순위 설정
- 변환 목록 생성: 후속 SQL 변환 작업에서 사용할 대상 목록 파일 생성
결과 파일
HTML 리포트 파일
# 출력 경로: $APPLICATION_FOLDER/
1. DiscoveryReport.html # 통합 분석 리포트 (메인 결과물)
SQL 변환 대상 파일들
# 출력 경로: $APPLICATION_FOLDER/
1. SqlTransformTarget.csv # SQL 변환 대상 목록
2. JndiMapperMapping.csv # JNDI와 Mapper 매핑 정보
3. TransformPriority.csv # 변환 우선순위 목록
중간 처리 파일들
# 출력 경로: $APPLICATION_FOLDER/discovery/
1. IntegratedAnalysis.json # 통합 분석 데이터 (JSON 형태)
2. ReportMetadata.json # 리포트 메타데이터
로그 파일
# 로그 경로: $APP_LOGS_FOLDER
입력 의존성
필수 입력 파일 (1-1 단계 결과)
# 경로: $APPLICATION_FOLDER/discovery/
- ApplicationOverview.md
- TechnicalStack.md
- Oracle.md
- MapperFileList.csv
- OracleSqlPatterns.csv
- CriticalPatterns.csv
- DataSourceMapping.csv
- OracleJavaUsage.csv
환경 변수 의존성
- 필수 환경변수:
APPLICATION_NAME
,APPLICATION_FOLDER
- 도구 환경변수:
APP_TOOLS_FOLDER
- 설정 환경변수:
TARGET_DBMS_TYPE
,TRANSFORM_JNDI
다음 단계
이 단계의 결과물은 다음 단계들에서 사용됩니다:
- 1-3. (PostgreSQL Only) 데이터베이스 메타데이터 작성
- 2-1. 애플리케이션 SQL 변환 작업
주요 특징
- 통합 리포트: 모든 분석 결과를 하나의 HTML 파일로 통합
- 변환 준비: SQL 변환 작업을 위한 구체적인 대상 목록 생성
- 시각화: 분석 결과의 직관적인 이해를 위한 차트 및 그래프 제공
- 우선순위: 변환 작업의 효율적 진행을 위한 우선순위 정보 제공