임형준 ([email protected])[email protected] 충남대학교 컴퓨터공학과...

29
임임임 ([email protected] ) 임임임임임 임임임임임임 임임임임임임 임임임 임임임 22-3-30 임임임 JBoss JBoss

Upload: miles-carr

Post on 18-Jan-2016

249 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

임형준 ([email protected])충남대학교 컴퓨터공학과

데이터베이스 시스템 연구실23-4-21 금요일

JBossJBoss

Page 2: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

CONTENTSCONTENTS

JBoss Overview

JBoss Enterprise Middleware System JBoss Application Server

Summary Appendix

2

Page 3: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

JBoss OverviewJBoss Overview

1999 년 처음 released 된 오픈 소스의 어플리케이션 서버 소스 코드는 h t t p ://so u r ce fo r g e .n e t /p r o ject s/jb oss

에서 다운로드 JBoss Application Server 의 최신 버전은 JBoss AS 4.0 JBoss Application Server

e-Business 어플리케이션을 개발하고 배포하기 위한 고성능의 엔터프라이즈 플랫폼을 제공견고하면서도 유연한 아키텍처와 오픈 소스 소프트웨어 라이센스를 결합개발과 Independent Software Vendor (ISV) 그리고 기업 고객 모두에게 단기간 내에 가장 선호 받는 웹 어플리케이션 미들웨어

3

Page 4: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

JBoss HistoryJBoss History

4

1999 : EJB 오픈 소스 프로젝트 2000 : 교육 및 컨설팅 2001 : 판매를 위한 문서화 2002 : JBoss Group LLC 및 기술 지원 2003 : 새로운 오픈 소스 프로젝트 기반의 확장 2004 : JBoss Inc 설립 및 J2EE 1.4 인증 2005 : JEMS, JBoss Network 제공 2006 : RedHat 과 합병

Small Consultancy

JBoss Group

JBoss Inc. Professional Open Source

2005/12003/92002/12001/62000/10

Develo

per

Tacti

cal

En

terp

rise

2005/6 2006/62002/9

교육

문서화

컨설팅

개발자 지원

제품 기술 지원

파트너

JEMS

JBoss Network

RedHat 과 합병

Page 5: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

Moving “Up the Stack” Natural Progression Open Source as a Business Widespread Adoption Open Source Redefining Software

The Evolution of Open SourceThe Evolution of Open Source

5

Professional Open Source

FSF

BSD

RedHatSuSe

CompilersTextUtilities

Operating systemsWeb servers

No business model

Non-profit

1st generation business model2nd generation business modelPackagers

MySQL

JBoss

DatabaseMiddleware

80’s 90’s 2005

Page 6: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

JBoss Enterprise Middleware JBoss Enterprise Middleware SystemSystem

Page 7: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

SOA Redefined:SOA Redefined:Simple, Open, AffordableSimple, Open, Affordable

7Operating System

Windows, Unix, Other Linux

Java Virtual Machine

JBoss Microkernel

Application PlatformOther

Application Server

JBoss Rules

JBoss jBPM

JBoss Hibernate

JBoss Seam

SOAPlatform

Application Platform

for Portals

Enterprise Platforms Enterprise Frameworks

JBoss Enterprise Middleware System (JEMS)

Page 8: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

JBoss Products OverviewJBoss Products Overview

JBoss Microkernel ArchitecturePlug-and-Play Service SelectionCreate Custom Services

JBoss Enterprise Middleware System (JEMS)Open Source Middleware Suite Additional Middleware Components in Development

JBoss Seam Web 2.0 어플리케이션 개발의 단순화

JBoss Hibernate 강력한 고성능의 객체 /관계 모델 서비스

JBoss Business Process Management (jBPM) 고객의 비즈니스 정책을 쉽고 빠르게 변경할 수 있도록 함

JBoss Rules 워크 플로우 , 비즈니스 프로세스 관리 , 비즈니스 프로세스 실행 언어

(BPEL) 같은 개념들을 실제로 사용 가능하게 만들어 주는 제품

8

Page 9: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

JBoss Application PlatformJBoss Application Platform

9

Operating SystemWindows, Unix, Other Linux

Java Virtual Machine

JBoss Microkernel

JBoss Application ServerJava EE, Apache Tomcat, Clustering, Cache

JBoss Hibernate

JBoss Seam

JBoss Enterprise Application Platform

Applications

Page 10: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

JBoss Application Platform for JBoss Application Platform for PortalPortal

10

Operating SystemWindows, Unix, Other Linux

Java Virtual Machine

JBoss Microkernel

JBoss Enterprise Application Platform

JBoss Portal

JBoss EnterpriseApplication Platform for Portals

Portals

Page 11: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

JBoss Enterprise FrameworkJBoss Enterprise Framework

11

Operating SystemWindows, Unix, Other Linux

Java Virtual Machine

JBoss Microkernel

JBoss Enterprise Application Platform

JBoss EnterpriseSOA Platform

JBoss RulesJBoss jBPM

JBoss ESBTransformation, Routing, Registry,

Repository

Web Services

Page 12: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

JBoss Application ServerJBoss Application Server

Page 13: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

ArchitectureArchitecture

13

Operating SystemWindows, Unix, Other Linux

Java Virtual Machine

JBoss Microkernel

JBoss Application Server

JBoss Hibernate

JBoss Seam

JBoss EnterpriseApplication Platform

JBoss MicrokernelJBoss Microkernel

EJB Containers

EJB Containers

Security ManagerSecurity Manager

TransactionManager

TransactionManager

Connection Pools

Connection Pools

Message Server

Message Server

ServletEngine

ServletEngine

ConnectorsInvokers

ConnectorsInvokers

EmbeddedDatabasesEmbeddedDatabases

Page 14: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

MonitoringMonitoring

14

Operating SystemWindows, Unix, Other Linux

Java Virtual Machine

JBoss Microkernel

JBoss Application Server

JBoss Hibernate

JBoss Seam

JBoss EnterpriseApplication Platform

Page 15: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

Enterprise JavaBeans (EJB) Enterprise JavaBeans (EJB) 3.03.0

Enterprise JavaBeans (EJB)클라이언트 /서버 모델의 서버 부분에서 운영되는 자바 프로그램 컴포넌트들을 설정하기 위한 아키텍처

Session Bean, Message Driven Bean, Entity Bean을 사용하기 위한 EJB API 의 단순화

Java Annotation, Dependency Injection Optional Callbacks, Entity Manager API 단순화된 영속성 기능과 개선된 쿼리들

15

ServletServlet EJBEJB

ServletServlet EJBEJBDB

JBoss Application Server

Page 16: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

Application FrameworkApplication Framework

복잡한 웹 어플리케이션 개발의 단순화 Annotation 기반의 프로그래밍 모델 전통적인 J2EE 개발자의 공통적인 이슈와 불편사항 극복 JSF, EJB 3.0, Hibernate, AJAX, Web Services,

Workflow 의 유연한 통합 단일 사용자 세션에서 동시에 복수의 작업 처리 가능 Conversation 과 Process 를 위한 새로운 context 추가

16

Invocation PointInvocation PointRich Clients

Flex / Swing / .NET

Rich ClientsFlex /

Swing / .NET

Web ClientsJSF / AJAX

Web ClientsJSF / AJAX

Web ServicesEJB / JBI

Web ServicesEJB / JBI

JBoss SeamJBoss Seam

Business LogicEJB3 / POJO / Rules

Business LogicEJB3 / POJO / Rules

OrchestrationWork Flow / Page Flow /

ESB

OrchestrationWork Flow / Page Flow /

ESB

Data Access LayerEJB3 / POJO / Hibernate / JCA

Data Access LayerEJB3 / POJO / Hibernate / JCA

Page 17: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

ClusteringClustering

상태 복제 – 아래 항목에 대해 Synchronous & Asynchronous Replication 모드 지원

HTTP SessionStateful Session BeanEntity BeanPlain Old Java Bean (POJO)

부하 분산HTTP Load-balancing via Apache Plug-inEJB Load-balancing via Dynamic ProxyMessage-Driven Bean Load-balancing via Queue

자동 장애 복구HTTP failover via Apache Plug-inEJB failover via Dynamic Proxy

17

Page 18: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

Clustering ExpressionClustering Expression

18

JBossWeb

JBossWeb

SFSB

EJB 3

Entity Bean

POJO

SFSB

EJB 3

Entity Bean

POJO

JBoss instance

JBoss instance

Fat Client

ApacheThin Client

Remoting

HTTP

Page 19: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

JBoss SeamJBoss Seam

EJB 3.0 과 JSF(JavaServer Faces) 컴포넌트 모델을 결합한 어플리케이션 프레임워크

모든 자바 컴포넌트들 위한 선언적인 어플리케이션 상태 관리를 제공

JBoss Seam 기능복잡한 웹 어플리케이션 개발의 단순화 Annotation 기반의 프로그래밍 모델 전통적인 J2EE 개발자의 공통적인 이슈와 불편사항 극복 JSF, EJB 3.0, Hibernate, AJAX, Web Services, Workflow 의 유연한 통합 단일 사용자 세션에서 동시에 복수의 작업 처리 가능 Conversation 과 Process 를 위한 새로운 context 추가

19

Page 20: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

JBoss Seam ArchitectureJBoss Seam Architecture

20

JBoss Seam

Rich ClientsFlex/Swing/.NET

Business LogicEJB3 / POJO / Rules

Rich ClientsWork Flow / Page Flow / ESB

Invocation Point

Web ClientsJSF/AJAX

Web ServicesEJB/JBI

Data Access LayerEJB3 / POJO / Hibernate / JCA

Page 21: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

JBoss jBPMJBoss jBPM

정교한 업무흐름의 상태와 관련된 Workflow, Business Process Management (BPM), 그리고 다중 - 프로세스 언어 플랫폼 상의 서비스 조직화를 제공

특징그래픽하게 가시화할 수 있는 장기 운영 프로세스를 실행함사용자 , 어플리케이션 , 서비스 관계를 조정하는 비즈니스 프로세스의 자동화를 가능케함대중 시장을 위해 설계되고 엔터프라이즈 규모의 어플리케이션을 지원함Workflow 부터 기업 비즈니스 프로세스 조직화 및 프로세스 관리 범주에 속하는 비즈니스 과제보다 더욱 광범위한 프로세스 자동화를 제공함

21

Page 22: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

JBoss jBPM ArchitectureJBoss jBPM Architecture

22

WebConsole

RuntimeEngine

ProcessRepository

RuntimeExecutions History

GraphicalDesigner

(eclipse based)

Processes

Embeddable

Page 23: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

JBoss jBPM JBoss jBPM 구축 예구축 예

23

Page 24: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

JBoss Application Server JBoss Application Server 특징특징

기능 상세 설명

표준화

J2EE 1.4 인증된 어플리케이션 서버 JSP/Servlets, EJB, Web Services, Messaging 등 지원 EJB 3.0 및 JBoss Seam (Entity bean 을 위한 데이터 지향 어플리케이션 Wrapper, Ajax4jsf 와 통합 ) 지원

개방성 100% 순수 Java 솔루션 OS 독립적인 운영 환경 지원 : Linux, Unix, Windows

유연성 SOA 플랫폼 서비스를 위한 JMX-Microkernel 제공 Co-located 서비스를 이용한 성능 향상

관리 용이성 전사차원의 관리를 위한 JBoss Operation Network 지원 웹 기반 콘솔을 이용한 실시간 그래프와 e-mail 알림 기능 JMX 수정과 구동을 위한 스크립트 기능

클러스터링

간편하고 동적인 클러스터링 환경 구현 Fault-tolerance 를 위한 silent failover, 상태 복제 (HttpSession, SFSB, JNDI) HttpSession 을 위한 buddy replication 기능 제공

24

Page 25: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

SummarySummary

Page 26: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

JBoss Professional Open JBoss Professional Open Source MethodologySource Methodology

26

INNOVATE: JEMS, JBoss Open Source Federation, JCP EC, Full-time Open Source Community Experts

COLLABORATE: Active Developer Community, Customer Advisory Board, Partner Advisory Board

PLAN: Public Strategic Roadmap and Integrated Project Plans

DEVELOP: Public Source Code, Development Guides, Quality Assurance (QA), Issue Tracking Database

PACKAGE: Professional Documentation, Product Distribution, Business-friendly Open-source Licenses

PARTNER: Extensive Ecosystem of Service Partners and Technology Partners

ENABLE: Professional Support, Consulting, Training, JBoss Network, Indemnification

Page 27: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

Service Engagement TimelineService Engagement Timeline

27

Page 28: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

ConclusionConclusion

JBoss SOA Architecture

28

OrderSystem

Finance

Shipping

Business Process

Business Services

Presentation

JBoss PortalJBoss AS, CacheApache Tomcat

JBoss jBPMJBoss Rules

JBoss AS, Hibernate, CacheJBoss TransactionsJBoss ESB, JBoss Messaging

Page 29: 임형준 (hyungjun25@cnu.ac.kr)hyungjun25@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터베이스 시스템 연구실 2015년 12월 24일 목요일 2015년 12월 24일 목요일

Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.Chungnam National UniversityChungnam National UniversityDataBase System Lab.DataBase System Lab.

AppendixAppendix

Business Process Management (jBPM) examplehttp://docs.jboss.com/jbpm/v3/demos/movies/jbpm-overview-800x600.htm

29