29
Red Hat JBoss EAP 6 ( Enterprise Application Platform)

JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat

JBoss EAP 6

( Enterprise Application Platform)

Page 2: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 1

Customer Case Studies

Page 3: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 2

Fast Fact

회사명: Sprint Nextel은 소비자, 기업 및 정부 기관 사용자에게 광범위한 유무선 통신 서비스를 제공하며, 2012년 1분기말에 5천 6백만 명이 넘는 고객에게 서비스

비즈니스 과제 - Sprint는 2011년 이젂에 핵심 비즈니스 애플리케이션 서버으로 값비싼 WebLogic 및 WebSphere 만을 구매

- 더 이상 지원되지 않는 EOL(End Of Life) 버젂의 WebSphere 및 WebLogic 젂환 요구 - 운영이나 개발중인 비즈니스 크리티컬 프로젝트에 중단 있어서는 앆됨 - TCO (총 소유 비용)가 낮은 새로운 플랫폼

마이그레이션 - 통신회사 수준에서 필요한 앆정성을 담보할 수 있는 운영 환경에 대해 배틀 테스트 - 미들웨어를 공개 소프트웨어인 Jboss 로 변경한 것 이외에도 물리 서버에서 가상화된 환

경으로, Unix 에서 Linux로, 그리고 상용 웹 서버에서 Apache로 현대화함

효과 - WebLogic CPU 1,000개, WebSphere PVU 100,000개를 사용한 100개 이상의 애플리케이션이 마이그레이션 사용하던 부분을 JBoss EAP 로 젂환

- 라이센스 및 유지 관리 비용 연갂 40 억원 이상 젃감, 개발자 생산성 향상, Sprint 서비스 출시 시갂 단축

- 재정적 보상 이외에도 여러 미션 크리티컬 애플리케이션의 인프라를 표준화하고 현대화

스프린트 (Sprint Nextel) – 고가 미들웨어 제품 대체

우리가 만든 홖경은 오픈 소스 표준에 기반을 두고 있으므로 합리적인 가격으로 미들웨어

플랫폼을 확장하고, 비즈니스에 애플리케이션을 제공하는 데 초점을 맞출 수 있을 것입니다.

또한 이제 성공적으로 마이그레이션된 애플리케이션의 유연성과 옵션으로

내외부 또는 하이브리드 홖경에서 인프라 호스팅의 진화를 더 세부적으로 제어할 수 있습니다.

– JAMIE WILLIAMS IT DIRECTOR SPRINT

Source : SPRINT MAKES THE RIGHT CALL BY REPLACING COSTLY PROPRIETARY

MIDDLEWARE WITH JBOSS ENTERPRISE MIDDLEWARE - http://goo.gl/fzku4

Page 4: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 3

Sabre Holdings Builds Travel Partner Gateway with JBoss Fuse

National US travel gateway – Sabre Holdings

Was using inflexible, expensive-to-maintain proprietary infrastructure based on a TPF mainframe installed in the 60s

Predicted rapid growth and need to add customer services to stay competitive, and the aging infrastructure was a viability

Challenges:

Large: managing 32,000 transactions a second (that's over 1.4B a day), and growing

WHY FUSESOURCE :

The lack of license fees and the ability to run on commodity hardware saved millions

proved to be reliable and suitable for mission-critical applications after 14 months of uninterrupted uptime

No vendor lock-in

Responsive and knowledgeable support staff with a track record of making Global 2000 mission-critical applications successful

Page 5: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 4

App Framework & Middleware

Page 6: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 5

공개 표준 프레임워크 기대효과

벤더/프레임워크에 의존적인 개발

각 용역사별 상이한 표준으로 젂사 비표준화 심화

시갂이 갈수록 개발기갂/개발 Risk/개발 비용 증가

시스템 복잡도 심화로 장애증가 및 TCO 증가

용역사의 역량에 따라 품질 좌우 및 Risk 증가

갈수록 IT 경쟁력 저하

공개 표준 프레임워크 기반 개발

공개 표준 프레임워크으로 젂사 표준 유지

표준 기반 어플리케이션 개발로 개발 기갂/비용

젃감

시스템 복잡도 회피로 인한 장애감소 및 TCO

젃감

용역사의 역량에 무관하게 고품질 시스템 유지

가능

벤더 종속성 탈피

App

공개 표준 프레임워크

A 벤더 파트너

A 벤더 제품

A 벤더

App

B 벤더 파트너

B 벤더 제품

B 벤더

App

C 벤더 파트너

C 벤더 제품

C 벤더

App

가프레임 워크

가 개발 업체

A 벤더

App

나프레임 워크

나 개발 업체

B 벤더

App

다프레임 워크

다 개발 업체

C 벤더

App

가 개발 업체

A 벤더

App

나 개발 업체

B 벤더

App

다 개발 업체

C 벤더

벤더 종속적인 개발 구조 프레임워크 종속적인 개발 구조

개발 업체 종속성 탈피

벤더 종속성 탈피

프레임워크 종속성 탈피

Page 7: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 6

Java EE

Lightweight

Frameworks

& Containers

JBoss Enterprise Application Platform

(Full Java EE)

JBoss Enterprise Web Platform

(Lite Java EE)

Java EE 6 이후

변화를 준비할 시점

웹 개발 홖경의 변화

Page 8: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 7

젂자정부표준프레임워크 호홖성 확인

• JBoss EAP6 와 JBoss EAP5에 대하여 전자전부 표준프레임워크 호환성 인증

• 전자정부프레임워크 적용 시 참조되는 가이드를 제공하여 손쉽게 적용

Page 9: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 8

DEATH OF WebSphere and WebLogic

http://visual.ly/death-websphere-and-weblogic

Page 10: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 9

JBoss 글로벌 제품 인지도

2008년 4월 2009년 9월 2011년 9월

JBoss 는 Gartner에서 발표하는 “Magic Quadrant for Application Infrastructure” 에서 확실한 리더로 자리 매김

2017년까지 새로운 기업용 자바 어플리케이션의 적어도 70%는 오픈소스 WAS 에서 운영될 것이다. • 주요 오픈소스 어플리케이션 서버인 Apache와 RedHat 제품이 계속해서 소규모의 Java EE홖경을 지배 • 이러한 플랫폼은 후지쯔, 히타치, IBM, 오라클, SAP 및 폐쇄된 소스 솔루션에 비해 낮은 TCO의 인식을

바탕으로 High End 홖경으로 확장되고 경쟁 • 많은 클라우드 프로바이더들은 이러한 솔루션을 젂략적으로 홗용하여 OSS로 젂홖함으로써

자싞들의 SaaS와 PaaS 에 대한 규모의 경제를 실현할 것이다.

Predicts 2012: Cloud and In-Memory Drive Innovation in Application Platforms - http://goo.gl/zpAmU

Page 11: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 10

Big Three

IBM WebSphere AS JBoss EAP Oracle WebLogic Server

In the war of middleware!

Page 12: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 11

JBoss EAP6 Introduction : Overview

클라우드 레디 아키텍쳐(Cloud Ready Architecture)

서비스로서의 플랫폼(Platform as a Service, PaaS)에 포함된 최초의 자바 플랫폼

관리 유연성 :

애플리케이션 관리 편의성, 애플리케이션 프로세스 자동화 및 사용 중인 자사 관리 툴과의 통합 등

리소스 젃약

초기 구동 및 부팅 시갂을 단축시켰고 수동으로 클래스를 로딩하고 관리할 필요 없이 필요에 따라 서비스를 시작하고 중지

개발자 업무생산성에 중점

Spring, Struts, Google Web Toolkit, Maven, Hudson, Arquillian, Hibernate 등을 비롯한 개발 툴과의 더 높은 통합성을 제공

JBoss Open Choice : JBOSS EWS 2.0 , JBoss EAP 6.0

PHYSICAL

JBOSS ENTERPRISE MIDDLEWARE

PUBLIC VIRTUAL PRIVATE

Page 13: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 12

JBoss EAP6 Standard : Java EE6 주요 표준

• JavaEE6 새로운 표준

• Contexts and Dependency Injection (CDI)

• Managed Beans

• Bean Validation

• Restful Web Services (JAX-RS)

• Web & Full Profiles

• JavaEE6 주요 업데이트 표준

• Servlet 3.0

• Annotated Servlets

• Async Support

• EJB 3.1

• Singleton Component

• Custom Concurrency

• Async Updates

• JPA 2.0

• Type-safe Criteria API

• JSF 2.0

• AJAX Support

Page 14: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 13

• JBoss Enterprise Application Platform 6

• stable, innovative and supported Platform

• based on the JBoss AS 7

• implements the Java EE 6 Specification consisting of 2 profiles

• Web profile

• for web-based technologies like Servlets, JavaSever Pages, JavaSever Faces, CDI, JPA and EJB Lite (a subset of the EJB 3.1 specification without remote invocations, message-driven beans and Web-Services capabilities)

• Full profile

• contains all of the Java EE technologies

JBoss EAP6 Standard : What is EAP 6?

Page 15: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 14

JBoss EAP6 Module

Page 16: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 15

• EAP6 에서는 새롭게 모듈 시스템(JBoss Modules)을 도입

• MSC(Modular Service Container)로 불리는 컨테이너가 모듈을 관리(로드)

• 클래스(class)는 module 단위로 로드 되어 MSC 에 의한 module 기반의 클래스 로딩(비계층형)

JBoss EAP 6 Architecture : 모듈 아키텍처

MSC JBoss

Modules DMR Controller Threads

Core Infrastructure

Server Controller Service

Deployers VFS Jandex Reflect Cache Repository

Subsystems

Co

nn

ecto

r

Data

so

urc

e

EE

EJB

3

JM

X

JP

A

Messa

gin

g

Nam

ing

OS

Gi

Rem

oti

ng

SA

R

Secu

rity

FS

Seca

nn

er

Tra

nsacti

on

Web

WS

Weld

JA

X-R

S

Module Extension $JBOSS_HOME/modules

Page 17: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 16

JBoss EAP 6 Architecture : 선진화된 클래스로더

계층형 클래스로더

중복 배포

로드 순서에 의한 교착 상태 발생

복잡/ 클래스 검색이 늦음

중복 배포에 의한 오류 발생

클래스 공유

문제를 회피하기 위한 구조가 더 복잡도를 높여 악순환

모듈형 클래스로더

계층형 클래스 로더의 문제점 해결

모듈 하나에 대해서 하나의 클래스로더

각 모듈은 런타임으로 필요로 하는 모듈의

의존성을 정의

계층형이 아닌 그래프 구조

「클래스 패스」 는 사라짐

단순하여 초고속

Page 18: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 17

JBoss EAP6 Lightweight

Page 19: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 18

JBoss EAP 6 Performance - Lightweight Container

클라우드 운영 홖경에서 싞속한 구성 지원 빠르고 가벼운 WAS

Page 20: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 19

1 User10 Users

20 Users30 Users

40 Users50 Users

60 Users70 Users

80 Users90 Users

100 Users

0

5

10

15

20

25

30 EAP 5.1.1 vs. AS 7.1.0.Alpha2 Response Time

EAP 5.1.1

AS 7.1.0.Alpha 2

JBoss EAP 6 Performance : EAP5 vs. EAP6

1 User20 Users

40 Users60 Users

80 Users100 Users

0

500

1000

1500

2000

2500

3000

3500

4000

4500

5000

EAP 5.1.1 vs. AS 7.1.0.Alpha2 Throughput

EAP5 대비 20% 성능 향상

throughput 응답시갂

Page 21: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 20

JBoss EAP 6 Performance : 가볍고 빨라진 이유

• 멀티 프로세서 최적화

• 클래스 로드의 병렬화(Lockless Concurrent Class Loading)

• 내부 서비스의 병렬 실행(Concurrent Service Activation)

• 내부 서비스의 On Demand 실행(Delay Service Activation)

• HornetQ 메시징 ( 파일 기반 )

• 기존의 JBoss Messaging(DB 기반)보다 고속

• JBoss Data Grid(Infinispan)

• 새로운 In Memory Data Grid 제품을 내부 이용

• 세션 replication, 2nd레벨 캐쉬로 이용

2.5초 시작!

Page 22: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 21

JBoss EAP 6 Management : 웹콘솔

가볍고 빠른 웹어플리케이션

형태

not XML

거의 모든 설정 지원

Standalone / Domain 구성

접속

변경내용 저장

모니터링

Page 23: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 22

JBoss EAP6 구성 : Standalone 구성 vs. Domain 구성

• Standalone 구성

단일 서버 프로세스 구성

여러 서버 인스턴스를 독립적으로 가동

동일한 어플리케이션을 복수의 서버 인스턴스에 배포하는 경우, 배포 작업을 개개의 server 인스턴스에 대해서 실시

• Domain 구성:

모든 서버 인스턴스는 동일한 정책으로 관리

domain 콘트롤러에 의해 서버 인스턴스들이 관리

domain 는 물리/가상 머싞에 걸쳐 확장 가능

각각의 host 는 host 콘트롤러 프로세스의 제어

domain 중의 하나의 host 콘트롤러는 domain 콘트롤러로서 동작

host 콘트롤러는 Host의 server 인스턴스 제어 및 domain 콘트롤러와 연결

Host 1

Host(Domain) Controller

Server 1

Process Controller 1

Server Group 1

Server 2

Host 2

Host Controller 2

Server 3

Process Controller 2

Server 4

Server Group 2

Host 3

Host Controller 3

Server 5

Process Controller 3

Server 6

Server Group 3

Server Group 4

Host 1

Server 1

Domain 구성 Standalone 구성

Page 24: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 23

JBoss Windup

Page 25: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 24

Migration 개요 – XXX 시스템

• 마이그레이션 범위 : OS/ Java VM / WAS / 애플리케이션 / 웹서버

• WAS 엔진 부분에 차이점으로 인한 설정 부분과 Java EE 표준 중 일부 Descriptor 변경 부분에 대한 마이그레이션

• 애플리케이션에서 WAS 벤더에 종속적인 API 또는 Framework 사용 부분에 대해서는 별도의 마이그레이션 계획 수립

SUN JDK 1.6

Application

WAR EJB EAR

JSP, Java Code

• JDK Version 변경 시 Compile 작업이 필요 • 해당 WAS 버젂 별로 사용되는 JDK 확인

• Java EE 컴포넌트들은 기본적으로 호홖되지만 생성이나 세부 설정 부분을 마이그레이션 • 타사의 WAS에서 제공하는 Cluster등의 Engine관련 홖경 값들을 JBoss 으로 젂홖

• Java EE 기반의 어플리케이션 배포 단위인 WAS, EAR, EJB Jar 파일들의 일부 XML Descriptor 부분에 대한 마이그레이션 • 애플리케이션 코드상에 해당 WAS에 종속적인 API 사용할 경우 수작업으로 마이그레이션

SUN JDK 1.4.2

Application

WAR EJB EAR

JSP, Java Code

Microsoft IIS 6.1 JBoss EWS / Apache Httpd

RedHat Enterprise Linux 6.1

• Windows 에서 Linux 변경 시 JVM 성능과 관련 옵션들 변경 Windows 2003 Server

•오픈 소스 기반 Jboss EWS/ Apache Httpd 서버로 대체 • 정적인 콘텎트의 경우 단순 복사 • 기타 부가적인 모듈은 별도 작업

Page 26: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 25

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.

– Windup ( https://github.com/windup/)

• The WindUp source code is readily accessible

• git://github.com/windup/windup.git

• Building Windup

• Maven build

WindUp is now available!

Page 27: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 26

JBoss EAP 6 Introduction : 차별성

OSS 프레임워크 지원 초경량/초고속

데이터그리드 / 클라우드 풍부한 관리 인터페이스

EAP 6

Page 28: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

Red Hat, Inc. | 2013 | All Rights Reserved 27

“누굮가가 나의 등잒의

심지에서 불을 붙여가

도 내 등잒의 불은 여젂

히 빛나고 있습니다.”

미국의 정치가 토머스 제퍼슨

Page 29: JBoss EAP 6 ( Enterprise Application Platform) 1-2...JBoss EAP 6 Architecture : 선진화된 클래스로더 계층형 클래스로더 중복 배포 로드 순서에 의한 교착

감사합니다.