|
|
| Sun ONE Application Server 7, Update 1 관리자 설명서 |
응용 프로그램 배포이 장에서는 다양한 Sun ONE Application Server 모듈 및 응용 프로그램을 배포하는 방법에 대해 설명합니다.
Sun ONE Application Server 모듈 및 응용 프로그램에는 J2EE 표준 요소 및 Sun ONE Application Server 고유 요소가 포함되어 있습니다. 이 장에서는 Sun ONE Application Server 고유 요소만 설명합니다.
배포를 위해 모듈 및 응용 프로그램을 패키지하고 어셈블하는 방법에 대해서는 Sun ONE Application Server Developer's Guide를 참조하십시오.
이 장에서는 다음 내용을 설명합니다.
- J2EE 모듈 정보
- J2EE 응용 프로그램 정보
- J2EE 표준 설명자
- Sun ONE Application Server 설명자
- 이름 지정 표준
- 디렉토리 구조 배포
- 런타임 환경
- 클래스 로더 정보
- 모듈 및 응용 프로그램 배포
- 응용 프로그램 배포 설명자 파일
J2EE 모듈 정보
J2EE 모듈은 해당 유형의 배포 설명자가 있는 동일한 컨테이너 유형의 하나 이상의 J2EE 구성 요소 모음입니다. 두 설명자 중 하나는 J2EE 표준이고 다른 하나는 Sun ONE Application Server 고유 설명자입니다. J2EE 모듈의 유형은 다음과 같습니다.
- WAR (Web Application Archive): 웹 응용 프로그램은 번들화하여 여러 J2EE 응용 프로그램 서버로 배포할 수 있는 서블릿, HTML 페이지, 클래스 및 기타 자원의 모음입니다. WAR 파일은 서블릿, JSP, JSP 태그 라이브러리, 유틸리티 클래스, 정적 페이지, 클라이언트측 애플릿, Bean, Bean 클래스 및 배포 설명자(web.xml과 선택적 sun-web.xml)로 구성될 수 있습니다.
- EJB JAR 파일: EJB JAR 파일은 Enterprise Bean을 어셈블하는 표준입니다. 이 파일에는 Bean 클래스(home, remote, local 및 implementation), 모든 유틸리티 클래스 및 배포 설명자(ejb-jar.xml과 선택적 sun-ejb-jar.xml)가 포함됩니다. EJB가 컨테이너 관리 영속성을 갖는 Entity Bean인 경우 CMP 배포 설명자인 sun-cmp-mapping.xml도 포함될 수 있습니다.
- 응용 프로그램(RMI/IIOP) 클라이언트 JAR 파일: RMI/IIOP 클라이언트는 J2EE 클라이언트의 Sun ONE Application Server 고유 유형입니다. RMI/IIOP 클라이언트는 표준 J2EE Application Client 사양을 지원하며 Sun ONE Application Server에 대한 직접 액세스도 지원합니다. 이것의 배포 설명자는 application-client.xml과 선택적 sun-application-client.xml입니다.
- 자원 RAR 파일: J2EE CA 커넥터에 적용되는 RAR 파일입니다. 커넥터 모듈은 장치 드라이버와 비슷합니다. 이것을 사용하면 EJB가 외부 엔터프라이즈 시스템에 이식 가능한 방식으로 액세스할 수 있습니다. 각 Sun ONE Application Server 커넥터에는 J2EE XML 파일인 ra.xml이 있습니다. 커넥터에는 Sun ONE Application Server 배포 설명자인 sun-ra.xml도 있어야 합니다.
모든 모듈의 소스 코드에는 모듈이 배포된 후 클래스 로더가 클래스를 제대로 찾을 수 있도록 패키지 정의를 사용해야 합니다.
배포 설명자의 정보는 선언적이기 때문에 소스 코드를 수정하지 않고 변경할 수 있습니다. 런타임에서 J2EE 서버는 이 정보를 읽고 그에 따라 작동합니다.
EJB JAR 및 웹 모듈은 다음 그림에서처럼, 응용 프로그램 외부에서 별도의 .jar 또는 .war 파일로 어셈블하고 별도로 배포할 수 있습니다.
J2EE 응용 프로그램 정보
J2EE 응용 프로그램은 응용 프로그램 배포 설명자에 의해 함께 결합된 하나 이상의 J2EE 모듈의 논리적 모음입니다. 구성 요소는 모듈 또는 응용 프로그램 수준에서 어셈블할 수 있습니다. 또한 구성 요소를 모듈 또는 응용 프로그램 수준에서 배포할 수도 있습니다.
구성 요소는 모듈로 어셈블된 다음 배포할 준비가 된 Sun ONE Application Server 응용 프로그램 .ear 파일로 어셈블됩니다.
각 모듈에는 Sun ONE Application Server 배포 설명자와 J2EE 배포 설명자가 있습니다. Sun ONE Application Server 관리 인터페이스에서는 배포 설명자를 사용하여 응용 프로그램 구성 요소를 배포하고 Sun ONE Application Server에 자원을 등록합니다.
응용 프로그램은 하나 이상의 모듈, 선택적 Sun ONE Application Server 배포 설명자 및 필수 J2EE 응용 프로그램 배포 설명자로 구성됩니다. 모든 항목은 Java ARchive(.jar) 파일 형식을 사용하여 확장명이 .ear인 하나의 파일로 어셈블됩니다.
J2EE 표준 설명자
J2EE 플랫폼은 어셈블리 및 배포 기능을 제공합니다. 이러한 기능은 JAR 파일을 구성 요소 및 응용 프로그램에 대한 표준 패키지로 사용하고 XML 기반 배포 설명자를 매개 변수 사용자 정의에 사용합니다. J2EE 어셈블리 및 배포 프로세스에 대한 자세한 내용은 Developing Enterprise Applications with the J2EE, v 1.0, 7장을 참조하십시오.
J2EE 표준 배포 설명자는 J2EE 사양, v1.3에서 설명합니다.
배포 전에 이러한 배포 설명자가 맞는지 확인하려면 Sun ONE Application Server Developer's Guide에서 배포 설명자 검증자에 대한 정보를 참조하십시오.
다음 표 "J2EE 표준 설명자"에서는 J2EE 표준 배포 설명자에 대한 정보를 볼 수 있는 위치를 설명합니다. 왼쪽 열은 배포 설명자이고 오른쪽 열은 해당 설명자에 대한 자세한 내용을 찾을 수 있는 참조 위치입니다.
다음 위치에서 사양을 볼 수 있습니다.
Sun ONE Application Server 설명자
Sun ONE Application Server에서는 추가 배포 설명자를 사용하여 Sun ONE Application Server에 한정된 기능을 구성합니다. 이러한 기능은 커넥터 모듈에 필수인 sun-ra.xml 파일을 제외하면 선택 사항입니다.
배포 전에 이러한 배포 설명자가 맞는지 확인하려면 Sun ONE Application Server Developer's Guide에서 배포 설명자 검증자에 대한 정보를 참조하십시오.
다음 표 "Sun ONE Application Server 설명자"에서는 Sun ONE Application Server 배포 설명자에 대한 자세한 내용을 볼 수 있는 위치를 설명합니다. 왼쪽 열은 배포 설명자이고 오른쪽 열은 해당 설명자에 대한 자세한 내용을 찾을 수 있는 참조 위치입니다.
주 UNIX에서 Sun ONE Application Server 배포 설명자는 600 수준의 액세스 권한을 갖고 있어야 합니다.
모든 Sun ONE Application Server 배포 설명자에 대한 DTD 스키마 파일은 install_dir/appserv/lib/dtds 디렉토리에 있습니다.
이름 지정 표준
응용 프로그램 및 개별적으로 배포된 EJB JAR, WAR, 커넥터 RAR 모듈의 이름은(server.xml 파일의 name 속성에 지정) Sun ONE Application Server에서 고유해야 합니다. 이름을 명시적으로 지정하지 않으면 파일 이름의 첫 번째 부분(.war 또는 .jar 확장명 제외)이 기본 이름이 됩니다. server.xml에 대한 자세한 내용은 Sun ONE Application Server Administrator's Configuration File Reference를 참조하십시오.
응용 프로그램이 배포되면 개별 모듈이 있는 디렉토리의 이름에는 _jar, _war 및 _rar 접미사가 추가되므로 유형이 다른 모듈도 응용 프로그램 내에서 이름이 같을 수 있습니다. 응용 프로그램 내에서 유형이 같은 모듈은 이름이 고유해야 합니다. 또한 데이터베이스 스키마 파일 이름은 응용 프로그램 내에서 고유해야 합니다.
ejb-jar.xml 파일의 <module-name> 부분에서 볼 수 있는 모듈 파일 이름, EAR 파일 이름, 모듈 이름 및 ejb-jar.xml 파일의 <ejb-name> 부분에서 볼 수 있는 EJB 이름에는 Java 패키지와 같은 이름 지정 스키마를 사용하는 것이 좋습니다. 이렇게 패키지와 비슷한 이름 지정 스키마를 사용하면 이름 충돌을 방지할 수 있습니다. 이러한 이름 지정의 이점은 Sun ONE Application Server뿐만 아니라 다른 J2EE 응용 프로그램 서버에도 적용됩니다.
EJB에 대한 JNDI 조회 이름 역시 고유해야 합니다. 이 경우에도 일관된 명명 규칙을 사용하는 것이 좋습니다. 예를 들어, EJB 이름에 응용 프로그램 이름과 모듈 이름을 추가하는 것도 고유한 이름을 유지하는 한 가지 방법입니다. 이 경우 mycompany.pkging.pkgingEJB.MyEJB는 응용 프로그램 pkging.ear에 패키지된 pkgingEJB.jar 모듈의 EJB에 대한 JNDI 이름이 됩니다.
운영 체제에서 사용할 수 없는 공백이나 문자를 패키지 및 파일 이름에 사용하지 않도록 하십시오.
디렉토리 구조 배포
응용 프로그램을 배포할 때 개별 모듈이 있는 디렉토리 이름에는 _jar, _war 및 _rar 접미어가 붙습니다. asadmin deploydir 명령을 사용하여 EAR 파일 대신 디렉토리를 배포하는 경우 디렉토리 구조는 다음 규칙을 따라야 합니다.
모듈 및 응용 프로그램 디렉토리 구조는 J2EE 사양에 정의된 구조를 따라야 합니다.
다음은 웹 모듈, EJB 모듈 및 클라이언트 모듈이 포함된 간단한 응용 프로그램의 디렉토리 구조의 예입니다.
+ converter_1/
|--- converterClient.jar
|--+ META-INF/
| |--- MANIFEST.MF
| |--- application.xml
| '--- sun-application.xml
|--+ war-ic_war/
| |--- index.jsp
| |--+ META-INF/
| | |--- MANIFEST.MF
| '--+ WEB-INF/
| |--- web.xml
| '--- sun-web.xml
|--+ ejb-jar-ic_jar/
| |--- Converter.class
| |--- ConverterBean.class
| |--- ConverterHome.class
| '--+ META-INF/
| |--- MANIFEST.MF
| |--- ejb-jar.xml
| '--- sun-ejb-jar.xml
'--+ app-client-ic_jar/
|--- ConverterClient.class
'--+ META-INF/
|--- MANIFEST.MF
|--- application-client.xml
'--- sun-application-client.xml
다음은 개별적으로 배포된 커넥터 모듈의 디렉토리 구조의 예입니다.
+ MyConnector/
|--- readme.html
|--- ra.jar
|--- client.jar
|--- win.dll
|--- solaris.so
'--+ META-INF/
|--- MANIFEST.MF
|--- ra.xml
'--- sun-ra.xml
런타임 환경
구성 요소를 개별적으로 배포된 모듈로 배포하든지 응용 프로그램으로 배포하든지 상관없이 배포는 파일 시스템과 서버 구성에 영향을 줍니다. "모듈 런타임 환경" 및 "응용 프로그램 런타임 환경" 그림을 참조하십시오.
모듈 런타임 환경
다음 그림 "모듈 런타임 환경"은 개별적으로 배포된 모듈 기반 배포의 환경입니다.
   모듈 런타임 환경
![]()
파일 시스템 항목의 경우 모듈은 다음과 같이 추출됩니다.
instance_dir/applications/j2ee-modules/module_name
instance_dir/generated/ejb/j2ee-modules/module_name
instance_dir/generated/jsp/j2ee-modules/module_namegenerated/ejb 디렉토리에는 스텁과 타이가 포함되며 generated/jsp 디렉토리에는 컴파일된 JSP가 포함됩니다.
Lifecycle 모듈은 다음과 같이 추출됩니다.
instance_dir/applications/lifecycle-modules/module_name
구성 항목은 다음과 같이 server.xml에 추가됩니다.
<server>
<applications>
<type-module>
...module configuration...
</type-module>
</applications>
</server>server.xml에 있는 모듈의 type은 lifecycle, ejb, web 또는 connector일 수 있습니다. server.xml에 대한 자세한 내용은 Sun ONE Application Server Administrator's Configuration File Reference를 참조하십시오.
응용 프로그램 런타임 환경
다음 그림 "응용 프로그램 런타임 환경"은 응용 프로그램 기반 배포를 위한 환경입니다.
   응용 프로그램 런타임 환경
![]()
파일 시스템 항목의 경우 응용 프로그램은 다음과 같이 추출됩니다.
instance_dir/applications/j2ee-apps/app_name
instance_dir/generated/ejb/j2ee-apps/app_name
instance_dir/generated/jsp/j2ee-apps/app_namegenerated/ejb 디렉토리에는 스텁과 타이가 포함되며 generated/jsp 디렉토리에는 컴파일된 JSP가 포함됩니다.
구성 항목은 다음과 같이 server.xml에 추가됩니다.
<server>
<applications>
<j2ee-application>
...application configuration...
</j2ee-application>
</applications>
</server>server.xml에 대한 자세한 내용은 Sun ONE Application Server Administrator's Configuration File Reference를 참조하십시오.
FastJavac 컴파일러를 사용하도록 server.xml 구성
기본적으로 Sun ONE Application Server는 내장 JDK 컴파일러를 사용하여 배포 도중 응용 프로그램을 컴파일합니다. 배포 도중 컴파일 속도가 더 빠른 Sun One Studio의 FastJavac 컴파일러를 사용할 수도 있습니다.
번들 Solaris 설치에서 FastJavac 컴파일러의 위치는 투명하지 않습니다. FastJavac 컴파일러를 사용하려면 Administration Server의 server.xml을 다음과 같이 컴파일러 경로로 구성해야 합니다.
server.xml의 java-config 요소에 다음 jvm-option을 추가합니다.
<java-config java-home="/<install-dir>/jdk" server-classpath="....." >
jvm-options>-Dcom.sun.aas.deployment.java.compiler=/<install-dir>/studio4/bin/fastjavac/fastjavac.sun</jvm-options>
<property name="com.sun.aas.deployment.java.compiler.options"
value="-jdk /<install-dir>/jdk" />
</java-config>
클래스 로더 정보
Sun ONE Application Server 클래스 로더에 대해 이해하고 있으면 모듈 및 응용 프로그램에 대한 지원 JAR 및 자원 파일을 위치시키는 방법 및 위치를 결정하는 데 도움이 됩니다.
Java 가상 머신(JVM)에서 클래스 로더는 종속성을 해결하는 데 필요한 특정 Java 클래스 파일을 동적으로 로드합니다. 예를 들어, java.util.Enumeration의 인스턴스를 작성해야 하는 경우 클래스 로더 중 하나가 관련 클래스를 환경으로 로드합니다. 클래스 로더에 대한 자세한 내용은 Sun ONE Application Server Developer's Guide를 참조하십시오.
모듈 및 응용 프로그램 배포
이 절에서는 J2EE 응용 프로그램 및 모듈을 Sun ONE Application Server에 배포하는 여러 방법에 대해 설명합니다. 이 절에서는 다음 항목에 대해 설명합니다.
- 배포 이름 및 오류
- 배포 lifecycle
- 모듈이나 응용 프로그램의 배포
- WAR 모듈 배포
- EJB JAR 모듈 배포
- Lifecycle 모듈 배포
- RMI/IIOP 클라이언트 배포
- J2EE CA 자원 어댑터 배포
- 정적 내용 배포
- 공유 프레임워크에 액세스
배포 이름 및 오류
응용 프로그램이나 모듈을 배포할 때 server.xml 파일에 고유 이름이 생성됩니다. 이 이름을 변경하지 마십시오. 배포 도중 서버는 모든 이름 충돌을 감지하여 고유하지 않은 이름이 있는 응용 프로그램이나 모듈은 로드하지 않습니다. 이 경우 서버 로그에 메시지가 전송됩니다. 이름 지정에 대한 자세한 내용은 "이름 지정 표준"을 참조하십시오.
배포 도중 오류가 발생하면 응용 프로그램이나 모듈이 배포되지 않습니다. 응용 프로그램 내의 모듈에 오류가 있으면 전체 응용 프로그램이 배포되지 않습니다.
server.xml에 대한 자세한 내용은 Sun ONE Application Server Administrator's Configuration File Reference를 참조하십시오.
배포 lifecycle
응용 프로그램을 처음 배포한 뒤 수정, 재로드, 다시 배포, 비활성화, 다시 활성화, 배포 해제(서버에서 제거)할 수 있습니다. 이 절에서는 이러한 배포 lifecycle에 관련된 다음 항목에 대해 설명합니다.
동적 배포
서버를 다시 시작하지 않고 응용 프로그램이나 모듈을 배포, 다시 배포 및 배포 해제할 수 있습니다. 이것을 동적 배포라고 합니다.
주로 개발자를 위한 것이지만 동적 배포는 운영 환경에서 서버를 다시 시작하지 않고 응용 프로그램 및 모듈을 온라인시키는 데 사용할 수 있습니다. 재배포가 완료될 때마다 전송 시간의 세션은 무효화됩니다. 클라이언트는 세션을 다시 시작해야 합니다.
배포된 응용 프로그램 또는 모듈 비활성화
배포된 응용 프로그램이나 모듈을 서버에서 제거하지 않고 비활성화할 수 있습니다. 각 응용 프로그램과 모듈에는 server.xml 파일에 enabled 속성이 있으며 관리 인터페이스에 해당 인터페이스가 있으므로 이를 수정할 수 있습니다. server.xml에 대한 자세한 내용은 Sun ONE Application Server Administrator's Configuration File Reference를 참조하십시오.
동적 재로드
동적 재로드를 활성화하면 코드를 변경한 경우 응용 프로그램이나 모듈을 다시 배포할 필요가 없습니다. 변경된 클래스 파일을 응용 프로그램이나 모듈의 배포 디렉토리에 복사하기만 하면 됩니다. 서버에서 변경 사항을 주기적으로 확인하여 변경 사항이 적용된 응용 프로그램을 자동 및 동적으로 다시 배포합니다.
코드 변경을 빠르게 테스트할 수 있기 때문에 개발 환경에서 유용합니다. 하지만 동적 재로드는 성능이 저하되기 때문에 작업 환경에는 적합하지 않습니다. 또한 재로드가 완료될 때마다 해당 전송 시간의 세션이 무효화됩니다. 클라이언트는 세션을 다시 시작해야 합니다.
동적 재로드를 활성화하려면 다음 중 하나를 수행할 수 있습니다.
- 관리 인터페이스를 사용합니다.
서버 인스턴스 아래에서 "응용 프로그램" 구성 요소를 엽니다.
"재로드 사용 가능" 확인란을 선택하여 동적 재로드를 활성화합니다.
"재로드 폴링 간격" 필드에 초 단위 시간을 입력하여 응용 프로그램과 모듈의 코드 변경을 확인하고 동적으로 로드할 간격을 설정합니다.
서버 인스턴스 페이지로 이동하여 "변경 사항 적용" 버튼을 선택합니다.
- server.xml 파일의 applications 요소의 다음 속성을 편집합니다.
dynamic-reload-enabled="true"는 동적 재로드를 활성화합니다.
dynamic-reload-poll-interval-in-seconds는 응용 프로그램과 모듈의 코드 변경을 확인하고 동적으로 다시 로드할 간격을 설정합니다.
server.xml에 대한 자세한 내용은 Sun ONE Application Server Administrator's Configuration File Reference를 참조하십시오.
또한 새 서블릿 파일을 로드하거나, EJB 관련 변경 사항을 다시 로드하거나, 배포 설명자 변경 사항을 다시 로드하려면 다음을 수행해야 합니다.
- 배포된 응용 프로그램의 루트에 .reload라는 이름의 빈 파일을 만듭니다.
instance_dir/applications/j2ee-apps/app_name/.reload
또는 개별적으로 배포된 모듈의 경우 다음을 만듭니다.
instance_dir/applications/j2ee-modules/module_name/.reload
- 위의 변경 작업을 할 때마다 .reload 파일의 타임스탬프(UNIX에서 touch .reload)를 명시적으로 업데이트합니다.
JSP의 경우 sun-web.xml 파일에서 jsp-config 요소의 reload-interval 속성에 설정된 빈도에 따라 변경 사항이 자동으로 다시 로드됩니다. JSP의 동적 재로드를 비활성화하려면 reload-interval="-1"을 설정합니다.
배포 도구
이 절에서는 모듈과 응용 프로그램 배포에 사용할 수 있는 여러 도구에 대해 설명합니다. 배포 도구에는 다음 항목이 있습니다.
asadmin 유틸리티
asadmin 유틸리티를 사용하면 응용 프로그램 및 개별적으로 배포된 모듈을 로컬 서버에 배포하거나 배포 해제할 수 있습니다. 여러 시스템에 동시 배포는 지원되지 않습니다. 이 절에서는 asadmin 유틸리티에 대해 간략하게 설명합니다.
lifecycle 모듈을 배포하려면 "Lifecycle 모듈 배포"를 참조하십시오.
asadmin 배포
asadmin deploy 명령은 WAR, JAR, RAR 또는 EAR 파일을 배포합니다. 응용 프로그램을 배포하려면 명령에 --typeapplication을 지정합니다. 개별 모듈을 배포하려면 --typeejb, web, connector를 지정합니다. 구문은 다음과 같습니다(선택적 매개 변수에는 기본값 사용).
asadmin deploy --user admin_user [--password admin_password] [--host localhost] [-port 4848] [--secure | -s] [--virtualservers virtual_servers] [--type application|ejb|web|connector] [--contextroot contextroot] [--force=true] [--precompilejsp=false] [--name component_name] [--upload=true] [--retrieve local_dirpath] [--instance instance_name] filepath
예를 들어, 다음 명령은 개별 EJB 모듈을 배포합니다.
asadmin deploy --user jadams --password secret --host localhost --port 4848 --type ejb --instance server1 packagingEJB.jar
asadmin deploydir
asadmin deploydir 명령은 공개 디렉토리 구조에 응용 프로그램이나 모듈을 배포합니다. 구조는 "디렉토리 구조 배포"에 지정된 것과 같아야 합니다. instance_dir/applications/j2ee-apps 또는 instance_dir/applications/j2ee-modules 아래의 dirpath 위치를 보면 응용 프로그램인지 개별적으로 배포된 모듈인지 판별할 수 있습니다. 구문은 다음과 같습니다(선택적 매개 변수에는 기본값 사용).
asadmin deploydir --user admin_user [--password admin_password] [--host localhost] [-port 4848] [--secure | -s] [--virtualservers virtual_servers] [--type application|ejb|web|connector] [--contextroot contextroot] [--force=true] [--precompilejsp=false] [--name component_name] [--instance instance_name] dirpath
예를 들어, 다음 명령은 개별 EJB 모듈을 배포합니다.
asadmin deploydir --user jadams --password secret --host localhost --port 4848 --type ejb --instance server1 packagingEJB
asadmin undeploy
asadmin undeploy 명령은 응용 프로그램이나 모듈의 배포를 해제합니다. 응용 프로그램 배포를 해제하려면 명령에 --typeapp를 지정합니다. 모듈 배포를 해제하려면 --typeejb, web 또는 connector를 지정합니다. 구문은 다음과 같습니다(선택적 매개 변수에는 기본값 사용).
asadmin undeploy --user admin_user [--password admin_password] [--host localhost] [-port 4848] [--secure | -s] [--type application|ejb|web|connector] [--instance instance_name] component_name
예를 들어, 다음 명령은 개별 EJB 모듈을 배포 해제합니다.
asadmin undeploy --user jadams --password secret --host localhost --port 4848 --type ejb --instance server1 packagingEJB
관리 인터페이스
관리 인터페이스를 사용하여 모듈과 응용 프로그램을 로컬 및 원격 Sun ONE Application Server 사이트에 배포할 수 있습니다. 이 도구를 사용하려면 다음 단계를 수행합니다.
- 서버 인스턴스 아래에서 응용 프로그램 구성 요소를 엽니다.
- "엔터프라이즈 응용 프로그램", "웹 응용 프로그램", "커넥터 모듈" 또는 "EJB 모듈" 페이지로 이동합니다.
- "배포" 버튼을 누릅니다.
- 모듈이나 응용 프로그램에 대한 전체 경로를 입력한 다음(또는 "찾아보기"를 눌러서 찾은 다음) "확인" 버튼을 누릅니다.
- 모듈 또는 응용 프로그램 이름을 입력합니다.
해당 확인란을 선택하여 이미 존재하는 모듈이나 응용 프로그램도 다시 배포할 수 있습니다. 이 방법은 선택 사항입니다.
- 가상 서버 이름 옆의 확인란을 선택하여 응용 프로그램이나 모듈을 하나 이상의 가상 서버에 지정합니다.
- "확인" 버튼을 누릅니다.
lifecycle 모듈을 배포하려면 "Lifecycle 모듈 배포"를 참조하십시오.
Sun ONE Studio
Sun ONE Studio 4를 사용하여 J2EE 응용 프로그램과 모듈을 배포할 수 있습니다. Sun ONE Studio의 사용에 대한 자세한 내용은 Sun ONE Studio 4, Enterprise Edition Tutorial을 참조하십시오.
주 Sun ONE Studio에서는 모듈이나 응용 프로그램을 배포하는 것을 실행한다라고 합니다. 실행에는 서버가 실행되고 올바른 URL을 표시하여 모듈이나 응용 프로그램을 활성화하는 것도 포함됩니다.
모듈이나 응용 프로그램의 배포
응용 프로그램에 독립적인 응용 프로그램 또는 개별 모듈을 배포할 수 있습니다. 응용 프로그램 기반 또는 개별 모듈 기반 모듈의 런타임 및 파일 시스템 관계에 대해서는 "런타임 환경"에서 설명합니다.
다음 항목이 구성 요소에 액세스해야 하는 경우 일반적으로 개별 모듈 기반 배포가 많이 사용됩니다.
- 기타 모듈
- J2EE 응용 프로그램
- RMI/IIOP 클라이언트(모듈 기반 배포를 사용하여 RMI/IIOP 클라이언트, 서블릿 또는 EJB에서 Bean에 공유 액세스를 할 수 있음).
모듈은 EAR 파일과 결합되어 단일 모듈로 배포될 수 있습니다. 이것은 EAR의 모듈을 독립적으로 배포하는 것과 비슷합니다.
WAR 모듈 배포
WAR 모듈은 "배포 도구"에서 설명하는 방법 중 하나를 사용하여 배포합니다.
-keepgenerated 속성을 sun-web.xml의 jsp-config 속성에 추가하여 JSP에 대해 생성된 소스를 유지할 수 있습니다. WAR 모듈을 배포할 때 이 속성을 포함시키면 생성된 소스는, 응용 프로그램인 경우 instance_dir/generated/jsp/j2ee-apps/app_name/module_name에, 개별적으로 배포된 웹 모듈의 경우에는 instance_dir/generated/jsp/j2ee-modules/module_name에 보관됩니다. -keepgenerated 등록 정보에 대한 자세한 내용은 Sun ONE Application Server Developer's Guide to Web Applications를 참조하십시오.
EJB JAR 모듈 배포
EJB JAR 모듈은 "배포 도구"에서 설명하는 방법 중 하나를 사용하여 배포합니다.
server.xml에서 java-config 요소의 rmic-options 속성에 -keepgenerated 플래그를 추가하여 스텁 및 타이에 대해 생성된 소스를 유지할 수 있습니다. EJB JAR 모듈을 배포할 때 이 플래그를 포함시키면 생성된 소스는, 응용 프로그램의 경우 instance_dir/generated/ejb/j2ee-apps/app_name/module_name에, 개별적으로 배포된 EJB JAR 모듈의 경우 instance_dir/generated/ejb/j2ee-modules/module_name에 유지됩니다. -keepgenerated 플래그에 대한 자세한 내용은 Sun ONE Application Server Administrator's Configuration File Reference를 참조하십시오.
Lifecycle 모듈 배포
lifecycle 모듈에 대한 일반 정보는 Sun ONE Application Server Developer's Guide를 참조하십시오.
다음 도구를 사용하여 lifecycle 모듈을 배포할 수 있습니다.
asadmin 유틸리티
lifecycle 모듈을 배포하려면 asadmin create-lifecycle-module 명령을 사용하십시오. 구문은 다음과 같습니다(선택적 매개 변수에는 기본값 사용).
asadmin create-lifecycle-module --user admin_user [--password admin_password] [--host localhost] [-port 4848] [--secure | -s] [--instance instance_name] --classname classname [--classpath classpath] [--loadorder load_order_number] [--failurefatal=false] [--enabled=true] [--description text_description] [--property (name=value)[:name=value]*] modulename
예:
asadmin create-lifecycle-module --user jadams --password secret --host localhost --port 4848 --instance server1 --classname RMIServer MyRMIServer
lifecycle 모듈의 배포를 해제하려면 asadmin delete-lifecycle-module 명령을 사용하십시오. 구문은 다음과 같습니다(선택적 매개 변수에는 기본값 사용).
asadmin delete-lifecycle-module --user admin_user [--password admin_password] [--host localhost] [-port 4848] [--secure | -s] [--instance instance_name] module_name
예:
asadmin delete-lifecycle-module --user jadams --password secret --host localhost --port 4848 --instance server1 MyRMIServer
서버 인스턴스에 배포된 lifecycle 모듈을 나열하려면 asadmin list-lifecycle-modules 명령을 사용합니다. 구문은 다음과 같습니다(선택적 매개 변수에는 기본값 사용).
asadmin list-lifecycle-modules --user admin_user [--password admin_password] [--host localhost] [-port 4848] instance_name
예:
asadmin list-lifecycle-module --user jadams --password secret --host localhost --port 4848 server1
관리 인터페이스
관리 인터페이스를 사용하여 lifecycle 모듈을 배포할 수도 있습니다. 다음 단계를 수행합니다.
- 서버 인스턴스 아래에서 응용 프로그램 구성 요소를 엽니다.
- "Life Cycle 모듈" 페이지로 이동합니다.
- "배포" 버튼을 누릅니다.
- 다음 정보를 입력합니다.
클래스 이름(필수) - life cycle 모듈의 클래스 파일의 정규화된 이름
클래스 경로(선택) - life cycle 모듈의 클래스 경로. 모듈의 위치를 지정합니다. 기본 위치는 응용 프로그램 루트 디렉토리 아래입니다.
로드 순서(선택) - 시작할 때 life cycle 모듈을 로드할 순서를 결정합니다. 정수 값이 작은 모듈이 먼저 로드됩니다. 값의 범위는 101부터 운영 체제의 MAXINT까지입니다. 1부터 100까지의 값은 예약되어 있습니다.
치명적 오류(선택) - life cycle 모듈이 실패한 경우 서버를 종료할지 결정합니다. 기본값은 false입니다.
활성화(선택) - life cycle 모듈의 활성화 여부를 결정합니다. 기본값은 true입니다.
- "확인" 버튼을 누릅니다.
RMI/IIOP 클라이언트 배포
EJB와 통신하는 클라이언트에만 배포가 필요합니다. RMI/IIOP 클라이언트 배포는 세 단계로 수행됩니다.
- RMI/IIOP 클라이언트가 액세스할 EAR 또는 EJB JAR을 배포합니다.
- 필요한 클라이언트 파일을 어셈블하고 클라이언트를 배포합니다.
- 배포 후 클라이언트 JAR 파일이 응용 프로그램의 다음 위치에 생성됩니다.
instance_dir/applications/j2ee-apps/app_name/app_nameClient.jar
개별적으로 배포된 모듈의 경우 다음 위치에 생성됩니다.
instance_dir/applications/j2ee-modules/module_name/module_nameClient.jar
클라이언트 JAR에는 타이 및 RMI/IIOP 클라이언트에 필요한 클래스가 포함되어 있습니다. 이 파일은 클라이언트 시스템에 복사하고 클라이언트의 APPCPATH 환경 변수가 이 JAR를 가리키도록 설정합니다.
이제 클라이언트 실행 준비가 끝났습니다. 자세한 내용은 Sun ONE Application Server Developer's Guide to Clients를 참조하십시오.
J2EE CA 자원 어댑터 배포
커넥터 모듈은 "배포 도구"에서 설명하는 방법 중 하나를 사용하여 배포합니다.
정적 내용 배포
정적 내용(HTML, 이미지 등)은 웹 서버와 Sun ONE Application Server에서 호스트할 수 있습니다. 하지만 WAR 파일이 등록되면 정적 내용이 응용 프로그램 서버에 배포됩니다. Sun ONE Application Server와 함께 제공되는 모든 샘플은 응용 프로그램 서버에서 정적 내용을 호스트합니다.
예를 들어, 응용 프로그램의 정적 파일 index.html에 액세스하려면 다음을 사용합니다.
http://server:port/NASApp/<context_root/index.html
공유 프레임워크에 액세스
J2EE 응용 프로그램 및 모듈이 공유 프레임워크 클래스(예: 구성 요소 및 라이브러리)를 사용하면 클래스를 응용 프로그램이나 모듈이 아니라 시스템 클래스 또는 공용 클래스 로드의 경로에 배포할 수 있습니다. 크기가 큰 공유 라이브러리를 해당 라이브러리를 사용하는 모든 모듈에 어셈블하면 파일 크기가 너무 커져서 서버 등록 시간이 오래 걸립니다. 또한 서로 다른 클래스 로드에 동일한 클래스의 여러 버전이 존재할 수 있으므로 자원을 낭비하게 됩니다.
시스템 클래스 로드에 대한 자세한 내용은 "클래스 로더 정보"를 참조하십시오.
응용 프로그램 배포 설명자 파일
Sun ONE Application Server 응용 프로그램에는 다음 두 개의 배포 설명자 파일이 있습니다.
- Java Servlet Specification, v2.3, 13장, "Deployment Descriptors"에 설명되어 있는 J2EE 표준 파일(application.xml)
- 이 절에서 설명한 선택적 Sun ONE Application Server 고유 파일(sun-application.xml)
응용 프로그램 배포 설명자 파일에 대한 자세한 내용은 Sun ONE Application Server Developer's Guide를 참조하십시오.