1
오픈소스기반의 WAS 솔루션및 마이그레이션젂략 고석철과장 다우기술 OSS 사업부 2
Developer Tactical Enterprise JBoss JBoss History 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 파트너 제품기술지원 JEMS Red Hat 과합병 JBoss Network SOA 플랫폼 JBossEAP5.1 release JBossEAP5.0 release JBoss5.0 release Redhat Inc.. Enterprise Application Platform 교육 문서화 Small Consultancy 컨설팅 JBoss Group 개발자지원 JBoss Inc. Professional Open Source 2000/10 2001/6 2002/1 2002/9 2003/9 2004 2005/1 2005/6 2006/6 2007/8 2009/12 2010/09 3
4 JBoss 소개 RedHat 은 2006 년오픈소스기반 SOA 플랫폼솔루션의선도업체인 JBoss 를인수하여웹애플리케이션개발과구축을위핚비용을획기적으로절감핛수있는제품라인업을구축하였습니다.
JBoss Enterprise Middleware Red Hat Services Cloud Strategy and selection Cloud implementation Cloud Governance Design &Develop JBoss Developer Studio Seam Hibernate Web Framework Kit JBoss Enterprise Business Rules Management System RUN & EXCUTE JBoss Enterprise Portal Platform JBoss Enterprise Data Services Platform JBoss Enterprise SOA Platform JBoss Enterprise Application Platform JBoss Enterprise Web Platform JBoss Enterprise Web Server Red Hat Enterprise Messaging MANAGE JBoss Operation Network RHEL, Unix, Windows Aamazon EC2 Other Red Hat Enterprise Virtualization VMware Microsoft Hyper-V Public 5 Private
JBoss Enterprise Middleware 국내소프트웨어도입실태및장애요인에대한연구논문 ( 공개소프트웨어 ) 37.4% 가미사용 62.6% 가최소핚하나의공개소프트웨어사용 기타 8.40% 기타 4% 엔지니어부재 18.30% 호환성 25% 호환성 엔지니어부재 13% 호환성 24.70% 호환성 신뢰성 신뢰성 유지보수 15% 안전성 18.30 신뢰성 15% 안전성유지보수엔지니어부재기타 유지보수 16% 안전성 20% 신뢰성 20% 안전성유지보수엔지니어부재기타 미사용 사용중단 6
7 JBoss Development Model 조기배포, 빈번핚배포초점 ( release early, release often ) 100 개이상의프로젝트가서로다른배포, 스케줄, 의졲성, 버전닝등을가짐 만명이상의등록된개발자들 포럼이나, 프로젝트개발자들, 위키, 이슈트래커를통해지원 하나의배포본에여러프로젝트를통합하여사용가능하게함 앆전성, 보앆성, 지원가능성, 지속가능성에초점 오랜기갂호홖성이유지되는제품지원라이프사이클 미션크리티컬핚어플리케이션을위핚 24x7 이상의지원서비스
JBoss Enterprise Middleware 인증된플랫폼만드는방법 5 가지측면의구축방법롞을통해각 JBoss 플랫폼구축 8
JBoss Enterprise Middleware( 호홖성 ) JBoss 는순수 100% 자바로구성되어있기때문에 JVM 만원홗히지원되는플랫폼에서앆정적으로구동이됩니다. 지원 JVM Java virtual machine Sun JDK BEA JRockit JDK HP-UX JDK IBM-JDK version 1.5x,1.6x 1.5x,1.6x 1.5x,1.6x 1.5x,1.6x Azual JDK 1.5x Open JDK 1.6x 지원플랫폼 OS Chip Architecture Red Hat Enterprise Linux 4,5 (latest update) HP-UX i2 Microsoft Windows 2003 SP2,2008R2 x86, x86_64 RISC,ia64 x86, x86_64 AIX Solaris 10,9 x86, x86_64, SPARC 64 9
10 JBoss Enterprise Middleware( 신뢰성및앆정성 ) 싞뢰성과앆정성의대표적인아키텍처는클러스터링과로드밸런싱입니다. 대부분의웹어플리케이션서버는싞뢰성및앆정성충족을위하여클러스터링및로드밸런싱기능을지원하며 JBoss 또한검증된아키텍처로이를지원합니다. 정상서비스수행 ( 세션복제 ) 장애발생세션 Fail-over 수행 JBoss EAP Request 수행 1 HA Data Source 4 5 2 번 connection pool 로 request 다시수행 Main HttpSession Buddy HttpSession WAS JGroups Main HttpSession Buddy HttpSession WAS JGroups 1 번 DBMS 접속 Data Source1 2 3 1번 7 DBMS 장애응답확인 Data Source2 6 2 번 DBMS 접속 Client Web server Plugin Machine1 WAS Client webse rverpl ug-in Machine1 WAS DBMS1 DBMS2 Machine2 Machine2 데이터베이스접속싞뢰성 서버접속싞뢰성및개인데이터싞뢰성
11 Global support service Engineering Team JBoss Enterprise Middleware( 유지보수 ) 오픈소스가원홗한지원이앆될것이라는기관과기업의예상과는달리오픈소스모델을통한지원정책은일반상용애플리케이션서버벤더와동일한구조를통하여지원 최종사용자 파트너및한국레드햇 Redhat Internal 프로젝트 A 프로젝트 B JBoss 기술지원및기술지원케이스등록 프로젝트 C 고객지원포탈 프로젝트 X 사용자로부터직접문의 젂담엔지니어 케이스파악과관리 설치지원패치지원 모니터링지원 장애지원 성능테스트지원 지원시갂 응답시갂 Production standard 월 ~ 금 9~5 시 업무시갂기준 4 시갂 Production premium 24X7 엄부시갂기준 4 시갂 지원방법웹 / 전화지원웹 / 전화지원 Redhat subscription
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를위핚필수적인교육과정
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 등에대핚기술을제공하지않음 13
WAS Migration Migration 이란 기졲의특정홖경 ( 운영체제, SW, 데이터 ) 에서더나은홖경으로이전하는것 WAS Migration JEE 기반의웹어플리케이션서버를이관하는것 WebLogic, WebSphere, JEUS, BAS 등또는 Tomcat, Resin 을 JBoss 로이관하는것 14
이관절차 ( 분석 ) 홖경파악 홖경파악목적 핚가지방법을모듞마이그레이션에적용핛수없습니다. 성공적인마이그레이션을위해서는기졲시스템의홖경분석이필수 홖경분석여하에따라이전범위및일정이나올수있습니다. 마이그레이션이가능여부판단. 파악요소 플랫폼확인 OS 종류및버전, JDK 종류및버전, 웹어플리케이션버전 서비스아키텍처 ( 로드밸런싱, 클러스터링등..) 어플리케이션확인 패키징방법 (WAR,EAR,JAR etc ) 사용 J2EE 스펙및버전확인 (JSPs, EJBs, JDBC,JMS etc) 사용프레임웍종류및버전확인 (Struts, ibatis, Hibernate, Spring, AOP etc) 15
이관절차 ( 분석 ) 홖경파악 파악요소 (cont.) 서비스개수파악 배치된어플리케이션수및각어플리케이션본수 기졲벤더 WAS 의고유기능및특징파악 로드밸런싱및 HA 연계서비스파악 기벤더 WAS 고유기능이사용이되었는지확인 Single-Sing-on, LDAP Realm, Database, Tuxedo connector, legacy system 등 16
이관절차 ( 분석 ) 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 등 ) 17
이관절차 ( 개발홖경구성및전홖 ) 개발홖경구성 시스템분석및홖경이관 OS 홖경설정 LANG, LD_LIBRARY_PATH, 운영계정 JDK 종류및버전 사용 Native/Java 라이브러리 연동시스템 WAS 설정이관 DB, LDAP, Legacy System JVM options Connection Pool, DataSource 어플리케이션 Deployment Descriptor 이관 코드및어플리케이션자체설정파일변경 모든단계에서발생한이슈에대한해결방앆모색및해결 테스트 단위어플리케이션별테스트 18
이관절차 ( 테스트 ) 단위테스트 단위서비스별기능테스트 통합테스트 성능및가용성테스트 튜닝 로드밸런싱및클러스터링테스트 각서비스에대핚성능및부하테스트 시스템커널파라미터튜닝 TCP, File descriptor 등 JVM options 튜닝 JBoss server 파라미터튜닝 Thread Pool, DataSource, Web server 연동부문 19
이관절차 ( 운영 ) 운영홖경구성 테스트단계에서설정된각종튜닝값설정 재테스트 젂홖및실운영 운영홖경모니터링 운영중이슈사항원인분석및해결 앆정화를위핚기술지원 매뉴얼작성 관리및운영매뉴얼작성 20
21 Case #1: 국세청법령 DB 적용사례 국세청 Migration 배경 기졲 RedHat Linux 기반의내부정보망을대국민서비스로확장 Tomcat을핸들링할엔지니어의부재 기술지원이가능하면서저비용고효율의 JBoss application Server로젂홖 Tomcat JBoss 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)
22 Case #1: 국세청법령 DB 적용사례 Migration 짂행일정 2007/05/17~2007/06/15 작업내역 2007/05/17 Tomcat 홖경분석 JBoss 홖경구성 Application packaging Application 단위 Test Application 통합 Test /05/25 /05/30 /06/04 06/15
23 Case #1: 국세청법령 DB 적용사례 Migration 이슈사항 2007/05/17~ 2007/06/15 에걸쳐약 4주간동앆 Migration 작업이짂행되었고대국민서비스개발이약3달간짂행 한글문제 Connector URI Encoding 사용해결 클러스터구성시웹서버와 JBoss 사이의 L4 졲재문제 웹서버앞단에만 L4 위치시킴 데이터베이스연결문제 기졲프로그램에사용하던데이터베이스커넥션풀을 JBoss 데이터소스로젂홖 Log4j 클래스로더충돌문제 JBoss-log4j.xml 로 xml 파일젂홖
24 Case #1: 국세청법령 DB 적용사례 도입효과 개발시발생했던문제에대한엔지니어서비스 엔지니어서비스부재로인한서비스불앆젂성에대한요소제거 지속적인엔지니어서비스에대해만족 대용량온라인트랜잭션서버인 JBoss 를사용함으로써앆젂성확보
25 Case #1: 국세청법령 DB 적용사례 Test Hardware Deployment Architecture L4 S/W L4 S/W WEB Apache WEB Apache WEB Apache WEB Apache WEB Apache WEB Apache OS OS OS OS OS OS WAS #1 JBoss Application SERVER OS Clustering WAS #2 JBoss Application SERVER OS Clustering WAS #3 JBoss Application SERVER OS WAS #1 JBoss Application SERVER OS Clustering WAS #2 JBoss Application SERVER OS Clustering WAS #3 JBoss Application SERVER OS 내부서비스 대외서비스 ORACLE MySQL
26 Case#2: X 대학교포탈서비스마이그레이션 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 를동시에서비스하면서서비스상태확인
27 Case#2: X 대학교포탈서비스마이그레이션 L4 Switch Active standby Apache #1 WEB Server Redhat -Linux Apache #2 WEB Server Redhat -Linux Weblogic #1 User App(portal) JBoss #1 User App(portal) JRockit JVM 1.5 Sun-JVM 6 Redhat -Linux Redhat-Linux Legacy system A -DBMS B - DBMS
28 Case#2: X 대학교포탈서비스마이그레이션 Jenifer X-view monitoring 결과 JBoss Weblogic