JEUS 환경

본 장에서는 JEUS에서 사용하는 관리 툴과 디렉터리 구조와 환경변수에 대해서 설명한다. 그리고 JEUS와 관련 XML 설정 파일의 전반적인 내용에 대해서 소개한다.

1. 관리 툴

다음은 JEUS에 접속해서 사용하는 툴에 대한 설명이다.

설명

startMasterServer

JEUS Master Server를 실행하는 가장 기본적인 툴이다. 자세한 내용은 JEUS Reference 안내서를 참고한다.

startManagedServer

JEUS Managed Server를 실행하는 가장 기본적인 툴이다. 자세한 내용은 JEUS Reference 안내서를 참고한다.

jeusadmin

콘솔 툴은 command prompt에서 JEUS를 관리하는 데 사용된다. 자세한 내용은 JEUS Reference 안내서의 jeusadmin을 참고한다.

위에서 언급한 것 이외에 Master Server와 Managed Server를 다운시키는 명령어가 존재한다. 자세한 내용은 JEUS Reference 안내서를 참고한다.

2. 디렉터리 구조

다음은 JEUS를 설치했을 때의 전체 디렉터리 구조이다.

{JEUS_HOME}
    |-- bin
    |    |--[01]startMasterServer
    |    |--[01]startManagedServer
    |    |--[01]stopServer
    |    |--[01]jeusadmin
    |--derby
    |--docs
    |--lib
    |   |--shared
    |        |--[X]libraries.xml
    |--license
    |--setup
    |--templates
    |--samples
    |--webserver
    |--domains
          |--<domain_name>
                  |--.applications
                  |--.deploymentplans
                  |--.libraries
                  |--bin
                  |--config
                  |--lib
                  |   |--application
                  |--servers
                      |--<server_name>
                             |--.workspace
                             |     |--deployed
                             |     |--tmp
                             |     |--web-nio
                             |     |--tmlog
                             |--bin
                             |--lib
                             |   |--application
                             |--logs

* Legend
- [01]: binary or executable file
- [X] : XML document
- [J] : JAR file
- [T] : Text file
- [C] : Class file
- [V] : java source file
- [DD] : deployment descriptor

다음은 디렉터리와 파일의 설명이다.

{JEUS_HOME}

JEUS의 최상위 디렉터리로 실제 디렉터리 이름과 위치는 설치할 때 결정된다.

bin

서버의 시작 및 종료 스크립트인 startMasterServer, startManagedServer, stopServer와 JEUS 콘솔 툴(jeusadmin)과 같은 실행 파일들이 위치한다.

derby

샘플 애플리케이션이나 테스트에서 쉽게 사용할 수 있도록 Apache Derby를 포함시킨다.

docs

JEUS에서 제공하는 API에 대한 Javadoc이 존재한다.

lib

JEUS가 기동하는 데 필요한 라이브러리가 존재한다. shared 디렉터리를 제외한 나머지 디렉터리들은 사용자가 접근할 필요가 없다.

디렉터리 설명

shared

shared 디렉터리에는 애플리케이션에서 사용하는 라이브러리가 존재한다.

shared 디렉터리의 라이브러리를 사용하려면 libraries.xml에 라이브러리의 정보를 추가해야 한다. 그리고 해당 라이브러리를 사용할 애플리케이션의 JEUS Deployment Descriptor(DD)에서 해당 라이브러리에 대한 레퍼런스 정보를 지정해야 한다. shared 라이브러리에 대한 자세한 설명은 JEUS Applications & Deployment 안내서의 공유 라이브러리를 참고한다.

license

JEUS 라이선스 파일이 위치한다. 라이선스 파일은 JEUS가 실행되기 위해서 반드시 필요한 파일이다.

setup

JEUS 설치 후 사용할 수 있도록 환경을 구축하기 위해 필요한 파일들이 위치한다.

templates

각종 설정과 환경 등의 template 파일이 위치한다.

samples

JEUS의 예제 파일들이 위치한다.

webserver

JEUS가 설치될 때 JEUS 웹 서버가 설치되는 디렉터리이다. 자세한 내용은 JEUS Web Engine 안내서를 참조한다.

domains

하위에 도메인별로 DOMAIN_HOME과 JEUS_HOME에서 사용하는 노드 정보가 포함된 nodes.xml이 존재한다.

다음의 디렉터리 및 파일들은 DOMAIN_HOME 아래에 위치한다.

  • .applications

    해당 도메인에서 관리하는 애플리케이션 파일이 존재한다.

    install-application, uninstall-application 명령어를 통해 추가 및 삭제가 가능하다. JEUS가 사용하는 디렉터리로 사용자의 접근을 제한한다. 각 명령어에 대한 설명은 JEUS Reference 안내서의 install-applicationuninstall-application을 참고한다.

  • .deploymentplans

    해당 도메인에서 관리하는 Deployment Plan 파일이 존재한다.

    install-deployment-plan, uninstall-deployment-plan 명령어를 통해 추가 및 삭제가 가능하다. JEUS가 사용하는 디렉터리로 사용자의 접근을 제한한다. 각 명령어에 대한 설명은 JEUS Reference 안내서의 install-deployment-planuninstall-deployment-plan을 참고한다.

  • .libraries

    해당 도메인에서 관리하는 라이브러리 파일이 존재한다.

    install-library, uninstall-library 명령어를 통해 추가 및 삭제가 가능하다. JEUS가 사용하는 디렉터리로 사용자의 접근을 제한한다. 각 명령어에 대한 설명은 JEUS Reference 안내서의 install-libraryuninstall-library를 참고한다.

  • bin

    해당 도메인에 속한 Master Server와 Managed Server의 시작 및 종료 스크립트가 위치한다. JEUS_HOME/bin의 startMasterServer, startManagedServer, stopServer와 동일한 기능을 수행하지만 도메인 이름을 설정할 필요가 없다.

  • config

    도메인의 설정 파일인 domain.xml이 변경된 경우 이전 이력을 위해 존재하는 백업 파일들이 위치한다. 도메인 설정에 대한 자세한 설명은 JEUS Domain 안내서의 도메인 설정변경을 참고한다.

    구분 설명

    security

    • SYSTEM_DOMAIN : 도메인 단위로 적용되는 보안 도메인 파일인 accounts.xml, policies.xml이 존재하며, 각 XML 파일은 jeusadmin을 통해 동적 설정 변경이 가능하다. 보안 도메인 설정에 대한 자세한 설명은 JEUS Security 안내서의 보안 도메인 설정을 참고한다.

    • security-domains.xml : JEUS의 보안 도메인에 대한 설정을 저장하는 파일이다.

    • security.key : 대칭키 암호화 알고리듬에 대한 Key를 저장하는 파일로 JEUS_HOME/bin/encryption을 수행하면 생성된다. security.key 파일에 대한 자세한 설명은 JEUS Security 안내서의 패스워드 보안 설정을 참고한다.

    • policy : Java permission 설정 파일이다. JEUS의 보안 시스템과는 별도로 Java SE Security Manager에서 사용된다.

    servlet

    • web.xml : web.xml을 개별적으로 가지고 있지 않은 경우 웹 엔진이 사용할 웹 모듈의 web.xml이다. 기본값은 빈 XML 파일이다.

    • webcommon.xml : 도메인 내 서버의 웹 엔진의 모든 웹 모듈에 적용되는 공통 설정 파일이다. 설정에 대한 자세한 설명은 JEUS Web Engine 안내서의 디렉터리 구조를 참고한다.

  • lib/application

    도메인 전체에 적용하고 싶은 애플리케이션 라이브러리를 위치시키는 디렉터리다.

    SERVER_HOME에 존재하는 애플리케이션 라이브러리와 충돌이 발생할 경우 SERVER_HOME/lib/application이 우선되고 경고 메시지가 남는다. lib/application 디렉터리에 대한 자세한 설명은 JEUS Applications & Deployment 안내서의 lib/application 디렉터리를 참고한다.

  • servers

    이 디렉터리 하위에 SERVER_HOME 디렉터리가 서버 이름으로 생성된다. SERVER_HOME 디렉터리 구조에 대한 자세한 설명은 JEUS Server 안내서의 서버 디렉터리 구조를 참고한다.

    디렉터리 설명

    .workspace

    JEUS가 사용하는 서버별 공간으로 사용자가 변경해서는 안 된다.

    bin

    서버의 시작/종료 스크립트를 포함하고 있다. JEUS_HOME/bin의 스크립트와 동일한 기능을 수행하지만 도메인 이름과 서버 이름을 설정할 필요가 없다.

    • Master Server일 경우 : startMasterServer/stopServer가 존재한다.

    • Managed Server일 경우 : startManagedServer/stopserver가 존재한다.

    lib/application

    서버에 적용하고 싶은 애플리케이션 라이브러리가 존재한다. 도메인 범위의 라이브러리(DOMAIN_HOME/lib/application)보다 우선순위가 높다. 라이브러리가 충돌할 경우 이 디렉터리에 존재하는 파일이 적용되며 경고 메시지가 남는다. lib/application에 대한 자세한 설명은 JEUS Applications & Deployment 안내서의 lib/application 디렉터리를 참고한다.

    logs

    서버의 Launcher 로그, 서버 로그, 엑세스 로그 파일이 남는다. 자세한 내용은 JEUS Server 안내서의 Logging을 참고한다.

3. 환경변수

환경변수는 모두 JEUS_HOM\bin\jeus.properties에 설정되어 있으며, JEUS_HOME\bin 디렉터리의 모든 스크립트에서 사용된다.

다음은 JEUS에서 사용하는 환경변수이다.

환경변수 내용

JEUS_HOME

JEUS가 설치된 홈 디렉터리로 필수 사항이다.

(예: JEUS_HOME=/home/jeus/jeus9)

JAVA_HOME

JDK의 홈 디렉터리이다.

(예: JAVA_HOME=/usr/jdk1.8)

해당 변수는 필요한 경우 수정해서 사용한다. 단, XML 설정 파일에서는 이들 환경변수를 사용할 수 없다. 모든 환경변수는 설치할 때 기본값으로 설정된다. 대부분의 경우 설정된 값을 그대로 사용하면 된다.

환경변수를 변경하는 방법은 OS에 따라 다르므로, 이에 대해서는 각 OS 안내서를 참고한다.

4. 환경설정 파일

JEUS는 환경설정을 위해서 각각 고유의 XML 포맷을 사용하며, 직접 수정하거나 툴을 사용해서 수정할 수 있다.

다음은 JEUS의 XML 설정 파일과 내용, 위치를 정리한 내용이다.

  • domain.xml (jeus-domain.xsd, ejb-engine.xsd, web-engine.xsd, jms-engine.xsd)

    위치

    JEUS_HOME/domains/<domain_name>/config/

    목적

    JEUS Manager와 노드를 관리하는 기본 설정 파일이다.

    참고 안내서

    JEUS Domain 안내서, JEUS Server 안내서

  • jeus-web-dd.xml (jeus-web-dd.xsd)

    위치

    웹 애플리케이션 Archive의 WEB-INF

    설명

    JEUS 웹 애플리케이션(Servlet app) DD(Deployment Descriptors) 파일이다.

    참고 안내서

    JEUS Web Engine 안내서

  • jeus-ejb-dd.xml (jeus-ejb-dd.xsd)

    위치

    EJB 애플리케이션 Archive의 META-INF

    설명

    JEUS EJB Module DD(Deployment Descriptors) 파일이다.

    참고 안내서

    JEUS EJB 안내서

  • jeus-client-dd.xml (jeus-client-dd.xsd)

    위치

    클라이언트 애플리케이션 Archive의 WEB-INF

    설명

    애플리케이션 클라이언트 DD(Deployment Descriptors) 파일이다.

    참고 안내서

    JEUS Application Client 안내서

  • jeus-connector-dd.xml (jeus-connector-dd.xsd)

    위치

    리소스 어댑터 Archive의 META-INF

    설명

    리소스 어댑터 DD(Deployment Descriptors) 파일이다.

    참고 안내서

    JEUS JCA 안내서

  • policies.xml (policies.xsd)

    위치

    JEUS_HOME/domains/<domainname>/config/security

    설명

    JEUS Security 정책을 설정한 파일이다.

    참고 안내서

    JEUS Security 안내서

  • accounts.xml (accounts.xsd)

    위치

    JEUS_HOME/domains/<domainname>/config/security

    설명

    JEUS Security 계정을 설정한 파일이다.

    참고 안내서

    JEUS Security 안내서

  • jeus-web-dd.xml (jeus-web-dd.xsd), jeus-ejb-dd.xml (jeus-ejb-dd.xsd), jeus-client-dd.xml (jeus-client-dd.xsd)

    위치

    Webservice client archive의 META-INF

    설명

    웹 서비스 클라이언트 정보를 설정한 파일이다.

    참고 안내서

    JEUS Web Service 안내서

  • jeus-webservices-config.xml (jeus-webservices-config.xsd)

    위치

    Webservice client archive의 META-INF

    설명

    웹 서비스 클라이언트 Ant Task에서 사용하는 설정 파일이다.

    참고 안내서

    JEUS Web Service 안내서

  1. Jakarta EE의 표준 Descriptor 파일인 web.xml이나 ejb-jar.xml 파일도 사용된다. 각 파일은 해당 Jakarta EE 스펙을 참고한다.

  2. 모든 XML Schema 파일은 JEUS_HOME/lib/schemas/jeus/에 위치한다.