오픈소스 JBoss 마이그레이션 도구

11
Windup JBoss Migration

description

오픈나루 블로그 - http://opennaru.tistory.com/ 오픈나루 홈페이지 - http://www.opennaru.com/

Transcript of 오픈소스 JBoss 마이그레이션 도구

Windup

JBoss Migration

opennaru.com | 2013 | All Rights Reserved 1

Header text

2011년 부터 시작된 JBoss 커뮤니티 프로젝트로 기존의 엔터프라이즈 Java EE 어플리케이션을 빠르고, 쉽게 마이그레이션 하기 위한 도구를 개발하는 오픈 소스 프로젝트

opennaru.com | 2013 | All Rights Reserved 2

• JBoss EAP로 손쉽게 마이그레이션 하기 위한 도구

• 마이그레이션 대상 어플리케이션의 전체 레이아웃을 제공

• 마이그레이션의 난이도 및 투입 리소스 근거 제공

• 마이그레이션 팀에 경험을 바탕으로 한 가이드를 제공

• 모든 리소스에 대한 링크는 마이그레이션 공수에 대한 적절한 전환 방법을 제공

• 마이그레이션에 대한 경험이 없이도 개발자가 싞속하게 어플리케이션을 전환할 수 있도록 지원

JBoss Windup 소개

JBoss Windup is a tool to simplify application migrations.

Running from the command line,

the tool reads EAR, WAR and JAR files. and produces an HTML report detailing the inner workings

of the Java application to simplify migration efforts.

opennaru.com | 2013 | All Rights Reserved 3

• 손쉽게 자바 어플리케이션 마이그레이션 하기 위한 도구

• 소스 코드 또는 컴파일된 클래스 지원

• 벤더 종속적인 코드 또는 라이브러리의 위치를 제공

• 코맨드 라인으로 즉시 실행

JBoss Windup

HTML Reports ● Recursively profiles resources

● JSP, XML, and Java Classes

Takes One or More Deployables (EAR/WAR/JAR)

Produces

opennaru.com | 2013 | All Rights Reserved 4

• 스토리 포인트는 마이그레이션 공수를 산정하기 위한 근거

• 벤더 의존적인 구현 부분의 빈도에 따라 그래프로 표현되고 하이라이트로 표시

• 공수가 소요되는 부분에 대해서는 마이그레이션에 대한 상세한 내용으로 링크가 표시됨

• 스토리 포인트란?

• 애자일 방법롞에서 공수에 대한 정의

• 스토리포인트에 대한 공수산정은 팀에 따라 상이함

1 스토리 포인트의 산정 기준이 1시간 또는 3시간 ?

전문가로 구성된 팀에게 스토리 포인트는 1시간으로 지정?

Windup 에서는 변경 사항의 난이도에 따라 스토리 포인트의 환산 기준으로 적절히 조정 가능

Windup – 스토리 포인트

opennaru.com | 2013 | All Rights Reserved 5

JBoss Windup – 마이그레이션 점검 샘플

WindUp 마이그레이션 분석 샘플

어플리케이션 Type 스토리포인트 기간

전자정부프레임워크 WAR 12 포인트 1.5 일

웹로직 MedRec 어플리케이션 EAR 47 포인트 6일

• 애자일 프로젝트에서 사용자 스토리나 기능

또는 어떤 작업의 규모를 표현하기 위하여

사용되는 단위

• JBoss Windup 의 경우 스토리포인트 1은

기술 숙련도에 따라 1시간 ~ 3시간으로

산정이 가능함

스토리포인트란?

전자정부프레임워크 웹로직 MedRec 샘플

[주의] JBoss EAP 에 대한 설치 및 환경 구성은 제외한 일정 (어플리케이션에 대한 마이그레이션 만 산정)

opennaru.com | 2013 | All Rights Reserved 6

JBoss Windup - 마이그레이션 사전 짂단도구

• JBoss 마이그레이션을 위한 지원 도구

• JBoss Windup – 어플리케이션에서 WAS 의존성을 찾아 내고 코드 변경에 대한 가이드 전달

• Tattletale – 라이브러리 의존성 관계 점검

• JBoss Windup 이란?

• 마이그레이션 작업시 리소스 투입 계획 및 기술 지원 범위에 대한 기준 마련

• 어플리케이션 마이그레이션 에 대해 LOE (Level Of Effort) 로 보여줌

• XML / Java / JSP 변경 부분의 LOE 를 측정

• 복잡한 어플리케이션(소스코드 제공 없이) 에 대한 마이그레이션에 대한 상세한 정보 제공

• 어플리케이션 소스 코드 제공없이도 분석 가능

• 특정 WAS 제품에 종속적으로 작성된 코드를 싞속하게 식별

• 특정 WAS 종속적인 어플리케이션 코드

• 특정 WAS 종속적인 메타 정보

• 마이그레이션 대상 WAS의 비전문가 또는 해당 기반 기술의 비전문가도 JBoss Windup 을 통해 마이그레이션의 범위를 산정할 수 있음

opennaru.com | 2013 | All Rights Reserved 7

• JBoss Windup 에서 식별 대상:

• 특정 Application Server에 종속적인 어플리케이션 코드

• Java 코드 중 더 이상 사용할 수 없는 코드 (Deprecated Java code)

• 비표준 -JMS 메세징 코드

• 웹서비스 식별

• EJB 버전 (2 / 3) 식별

• 하이버네이트, 스프링 , 스트럿츠 등에 대한 업그레이드 여부

• 잘못된 XML 코드

• 문제가 되는 어플리케이션 코드에 대한 가이드

JBoss Windup - 기능

opennaru.com | 2013 | All Rights Reserved 8

• ClassNotFound 에러를 제거

• 중복된 클래스 파일 검색

• 정상적인 코드를 확인하기 위한 jar 파일에 대한 상호 의존성을 검증

• 버전이 없는 Jar 파일 리스트

• 다른 버전의 동일 Jar 파일들 리스트 제공

• 클래스의 SerialVersionUID 검증

마이그레이션 추가 지원 내용

opennaru.com | 2013 | All Rights Reserved 9

• 자바 코드를 작성할 필요 없이 XML 기반의 룰을 추가함으로서 Windup 의 기능을 확장

• “/rules” 디렉터리 아래에 “/extensions” 디렉터리에 추가된 룰을 복사

• “/base” 디렉터리의 룰을 참조하여 새로운 룰을 작성

• 간단한 정규 표현식을 사용하여 자바 파일의 특성에 따라 자바 분류를 추가

• XML 파일 분류는 손쉬운 Windup 룰 (단순한 Xpath 표현식)

JBoss Windup – 확장 기능