7장. JBoss EAP 7 서브시스템

Revision History

Name

Date

Reason For Changes

Version

오픈나루

2013/11

Initial Version

1.0

전준식, jjeon@opennaru.com

2018/02

Second Version

2.0

이번 장에서는 서브시스템(Subsystem)의 개념을 설명한다. JBoss EAP 6에서 하나의 서브시스템은 JBoss의 어떤 기능 하나를 의미한다. 이런 서브시스템들을 묶어서 프로파일이라고 한다.

이번 장에서는 서브시스템과 프로파일에 대해서 설명한다.

07-1.서브시스템 개요

JBoss EAP 6는 도메인 모드나 스탠드얼론 모드에서 하나의 설정 파일을 사용하여 단순한 관리 방법을 제공한다. 설정 파일인 XML 을 직접 수정하여 변경할 필요 없이 관리 콘솔이나 CLI를 사용하면 자동으로 변경사항이 XML에 반영된다. 또한, 설정 관리 API를 통해 각종 설정 정보를 업데이트할 수도 있다. 커맨드 라인 기반 관리방법인 CLI 및 웹 기반의 관리 콘솔을 통해 JBoss EAP의 여러 가지 설정 정보를 변경할 수 있다.

Java EE 표준의 구현 및 기타 JBoss EAP 6가 제공하는 기능을 서브시스템이라는 기능 단위로 제공하고 있다.

JBoss EAP 6는 모듈 기반의 클래스 로딩을 기반으로 하고 있다. JBoss EAP 6 자체도 모듈이다. 제공하는 모든 API와 서비스도 모두 모듈로 구성하였고 JBoss EAP 6도 모듈로 동작한다. 이러한 모듈들은 애플리케이션에서 해당 기능의 모듈을 요청할 때 로드하고, 사용하지 않으면 언로드된다. 모듈 대부분은 서브시스템이라는 설정 가능한 항목들이 포함되어 있으며, 서브시스템 구성 정보는 관리 도메인의 경우에는 $JBOSS_HOME/domain/configuration/domain.xml 이라는 파일에, 스탠드얼론 서버의 경우에는 $JBOSS_HOME/standalone/configuration/standalone.xml 라는 파일에서 각 모듈에 대한 설정을 변경할 수 있다. 서브시스템들은 JBoss EAP 5버전에서 배포 디스크립터에서 사용하던 대부분의 설정 정보를 포함하고 있다.

  • 서브시스템 설정 스키마

각 서브시스템의 설정을 위한 XML 스키마가 정의되어 있다. 설정 스키마 파일들은 JBoss EAP 6설치 디렉터리의 $JBOSS_HOME/docs/schema/ 디렉터리에 있다.

ee, ejb, jaxrs, pojo, sar, threads, weld등의 서브시스템은 구성 가능한 속성이 없어서 간이 서브시스템이라고 하며 일반적으로 설정 파일의 윗부분에 지정되어 있다.

07-2.프로파일

JBoss EAP 6가 제공하는 주요 서브시스템들은 프로파일별로 구분하면 다음 그림과 같다.

image

그림 1. JBoss EAP 6의 프로파일

JBoss EAP 6가 제공하는 네 가지 프로파일을 구성하는 서브시스템을 그림으로 표현한 것이다. full 프로파일은 default 프로파일에 CMP(Container Managed Persistence), CORBA, JMS 등의 기능이 추가된 것이다. 또 뒤에 ha가 붙은 프로파일들은 jgroups와 mod cluster 서브 시스템이 추가되어 클러스터링 기능을 제공하는 프로파일들이다.

스탠드얼론 모드에서 default 프로파일은 standalone.xml 파일을 사용하며, ha 프로파일은 standalone-ha.xml, full 프로파일은 standalone-full.xml, full-ha 프로파일은 standalone-full-ha.xml 파일을 사용한다.

다음 장부터 JBoss EAP 6가 제공하는 서브시스템에 대해 하나씩 자세히 살펴보려고 한다.