WebLogic에서 Tomcat 전환 시 고려해야 할 점을 정리해 본다.
1. 아키텍처 및 환경 확인
- 전체 아키텍처를 확인한다.
- WebLogic 앞 단에 웹 서버는 어떤 제품을 사용하고 있는지, 웹 및 WAS 각 단에 이중화 구성은 어떻게 되어 있는지 확인한다.
- 연계가 있는지 확인한다.
2. OS 영역 확인
- OS 환경 변수를 확인한다. (.profile)
- TCP 관련 parameter 를 확인한다.
- File Descriptor 설정을 확인한다.
- 계정 내 cron 작업 설정 여부를 확인한다.
3. Java 버전 확인
- 기존 시스템을 Tomcat 7.0.x 대로 전환한다면 Java 역시 6 (1.6) 혹은 7 (1.7)을 사용해야 한다.
- WebLogic 8.1을 전환하려고 한다면 Java 1.4에서 Java 6 (1.6) 혹은 7 (1.7)로 올려야 하는 셈이다.
4. Framework 확인
- Spring, Struts, iBatis, Hibernate 및 각 SI 업체가 보유한 Framework에 의하여 구축된 시스템인지 확인한다.
- 그 Framework이 Java 7 (1.7)과 호환되는지 확인한다.
5. 응용 확인
- WebLogic에 몇 건의 애플리케이션이 배포되어 있는지 확인한다.
- 배포되어 있는 각 애플리케이션이 war, ear, jar 등 어떠한 패키징을 사용하는지 확인한다.
- EJB를 사용하는지 확인한다.
- Native Library를 사용하는지 확인한다. (*.so 등)
- X-internet 툴을 사용하는지 확인한다. (miplatform, gauce 등)
- 리포팅 툴을 사용하는지 확인한다. (oz 등)
6. Thread 확인
- Thread Pool 설정을 확인한다.
- 만일 WebLogic의 self-tuning을 사용하는 경우 Tomcat에 적용할 적절한 thread 값 도출이 필요하다.
7. Database 확인
- 기존 시스템에서 사용하고 있는 JDBC Driver가 Java 6 (1.6) 혹은 7 (1.7)과 호환되는지 확인한다.
- 기존 JNDI Lookup 방식을 확인하고 변경이 필요할 수 있다. (java:comp/env/...)
- DB 계정/패스워드 확보 필요
8. Encoding 확인
9. Spec 관련 확인
- WebLogic 8.1은 JSTL 1.0 및 Servlet 2.3 까지만 지원한다.
10. JVM 옵션 확인
- Java 벤더 및 버전 변경에 따른 JVM 옵션을 확인한다.
- 특히 IBM J9 JVM 에서 Oracle HotSpot JVM 으로 변경된다면 JVM 옵션을 모두 검토해야 한다.
11. weblogic.xml
- weblogic.xml 에 설정되어 있는 항목이 있다면 다른 방법을 통하여 적용해야 한다.
12. 클러스터
- WebLogic 클러스터를 사용하고 있다면 Tomcat 클러스터 혹은 별도의 클러스터 방안을 마련해야 한다.
13. 웹 서버
- WebLogic 앞 단에 어떤 웹 서버가 있는지 확인한다.
- 그리고 그 웹 서버는 Apache HTTP Server로의 전환이 필요할 가능성이 높다.
대영역 | 소영역 | 역할 | 상세 |
공통 | 공통 | 일정 관리 및 조직간 커뮤니케이션 | 일정 관리, 이슈 관리, 영역별 담당자 관리, 유관 조직간 커뮤니케이션 |
AS-IS 분석 | 서비스 분석 | AS-IS 웹 시스템 현황 분석 | 전환 대상 웹 시스템 사용자 대상, 사용자 수, 업무 성격, URL 등 확인 |
OS 및 N/W 분석 | AS-IS OS 환경, 계정 분석 | OS 구성 분석, 서비스 및 응용 계정 별 profile, crontab 확인 분석, 특이사항 식별 | |
AS-IS N/W 구성 분석 | N/W 구성 분석, 특이사항 식별 | ||
AS-IS 방화벽 Rule 분석 | Client → L4 → WEB (HTTP/HTTPS) → WAS (HTTP/AJP) → DB 간 방화벽 Rule 분석 | ||
DB 분석 | AS-IS DB 종류 및 크기 분석 | 몇 개의 DB와 연결하고 있고, 각 운영/개발 DB의 크기 분석 | |
전환 테스트를 위한 DB 사용 결정 | 전환 테스트를 위하여 기존 DB 사용 혹은 운영 Clone DB 생성 필요성 확인 | ||
WEB/WAS 분석 | AS-IS WEB/WAS 분석을 위한 파일 이관 | WEB/WAS 의 엔진, 인스턴스 등 전체적인 구성 분석을 위한 엔진 이하 파일 이관 | |
제공된 AS-IS WEB/WAS 분석 | JRE/JDK 종류/버전/bit, WEB/WAS 구성 분석 및 특이사항 식별 | ||
응용 분석 | 응용 소스 코드 보유 여부 확인 | 소스 코드 보유 여부 확인 | |
DB 연결 방식 확인 | DB 연결 설정이 WAS, Framework, 소스 코드 중 어디에 있는지 확인 분석 | ||
응용 분석 | JEE Spec 분석, Framework 종류/버전, 적용 솔루션 (Java/Native) 등 분석 | ||
솔루션 분석 | 적용 솔루션 분석 및 TO-BE 플랫폼 지원 여부, 업체 존재 여부, 라이선스 재구매 필요 여부 분석 | ||
연계 분석 | SSO, I/F 등 연계 요소 식별 및 TO-BE 플랫폼 지원 여부, 소스 코드 보유 여부 분석 | ||
WEB/WAS 이외 응용 프포그램 분석 | WEB/WAS 장비 내 WEB/WAS 이외 배치 프로그램, 3rd-party 솔루션 등 기타 응용 프로그램 식별, 용도 및 담당자 확인 | ||
TO-BE 설계 | 신규 아키텍처 설계 | TO-BE 아키텍처 설계 | 신규 아키텍처 설계 (전체 구성도, N/W, OS, S/W 내 IP, Port 등) |
방화벽 Rule 설계 | T0-BE 방화벽 Rule 설계 | Client → L4 → WEB (HTTP/HTTPS) → WAS (HTTP/AJP) → DB 간 방화벽 Rule 설계, 방화벽 오픈 신청 | |
시스템 영역 | 신규 OS 영역 작업 | OS 계정 생성 | WEB/WAS 및 응용 관리 계정 생성, AS-IS 계정 환경 분석에 따른 특이사항 반영 |
crontab 이관 | OS 계정 내 crontab 확인, 이관 | ||
파일 시스템 구성 | WEB/WAS OS 내 파일 시스템 구성 (엔진, 로그, 소스, NAS 등) | ||
백업 구성 | WEB/WAS OS 백업 환경 구성 | ||
파일 이관 | 응용 파일 이관 | 기존 운영 장비 내 응용 관련 파일을 전환 서버로 이관 | |
WEB/WAS 이외 응용 프로그램 이관 | 배치 프로그램, 3rd-party 솔루션 등 WEB/WAS 이외 응용 프로그램을 전환 서버로 이관 | ||
DB 영역 | 전환용 DB 생성 | 전환 테스트 DB 식별 | 기존 개발 DB를 이용하여 전환 테스트를 진행할 수 있는지 여부 확인 |
전환 테스트 DB 생성 | 기존 개발 DB를 이용하여 테스트 하기 어려울 경우 별도 테스트 용 DB 생성 | ||
전환 테스트 DB 정보제공 | 테스트용 DB 정보 제공 (DB URL, 계정/패스워드 등) | ||
WAS 영역 | 신규 WAS 영역 작업 | JDK 설치 | JDK 설치 |
S/W 설치 | Apache/Tomcat 설치 | ||
인스턴스 구성 | JVM, GC Policy, CLASSPATH, Java Property, 인코딩, Thread Pool, DataSource | ||
배포 설정 | 이관된 응용 파일을 대상으로 Tomcat 내 배포 설정, JSP/Servlet 오토 리로드 설정 | ||
DB 연동 | DB 버전에 따른 JDBC Driver 설치, DataSource/JNDI 정의, DB 계정/패스워드 설정, Connection Pool 설정 | ||
클러스터 설정 | 세션 클러스터 사용 시 Tomcat 세션 클러스터 설정, 세션 타임아웃 설정 | ||
모니터링 환경 구성 | 전환 테스트 시 이슈를 상세 분석할 수 있도록 모니터링 환경 구성 | ||
WEB 영역 | 신규 WEB 영역 작업 | Apache 웹 서버 구성 | 서비스 URL 매핑, 사용자 요청 처리 설정, URL Rewrite (리다이렉션) 설정, SSL 인증서 설정 및 반영 |
Apache - Tomcat 연동 | Tomcat worker 매핑, 확장자/패턴 기반 연동 설정, Connection Pool 설정 | ||
응용 영역 | 솔루션 | 솔루션 라이선스 재발급 | IP 변경 등으로 인하여 WAS 에서 사용하고 있는 각종 솔루션 내 라이선스 확인 필요 시 재발급 |
SSL 인증서 | SSL 인증서 재발급 | 웹 서버가 Apache 로 변경됨에 따라 SSL 인증서 재발급 | |
응용 수정 | DB 연결 수정 가이드 | WebLogic 자체의 Oracle Driver 사용 시 표준 Oracle Driver 사용하도록 가이드, driverClass, JNDI Lookup 가이드 | |
Framework 설정 수정 | Framework 내 설정 수정, 파일 시스템 경로 변경에 따른 configuration 내 각종 경로 수정 | ||
소스 수정 식별 및 가이드, 수정 (가능 시) | 테스트 중 발생한 이슈 F/U 를 통하여 수정 부분 식별 및 가이드, 수정 가능 시 소스 수정 | ||
소스 수정, 재 컴파일, 재 반영 | 이슈 해결을 위한 소스 수정, 재 컴파일, 재 반영 | ||
기능 테스트 | 테스트 일정관리 및 이슈 정리 | 각 업무 시스템의 테스트 일정관리 및 이슈 정리 | |
테스트 SSO 환경 구성 | SSO 를 사용하는 업무 시스템의 경우 SSO 를 통하여 테스트 할 수 있도록 환경 구성 | ||
기능 테스트 시나리오 작성 | 주요 업무 검증을 위한 테스트 시나리오 작성 | ||
전환 시스템 기능 테스트 | 테스트 시나리오에 따른 전환 시스템 테스트 | ||
이중화 구성 테스트 | 장비 중지, 웹 서버 중지, WAS 서버 중지 등 케이스 별로 이중화 아키텍처에 대한 기능 테스트 | ||
세션 클러스터 테스트 | 세션 클러스터 사용 시 세션 유지 여부 테스트 | ||
성능 테스트 | 성능 테스트 | 성능 테스트 수행 | |
이슈 | 이슈 해결 | 각종 기능 오류, 성능 저하 등 | |
실 오픈 | 실 전환 오픈 | 오픈 일정 수립 및 공지 | 각 업무 시스템 별 실 오픈 일정 수립 및 관련자 대상 공지 |
오픈 작업 | 각 업무 시스템 별 실 오픈 작업, 구 시스템 중지, 모니터링, DNS 변경 | ||
오픈 이후 후속 인프라 작업 | 모니터링 설정, 인벤토리 관리, 운영 매뉴얼 업데이트 | ||
DR 재구성 | 운영 환경 변경에 따른 DR 재구성 |