source : http://www.opennaru.com/jboss/jboss-migration-tool-rhamt/
JBoss 마이그레이션 도구인 Red Hat Application Migration Toolkit (RHAMT)은 weblogic/websphere 와 같은 WAS 제품에서 운영하던 애플리케이션을 JBoss 로 마이그레이션 할 때 유용하게 사용할 수 있는 도구입니다.
RHAMT 을 이용하면 애플리케이션 소스가 없더라도 해당 애플리케이션이 JBoss 에서 실행되기 위해 수정이 필요한 부분을 리포트하고 수정 방법을 가이드해 줍니다.
30. CASE 1:
WebLogic web application descriptor
(weblogic.xml)
• WebLogic Web application descriptor(weblogic.xml)은 JBoss web
application descriptor(jboss-web.xml)과 다르기 때문에 반드시 규격대로
변경을 해야 함
• WebLogic 에서 JBoss 으로 마이그레이션 작업 시 반드시 해야 함
34. • JAVA EE 플렛폼에 정의된 JNDI context
• Java:comp – 최근 구성요소에 대한 범위
• Java:module – 최근 모듈에 대한 범위
• Java:app – 최근 애플리케이션에 대한 범위
• Java:global – 애플리케이션 서버에 대한 범위
• JBoss에서 제공하는 2개의 global namespace
• Java:jboss/
• Java:/
CASE 3: Call of JNDI Lookup
35. CASE 4: WebLogic T3 JNDI binding
Properties environment = new Properties();
environment.put("java.naming.factory.initial",
"weblogic.jndi.WLInitialContextFactory");
environment.put("java.naming.provider.url", "t3://localhost:7001");
Context context = new InitialContext(environment);
Properties environment = new Properties();
environment.put("java.naming.factory.initial","org.jboss.naming.remote.cl
ient.InitialContextFactory ");
environment.put("java.naming.provider.url", "remote://localhost:4447 ");
Context context = new InitialContext(environment);
• JNDI Binding (변경 전)
• JNDI Binding (변경 후)
• 참조 링크 : https://access.redhat.com/documentation/en-
us/red_hat_jboss_enterprise_application_platform/6.4/html/development_guide/configuring_a
_remote_jndi_client
36. “ IF YOU CAN’T MEASURE IT
YOU CAN’T MANAGE IT. ”
- Peter Drucker
37.
38. 제품 / 서비스에 관한 문의
• 콜 센터 :02-469-5426 ( 휴대폰 : 010-2243-3394 )
• 전자 메일:sales@opennaru.com
Hinweis der Redaktion
2000년대에는 모노리틱 아키텍처를 사용 하였으며, 비싼 Unix box 2대에서 전체 서비스를 올려서 서비스가 죽지 않게 운영하는게
목표였기 때문에 고가용성이 나오지 않음
3. 2010년 이후 에는 확장이 가능한 아키텍처를 사용하기 위해 작은 x86 여러 대에 여러 인스턴스를 올려서 운영 하며,
멀티 디바이스와 옴니 채널 대응 가능한 REST를 많이 사용하는 방식으로 변경 되어가고 있습니다.
현재는 Unix와 Linux 기술적 차이를 가리기 힘든 상태
Unix의 경우 해당 밴더의 H/W, S/W 상의 UNIX만 지원
리눅스의 경우 H/W 플랫폼을 지원
리눅스에서는 오픈소스에 대한 제약이 없음
장비 밴더 종속적으로 고비용 유지보수 비용이 들음
OS가 장비 CPU chip에 의존적이며, 장비가 많이 비쌈
4개의 프로세스가 있으며 모든분들이 아시는 분석, 구축, 전환 및 성능 최적화, 운영 전환 프로세스로 갑니다.
1.4, 1.5 JDK 버전에서는 최신 아키텍처나 spring boot같은 프레임 워크를 사용 할 수 없습니다. 이러한 기술을 도입 하기 위해서는 JDK 및 WAS가 업그레이드 되어야 합니다.
마이그레이션 프로젝트에서 지금 현재 중요도와 비용를 고려하였을때 비용측면에서는 장비도입/구축이 80%이고 애플리케이션 이관이 20%일때,
중요도 측면에서는 장비도입/구축이 20%이며 애플리케이션이 80%를 차지 합니다. 마이그레이션을 성공적으로 수행하려면 중요도 측면도 고려를 해야합니다.
RHAMT 는 3가지 Tools 를 제공
CLI, Web Console, Eclipse-Plugin
CLI는 간단히 커맨드 라인을 사용하여 파이그레이션이 필요한 소스를 분석
분석시 Report 형식의 HTML 파일을 제공
Web Console기반은 Web 기반으로 되어 있으며 web console을 통하여 분석이 필요한 소스들을 등록하여 프로젝트별로 소스를 분리 가능하며 여러 사람들이 동시에 관리 및 분석이 가능
Eclipse-Plugin의 경우 소스 개발 중에 변경 해야 할 이슈 부분을 Eclipse에서 바로 확인이 가능.
RHAMT 는 3가지 Tools 를 제공
CLI, Web Console, Eclipse-Plugin
CLI는 간단히 커맨드 라인을 사용하여 파이그레이션이 필요한 소스를 분석
분석시 Report 형식의 HTML 파일을 제공
Web Console기반은 Web 기반으로 되어 있으며 web console을 통하여 분석이 필요한 소스들을 등록하여 프로젝트별로 소스를 분리 가능하며 여러 사람들이 동시에 관리 및 분석이 가능
Eclipse-Plugin의 경우 소스 개발 중에 변경 해야 할 이슈 부분을 Eclipse에서 바로 확인이 가능.
RHAMT 는 3가지 Tools 를 제공
CLI, Web Console, Eclipse-Plugin
CLI는 간단히 커맨드 라인을 사용하여 파이그레이션이 필요한 소스를 분석
분석시 Report 형식의 HTML 파일을 제공
Web Console기반은 Web 기반으로 되어 있으며 web console을 통하여 분석이 필요한 소스들을 등록하여 프로젝트별로 소스를 분리 가능하며 여러 사람들이 동시에 관리 및 분석이 가능
Eclipse-Plugin의 경우 소스 개발 중에 변경 해야 할 이슈 부분을 Eclipse에서 바로 확인이 가능.
RHAMT 는 3가지 Tools 를 제공
CLI, Web Console, Eclipse-Plugin
CLI는 간단히 커맨드 라인을 사용하여 파이그레이션이 필요한 소스를 분석
분석시 Report 형식의 HTML 파일을 제공
Web Console기반은 Web 기반으로 되어 있으며 web console을 통하여 분석이 필요한 소스들을 등록하여 프로젝트별로 소스를 분리 가능하며 여러 사람들이 동시에 관리 및 분석이 가능
Eclipse-Plugin의 경우 소스 개발 중에 변경 해야 할 이슈 부분을 Eclipse에서 바로 확인이 가능.
RHAMT 는 3가지 Tools 를 제공
CLI, Web Console, Eclipse-Plugin
CLI는 간단히 커맨드 라인을 사용하여 파이그레이션이 필요한 소스를 분석
분석시 Report 형식의 HTML 파일을 제공
Web Console기반은 Web 기반으로 되어 있으며 web console을 통하여 분석이 필요한 소스들을 등록하여 프로젝트별로 소스를 분리 가능하며 여러 사람들이 동시에 관리 및 분석이 가능
Eclipse-Plugin의 경우 소스 개발 중에 변경 해야 할 이슈 부분을 Eclipse에서 바로 확인이 가능.
RHAMT 는 3가지 Tools 를 제공
CLI, Web Console, Eclipse-Plugin
CLI는 간단히 커맨드 라인을 사용하여 파이그레이션이 필요한 소스를 분석
분석시 Report 형식의 HTML 파일을 제공
Web Console기반은 Web 기반으로 되어 있으며 web console을 통하여 분석이 필요한 소스들을 등록하여 프로젝트별로 소스를 분리 가능하며 여러 사람들이 동시에 관리 및 분석이 가능
Eclipse-Plugin의 경우 소스 개발 중에 변경 해야 할 이슈 부분을 Eclipse에서 바로 확인이 가능.
RHAMT 는 3가지 Tools 를 제공
CLI, Web Console, Eclipse-Plugin
CLI는 간단히 커맨드 라인을 사용하여 파이그레이션이 필요한 소스를 분석
분석시 Report 형식의 HTML 파일을 제공
Web Console기반은 Web 기반으로 되어 있으며 web console을 통하여 분석이 필요한 소스들을 등록하여 프로젝트별로 소스를 분리 가능하며 여러 사람들이 동시에 관리 및 분석이 가능
Eclipse-Plugin의 경우 소스 개발 중에 변경 해야 할 이슈 부분을 Eclipse에서 바로 확인이 가능.
RHAMT 는 3가지 Tools 를 제공
CLI, Web Console, Eclipse-Plugin
CLI는 간단히 커맨드 라인을 사용하여 파이그레이션이 필요한 소스를 분석
분석시 Report 형식의 HTML 파일을 제공
Web Console기반은 Web 기반으로 되어 있으며 web console을 통하여 분석이 필요한 소스들을 등록하여 프로젝트별로 소스를 분리 가능하며 여러 사람들이 동시에 관리 및 분석이 가능
Eclipse-Plugin의 경우 소스 개발 중에 변경 해야 할 이슈 부분을 Eclipse에서 바로 확인이 가능.
RHAMT 는 3가지 Tools 를 제공
CLI, Web Console, Eclipse-Plugin
CLI는 간단히 커맨드 라인을 사용하여 파이그레이션이 필요한 소스를 분석
분석시 Report 형식의 HTML 파일을 제공
Web Console기반은 Web 기반으로 되어 있으며 web console을 통하여 분석이 필요한 소스들을 등록하여 프로젝트별로 소스를 분리 가능하며 여러 사람들이 동시에 관리 및 분석이 가능
Eclipse-Plugin의 경우 소스 개발 중에 변경 해야 할 이슈 부분을 Eclipse에서 바로 확인이 가능.
식별대상의 경우 따로 Role을 만들어서 편집이 가능하며, 일반적으로 위와 같이 식별하여 변경되어야 할 부분을 가이드 해줍니다.
마이그레이션 툴을 이미지와 같이 분석하여 어느정도 기술 숙련도가 필요한지 얼마나 시간이 걸리는지 산정 할수 있도록 도움을 줍니다.
보고서 내용에는 변경해야할 부분에 대한 상세한 내용이 있으며 어떻게 변경을 해야하며 어느 문서를 참조해야할지 링크도 같이 제공 합니다.
또한 변경되어야 할 부분이 필수적인지 아니면 선택적인지 여부도 분리가 되어 확인 가능합니다.
변경에 대한 복잡도를 가이드 해주며 코드를 변경 해야 할 코드나 설정 부분에 대하여 참조에 도움이 될 가이드 링크를 알려줍니다.
첫번째 케이스는 Web application descriptor 파일 변경 부분입니다.
Weblogic 과 Jboss의 web application descriptor 설정 규격이 다르기 때문에 반드시 변경해야 합니다. 해당 이미지는 RHAMT에서 소스 분석시 가이드를 해주는 내용 입니다. 어떻게 변경하는지는 아래의 링크를 확안하고 수동으로 변경을 하면 됩니다.
제가 데모에 사용한 애플리케이션은 weblogic의 medrec 애플리케이션 샘플과 레드햇에서 제공해주는 샘플 애플리케이션을 사용하여 만들 었습니다. 해당 설정은 weblogic에서 사용하고 있는 web application descriptor 입니다.
위의 weblogic 파일은 보안을 위한 security-role에 대한 설정이 첨부 되어있습니다.
Weblogic.xml을 jboss 설정으로 맞게 변경하기 위해서는 2개의 파일을 설정해줘야합니다.
하나는 jboss web application descriptor 파일인 jboss-web.xml과 jboss configuration file인 standalone.xml입니다.
먼저 weblogic.xml에서 사용중인 Role을 확인후 standalone.xml에 security-domains에 해당 role을 jboss 규격에 맞게 변경을 한 이후에
Jboss-web.xml 파일에 어느 security-domain role을 사용 할 것인지 정의 해주시면됩니다.
보안 도메인은 인증, 보안 감사, 보안 맵핑을 제어하기 위해 애플리케이션이 사용하는 JAAS(Java Authentication and Authorization Service) 보안 설정들의 집합이다.
여러 개의 보안 도메인을 설정할 수 있다. 보안 도메인에 인증, 권한 부여, 맵핑, 감사 모듈 및 JASPI 인증, JSSE 구성 정보를 포함할 수 있다. 애플리케이션에서 보안 도메인의 이름을 지정하여 보안 설정을 한다
웹로직 서버 외부에서 동작하는 JSP/서블릿 혹은 엔터프라이즈 빈즈에서 JNDI를 이용할 경우