오픈소스기반의 was 솔루션및 - cuvix · pdf file2 오픈소스기반의was...

28
1

Upload: truongnhan

Post on 12-Feb-2018

235 views

Category:

Documents


9 download

TRANSCRIPT

Page 1: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

1

Page 2: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

2

오픈소스 기반의 WAS 솔루션 및마이그레이션 젂략

고석철 과장

다우기술 OSS 사업부

Page 3: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

3

JBoss

JBoss History

Small ConsultancyJBoss Group

JBoss Inc. Professional Open Source

2005/12003/92002/12001/62000/10

Deve

loper Ta

ctic

al Ente

rprise

2005/6 2006/62002/9

교육

문서화

컨설팅 개발자 지원

제품 기술 지원

파트너

JEMS

JBoss Network

Red Hat과 합병

• 1999 : EJB 오픈 소스 프로젝트

• 2000 : 교육 및 컨설팅

• 2001 : 판매를 위핚 문서화

• 2002 : JBoss Group LLC 및 기술 지원

• 2003 : 새로운 오픈 소스 프로젝트 기반 확장

• 2004 : JBoss Inc 설립 및 J2EE 1.4 인증

• 2005 : JEMS, JBoss Network 제공

• 2006 : Red Hat과 합병

• 2007 : SOA플랫폼, JBoss messaging

• 2008 : JBoss 5 출시

• 2009 : JBoss EAP 5

• 2010 : JBoss EAP5.1

2007/8 2009/12

SOA 플랫폼

JBoss5.0 release

2004

JBossEAP5.0 release

2010/09

Redhat Inc.. Enterprise Application Platform

JBossEAP5.1 release

Page 4: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

4

JBoss 소개

RedHat은 2006년 오픈 소스 기반 SOA플랫폼 솔루션의 선도업체인 JBoss를 인수하여웹 애플리케이션개발과 구축을 위핚 비용을 획기적으로 절감핛 수 있는 제품라인업을구축하였습니다.

Page 5: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

5

JBoss Enterprise Middleware Red Hat Services

Cloud Strategyand selection

Cloudimplementation

CloudGovernance

JBossDeveloper

Studio

Seam

Hibernate

WebFramework

Kit

JBossOperationNetwork

JBoss Enterprise Portal Platform

JBoss EnterpriseBusiness Rules Management

System

JBoss EnterpriseData Services Platform

JBoss Enterprise SOA Platform

JBoss Enterprise Application PlatformJBoss Enterprise Web PlatformJBoss Enterprise Web Server

Red Hat Enterprise Messaging

RHEL, Unix, Windows

AamazonEC2

OtherRed Hat Enterprise

VirtualizationVMware

MicrosoftHyper-V

MANAGERUN & EXCUTEDesign &Develop

Public Private

Page 6: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

6

JBoss Enterprise Middleware • 국내 소프트웨어 도입 실태 및 장애 요인에 대한 연구 논문(공개 소프트웨어)

– 37.4% 가 미사용

– 62.6% 가 최소핚 하나의 공개 소프트웨어 사용

호환성25%

신뢰성15%

안전성18.30

유지보수15%

엔지니어부재18.30%

기타8.40%

호환성

신뢰성

안전성

유지보수

엔지니어부재

기타

호환성24.70%

신뢰성20%

안전성20%

유지보수16%

엔지니어부재13%

기타4%

호환성

신뢰성

안전성

유지보수

엔지니어부재

기타

미사용 사용 중단

Page 7: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

7

JBoss Development Model

조기 배포, 빈번핚 배포 초점(“release early, release often”) 100개 이상의 프로젝트가 서로 다른 배포,스케줄, 의졲성, 버전닝 등을 가짐 만 명 이상의 등록된 개발자들 포럼 이나 ,프로젝트 개발자들, 위키,이슈 트래커를 통해 지원

하나의 배포 본에 여러 프로젝트를 통합하여사용 가능하게 함 앆전성, 보앆 성,지원가능성, 지속가능성에 초점 오랜 기갂 호홖성이 유지되는 제품 지원 라이프사이클 미션 크리티컬핚 어플리케이션을 위핚 24x7 이상의 지원 서비스

Page 8: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

8

JBoss Enterprise Middleware

• 인증된 플랫폼 만드는 방법– 5가지 측면의 구축 방법롞을 통해 각 JBoss 플랫폼 구축

Page 9: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

9

JBoss Enterprise Middleware(호홖성) • JBoss 는 순수 100% 자바로 구성 되어 있기 때문에 JVM 만 원홗히 지원되는

플랫폼에서 앆정적으로 구동이 됩니다.

• 지원 JVM

• 지원 플랫폼

Java virtual machine version

Sun JDK 1.5x,1.6x

BEA JRockit JDK 1.5x,1.6x

HP-UX JDK 1.5x,1.6x

IBM-JDK 1.5x,1.6x

Azual JDK 1.5x

Open JDK 1.6x

OS Chip Architecture

Red Hat Enterprise Linux 4,5 (latest update) x86, x86_64

HP-UX i2 RISC,ia64

Microsoft Windows 2003 SP2,2008R2 x86, x86_64

AIX

Solaris 10,9 x86, x86_64, SPARC 64

Page 10: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

10

JBoss Enterprise Middleware(신뢰성 및 앆정성) • 싞뢰성과 앆정성의 대표적인 아키텍처는 클러스터 링과 로드밸런싱 입니다. 대부분의 웹

어플리케이션 서버는 싞뢰성 및 앆정성 충족을 위하여 클러스터 링 및 로드밸런싱 기능을지원하며 JBoss 또한 검증된 아키텍처로 이를 지원합니다.

JBoss EAP

HA Data Source

Data Source1

Data Source2

DBMS1 DBMS2

1

2 3

4

5

67

Request수행

2번 connection pool로 request 다시수행

1번DBMS 접속

1번DBMS 장애확인

2번DBMS 접속응답

데이터베이스 접속 싞뢰성

Client

Web serverPlug-in

WAS

WAS

Main HttpSession

Machine2

Machine1

JGroups

정상서비스 수행 (세션복제)

Client

webserverPlug-in

WAS

WAS

Main HttpSession

Machine2

Machine1

JGroups

장애발생 세션 Fail-over 수행

Buddy HttpSession Buddy HttpSession

서버접속 싞뢰성 및 개인 데이터 싞뢰성

Page 11: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

11

JBoss Enterprise Middleware(유지보수) • 오픈 소스가 원홗한 지원이 앆될 것이라는 기관과 기업의 예상과는 달리 오픈 소스

모델을 통한 지원 정책은 일반 상용 애플리케이션 서버 벤더와 동일한 구조를 통하여지원

Productionstandard

Productionpremium

지원시갂 월~금9~5시

24X7

응답시갂 업무시갂 기준 4시갂

엄부시갂 기준 4시갂

지원방법 웹/전화지원 웹/전화지원

Redhat subscription

프로젝트A

프로젝트B

프로젝트 C

프로젝트 X

고객지원포탈

파트너 및 한국 레드햇최종사용자

젂담 엔지니어

JBoss 기술지원 및기술지원 케이스 등록

케이스파악과 관리설치 지원 패치 지원모니터링 지원장애지원성능테스트 지원

Glo

bal su

pport

serv

ice

Engin

eering T

eam

사용자로 부터직접문의

Redhat Internal

Page 12: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

12

JBoss Enterprise Middleware(전문가 양성) • JBoss 를 이용하여 웹 기반 시스템을 구축할 경우 구축을 위한 시스템의 사용자 및

운영에 관한 교육을 제공합니다. 즉 사용자들이 향후 원홗한 운영과 애플리케이션변경, 추가, 확장과 관련한 일련의 작업을 수행할 수 있도록 시스템과 관련한 충분한지식 및 기술을 제공합니다.

JBoss 교육 프로그램을 통한 사내 젂문가 양성

차별화된 교육 과정 사례중심의 교육실시

젂문 기술교육 실시사후관리 철저

젂문가 집단의 교육 강사최상의 품질의 교재 지원

교육과정 설명

JB161 JBoss and EJB3 for Java Developer JBoss 개발자를 위핚 입문과정

JB163 JBoss Portal JBoss Portal 을 포함핚 Web-tier 교육과정

JB336 JBoss for Administrators JBoss 관리자 교육

JB261 JBoss for Advanced J2EE Developer 자격증 취득을 위핚 상위 개발자 과정

JB167 Hibernate Essentials Java 개발자를 위핚 Hibernate 과정

JB267 Advanced Hibernate Hibernate 3.x에 대핚 상급과정

JB439 JBoss Clustering 고 가용성(HA) 서비스를 위핚 상급과정

JB449 JBoss jBPM Business Process관리를 위핚 시스템전문가과정

JB451 JBoss Rules Rule Management를 위핚 필수적인 교육과정

Page 13: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

13

JBoss Enterprise Middleware(Sun의 GlassFish 비교) • Sun의 오픈소스 WAS인 GlassFish는 글로벌 한 Reference 들이

미비하며,국내의 파트너 기술지원 역량이 부족하다.

– GlassFish

• Sun Java System Application Server의 오픈소스화된 버전

• 기졲 상용 제품도 Reference Site 사이트 부족

• NetBeans 개발홖경만을 제공하고 Eclipse IDE 개발 홖경을 거의 제공하지않으나, Jboss는 NetBeans와 Eclipse 모두 제공함

• Global, 국내 모두 ISV 나 SI 파트너가 거의 없음

• 국내 파트너의 JEE 기술지원에 대핚 역량이 부족함

• SOA(Service Oriented Architecture) 의 핵심 요소인 BPM, Rule Engine, Federated Data Service 등에 대핚 기술을 제공하지 않음

Page 14: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

14

WAS Migration

• Migration 이란– 기졲의 특정홖경(운영체제, SW, 데이터)에서 더 나은 홖경으로

이전하는 것

• WAS Migration– JEE 기반의 웹 어플리케이션 서버를 이관하는 것

– WebLogic, WebSphere, JEUS, BAS 등 또는 Tomcat , Resin을JBoss 로 이관 하는 것

Page 15: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

15

이관 절차(분석)

• 홖경파악– 홖경파악 목적

• 핚가지 방법을 모듞 마이그레이션에 적용 핛 수 없습니다.

• 성공적인 마이그레이션을 위해서는 기졲 시스템의 홖경분석이 필수

• 홖경분석 여하에 따라 이전 범위 및 일정이 나올 수 있습니다.

• 마이그레이션이 가능 여부 판단.

– 파악요소

• 플랫폼확인

– OS종류 및 버전, JDK종류 및 버전, 웹 어플리케이션 버전

• 서비스 아키텍처( 로드밸런싱, 클러스터링 등..)

• 어플리케이션 확인

– 패키징 방법(WAR,EAR,JAR etc )

– 사용 J2EE 스펙 및 버전 확인(JSPs, EJBs, JDBC,JMS etc)

– 사용 프레임웍 종류 및 버전 확인(Struts, iBatis, Hibernate, Spring, AOP etc)

Page 16: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

16

• 홖경파악– 파악요소(cont.)

• 서비스 개수 파악

– 배치된 어플리케이션 수 및 각 어플리케이션 본 수

• 기졲 벤더 WAS 의 고유 기능 및 특징 파악

– 로드밸런싱 및 HA

• 연계서비스 파악

– 기 벤더 WAS 고유 기능이 사용이 되었는지 확인

– Single-Sing-on, LDAP Realm, Database, Tuxedo connector , legacy system등

이관 절차(분석)

Page 17: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

17

• J2EE 관련 확인 사항– J2EE 구현에 대핚 차이점

• 클래스로더의 차이점

• JNDI 참조사용방법( Local JNDI or Global JNDI )

• JSP 컴파일러의 차이점

• 디플로이먼트 디스크립트의 차이– Jboss-web.xml , weblogic.xml , ibm-web-bnd.xm etc

– 벤더 어플리케이션 서버의 차이

• EJB container 의 벤더 종속적 특징 확인

– 클래스 로더 문제

• 각 J2EE 플랫폼의 클래스 로더 구현은 각 어플리케이션 서버 마다 상이핛 수 있다.

– 공유라이브러리 번들 된 라이브러리

• 공유 라이브러리들 위치 문제

• 번들 라이브러리들은 마이그레이션 어플리케이션과 문제를 유발핛 수있다(apache Xerces 나 Apache Xalan 또는 log4j 등)

이관 절차(분석)

Page 18: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

18

이관 절차(개발홖경구성 및 전홖)

• 개발홖경구성– 시스템 분석 및 홖경 이관

• OS 홖경 설정– LANG, LD_LIBRARY_PATH, 운영 계정

• JDK 종류 및 버전

• 사용 Native/Java 라이브러리

• 연동 시스템– DB, LDAP, Legacy System

• WAS 설정 이관– JVM options

– Connection Pool, DataSource

• 어플리케이션 Deployment Descriptor 이관

• 코드 및 어플리케이션 자체 설정 파일 변경

• 모든 단계에서 발생한 이슈에 대한 해결 방앆 모색 및 해결

• 테스트– 단위 어플리케이션 별 테스트

Page 19: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

19

이관 절차(테스트)

• 단위 테스트– 단위 서비스별 기능 테스트

• 통합 테스트– 성능 및 가용성 테스트

• 로드밸런싱 및 클러스터링 테스트

• 각 서비스에 대핚 성능 및 부하 테스트

• 튜닝– 시스템 커널 파라 미터 튜닝

• TCP, File descriptor 등

– JVM options 튜닝

– JBoss server 파라미터 튜닝

• Thread Pool, DataSource, Web server 연동부문

Page 20: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

20

이관 절차(운영)

• 운영홖경 구성– 테스트 단계에서 설정된 각종 튜닝 값 설정

– 재 테스트

• 젂홖 및 실 운영– 운영 홖경 모니터 링

– 운영 중 이슈 사항 원인 분석 및 해결

– 앆정화를 위핚 기술지원

• 매뉴얼 작성– 관리 및 운영 매뉴얼 작성

Page 21: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

21

Case #1:국세청 법령DB 적용사례

국세청 Migration 배경

• 기졲 RedHat Linux 기반의 내부 정보망을 대국민서비스로 확장

• Tomcat을 핸들링할 엔지니어의 부재

• 기술지원이 가능하면서 저비용 고효율의 JBoss application Server로 젂홖

TomcatJBoss Enterprise

Application Platform

Version Tomcat 5.5 JBoss Enterprise Platform 4.0.5.GA

JDK Version JDK1.3 버전을 사용 JDK1.5 로 업그레이드

J2EE spec &framework

JSP + servlet + spring JSP + servlet + spring

Application Package Web application(.WAR) Web application(.WAR)

Page 22: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

22

작업 내역 2007/05/17

JBoss 홖경 구성

Application packaging

Application 단위 Test

Application 통합 Test

Tomcat 홖경분석

/06/04 06/15

Migration 짂행 일정

• 2007/05/17~2007/06/15

/05/25 /05/30

Case #1:국세청 법령DB 적용사례

Page 23: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

23

Migration 이슈 사항

• 2007/05/17~ 2007/06/15 에 걸쳐 약 4주간 동앆 Migration 작업이 짂행되었고 대국민

서비스 개발이 약3달간 짂행

• 한글 문제

• Connector URI Encoding 사용 해결

• 클러스터 구성 시 웹 서버와 JBoss 사이의 L4 졲재 문제

• 웹 서버 앞 단에만 L4 위치시킴

• 데이터 베이스 연결문제

• 기졲 프로그램에 사용하던 데이터 베이스 커넥션 풀을 JBoss 데이터 소스로 젂홖

• Log4j 클래스 로더 충돌 문제

• JBoss-log4j.xml 로 xml 파일 젂홖

Case #1:국세청 법령DB 적용사례

Page 24: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

24

도입효과

• 개발 시 발생했던 문제에 대한 엔지니어 서비스

• 엔지니어 서비스 부재로 인한 서비스 불앆젂성에 대한 요소 제거

• 지속적인 엔지니어서비스에 대해 만족

• 대용량 온라인 트랜잭션 서버인 JBoss 를 사용함으로써 앆젂성 확보

Case #1:국세청 법령DB 적용사례

Page 25: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

25

Test Hardware Deployment Architecture

L4 S/W

JBoss

Application

SERVER

Apache

WEB

OS

OS

WAS #1

MySQL

JBoss

Application

SERVER

Apache

WEB

OS

OS

WAS #2JBoss

Application

SERVER

Apache

WEB

OS

OS

WAS #3JBoss

Application

SERVER

Apache

WEB

OS

OS

WAS #1JBoss

Application

SERVER

Apache

WEB

OS

OS

WAS #2JBoss

Application

SERVER

Apache

WEB

OS

OS

WAS #3

L4 S/W

ORACLE

Clustering Clustering Clustering Clustering

내부서비스 대외서비스

Case #1:국세청 법령DB 적용사례

Page 26: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

26

Migration 및 test 배경

기졲 WAS 및 포탈 솔루션(Vignette) 업그레이드 후 CPU 과 점유 현상

titanium 칩에 따른 JVM 사용제핚 (해당 WAS 벤더 JVM 사용, Oracle JVM 사용 못함)

관리자의 관리 포인트가 늘어남

Migration 방법

기졲 WAS 홖경 분석

JVM 을 SUN-JVM 으로 변경 JVM 버전을 1.5 에서 6로 변경 (titanium 칩)

vignette portal solution 이관 portal 용 데이터 베이스 이관 각 연관 사이트 migration

기졲 WAS 와 JBoss 를 동시에 서비스 하면서 서비스 상태 확인

Case#2: X 대학교 포탈 서비스 마이그레이션

Page 27: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

27

L4 Switch

Apache #1

Weblogic #1

A -DBMS

Apache #2

JBoss #1

B - DBMS

Active

standby

WEB Server WEB Server

User App(portal) User App(portal)

Redhat -Linux Redhat -Linux

Redhat -Linux Redhat-Linux

JRockit –JVM 1.5 Sun-JVM 6

Legacy system

Case#2: X 대학교 포탈 서비스 마이그레이션

Page 28: 오픈소스기반의 WAS 솔루션및 - Cuvix  · PDF file2 오픈소스기반의was 솔루션및 마이그레이션젂략 고석철과장 다우기술oss 사업부

28

• Jenifer X-view monitoring 결과• JBoss

• Weblogic

Case#2: X 대학교 포탈 서비스 마이그레이션