Java 애플리케이션 현대화
WebSphere® Application Server 기존 애플리케이션을 포함한 엔터프라이즈 Java 애플리케이션을 Liberty 으로 현대화할 수 있습니다. 애플리케이션을 현대화하려면 먼저 마이그레이션 계획을 업로드하거나 애플리케이션을 빌드 및 분석한 다음 애플리케이션 문제를 해결해야 합니다.
버전 1.1 부터는 Maven 이외의 도구로 빌드된 애플리케이션에 Application Modernization Accelerator Developer Tools 을 사용할 수 있지만 제한이 있습니다. 자세한 내용은 Maven 이외의 빌드 도구로 빌드된 애플리케이션을 참조하세요.
시작하기 전에
- 엔터프라이즈 Java 환경을 설정하십시오.
- , Eclipse IDE 플러그인 또는 Visual Studio Code 확장IntelliJ IDEA IDE 플러그인을 설치하십시오.
애플리케이션 마이그레이션 계획을 업로드하는 단계 또는 애플리케이션을 분석하는 단계를 완료합니다. 한 세트의 단계를 완료한 후에는 마이그레이션 관련 문제를 해결할 수 있습니다. 문제를 해결하는 단계는 마이그레이션 계획 단계와 애플리케이션 분석 모두 동일합니다. 문제를 해결하고 나면 현대화된 애플리케이션을 갖게 됩니다.
문제가 Application Modernization Accelerator Developer Tools발생할 경우, 문제 해결 페이지를 참조하십시오.
코드 분석에 필요한 시간
애플리케이션을 분석하는 데 걸리는 시간은 다양합니다. 다음은 일반적인 시간입니다.
| 시간 | 애플리케이션 세부사항 |
|---|---|
| 몇 초에서 몇 분 | 100개 미만의 클래스 |
| 2~10분 | 20,000~50,000줄의 코드 |
| 10분 이상 | 300,000줄의 코드 |
Application Modernization Accelerator Developer Tools 에서 애플리케이션을 분석할 때 기본적으로 일부 타사 패키지는 코드 분석에서 제외됩니다. 자세한 내용은 애플리케이션 분석에서 제외되는 타사 패키지를 참조하십시오.
마이그레이션 계획을 사용하여 애플리케이션 현대화하기
다음 단계는 마이그레이션 계획을 생성하기 위해 를 IBM Application Modernization Accelerator 사용한다고 가정합니다. 마이그레이션 계획에는 해결해야 할 현대화 문제 목록이 포함되어 있습니다. 또한 애플리케이션이 Liberty 에서 제대로 작동할 수 있도록 자동으로 생성된 구성 정보도 포함되어 있습니다.
- 프로젝트에 대한 마이그레이션 계획을 이미 업로드하고 분석한 경우 새 마이그레이션 계획을 업로드하면 기존 분석을 덮어쓰게 됩니다.
- 애플리케이션을 현대화하기 전에 애플리케이션의 전체 빌드를 수행하여 알려진 양호한 애플리케이션 빌드에서 시작하도록 하세요. 이 빌드는 클래스 파일을 최신 소스 코드로 최신 상태로 유지하는 데도 도움이 됩니다. Java 버전 업그레이드에 대한 변경 사항을 추가하는 자동화를 실행하려면 먼저 최신 상태여야 합니다.
코드의 변경 사항을 되돌리면 애플리케이션을 다시 현대화하려면 업로드/분석으로 돌아가기를 클릭하고 전체 분석을 수행해야 합니다.
- IDE에서 현대화하려는 응용 프로그램 디렉터리의 계층 구조에서 아무 항목이나 마우스 오른쪽 단추로 클릭하고 Modernize Java Applications을 클릭한 다음 Liberty 으로 현대화를 클릭합니다.
- <애플리케이션 이름> 현대화 페이지에서 마이그레이션 계획을 업로드합니다.
IDE는 프로젝트 폴더를 분석하고 애플리케이션에 대한 정보를 수집한 다음 Application Modernization Accelerator 에서 생성하는 마이그레이션 계획을 업로드합니다.
- 마이그레이션 계획 업로드를 클릭합니다.
- 목록에서 아카이브 파일에 대한 애플리케이션 요금제를 선택하고 열기를 클릭합니다.
마이그레이션 계획 업로드 프로세스가 완료되면 <애플리케이션 이름> 현대화 페이지에 계획에 포함된 다음 구성 파일이 표시됩니다:
- server.xml 는 Liberty 의 구성 파일이며 애플리케이션을 시작하는 데 필요합니다.
- Containerfile 는 Liberty 애플리케이션의 컨테이너 이미지를 빌드할 때만 필요합니다.
프로젝트에 추가할 파일을 선택한 다음 계속을 클릭합니다.
- (필수) server.xml 파일을 선택합니다.
- (선택 사항) Liberty 애플리케이션용 컨테이너 이미지를 빌드하는 경우에만 Containerfile 파일을 선택합니다.
마이그레이션 계획 업로드가 완료되면 수정하거나 검토할 문제가 표시됩니다.
분석 결과 애플리케이션에서 JAX-RPC 서비스가 감지되면 화면의 안내에 따라 JAX-RPC 서비스를 JAX-WS 서비스로 마이그레이션합니다.
-
해결해야 할 문제에 따라 자동화된 기능을 사용하거나 사용자가 직접 해결할 수 있습니다. 추가 정보 탭의 문제는 코드 변경이 필요하지 않지만 원하는 경우 확인하거나 테스트한 후 코드를 변경해야 할 수도 있습니다.
애플리케이션을 분석하여 현대화하기
다음 단계에서는 애플리케이션을 현대화하기 위해 Application Modernization Accelerator 마이그레이션 계획을 사용하는 대신 애플리케이션을 분석한다고 가정합니다. 분석은 해결해야 할 문제 목록과 server.xml 파일에 제한된 서버 구성을 제공합니다. server.xml 파일에는 애플리케이션에서 사용하는 기능 목록이 포함되어 있지만 데이터베이스 연결이나 JMS 구성과 같은 다른 구성 정보는 포함되어 있지 않습니다.
코드의 변경 사항을 되돌리면 애플리케이션을 다시 현대화하려면 업로드/분석으로 돌아가기를 클릭하고 전체 분석을 수행해야 합니다.
IDE에서 현대화하려는 디렉터리를 마우스 오른쪽 버튼으로 클릭하고 Modernize Java Applications 을 클릭한 다음 Liberty으로 현대화를 클릭합니다.
<애플리케이션 이름> 현대화 페이지에서 애플리케이션 분석을 확장하고 분석 시작을 클릭합니다.
애플리케이션 서버를 분석할 규칙을 정의하는 분석 매개변수를 선택합니다.
애플리케이션 서버 소스 및 애플리케이션 서버 대상을 선택합니다.
선택적으로 Java SE 소스를 변경하면 권장 값과 함께 자동으로 표시됩니다.
권장 값은 Application Modernization Accelerator Developer Tools 에서 애플리케이션 서버 소스로 권장하는 Java SE 버전을 기준으로 합니다. 애플리케이션 서버가 권장되는 버전과 다른 Java SE 버전을 사용하고 있을 수 있습니다. 그렇다면 Java SE 소스를 애플리케이션 서버에서 사용하는 버전으로 변경하세요.
예를 들어, 애플리케이션 서버가 이전 버전의 JavaApplication Modernization Accelerator Developer Tools SE를 사용하고 있을지라도 Java SE 8 for WebSphere Application Server V8.5.5 권장합니다.
중요: 최소 지원되는 Java 버전은 Java 5입니다.Java SE 대상을 선택합니다.
애플리케이션을 빌드한 다음 분석합니다.
애플리케이션 분석은 애플리케이션 바이너리에서 수행됩니다. 분석을 시작하기 전에 애플리케이션을 빌드해야 합니다.
- Maven 빌드의 경우 애플리케이션을 수동 또는 자동으로 빌드할 수 있습니다.
애플리케이션을 수동으로 빌드한 후 분석을 클릭하거나 애플리케이션을 자동으로 빌드하고 분석하려면 빌드 및 분석을 클릭합니다.
애플리케이션이 빌드되고 분석되면 수정하거나 검토해야 할 문제가 표시됩니다.
빌드 및 분석을 클릭하면 애플리케이션이 현재 Java 소스 버전으로 빌드되므로 Java 업그레이드 문제를 분석할 수 있습니다. Java 소스 버전의 Java 개발자 키트로 IDE를 구성해야 IDE에서 애플리케이션을 성공적으로 빌드할 수 있습니다.
- Maven을 사용하지 않는 빌드의 경우 애플리케이션을 수동으로 빌드하고 애플리케이션 바이너리를 선택한 다음 분석을 클릭합니다.
애플리케이션이 빌드되고 분석되면 수정하거나 검토해야 할 문제가 표시됩니다.
- Maven 빌드의 경우 애플리케이션을 수동 또는 자동으로 빌드할 수 있습니다.
분석 결과 애플리케이션에서 JAX-RPC 서비스가 감지되면 화면의 안내에 따라 JAX-RPC 서비스를 JAX-WS 서비스로 마이그레이션합니다.
-
Maven 빌드의 경우 수정해야 할 문제에 따라 수정 기능을 자동화하거나 직접 수행할 수 있습니다.
IBM Application Modernization Accelerator Developer Tools 에서는 Maven을 사용하지 않는 빌드에 대한 자동화를 실행할 수 없으므로 해결해야 할 문제는 자체적으로 해결해야 합니다.
추가 정보 탭의 문제는 코드 변경이 필요하지 않지만 원하는 경우 확인하거나 테스트한 후 코드를 변경해야 할 수도 있습니다.
JAX-RPC 서비스를 JAX-WS 서비스로 마이그레이션
- Jakarta EE 9 이상 버전으로 마이그레이션하는 경우 먼저 JAX-RPC 서비스를 JAX-WS 서비스로 마이그레이션하세요. 그렇지 않으면 JAX-RPC 소스 마이그레이션 도우미가 도움을 드릴 수 없습니다. JAX-RPC 서비스는 Jakarta EE 9부터 제공되지 않기 때문입니다.
- 또한 다른 현대화 수정 작업을 수행하기 전에 JAX-RPC 서비스를 JAX-WS 으로 마이그레이션해야 합니다. 다른 현대화 수정을 먼저 수행하면 현대화로 인해 Java EE 이 JAX-RPC 서비스를 지원하지 않는 버전으로 업데이트될 수 있습니다.
JAX-RPC 서비스를 JAX-WS 서비스로 수동으로 마이그레이션하거나 진행을 클릭합니다. 진행을 클릭하면 JAX-RPC 에서 JAX-WS 로의 소스 마이그레이션 도우미가 마이그레이션을 도와줍니다.
다음 단계에서는 진행을 클릭했다고 가정합니다.
- .wsdl 파일에 대한 모든 수정을 완료합니다.
JAX-RPC 마이그레이션을 하려면 목록의 다른 .wsdl 파일에서 작업하기 전에 .wsdl 파일에 대한 모든 수정을 완료해야 합니다.
기본 마이그레이션 페이지( JAX-RPC )에는 다음 정보가 표시됩니다. 이를 사용하여 마이그레이션을 완료합니다.- 다시 시작
- 마이그레이션을 다시 시작하려면 다시 시작을 클릭합니다.중요:
- 다시 시작을 클릭하면 마이그레이션을 다시 시작하려면 자동 수정 및 수동 수정으로 수행한 모든 코드 변경 사항을 되돌릴 필요가 있다는 메시지가 표시됩니다. 모든 변경 사항을 되돌리지 않고 마이그레이션을 다시 시작하면 이전에 자동화를 실행한 .wsdl 파일이 지원되지 않음(수동 마이그레이션 필요) 섹션에 표시됩니다.
- 코드 변경 사항을 되돌리지 않고 JAX-RPC 마이그레이션을 다시 시작한 경우 다시 시작을 다시 클릭합니다. 자동 업데이트, 수동 업데이트 또는 둘 다를 통해 JAX-RPC 흐름을 변경하기 전에 존재했던 애플리케이션 코드의 버전으로 돌아갑니다.
- 보류 중
- 보류 중 섹션에 하나 이상의 .wsdl 파일이 나열되어 있는 경우 해당 섹션을 선택합니다..wsdl 파일을 각각 선택하고 이와 관련된 다음 작업을 완료합니다.
- 자동화를 실행합니다.자동화를 실행하면 다음 작업이 수행됩니다.
- JAX-RPC 서비스를 JAX-WS 서비스로 마이그레이션하도록 애플리케이션을 수정합니다.
- 수동 업데이트 섹션에는 특정 Java 파일을 수동으로 업데이트할 수 있도록 지침과 링크가 채워져 있습니다.
- 새로 생성된 파일 검토 섹션은 새로 채워집니다. Java 요리법으로 만든 부분.
- 지정된 Java 파일에 대한 수동 업데이트를 완료합니다.
- 새로 생성된 파일을 검토합니다.
- 애플리케이션을 수동으로 컴파일합니다.
- 자동화를 실행합니다.
- 완료됨
- 섹션을 선택합니다.
완료된 .wsdl 파일 목록이 표시되고 목록이 자동으로 업데이트됩니다.
- 지원되지 않음(수동 마이그레이션 필요)
- 섹션을 선택합니다..wsdl 파일에 JAX-RPC 소스 마이그레이션 도우미가 지원하지 않는 기능이 있는 경우 해당 파일은 지원되지 않는 것으로 표시됩니다. 자동화를 실행했는데 실패하는 경우 .wsdl 파일을 지원되지 않는 것으로 표시할 수도 있습니다.
- 소스 마이그레이션 도우미가 .wsdl 파일을 지원되지 않는 것으로 추가한 경우 .wsdl 파일에서 JAX-RPC 서비스를 수동으로 마이그레이션하세요.
소스 마이그레이션 도우미는 .wsdl 파일에 지원되지 않는 기능이 포함되어 있는 경우 지원되지 않는 섹션에 .wsdl 파일을 추가합니다
- .wsdl 파일을 지원되지 않는 것으로 표시한 경우 .wsdl 파일에서 JAX-RPC 서비스를 수동으로 마이그레이션할 수 있습니다. 또는 JAX-RPC 서비스 마이그레이션을 다시 시작하여 .wsdl 파일에 대한 자동화를 실행할 수 있습니다.
- 소스 마이그레이션 도우미가 .wsdl 파일을 지원되지 않는 것으로 추가한 경우 .wsdl 파일에서 JAX-RPC 서비스를 수동으로 마이그레이션하세요.
- 미사용(삭제해도 안전함)
- 사용하지 않는 .wsdl 파일을 보려면 섹션을 선택합니다.
애플리케이션에서 사용하지 않는 파일은 삭제할 수 있습니다.
.wsdl 파일에 대한 모든 수정을 완료하면, 즉 수정이 필요한 총 WSDL 표시기가
0이면 JAX-RPC 소스 마이그레이션 도우미가 도움을 줄 수 있는 부분에 대해 JAX-RPC 마이그레이션이 완료된 것입니다.기억하세요: 표시되는 구축 및 분석 버튼을 클릭하기 전에 지원되지 않는 섹션의 .wsdl 파일을 수동으로 마이그레이션하여 JAX-WS 서비스로 마이그레이션을 완료하세요. - 구축 및 분석을 클릭합니다.
JAX-WS 서비스로 마이그레이션한 애플리케이션에 남아 있는 현대화 문제가 있는지 다시 검사합니다.
-
Maven 빌드의 경우 수정해야 할 문제에 따라 수정 기능을 자동화하거나 직접 수행할 수 있습니다.
Maven을 사용하지 않는 빌드의 경우 해결해야 할 문제는 자체적으로 해결해야 합니다.
추가 정보 탭의 문제는 코드 변경이 필요하지 않지만 원하는 경우 확인하거나 테스트한 후 코드를 변경해야 할 수도 있습니다.
문제 해결 및 애플리케이션에 대한 추가 정보 검토
해결해야 할 문제에 따라 자동화된 기능을 사용하거나 사용자가 직접 해결할 수 있습니다. 추가 정보 탭의 문제는 코드 변경이 필요하지 않지만 원하는 경우 확인하거나 테스트한 후 코드를 변경해야 할 수도 있습니다.
<애플리케이션 이름> 현대화 페이지에는 다음 정보가 나열됩니다:
- 애플리케이션 서버 소스 및 애플리케이션 서버 대상
- Java SE 버전 소스 및 Java SE 버전 대상
- 기술 보고서, 인벤토리 보고서 및 분석 보고서로 연결되는 링크
- 수정할 문제(자동 또는 자체 수정)와 추가 정보에 대한 탭이 있습니다.
자동화된 수정을 실행할 때와 Java 버전 타깃이 변경된 후 애플리케이션을 빌드할 때 Java 개발자 키트가 필요합니다. 대상 Java 개발자 키트가 IDE에 맞게 구성되어 있는지 확인합니다.
- Eclipse IDE 및 IntelliJ IDE용 플러그인은 자동으로 올바른 Java 개발자 키트를 찾으려고 시도합니다. Java 개발자 키트는 IDE에 구성된 모든 Java 개발자 키트 집합의 Java 버전 대상과 일치해야 합니다.
- Visual Studio Code IDE에서 Java 개발자 키트 구성을 수동으로 변경해야 합니다.
- Maven 빌드에 대한 자동화된 수정 완료하기
하나 이상의 수정 사항이 있는 자동화된 수정 사항 탭이 있는 경우 해당 탭을 선택합니다.
Application Modernization Accelerator Developer Tools 에서 수정이 완료되므로 코드를 변경할 필요가 없습니다.
- 지침을 펼쳐서 읽어보세요.
- 선택 사항으로 이슈를 열어 이슈에 대한 설명을 검토합니다.
- 자동 수정 실행을 클릭합니다.
- 자동 수정이 수정되었습니다.
- 외부 이슈는 관련 종속성을 업데이트할 때까지 목록에 남아 있습니다.
- 자동 수정 실행이 완료되면 다시 빌드 및 새로 고침을 클릭하여 문제 목록을 업데이트합니다.
중요: 자동 수정이 실행되지 않고 콘솔 출력에 컴파일 오류가 발생하면maven-compiler플러그인 버전을 3.13.0 이상으로 업데이트하세요.- 자기 주도적 수정 완료
하나 이상의 수정 사항이 있는 자기 주도적 수정 탭이 있는 경우 해당 탭을 선택합니다.
코드를 변경하고 코드를 수정하는 방법을 결정합니다.
- 지침을 펼치고 지침을 따릅니다.
- 각 이슈를 펼칩니다.
- 자세히 보기를 클릭하여 문제를 확장합니다.
- 이슈에 나열된 파일을 클릭합니다. 파일이 편집기에서 열립니다.
- 문제를 해결하면서 모든 자체 수정 사항이 수정될 때까지 다시 빌드하고 새로 고침을 클릭합니다.
팁: 특정 자가 해결 방법의 경우, 생성형 AI 기능을 watsonx Code Assistant™ for Enterprise Java Applications 활용할 수 있습니다.- 추가 정보 주소 지정
추가 정보 탭에 숫자가 하나 이상 있는 경우 해당 탭을 선택합니다.
탭에 나열된 이슈는 다른 탭의 이슈가 결정되는 것과 동일한 방식으로 결정됩니다. 추가 정보 문제로 인해 코드를 변경할 필요는 없지만 문제를 검토하여 코드를 마이그레이션할 때 애플리케이션이 작동하는지 확인할 수 있습니다.
추가 정보는 API의 사소한 동작 변경이나 데이터베이스 또는 사용자 레지스트리의 연결 문제와 같은 문제와 이에 대한 조치 방법을 나타낼 수 있습니다.
예를 들어 애플리케이션이 연결되는 데이터베이스가 있다고 가정해 보겠습니다. 이 상황에 대한 문제를 읽었습니다. 그런 다음 애플리케이션을 마이그레이션할 때 애플리케이션에 대해 구성된 호스트와 포트가 유효하고 액세스할 수 있는지 확인합니다.
지침을 펼쳐서 따르세요.
각 문제를 클릭합니다.
- 자세히 보기를 클릭하여 문제를 확장합니다.
- 이슈에 나열된 파일에 있는 링크를 클릭하여 코드를 검토합니다.
- 현재 애플리케이션 외부에서 외부 문제 해결
수정 작업을 하는 동안 일부는 현재 애플리케이션 외부에서 발생한 외부 문제로 분류될 수 있습니다. 이러한 문제에 대한 소스 코드는 현재 소스 애플리케이션의 일부가 아닌 지정된 아카이브에 있습니다.
아카이브가 조직에서 소유하고 있는 라이브러리인 경우 다음 단계를 완료합니다.
- 관련 소스 코드를 별도의 애플리케이션으로 열고 Application Modernization Accelerator Developer Tools 을 사용하여 문제를 해결하세요.
- 수정된 새 버전을 사용하려면 현재 애플리케이션을 업데이트하세요.
아카이브가 조직에서 소유하지 않은 라이브러리인 경우 다음 단계를 완료하세요.
- 이 문제가 포함되지 않은 버전으로 업데이트하세요.
해당 버전이 없는 경우 다른 기술을 사용해야 할 수도 있습니다.