Sun GlassFish Enterprise Server v3 릴리스 노트

Sun GlassFish Enterprise Server v3 릴리스의 새로운 기능

Sun GlassFish Enterprise Server v3에서는 Java 기술 기반의 웹 기술 및 Java Platform, Enterprise Edition(Java EE 플랫폼) 응용 프로그램을 개발하고 배포하기 위한 서버를 제공합니다.

여기서 소개할 Enterprise Server의 새로운 기능은 다음과 같습니다.

Java EE 프로필 지원

Java EE 6에는 프로필 개념이 도입되었습니다. 프로필은 특정 개발자 커뮤니티와 응용 프로그램 유형에 부합하는 Java EE 기술과 API의 집합입니다.

Sun GlassFish Enterprise Server v3 배포를 통해 구현되는 프로필은 다음과 같습니다.

Java EE 6 SDK 배포는 Java EE 6 SDK 다운로드 페이지에서 제공됩니다.

각 프로필의 API 목록은 Java EE 6 표준을 참조하십시오.

모듈식 설계

Sun GlassFish Enterprise Server v3에서는 유연성을 제공하고 런타임 성능을 개선하기 위해 GlassFish 코드 페이지가 모듈로 분할되었습니다. 모듈식 아키텍처는 OSGi Alliance 표준을 기반으로 구현되며 Enterprise Server v3 모듈과 기타 모듈의 재사용을 가능하게 합니다.

이러한 설계에서는 배포된 응용 프로그램에 필요한 모듈만을 사용할 수 있습니다. 런타임을 사용하는 응용 프로그램에 대해서만 런타임이 사용되며, 전체 시스템 재설치 없이 업그레이드 구현이 가능합니다. 이 변경으로 시작 시간, 메모리 소비 및 디스크 공간 요구 사항이 최소화됩니다.

모듈식 설계에서는 다음 작업을 수행할 수 있습니다.

Enterprise Server 확장 지원

새로운 Sun GlassFish Enterprise Server v3 컨테이너 SPI(System Provider Interface)는 Enterprise Server에서 적시에 호출할 수 있도록 컨테이너 개발자가 구현해야 하는 인터페이스를 정의합니다. 이 변경으로 Enterprise Server 사용자는 관리 명령 및 그래픽 애드온 구성 요소를 추가하는 방법으로 사용자 지정 응용 프로그램 서버를 만들 수 있습니다.

Enterprise Server에서는 Ruby on Rails와 같은 새로운 모듈도 효과적으로 지원합니다.

업데이트 도구 통합

이제 업데이트 도구가 Sun GlassFish Enterprise Server v3 관리 콘솔에 포함되었습니다. 이 도구는 기존 Enterprise Server v3 기능 확장에 사용할 수 있는 관련 응용 프로그램 및 애드온 구성 요소의 관련 응용 프로그램 관리를 용이하게 합니다.

관리 콘솔은 탐색 트리를 통한 업데이트 도구 페이지 액세스를 제공합니다. 업데이트 도구 페이지는 다음을 표시하는 탭으로 구성됩니다.

관리 콘솔에서 업데이트 도구을 통합하므로 관리자가 간편하게 Enterprise Server를 확장하고 사용 가능한 업데이트를 확인할 수 있습니다. updatetool 명령을 통해 독립형 버전의 Update Tool을 사용할 수도 있습니다. Update Tool에 대한 자세한 내용은 Sun GlassFish Enterprise Server v3 Administration GuideUpdate Tool을 참조하십시오.


주 –

관리 콘솔에서 Update Tool 인터페이스를 사용하여 기존 구성 요소를 업데이트할 수 없습니다. 설치된 구성 요소를 업데이트하거나 제거하려면 독립형 명령줄 버전이나 pkg 명령을 사용해야 합니다.


Update Tool은 Update Center 프로젝트에서 개발됩니다. 관리 콘솔에서는 Update Center 2.3 API를 통해 사용 가능한 구성 요소, 버전 및 날짜의 목록을 표시합니다. Update Center 2.3에 대한 자세한 내용은 Release Notes for Update Center 2.3을 참조하십시오.


주 –

Update Tool은 구성 및 배포된 응용 프로그램을 이전 버전의Enterprise Server에서 최신 버전으로 마이그레이션하는 데 사용되는 Upgrade Tool과 다릅니다. Upgrade Tool에 대한 자세한 내용은 Sun GlassFish Enterprise Server v3 Upgrade Guide를 참조하십시오.


스크립팅 언어 지원

신속한 응용 프로그램 개발 및 배포를 위해 Sun GlassFish Enterprise Server v3에서는 다양한 스크립팅 언어를 지원합니다. 스크립팅 언어를 사용하면 Java 기술 중심의 개발이 아닌 영역에서도 Enterprise Server를 적용할 수 있습니다. 다음을 비롯한 스크립팅 언어가 지원됩니다.

이 스크립팅 언어 지원은 업데이트 도구를 통해 제공되는 구성 요소에 의해 이루어집니다.

WSIT(웹 서비스 상호 운용성 기술) 지원

Sun은 메시지 최적화, 안정적인 메시징 및 보안과 같은 웹 서비스 엔터프라이즈 기술의 상호 운용성을 위해 Microsoft와 긴밀하게 협력하고 있습니다. WSIT는 이러한 협력 작업을 통해 제공하는 제품입니다. WSIT는 Microsoft .NET 3.5와의 상호 운용성을 제공하는 고성능 확장형 웹 서비스인 Metro 2.0의 일부입니다. Metro 2.0은 Enterprise Server v3의 전체 배포에 포함됩니다.

WSIT는 엔터프라이즈 기능을 지원하기 위해 다양한 오픈 웹 서비스 사양을 구현한 것입니다. WSIT에는 메시지 최적화, 안정적인 메시징 및 보안 외에도 부트스트랩 및 구성 기술이 포함되어 있습니다. WSIT는 Java 플랫폼에 현재 구축되어 있는 코어 XML 지원을 포함하여 기존 기능을 사용 또는 확장하고 추가적으로 다음과 같이 상호 운용 가능한 웹 서비스를 새로 지원합니다.

appclient 유틸리티 향상

이 릴리스에서는 appclient 유틸리티가 다음과 같이 향상되었습니다.

자세한 내용은 appclient(1M) man 페이지를 참조하십시오.

EclipseLink 통합

Sun GlassFish Enterprise Server v3는 EclipseLink를 JPA(Java Persistence API) 2.0 공급자로 사용합니다. EclipseLink도 JSR 317에 대한 참조 구현입니다. EclipseLink 기능에 대한 최신 정보는 EclipseLink 2.0 Release Notes를 참조하십시오.

HTTP 서비스 설정을 네트워크 서비스로 이동

Sun GlassFish Enterprise Server v3에서는 대부분의 HTTP 서비스 설정이 새로운 네트워크 서비스 구성으로 옮겨졌습니다. 자세한 내용은 Sun GlassFish Enterprise Server v3 Upgrade Guide를 참조하십시오.

관리자 인증 관련 변경 사항

Sun GlassFish Enterprise Server v3에서는 기본적으로 관리 자격 증명을 입력하라는 메시지가 표시되지 않습니다. 이것은 이전 릴리스와 달라진 점입니다.

ZIP 파일을 사용하여 Enterprise Server를 설치하는 경우 관리 콘솔을 실행하거나 asadmin 유틸리티 및 원격 하위 명령을 사용하여 관리 작업을 수행할 때 관리 자격 증명을 입력하라는 메시지가 표시되지 않습니다.

파일 자동 압축 해제 및 그래픽 설치 프로그램을 사용하여 Enterprise Server v3를 설치하는 경우, 설치 중에 Administration Settings 페이지에서 사용자 이름과 암호를 지정하지 않은 한 관리 자격 증명을 입력하라는 메시지가 표시되지 않습니다. 해당 페이지에서 기본값을 적용한 경우 기본 관리 사용자는 admin이고 암호 필드는 비어 있습니다.

암호를 사용하지 않는 관리 사용자가 한 명만 있는 경우 인증되지 않은 로그인이 허용됩니다. 관리자 인증에 대한 자세한 내용은 Sun GlassFish Enterprise Server v3 Administration GuideTo Log In to a Domain을 참조하십시오.

Enterprise Server 설치 후 관리자 인증 요구 사항을 변경할 수 있습니다. 관리 콘솔을 사용하여 해당 작업 및 관련 작업 수행에 대한 자세한 내용은 관리 콘솔 온라인 도움말을 참조하십시오. 명령줄 인터페이스 사용에 대한 자세한 내용은 Sun GlassFish Enterprise Server v3 Administration GuideAdministering Passwords를 참조하십시오.

asadmin 유틸리티 관련 변경 사항

asadmin 유틸리티 자체용 옵션과 해당 하위 명령용 옵션을 명확히 구분하기 위해 asadmin 유틸리티의 동작이 수정되었습니다. 이제 asadmin 유틸리티 자체용 옵션을 하위 명령 앞에 사용할 수 있습니다. 하지만 다른 릴리스와의 호환성을 위해 asadmin 유틸리티 자체용 옵션을 하위 명령 뒤에 계속 사용할 수 있지만 향후 이러한 구문에 대한 지원이 중단될 것입니다.

자세한 내용은 Sun GlassFish Enterprise Server v3 Administration GuideUsing the asadmin Utility를 참조하십시오.

파일 레이아웃 관련 변경 사항

Sun GlassFish Enterprise Server v3에는 이전 릴리스와 다른 다음과 같은 파일 레이아웃 변경 사항이 포함되어 있습니다.

Ant 작업 및 asant 유틸리티 관련 변경 사항

Sun GlassFish Enterprise Server v3에서는 서버 특정 Ant 작업을 제공합니다. 해당 작업을 위해서는 Ant를 설치해야 합니다. asant 유틸리티는 해당 릴리스에 포함되지 않습니다.

Enterprise Server는 Apache Ant 버전 1.6.5 이상과 호환됩니다. Ant를 설치하지 않은 경우 Update Tool을 사용하여 설치할 수 있습니다.

Update Tool에 대한 자세한 내용은 Sun GlassFish Enterprise Server v3 Administration GuideUpdate Tool을 참조하십시오. Ant 작업에 대한 자세한 내용은 Sun GlassFish Enterprise Server v3 Application Development Guide의 3 장, Using Ant with Enterprise Server를 참조하십시오.

domain.xml 검증 관련 변경 사항

Sun GlassFish Enterprise Server v3는 모듈식이고 확장 가능하므로 정적 DTD 파일에 대해서는 domain.xml 파일을 검증할 수 없습니다. 대신 소스 코드의 @Configured 주석에 대해 domain.xml 파일을 검증합니다. domain.xml 파일 구문에 대한 자세한 내용은 Sun GlassFish Enterprise Server v3 Domain File Format Reference를 참조하십시오.

응용 프로그램 관련 변경 사항

Enterprise Server v3와 Enterprise Server v2 간에는 응용 프로그램 관련 차이점이 있습니다. 이 절에서는 이러한 차이점의 일부에 대해 설명합니다.

force 옵션

Enterprise Server v3에서 배포용 force 옵션의 기본값은 false입니다. Enterprise Server v2에서는 이 기본값이 true였습니다. Enterprise Server v3에서는 재배포를 위해 이 옵션을 명시적으로 true로 설정해야 합니다. 이 옵션은 업그레이드 프로세스 중에 자동으로 설정되지 않습니다. 이러한 변경은 기존 응용 프로그램의 내용을 실수로 덮어쓰는 경우를 방지하기 위해서입니다. 해당 사항은 관리 콘솔과 명령줄 유틸리티 모두에 적용됩니다.

asadmin redeploy 명령도 Enterprise Server v3의 새로운 항목이며 --force=true에 해당하는 기능을 제공합니다. force 옵션은 deploy 명령(명령줄 인터페이스)과 deploy 화면(콘솔)에만 적용할 수 있으며 redeploy 명령과 redeploy 화면에는 적용할 수 없습니다.

응용 프로그램 및 생성 디렉토리 레이아웃

Enterprise Server v2에는 응용 프로그램 저장소용으로 applications/j2ee-appsapplications/j2ee-modules와 같은 두 개의 하위 디렉토리가 포함되었습니다. Enterprise Server v3에는 이러한 하위 디렉토리가 없습니다(j2ee-apps 또는 j2ee-modules 수준 없음). Enterprise Server v2에서는 applications/j2ee-modules/foo에 상주하던 foo.war과 같은 독립형 모듈의 배포가 Enterprise Server v3에서는 이제 applications/foo에 상주합니다. 엔터프라이즈 응용 프로그램과 독립형 모듈은 기본적으로 동일한 이름 공간을 공유하므로 중간 디렉토리 계층이 필요하지 않습니다.

domain.xml 응용 프로그램 요소

web-module, ejb-module과 같은 이전 요소는 Enterprise Server v3에서 제공되지 않으며 새로운 응용 프로그램 요소로 대체되었습니다. 응용 프로그램 요소에 대한 자세한 내용은Sun GlassFish Enterprise Server v3 Domain File Format Referenceapplication을 참조하십시오.

업그레이드 중에 Enterprise Server v2 응용 프로그램은 domain.xml의 새로운 응용 프로그램 요소와 함께 새로운 applications/ 위치에 재배포됩니다. Enterprise Server v3에 배포된 모든 새로운 응용 프로그램은 새로운 디렉토리 구조 및 요소로 배포됩니다.

JAR 가시성 규칙 강화

Java EE 6은 Java EE 5보다 더 엄격한 JAR 가시성 규칙을 적용합니다. 이로 인해 일부 기존 응용 프로그램이 실패할 수 있습니다.

Java EE 6 사양에서는 EAR(엔터프라이즈 아카이브) 파일에서 볼 수 있는 JAR 파일에 대해 엄격한 규칙을 적용합니다. 특히 섹션 EE.8.3.3을 참조하십시오. 무엇보다도 응용 프로그램 클라이언트 모듈은 응용 프로그램 클라이언트 JAR 파일의 매니페스트 Class-Path가 EJB JAR 파일을 명시적으로 참조하지 않는 경우 어떤 EJB JAR 파일에도 액세스할 수 없습니다.

해당 사항은 응용 프로그램 클라이언트가 EAR 파일의 모든 EJB JAR 파일 및 EAR 파일의 최상위 레벨의 모든 JAR 파일에 자동으로 액세스할 수 있었던 Enterprise Server v2에서 변경된 사항입니다. 보다 엄격해진 사양 언어를 준수하기 위해 Enterprise Server v3에서는 이러한 JAR 파일에 대한 액세스를 응용 프로그램 클라이언트에 자동으로 제공할 수 없습니다.

Java EE 6에서 지정하는 보다 엄격한 새로운 작동을 다음과 같이 적용할 수 있습니다.

이러한 작동 변경 사항은 Sun GlassFish Enterprise Server v3 Upgrade Guide의 1 장, Application Server Compatibility Issues에서도 설명합니다.

응용 프로그램 클라이언트 deploy --retrieve get-client-stubs 명령

Sun GlassFish Enterprise Server v3에서 deploy --retrieveget-client-stubs 명령을 실행해도 Enterprise Server v2에서와 같이 로컬 디렉토리에 더 이상 하나의 JAR 파일 만을 다운로드하지 않습니다. Enterprise Server v3에서 localdir/myAppClient.jar이 여전히 생성되고 appclient 명령에서 대상으로 사용할 수 있지만 다른 파일을 포함할 수 있는 또 다른 디렉토리인 localdir/myAppClient도 생성됩니다.

응용 프로그램 클라이언트 구성 요소를 한 위치에서 다른 위치로 이동하기 위한 방법으로 하나의 Enterprise Server v2 다운로드 JAR 파일을 일반적으로 복사하는 경우 Enterprise Server v3에서는 작동하지 않게 됩니다. 지원되는 방법은 해당 기능용 asadmin get-client-stubs 명령을 사용하는 것입니다. 명령에 대한 자세한 내용은 get-client-stubs(1)을 참조하십시오.

하지만 계속 복사하려는 경우 localdir/myAppClient.jar 파일(Enterprise Server v2에서와 같이)뿐만 아니라 localdir/myAppClient 디렉토리의 모든 내용을 복사해야 합니다.