Sun GlassFish Enterprise Server v3에서는 Java 기술 기반의 웹 기술 및 Java Platform, Enterprise Edition(Java EE 플랫폼) 응용 프로그램을 개발하고 배포하기 위한 서버를 제공합니다.
여기서 소개할 Enterprise Server의 새로운 기능은 다음과 같습니다.
Java EE 6에는 프로필 개념이 도입되었습니다. 프로필은 특정 개발자 커뮤니티와 응용 프로그램 유형에 부합하는 Java EE 기술과 API의 집합입니다.
Sun GlassFish Enterprise Server v3 배포를 통해 구현되는 프로필은 다음과 같습니다.
전체 플랫폼 프로필. 이 프로필은 엔터프라이즈 응용 프로그램 개발을 위해 전체 Java EE API 세트가 필요한 개발자용으로 설계되었습니다. 전체 플랫폼 프로필은 Sun GlassFish Enterprise Server v3 설치 시 설치됩니다. 해당 프로필은 Java EE 6 SDK 설치의 일부로도 설치됩니다.
웹 프로필. 이 프로필은 전체 플랫폼의 일부인 웹 기술을 포함하며 전체 Java EE API 세트가 필요하지 않은 개발자용으로 설계되었습니다. 웹 프로필은 Sun GlassFish Enterprise Server v3 웹 프로필 설치 시 설치됩니다. 이 프로필은 Java EE 6 Web Profile SDK에서도 설치됩니다.
Java EE 6 SDK 배포는 Java EE 6 SDK 다운로드 페이지에서 제공됩니다.
각 프로필의 API 목록은 Java EE 6 표준을 참조하십시오.
Sun GlassFish Enterprise Server v3에서는 유연성을 제공하고 런타임 성능을 개선하기 위해 GlassFish 코드 페이지가 모듈로 분할되었습니다. 모듈식 아키텍처는 OSGi Alliance 표준을 기반으로 구현되며 Enterprise Server v3 모듈과 기타 모듈의 재사용을 가능하게 합니다.
이러한 설계에서는 배포된 응용 프로그램에 필요한 모듈만을 사용할 수 있습니다. 런타임을 사용하는 응용 프로그램에 대해서만 런타임이 사용되며, 전체 시스템 재설치 없이 업그레이드 구현이 가능합니다. 이 변경으로 시작 시간, 메모리 소비 및 디스크 공간 요구 사항이 최소화됩니다.
모듈식 설계에서는 다음 작업을 수행할 수 있습니다.
OSGi 번들 배포
라이브러리 JAR(Java 아카이브) 파일 배포
다른 구현으로 기존 기능 대체
새로운 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 Guide의 Update 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를 적용할 수 있습니다. 다음을 비롯한 스크립팅 언어가 지원됩니다.
JRuby & Rails: 웹 응용 프로그램 개발용 스크립팅 언어 및 프레임워크
Grails: Groovy 프로그래밍 언어를 사용하고 Java 웹 개발을 보완하는 웹 응용 프로그램 프레임워크
Jython & Django: Python 언어의 Java 구현 및 Python과 Python 구현(예: Jython)용 웹 프레임워크
jMaki: Ajax 웹 응용 프로그램 개발용 프레임워크
이 스크립팅 언어 지원은 업데이트 도구를 통해 제공되는 구성 요소에 의해 이루어집니다.
Sun은 메시지 최적화, 안정적인 메시징 및 보안과 같은 웹 서비스 엔터프라이즈 기술의 상호 운용성을 위해 Microsoft와 긴밀하게 협력하고 있습니다. WSIT는 이러한 협력 작업을 통해 제공하는 제품입니다. WSIT는 Microsoft .NET 3.5와의 상호 운용성을 제공하는 고성능 확장형 웹 서비스인 Metro 2.0의 일부입니다. Metro 2.0은 Enterprise Server v3의 전체 배포에 포함됩니다.
WSIT는 엔터프라이즈 기능을 지원하기 위해 다양한 오픈 웹 서비스 사양을 구현한 것입니다. WSIT에는 메시지 최적화, 안정적인 메시징 및 보안 외에도 부트스트랩 및 구성 기술이 포함되어 있습니다. WSIT는 Java 플랫폼에 현재 구축되어 있는 코어 XML 지원을 포함하여 기존 기능을 사용 또는 확장하고 추가적으로 다음과 같이 상호 운용 가능한 웹 서비스를 새로 지원합니다.
부트스트랩 및 구성
메시지 최적화 기술
안정적인 메시징 기술
보안 기술
이 릴리스에서는 appclient 유틸리티가 다음과 같이 향상되었습니다.
appclient 유틸리티는 Java 응용 프로그램 실행기(java) 구문과 유사한 대체 명령줄 구문을 허용합니다.
-targetserver 옵션은 지정할 대상의 서버와 포트 번호를 활성화하기 위해 추가됩니다.
응용 프로그램 클라이언트에서 스플래시 화면이 지원됩니다.
자세한 내용은 appclient(1M) man 페이지를 참조하십시오.
Sun GlassFish Enterprise Server v3는 EclipseLink를 JPA(Java Persistence API) 2.0 공급자로 사용합니다. EclipseLink도 JSR 317에 대한 참조 구현입니다. EclipseLink 기능에 대한 최신 정보는 EclipseLink 2.0 Release Notes를 참조하십시오.
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 Guide의 To Log In to a Domain을 참조하십시오.
Enterprise Server 설치 후 관리자 인증 요구 사항을 변경할 수 있습니다. 관리 콘솔을 사용하여 해당 작업 및 관련 작업 수행에 대한 자세한 내용은 관리 콘솔 온라인 도움말을 참조하십시오. 명령줄 인터페이스 사용에 대한 자세한 내용은 Sun GlassFish Enterprise Server v3 Administration Guide의 Administering Passwords를 참조하십시오.
asadmin 유틸리티 자체용 옵션과 해당 하위 명령용 옵션을 명확히 구분하기 위해 asadmin 유틸리티의 동작이 수정되었습니다. 이제 asadmin 유틸리티 자체용 옵션을 하위 명령 앞에 사용할 수 있습니다. 하지만 다른 릴리스와의 호환성을 위해 asadmin 유틸리티 자체용 옵션을 하위 명령 뒤에 계속 사용할 수 있지만 향후 이러한 구문에 대한 지원이 중단될 것입니다.
자세한 내용은 Sun GlassFish Enterprise Server v3 Administration Guide의 Using the asadmin Utility를 참조하십시오.
Sun GlassFish Enterprise Server v3에는 이전 릴리스와 다른 다음과 같은 파일 레이아웃 변경 사항이 포함되어 있습니다.
기본 설치 디렉토리는 다음과 같습니다.
Solaris, Linux 및 Mac OS X 시스템: 사용자의 홈 디렉토리/glassfishv3
Windows 시스템: SystemDrive :\glassfishv3
glassfish 하위 디렉토리가 그 아래의 다른 하위 디렉토리와 함께 추가되었습니다.
제품 라이브러리가 glassfish/lib에서 glassfish/modules로 이동되었습니다.
osgi 디렉토리가 추가되었습니다.
법률 파일용으로 지정된 디렉토리가 추가되었습니다. 이제 라이센스 및 저작권 파일이 glassfish/legal에 있습니다.
Sun GlassFish Message Queue는 하위 디렉토리가 아닌 최상위 디렉토리에 설치됩니다.
Java DB는 하위 디렉토리가 아닌 최상위 디렉토리에 설치됩니다.
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 Guide의 Update Tool을 참조하십시오. Ant 작업에 대한 자세한 내용은 Sun GlassFish Enterprise Server v3 Application Development Guide의 3 장, Using Ant with Enterprise Server를 참조하십시오.
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 간에는 응용 프로그램 관련 차이점이 있습니다. 이 절에서는 이러한 차이점의 일부에 대해 설명합니다.
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-apps 및 applications/j2ee-modules와 같은 두 개의 하위 디렉토리가 포함되었습니다. Enterprise Server v3에는 이러한 하위 디렉토리가 없습니다(j2ee-apps 또는 j2ee-modules 수준 없음). Enterprise Server v2에서는 applications/j2ee-modules/foo에 상주하던 foo.war과 같은 독립형 모듈의 배포가 Enterprise Server v3에서는 이제 applications/foo에 상주합니다. 엔터프라이즈 응용 프로그램과 독립형 모듈은 기본적으로 동일한 이름 공간을 공유하므로 중간 디렉토리 계층이 필요하지 않습니다.
web-module, ejb-module과 같은 이전 요소는 Enterprise Server v3에서 제공되지 않으며 새로운 응용 프로그램 요소로 대체되었습니다. 응용 프로그램 요소에 대한 자세한 내용은Sun GlassFish Enterprise Server v3 Domain File Format Reference의 application을 참조하십시오.
업그레이드 중에 Enterprise Server v2 응용 프로그램은 domain.xml의 새로운 응용 프로그램 요소와 함께 새로운 applications/ 위치에 재배포됩니다. Enterprise Server v3에 배포된 모든 새로운 응용 프로그램은 새로운 디렉토리 구조 및 요소로 배포됩니다.
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에서 지정하는 보다 엄격한 새로운 작동을 다음과 같이 적용할 수 있습니다.
응용 프로그램이 Enterprise Server v2 도메인에 배포되는 경우 Upgrade Tool은 해당 도메인의 해당 응용 프로그램에 대해 Enterprise Server v2 작동을 유지합니다. 업그레이드에 대한 자세한 내용은 Sun GlassFish Enterprise Server v3 Upgrade Guide를 참조하십시오.
클라이언트의 매니페스트 Class-Path를 변경하여 종속된 JAR 파일을 명시적으로 참조하도록 합니다. Class-Path는 EAR 파일의 라이브러리 디렉토리에 있는 JAR 파일을 나열하지 않아야 합니다. 사양에서 요구한 대로 이 디렉토리의 모든 파일은 EAR 파일의 모든 모듈에 대해 사용 가능합니다. 이 디렉토리는 기본적으로 /lib이거나 application.xml 설명자의 library-directory를 사용하여 다른 디렉토리로 설정할 수 있습니다.
선택적 --property compatibility=v2 설정을 사용하여 EAR 파일을 배포합니다. 이렇게 하면 Enterprise Server v3에 배포되는 경우 해당 응용 프로그램에 대한 Enterprise Server v2 작동을 유지할 수 있습니다.
이러한 작동 변경 사항은 Sun GlassFish Enterprise Server v3 Upgrade Guide의 1 장, Application Server Compatibility Issues에서도 설명합니다.
Sun GlassFish Enterprise Server v3에서 deploy --retrieve 및 get-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 디렉토리의 모든 내용을 복사해야 합니다.