WebLogic Server 8.1 |
|
|
|
* 참고
사이트로 표시된 곳은 마우스를 클릭하시면 해당 사이트로 이동 합니다. |
WebLogic Server란? |
|
|
|
|
최고의 웹 애플리케이션 서버로서, WebLogic Server는 고가용성, 확장성, 그리고 안정성을 지닌 애플리케이션에 대해 신뢰성 있는 프레임워크를 제공하기 위해서 J2EE 1.3, 웹 서비스, 그리고 다른 선도적인 인터넷 표준을 구현하고 있다.
WebLogic Server는 이종의 플랫폼과 애플리케이션을 완전하게 통합하여 기존에 투자한 소프트웨어를 활용하고, 미션 크리티컬한 e-비즈니스 애플리케이션을 구축하는데 필수적인 엔터프라이즈급 애플리케이션 서비스와 데이터를 공유할 수 있도록 한다.
다음 섹션은 WebLogic Server 8.1에서 만들어진 신 기능과 주요 개선 사항을 기술한다.
|
|
|
WebLogic Server 8.1의 새로운 기능들 |
|
|
|
|
BEA WebLogic Server는 다음의 분야에서 중요한 새로운 특징을 제공하고 있다: |
|
|
|
n J2EE모듈과 디플로이먼트
J2EE모듈에 대한 클래스로딩 정의
EAR 구조 내 클래스들 간의 좀 더 나은 가시성과 재사용성을 위해 클래스로더 구조를 고유하게 정의할 수 있다. weblogic-application.xml파일에 classloader-structure 요소를 정의함으로 가능하다. Developing WebLogic Server Applications의 (Custom Module Classloader Hierarchies) 에서 이에 대한 자세한 내용을 제공한다 |
|
새로운 어플리케이션 라이프사이클 이벤트
weblogic.j2ee.ApplicationLifeCycleListener클래스를 상속 받아 다양한 어플리케이션 라이프사이클 이벤트에 대해 특정한 액션을 수행하게 할 수 있다. 웹로직 서버에서 정의된 라이프사이클 이벤트는 아래와 같다.(4가지)
Initialization - 웹로직 서버는 관련된 모듈을 디플로이 하기 전에 어플리케이션의 deployment descript를 파싱한다.
Preparation - 웹로직 서버는 엔터프라이즈 어플리케이션에 정의된 EJB, 웹애플리케이션, 데이타소스들이 적합한지를 확인한다. (특정 경우에 스타트하기도 한다. )
Activation - 어플리케이션이 클라이언트의 리퀘스트를 받아들여 처리 할 수 있는 상태로 준비되어 있다.
Update - 웹로직 서버가 어플리케이션의 deployment descriptor의 내용이 바뀐 것을 인지한다.
관련된 메소드를 만들어 공급함으로써 위의 각 라이프사이클 이벤트에 대한 액션을 수행 할 수 있다. Developing WebLogic Server Applications 의 (Application Lifecycle Events) 에서 이에 대한 자세한 내용을 제공한다 |
|
어플리케이션 레벨의 클래스 라이브러리
APP-INF/lib 디렉토리는 어플리케이션 안에서 공유되는 클래스 파일들을 모아놓을 수 있는 곳이다. 웹로직 서버는 자동적으로 어플리케이션의 클래스패스 마지막 부분에 APP-INF/lib안에 들어있는 클래스들을 잡아준다. (이것은 모든 어플리케이션 모듈이 공유 클래스들에 접근 할 수 있음을 말해준다.)
|
|
디스크립터 동적 변경
deployment descriptor의 속성을 디플로이된 모듈 컨테이너 안에서 동적으로 업데이트 할 수 있다. |
|
어플리케이션 범위내의 풀 동적 변경
어플리케이션 범위에서 사용되는 JDBC 커넥션 풀의 속성을 디플로이 된 어플리케이션의 deployment descriptor인 weblogic-application.xml에서 동적으로 업데이트 할 수 있다. |
|
선택적 디플로이먼트 디스크립터
어플리케이션 파일이나 디렉토리를 디플로이 할 때 사용하기 위한 alternate deployment descriptor 파일을 정의할 수 있다. 이 기능은 어플리케이션을 다시 묶거나 수정할 필요 없이 어플리케이션의 디플로이먼트 설정을 실행 시에 변경 할 수 있도록 한다. alternate deployment descriptor를 사용하기위해 weblogic.Deployer 유틸리티에 아래의 두가지 옵션 중 하나 혹은 두 옵션 모두를 사용한다.
- altappdd : anternate deployment descriptor의 이름을 명시한다. (예로, application.xml)
- altwlsappdd : alternate WebLogic Server deployment descriptor의 이름을 명시한다. ( 예로, weblogic-application.xml)
(Developing WebLogic Server Applications) 에서 이에 대한 자세한 내용을 제공한다 |
|
향상된 디플로이먼트 속도와 피드백
J2EE모듈 디플로이먼트의 속도가 이전 버전보다 향상되었다. 또한 weblogic.Deployer나 어드민 콘솔에서 디플로이먼트 작업을 진행 할 때 부가적인 피드백을 얻을 수 있다. 피드백은 사용자의 고유한 어플리케이션에서 사용할
수 있는 새로운 JMX notification과 flter(weblogic.management.DeploymentNotification and weblogic.management.DeploymentNotificationFilter)에 의해 주어진다.
좀 더 자세한 내용은 (Javadocs for WebLogic Classes) 에서 제공한다. |
|
어드민 콘솔
|
|
Weblogic.Deployer
|
|
n 관리기능
아래의 내용들은 WebLogic Server8.1에 포함된 새롭고 향상된 관리 기능들이다..
JRockit JVM
최초의 상용 서버용 JVM인 BEA WebLogic LRockit8.1 Beta를 포함한다. JRockit사용의 장점이나 좀 더 자세한 정보들은 (JRockit for Windows and Linux User Guide) 에서 볼 수 있다. |
|
Message Catalogs(메시지 카탈로그)
|
|
Config.xml의 자동 저장
|
|
JRockit 모니터링
|
|
로드밸런싱을 위한 새로운 Affinity 정책
|
|
노드매니저 기능의 향상
|
|
네트웍 채널 설정 기능의 향상
|
|
어드민 콘솔의 사용성 향상
|
|
weblogic.Admin의 향상된 기능들
weblogic.Admin 유틸리티는 아래와 같은 새로운 명령들을 제공한다.
- BATCHUPDATE : 다수의 weblogic.Admin 명령들을 도중에 중단하지 않고 수행한다. (각 weblogic.Admin 명령에 대해 각각의 JVM을 생성할
필요가 없다.)
- CLUSTRESTATE : 클러스터 내에 있는 서버의 개수와 각 서버들의 상태를 반환한다.
- DISCOVERMANAGEDSERVER : 어드민 서버와 매니지드 서버의 연결을 재설정 한다.
- QUERY : 사용자가 명시하는 패턴과 일치하는 WebLogicObjectName의 웹로직 서버 MBean을 찾아낸다.
- STARTCLUSTER와 STOPCLUSTER : 클러스터 내에 있는 모든 서버들을 한꺼번에 시작, 중지 시킬 수 있다.
- TEST_POOL : 커넥션 풀의 연결과 해제를 테스트 한다.
- VALIDATECLUSTERCONFIG : 도메인의 config.xml 파일안에 클러스터 관련 속성들을 검증한다.
부가적으로 -adminurl이라는 인자를 사용함으로 어드민 서버가 관리하는 모든 서버 인스턴스들의 MBean에 접근 할 수 있다.
weblogic.Admin의 모든 명령들은 명령이 성공적으로 수행 되었다면 0을, 명령의 수행이 실패하였다면 1을 반환하게 된다.
WebLogic Server Command Reference 의 (weblogic.Admin Command-Line Reference) 에서 좀 더 자세한 내용을 제공한다. |
|
OOTB 파라미터들의 새로운 기본값들
아래에 소개되는 퍼포먼스와 관련된 속성들은 웹로직 서버의 외부에서 퍼포먼스 향상에 영향을 미친다. 최적화된 웹로직 서버의 튜닝 값들은 사용자의 환경과 어플리케이션들에 따라 다양하게 나타난다.
- JDBC커넥션 풀의 Maximum Capacity의 기본값은 웹로직 서버의 execute queue Thread 수와 동일하다. (15)
- JDBC 커넥션 풀의 Prepared Statement 캐시 사이즈의 기본값은 5로 조정되었다. |
|
n 보안을 위한 기반구조
웹로직 8.1은 아래에 소개하는 새롭고 향상된 보안 기능을 포함한다.
룰과 정책 생성 기능의 향상
새로운 창들과 향상된 옵션들이 Administration Console, the weblogic.Admin tool, MBeans, applications, COM, EIS, EJB, JDBC, JNDI, JMS, servers, and Web applications과 같은 웹로직 자원들에 접근을 관리하는 일을 용이하게 한다.
Administration Console Online Help의 (Security)에서 좀 더 자세한 내용을 제공한다. |
|
keystore와 SSL설정 기능의 향상
SSL 기능을 위한 private key와 trusted CA들을 저장할 수 있는 keystore의 사용을 지원한다. keystore는 이전 버전의 웹로직 서버에서 사용된 flat file들을 보호할 수 있는 단계가 추가되었다.
SSL의 기본 설정과 keystore의 demonstration keystore는 웹로직 외부에서 보안 의사소통을 할 수 있는 사용자를 제공한다. keystore와 SSL의 설정은 마법사를 이용하여 간단히 할 수 있다.
Administration Console Online Help의 (Configuring Keystores and SSL)에서 좀더 자세한 내용을 제공한다. |
|
Java Cryptography Extension (JCE) 패키지 지원
JCE(Java Cryptography Extension)는 strong ciphers, key generation and agreement, Message Authentication Code algorithms 사용하는 암호화를 위한 프레임워크를 제공한다. Introduction to WebLogic Server and WebLogic Express의 (WebLogic Server Security Service)에서 더 자세한 내용을 제공한다. |
|
n EJB 의 특징과 향상된 기능들
웹로직 서버 8.1에서 제공되는 EJB의 특징과 향상된 기능들을 소개한다. .
퍼포먼스 모니터링 기능의 향상
웹로직 서버의 어드민 콘솔에 추가된 새로운 페이지을 통해 퍼포먼스 모니터링의 기능이 향상되었다. 퍼포먼스 모니터링에 대한 자세한 내용은 Programming WebLogic Enterprise JavaBeans 의 (EJB Runtime Monitoring)에서 소개된다. |
|
appc 컴파일러
appc는 j2EE ear파일(ejb-jar 파일,war파일)의 컴파일과 적합성 검사를 위한 툴이다.
이전 버전에서 ear파일 안의 모든 모듈들을 컴파일 하기 원하는 사용자는 ear안의 개별적인 모듈들을 압축해제 한 후에 각 모듈에 맞는 컴파일러(jspc나 ejbc)들을 이용하여 수동으로 컴파일을 수행하여야 했다. appc는 이 과정을 자동화하고 이전 버전에서 수행되지 않았던 부가적인 디플로이 전 적합성 체크를 수행한다.
appc에 대한 자세한 내용은 Programming WebLogic Enterprise JavaBeans의 (WebLogic Server EJB Tools) 에서 소개한다. |
|
배치 오퍼레이션
이전 버전에서 batch insert("bulk insert")를 지원 했던 것에 더하여 batch update와 batch delete를 지원한다. 부가적으로, EJB 컨테이너는 배치 오퍼레이션들 사이의 dependency검사를 수행할 때 발생 하는 예외들을 무시한다. Programming WebLogic Enterprise JavaBeans의 (Batch Operations)에서 자세한 내용을 제공한다. |
|
데이터베이스 타입의 자동 감지
어플리케이션에서 사용하는 데이터베이스의 타입을 자동으로 감지할 수 있다. 이 정보들은 테이블 생성과 웹로직 서버의 EJB Query Language (EJB QL) 컴파일러에 의해 수행되는 작업들에 이용된다. Programming WebLogic Enterprise JavaBeans의 (Automatic Database Detection) 에서 자세한 내용을 볼 수 있다. |
|
테이블 자동 생성 기능의 확장
웹로직 서버의 테이블 자동 생성 기능이 확장되었다. 이전 버전에서 웹로직 서버는 weblogic-cmp-rdbms-jar.xml의 create-default-dbms-tables 요소가 true로 셋팅되어 있을 때에만 테이블을 자동으로 생성하였다. 이 때 만약 테이블이 이미 존재한다면 서버는 테이블을 생성하지 않았다. 웹로직 8.1에서 웹로직 서버는 테이블 스키마가 바뀌었을 때에 현재 존재하는 테이블도 다시 생성한다. 즉 container-managed persistence field들이 수정된다. 좀 더 자세한 내용은 Programming WebLogic Enterprise JavaBeans 의 (Automatic Table Creation) 에서 제공한다. |
|
CMP의 데드락 방지 기능
높은 처리량을 위해 exclusive concurrenct strategy를 사용하는 어플리케이션들은 만약 cascade delete를 수행하는 트랜잭션이 casecade delete를 수행하지 않는 트랜잭션과 같은 빈에 접근 하려고 할 때 데드락을 유발할 수 있다. 현 버전은 weblogic-cmp-rdbms-jar.xml 디플로이먼트 디스크립터 파일에 lock-order 요소를 추가함으로 이 경우에 생기는 데드락을 방지할 수 있다.
좀 더 자세한 내용은 Programming WebLogic Enterprise JavaBeans의 (Preventing Deadlocks for Transactions that Use Exclusive Concurrency) 에서 제공한다.. |
|
EJB모듈의 리디플로이먼트 기능 향상
EJB 어플리케이션을 반복적으로 개발하는 동안 개발자들은 EJB 구현 클래스 파일에 여러 번의 수정을 가하게 된다. (개발자들은 일반적으로 EJB모듈을 여러 번 리디플로이한다)
이전 버전에서 구현 클래스를 리디플로이 하기 위해서 개발자들은 수정하고자 하는 구현 클래스뿐만 아니라 유틸리티 클래스들과 같은 다른 모든 구현 클래스들을 포함하는 전체 EJB 모듈을 reload해야만 했다. 새로운 기능을 이용해 개발자들은 개별적인 구현 클래스의 차원에서 reloading구조를 명시할 수있다.
이 기능에 대한 자세한 내용 Developing WebLogic Server Applications의 (WebLogic Application Classloading chapter) 에서 설명한다. |
|
EJB QL 컴파일러의 향상
EJB QL의 컴파일 에러 메세지는 에러에 해당하는 쿼리들을 시각적으로 보여주며 한번 컴파일 시 하나 이상의 메세지를 리포팅 할 수 있다.
자세한 내용은 Programming WebLogic Enterprise JavaBeans의 (EJB QL Error-Reporting Enhancements)에서 볼 수 있다. |
|
퍼포먼스 향상
웹로직 서버는 EJB의 bulk update, optimistic concurrency, field groups, relationship caching , EJB redeployment에 대해 향상된 퍼포먼스를 제공한다. |
|
Reloadable EJB Modules
J2EE모듈의 Relodable기능에 포함되어 EJB들 또한 엔터프라이즈 어플리케이션 내의 다른 모듈들에 독립적으로 리디플로이 될 수 있다. (Developing WebLogic Server Applications) 에서 자세한 내용을 제공한다. |
|
EJB Deployment Assistants
어드민 콘솔에서 개발자들의 EJB디플로이를 돕기 위한 EJB Module Deploymnet Assistant를 제공한다. (EJB section of the Administration Console Online Help) 에서 더 자세한 내용을 제공한다. |
|
EJB 드플로이먼트 디스크립터 요소들의 새로운 기본값들
EJB와 관련된 디플로이먼트 디스크립터의 여러 요소들이 J2EE 1.3 스펙에 맞추어 새로운 기본값들을 가지게 되었다. 이 값들은 아래의 표에 정리되어 있다.
Deployment Descriptor File |
Element |
New Default Value |
weblogic-ejb-jar.xml |
enable-call-by-reference |
False |
weblogic-cmp-rdbms-jar.xml |
check-exists-on-method |
True |
include-updates |
True |
weblogic-ejb-jar.xml 파일의 요소들에 대한 자세한 내용은 Programming WebLogic Enterprise JavaBeans 의 (weblogic-ejb-jar.xml Deployment Descriptor)에서 볼 수 있으며 weblogic-cmp-rdbms-jar.xml에 대한 내용은 Programming WebLogic Enterprise JavaBeans의 (weblogic-cmp-rdbms- jar.xml Deployment Descriptor) 에서 제공한다. |
|
dbms-column-type의 추가
웹로직 서버는 weblogic-cmp-rdbms.xml의 dbms-column-type 요소에 새로운 두가지 값을 추가하였다. 그 값은 LongString 와 SybaseBinary이다. Programming WebLogic Enterprise JavaBeans의 (dbms-column-type) 에서 자세한 내용을 제공한다. |
|
다수의 Caching Elements 가능
weblogic-cmp-rdbms-jar.xml의 caching-element 태그는 연관된 빈들의 cmr-field와 group-name을 명시하기 위한 relationship-caching에 사용된다. 웹로직 서버의 EJB 컨테이너는 다수의 caching-element를 허용한다. 관련된 DTD엔트리는 아래와 같다.
<!ELEMENT caching-element (
cmr-field,
group-name?,
caching-element*
)>
이전까지의 DTD엔트리는 아래와 같다.
<!ELEMENT caching-element (
cmr-field,
group-name?,
caching-element?
)> |
|
디플로이먼트 Warning 메세지의 숨김기능
weblogic-ejb-jar.xml파일에 disable-warning 요소를 설정 함으로써 디플로이먼트 동안에 생기는 특정 경고 메세지를 감출 수 있는 기능을 제공한다. 자세한 내용은 Programming WebLogic Enterprise JavaBeans 의 (Disabling Deployment Warning Messages) 에서 볼 수 있다. |
|
디플로이먼트 디스크립터에 추가된 보안 관련 요소들
weblogic-ejb-jar.xml에 새롭게 추가된 보안 관련 요소 두가지를 소개한다
- externally-defined : 현 버전에서는 지원하지 않는 global-role요소를 대신한다. 자세한 사항은 Programming WebLogic Enterprise JavaBeans의 (externally-defined) 에서 볼 수 있다.
- run-as-role-assignment : run-as-princiapl-name에 대해 ejb-jar디플로이먼트 디스크립터에 명시된 security-identity run-as role-name에 대응하여 사용된다. 자세한 사항은 Programming WebLogic Enterprise JavaBeans의 (run-as-role-assignment)에서 볼 수 있다.
이 요소들에 대한 개괄적인 내용과 일반적인 EJB 보안기능과의 연관성에 대한
자세한 내용은 Programming WebLogic Security의 (Securing Enterprise JavaBeans) 에서 제공한다. |
|
Optimistic Row Checking을 위한 제약조건
optimistic concurrency 사용 시 EJB 컨테이너가 체크 해야 하는 테이블 내의 row를 명시하기 위해 weblogic-cmp-rdbms-jar.xml의 verify-rows를 사용한다. 이 요소는 사용자가 트랜잭션에 의한 row의 읽기에 대해서만 optimistic checking을 수행할 것인지 아니면 row의 delete와 updated에도 수행할 것인지를 선택할 수 있게 해 준다. Programming WebLogic Enterprise JavaBeans 의 (verify-rows)에서 자세한 내용을 제공한다. |
|
Table Creation Scripts의 저장
EJB 컨테이너가 작성하는 table creation scripts의 DDL 파일명을 명시하기 위해 weblogic-cmp-rdbms-jar.xml의 default-dbms-tables-ddl 요소를 사용한다.
지세한 내용은 Programming WebLogic Enterprise JavaBeans의 (default-dbms-tables-ddl)에서 볼 수 있다. |
|
특정 execute Queue에 Message-Driven Bean 할당
현 버전에서 weblogoc-ejb-jar.xml의 dispatch-policy요소를 사용함으로 특정 execute queue에 message-driven bean들을 할당 할 수 있다. 이전 버전에서 dispatch-policy요소는 세션 빈과 엔터티 빈에 대해서만 적용되었다. 만약 예제가 디플로이 되는 동안에 EJB가 재컴파일 되었다면 설정 값은 없어지지 않는다.
좀 더 자세한 내용은 (The weblogic-ejb-jar.xml Deployment Descriptor)에서 제공한다. |
|
DB2에 대한 Container-Managed Persistence 지원
IBM의 DB2 데이터베이스 소프트웨어에 대해 Container-managed persistence 가 지원된다. |
|
n 현 버전에서 더 이상 지원하지 않는 기능들
아래의 내용은 현 버전에서부터 더 이상 지원하지 않는 기능들이다.
어드민 콘솔의 디플로이먼트 디스크립터 에디터
현 버전의 웹로직 서버는 어드민 콘솔의 디플로이먼트 디스크립터 에디터를 제공하지 않는다. 디플로이먼트 스크립터의 대부분은 오직 text나 XML에디터를 이용해서만 편집 할 수 있다. EJB관리와 튜닝에 관련된 몇가지 요소들은 Descriptors 탭을 이용하여 어드민 콘솔에서 보고, 수정하고, 저장할 수 있다. (Configuring Deployment Descriptor Values) 에서 자세한 내용을 제공한다. |
|
ejbc 컴파일러
ejbc컴파일러 대신 appc를 사용한다. appc에 대한 자세한 내용은 Programming WebLogic Enterprise JavaBeans의 ("appc" on page 10-2) 에서 제공한다. |
|
sql-select-distinct
weblogic-cmp-rdbms-jar.xml파일의 sql-select-distinct요소를 지원하지 않는다. 디플로이먼트 디스크립터의 구성요소를 사용하는 대신에 쿼리문에 직접 DISTINCT구문을 넣어주어야 한다. DISTINCT구문을 가지는 쿼리에 대해 컨테이너는 다음과 같이 동작한다. 만약 FOR UPDATE가 사용되지 않았다면 중복 결과를 제거하지 않고 FOR UPDATE가 사용되었다면 중복된 결과를 제거한다. |
|
global-role
weblogic-ejb-jar.xml의 global-role는 현 버전에서 사용되지 않는다. 대신에 externally-defined 요소를 사용하게 된다. externally-defined 요소에 대한 개괄적인 내용과 일반적인 EJB 보안기능과의 연관성에 대한 자세한 내용은 Programming WebLogic Security의 (Securing Enterprise JavaBeans) 에서 제공한다. |
|
run-as-identity-principal
weblogic-ejb-jar.xml의 run-as-identity-principal는 현 버전에서 사용되지 않는다. 대신에 run-as-principal-name요소를 사용하게 된다. run-as-principal-name 요소에 대한 개괄적인 내용과 일반적인 EJB 보안기능과의 연관성에 대한 자세한 내용은 Programming WebLogic Security의 (Securing Enterprise JavaBeans) 에서 제공한다. |
|
stateless-bean-methods-are-idempotent
weblogic-ejb-jar.xml의 stateless-bean-methods-are-idempotent 요소는 현 버전에서 더 이상 사용되지 않는다. 대신 idempotent-methods 를 사용하게 된다. Programming WebLogic Enterprise JavaBeans의 (idempotent-methods)에서 자세한 내용을 제공한다. |
|
n J2EE Connector
WebLogic Server Connector 디플로이먼트 디스크립터를 위한 DTD인 weblogic-ra.xml에 변경된 사항이 있다. 자세한 내용은 Programming WebLogic Server J2EE Connectors의(weblogic-ra.xml Deployment Descriptor Element) 에서 제공한다.
커넥터의 구현은 만약 적합한 "hint"가 디플로이먼트 시에 구체화되지 않았다면 공유 가능한 커넥션을 만든다. EJB 2.0은 이 hint를 명시하기 위해 res-sharing-scope 디플로이먼트 디스크립터(Shareable or Unshareable의 값을 가지는)를 사용한다. |
|
n jCOM
현 버전에서 어드민 콘솔의 이전과는 다른 위치에서 COM 메세지 패킷의 최고 길이와 COM 패킷의 타임아웃 시간을 설정할 수 있다.
변경된 위치를 아래 테이블에 요약하였다.
Value |
Configured this way in 7.0 |
Configure this way in 8.1 |
COM packet timeout value |
Set the COM Message Timeout property under Server -> Connections -> jCOM in the Administration Console |
Set the Complete Message Timeout property under Server -> Protocols -> General -> Advanced Options in the Administration Console. |
The maximum length of COM message packets |
Set the COM Max Message Size property under Server -> Connections -> jCOM in the Administration Console |
Set the Complete Maximum Message Size property under Server -> Protocols -> General -> Advanced Options in the Administration Console. |
|
|
n JDBC
웹로직 서버는 JDBC에 대해 퍼포먼스 향상을 가져오는 아래와 같은 새로운 기능들을 제공한다
JDBC Assistants
어드민 콘솔은 JDBC Connection Pool Assistant와 JDBC Data Source Assistant를 제공한다. 이 assistant들은 데이터베이스,JDBC 드라이버, 커넥션 풀 정보를 알려줌으로 연결 설정이 쉽게 도와주며 사용자가 선택한 JDBC 드라이버가 요구하는 연결의 속성들을 생성해준다. (Administration Console Online Help)에서 자세한 내용을 제공한다. |
|
JDBC Connection Pool 의 새로운 속성들
JDBC커넥션 풀은 사용자가 어드민 콘솔이나 JMX API를 이용하는 MBean 속성들로부터 설정할 수 있는 새로운 속성과 기능들을 가진다.
- Connection Reserve Timeout : 모든 커넥션들이 현재 동시에 사용되고 있을 때 커넥션 풀로부터 커넥션을 가져오려고 기다리는 시간.
- Connection Creation Retry Frequency : 최초의 커넥션 생성 시도에 실패한 후 데이터베이스 커넥션 생성을 재시도 하는 간격.
- Test Created Connections : 각 커넥션이 생성되었을 때 물리적인 연결을 초기화 하고 테스트 하는 것.
- Test Pool : 커넥션 풀로 부터 커넥션을 예약하고 해제 함으로서 JDBC커넥션 풀을 테스트한다.
자세한 내용은 (Administration Console Online Help)에서 제공한다. |
|
JDBC 확장 부분에 대한 향상된 지원
어떤 데이터베이스 벤더들은 자신들의 DBMS를 사용하는 데이터 처리에 대해 부가적인 고유의 메소드들을 제공한다. 이런 메소드들은 표준 JDBC 인터페이스들을 확장한 것이다. 웹로직 서버는 벤더별 확장부분에 대해 벤더들의 JDBC 드라이버 내의 공통적인 인터페이스에 공개되어 있는 대부분의 확장 메소드들을 지원 함으로써 향상된 지원을 제공한다. 좀 더 자세한 내용은 Programming WebLogic JDBC 의 (Using Vendor Extensions to JDBC Interfaces)에서 볼 수 있다. |
|
커넥션 풀에서 물리적 연결 얻기
사용자가 커넥션 풀로부터 커넥션을 얻어 올 때 웹로직 서버는 그 커넥션을 유지하고 관리하기 위해서 물리적 연결 보다는 논리적인 연결을 제공한다. 특정 경우에 사용자가 특정 클래스를 위한 오브젝트의 클래스명을 체크하는 메소드를 위해 커넥션을 넘길 필요가 있는 경우에 물리적 연결이 필요할 수도 있다. 웹로직 서버는 사용자가 논리적 연결에 내재된 물리적 연결을 가져올 수 있도록 weblogic.jdbc.extensions.WLConnection 인터페이스 내에 getVendorConnection() 메소드를 포함한다. 자세한 내용은 Programming WebLogic JDBC의 (Getting a Physical Connection from a Connection Pool) 에서 제공한다. |
|
RowSets 지원
웹로직 서버는 JDBC2.0에서 ResultSets을 확장하여 만들어진 RowSets에 대한 기능을 지원한다. RowSets은 사용자가 캐시된 쿼리 결과를 읽거나 수정하는 것을 허용하고 변경된 결과를 데이터베이스로 돌려 커밋할 수 있도록 한다. RowSets은 데이터베이스와의 일치를 위해 optimistic concurrency control을 사용하는 disconnected model을 사용한다. 이 모델은 long transactions 또는 database 그리고 application server resource를 holding 없이 open 할 수 있도록 한다. Programming WebLogic JDBC의 (Using RowSets with WebLogic Server) 에서 더 자세한 내용을 제공한다. |
|
Statement 캐싱
JDBC 커넥션 풀에 대한 Statement캐시 기능이 Least Recently Used 캐싱 알고리즘과 statement 캐시 clearing에 대한 control을 포함함으로써 향상되었다. 어플리케이션이나 EJB에서 prepared statement나 callable statement를 사용할 때 상당한 오버헤드가 있게 된다. 이 처리 비용을 최소화 하기 위해 웹로직 서버는 statement cache에서 사용자의 어플리케이션에 사용된 statement들을 캐시할 수 있다. 웹로직 서버는 데이터베이스 서버의 CPU사용을 줄이고 다른 task를 위한 데이터베이스 서버의 CPU cycle을 남겨 놓고 현재 statement에 대한 퍼포먼스를 향상 시킬 수 있도록 cache에 저장되어 있는 statement를 재사용한다. 자세한 내용은 (Administration Console Online Help)에서 제공한다 |
|
n JTA
웹로직 서버 8.1은 JTA에 대한 새로운 기능들을 제공한다.
현재 트랜잭션에 대한 강제 종료
특정 경우에 시스템이나 네트웍 문제로 인하여 트랜잭션이 정상적으로 종료 되지 않을 수 있다. 이런 경우에 완료되지 않은 트랜잭션을 위한 lock이 생겨 다른 트랜잭션의 처리를 방해하게 된다. 사용자는 어드민 콘솔이나 JTA runtime MBean의 메소드를 사용하여 정상적으로 완료되지 않은 트랜잭션을 강제로 종료 시킬 수 있다. (Administration Console Online Help) 에서 자세한 내용을 제공한다. |
|
글로벌 트랜잭션에 Non-XA-Compliant 리소스 참여
다른 모든 리소스들이 XA-compliant인 글로벌 트랜잭션에는 하나의 non-XA-compliant 리소스가 참여할 수 있다. 웹로직 서버는 결국 모든 XA-compliant이 준비 되도록 하는 데에 last agent commit optimization를 사용하고, 글로벌 트랜잭션 전체의 결과를 결정 짓는 데에 non-XA 리소스에 대한 로컬 트랜잭션의 결과를 사용하게 된다.. 그 리소스는 로컬 트랜잭션 semantics을 제공해야만 한다. 글로벌 트랜잭션에 non-XA legacy을 참여 가능하게 하는 이 기능은 웹로직 서버 J2EE Connection architecture에도 사용 될 수 있다. |
|
n JMS
웹로직 서버는 JMS에 대해 아래와 같은 새로운 기능들을 제공한다
JMS Thin Client
대략 800k정도의 웹로직의 JMS관련 기능을 모두 제공하는 wljmsclient.jar 파일은 클라이언트 쪽의 프로그램들이 요구하는 파일들을 포함하는 더 작은 라이브러리를 사용함으로써 클라이언트 측면의 웹로직 비중을 크게 줄이게 되었다. 새로운 클라이언트인 .jar파일은 웹로직 서버의 설치 디렉토리(예를 들어, c:\bea\weblogic81b\server\lib)의 하위 디렉토리인 /server/lib 아래에 있다. 이 .jar파일은 WebLogic Server clinet로서 클러스터링, 로드밸런싱, 트랜잭션, 보안, 그리고 페일오버등 모든 기능을 지원한다. 자세한 내용은 Programming WebLogic JMS의 (WebLogic JMS Thin Client) 에서 제공한다. |
|
Accessing Foreign JMS Providers
어드민 콘솔의 Foreign JMS Server 노드를 이용하여 foreign JMS provider의 커넥션 팩토리와 데스티네이션을 로컬의 JMS object처럼 빠르게 웹로직 JNDI 트리에 맵핑시킬 수 있다. Foreign JMS Server 의 설정은 다른 클러스터에 있는 웹로직 서버의 리모트 인스턴스들이나 로컬 웹로직 JNDI 트리에 있는 도메인의 서버 인스턴스에서 레퍼런스될 수 있다. Programming WebLogic JMS의 (Accessing Foreign JMS Providers)에서 자세한 내용을 제공한다. |
|
Servlets and EJBs를 통한 JMS 접근
"wrappers"는 EJB나 servlet등의 J2EE 모듈들의 내부에서 JMS의 사용을 쉽게 해준다. wrappers는 JMS Connection과 Session object들의 자동 풀링; JMS provider의 자동적인 트랜잭션 처리를 위한 XA제공; JMS 커넥션과 연결 실패 후의 재설정에 대한 모니터링; 컨테이너에 의해 관리되는 보안 구조 등의 기능들을 제공한다. Programming WebLogic JMS의 (Using WebLogic JMS with EJBs)에서 더 자세한 내용을 제공한다. |
|
Expired 메세지 핸들링 기능의 향상
Active message expiration는 만료된 메시지들의 즉각적인 clean up을 보증한다. 만료된 메시지에 대한 검사는 사용자가 만료된 메세지를 특정한 데스티네이션으로 리다이렉트하거나, 메시지가 만료될 때 로그를 남기는 등의 만료 메세지에 대한 트랙킹 옵션을 사용할 수 있도록 한다. 자세한 내용은 Administration Console Help 의 (Handling Expired Messages) 에서 제공한다. |
|
Improved Message Flow Control by Blocking Producers
"Blocking Send" 기능은 사용하고자 하는 데스티네이션의 메시지가 지정된 최대 메세지 갯수를 초과 할 때 데스티네이션으로 보내는 메시지로 부터 producers이 순간적으로 blocking당하면서 생기는 message quota error를 피할 수 있도록 도와준다. Administration Console Help의 (Avoiding Quota Excptions by Blocking Message Producers) 에서 자세한 내용을 제공한다. |
|
n 웹 애플리케이션
웹로직 서버는 Web Application에 대해 아래와 같은 새로운 기능들을 제공한다
퍼포먼스 향상
JSP 컴파일 시에 JSP 스트링 핸들림을 함으로 퍼포먼스가 향상되었다. |
|
init메소드에 대한 보안 정책
서블릿의 init method를 수행하는 동안의 정책명을 선언하기 위해 weblogic.xml에 새로이 추가된 init-as-principal-name 요소를 사용한다. 자세한 내용은 (Developing Web Applications for WebLogic Server)에서 제공한다. |
|
forward/include를 이용한 WEB-INF 접근 허용
사용자는 이제 한 서블릿 안에서 다른 서블릿을 호출 할 수 있다. 이 기능은 첫번째 서블릿 안에서 forward나 include 리퀘스트를 사용함으로써 가능하다. 사용자가 두번째 서블릿에 forward를 하면 이후의 일어나는 액션(결과)은 두번째 서블릿을 따르게 된다. 두번째 서블릿을 include하는 것은 모든 코드를 새로 쓸 필요 없이 첫번째 서블릿에서 이미 접근했던 소스로부터 data를 가져올 수 있도록 해준다. (Dispatching Requests to Another Resource)에서 더 자세한 내용을 제공한다. |
|
Jspc기능을 포함한 appc
appc컴파일러는 jspc의 기능들을 포함한다. appc 컴파일러를 이용하여 디플로이먼트를 위한 EJB들과 JSP들을 컴파일하고 제너레이트 할 수 있다. appc의 사용과 문법에 관한 더 자세한 정보들은 Developing Web Applications for WebLogic Server의 (appc and jspc Compilers)에서 제공한다. |
|
Servlet Filter를 위한 클래스 로딩
서블릿에 대한 리퀘스트에 응답을 할 때, 웹로직 서버는 서블릿과 연관된 필터를 적용하기에 앞서 서블릿 클래스 파일의 타임 스탬프를 체크하고, 그것을 메모리에 있는 서블릿 인스턴스와 비교한다. 만약 서블릿 클래스의 더 최근 버전이 발견되면 웹로직 서버는 필터링을 하기 전에 서블릿 클래스를 다시 로드한다.
Server Reload 속성을 사용하여 웹로직 서버가 타임 스탬프를 체크하는 간격을 조정할 수 있다. Programing WebLogic HTTP Servlets의 (Servlet Development Tips)에서 자세한 내용을 제공한다. |
|
FileServlet File 정렬 옵션
웹로직 서버는 디렉토리 리스팅을 위해 weblogic.xml 디플로이먼트 디스크립터에 sorting 옵션을 제공한다. 새로운 요소인 index-directory-sort-by 에는 NAME(이름), LAST_MODIFIED(가장 최근에 수정된 것), 그리고 SIZE(크기)의 다양한 정렬 스타일을 넣을 수 있다. 예를 들어 파일 사이즈에 의해 정렬된 디렉토리 리스팅을 위해서는 아래와 같이 설정할 수 있다.
<weblogic-web-app>
<index-directory-enabled>true</index-directory-enabled>
<index-directory-sort-by>SIZE</index-directory-sort-by>
</weblogic-web-app> |
|
n 웹서비스
웹로직 서버는 JMS에 대해 아래와 같은 새로운 기능들을 제공한다
디지털 신호들과 암호화
사용자는 web-services.xml 디플로이먼트 디스크립터에 새로이 추가된 요소들을 사용하여 웹서비스와 웹서비스 클라이언트를 위한 data security를 설정할 수 있다. 더 자세한 내용은 (Programming WebLogic Web Services)의 (Configuring Security)에서 제공한다. |
|
안정적인 SOAP 메세징
안정적인 SOAP 메세징은 한 웹로직 서버 인스턴스에서 동작하고 있는 어플리케이션이 다른 웹로직 서버 인스턴스에서 동작하고 있는 웹서비스를 비동기적이면서 안정적으로 요청할 수 있게 하는 하나의 프레임웍이다. 자세한 내용은 (Programming WebLogic Web Services) 의 (Using Reliable SOAP Messaging)에서 제공한다. |
|
SOAP 1.2
웹로직 서버는 클라이언트가 웹서비스 오퍼레이션을 호출할 때의 메세지 전송에 대해 SOAP1.2를 지원한다. 자세한 내용은 (Programming WebLogic Web Services)의 (Using SOAP 1.2)에서 제공한다. |
|
JMS 전송 프로토콜
클라이언트가 웹서비스에 접근 할 때의 전송 프로토콜(기본 프로토콜은 HTTP/S이다)에 대하여 웹서비스에 설정을 함으로써 JMS를 사용할 수 있다. 좀 더 자세한 내용은 (Programming WebLogic Web Services)의 (Using JMS Transport to Invoke a WebLogic Web Service)에서 제공한다. |
|
웹로직 웹서비스의 비동기적 호출
clientgen Ant 태스크는 웹서비스의 오퍼레이션을 비동기적으로 호출하도록 하는 stub들을 제너레이트 할 수 있도록 한다. 그 stub은 두 가지의 메소드를 포함한다. 첫번째 메소드는 파라미터을 가지는 오퍼레이션들을 호출하지만 그 결과를 기다리지 않는다. 그 후에, 두번째 메소드는 실제적인 결과값을 리턴한다. 사용자는 안정적인 SOAP메세징을 사용할 때 이 비동기적 클라이언트를 사용하게 된다. 더 자세한 내용은 (Programming WebLogic Web Services)의 (Writing an Asynchronous Client)에서 제공한다. |
|
Portable Stub들
웹로직 내부에서 웹서비스를 호출할 때에 JAR파일의 버전과 관련한 클래스들의 충돌을 피하기 위해서 portable stub들(웹로직 웹서비스를 호출하는데에 사용되는 변형된 클라이언트 JAR파일들)을 사용할 수 있다. (Programming WebLogic Web Services)의 (Creating and Using Portable Stub)에서 좀 더 자세한 내용을 제공한다. |
|
n WebLogic Tuxedo Connector
웹로직 서버는 WebLogic Tuxedo Connector에 대해 아래와 같은 새로운 기능들을 제공한다
디지털 신호들과 암호화
사용자는 web-services.xml 디플로이먼트 디스크립터에 새로이 추가된 요소들을 사용하여 웹서비스와 웹서비스 클라이언트를 위한 data security를 설정할 수 있다. 더 자세한 내용은 (Programming WebLogic Web Services)의 (Configuring Security)에서 제공한다. |
|
향상된 보안 관리
WebLogic Tuxedo Connector는 사용자들이 Tuxedo 서비스에 접근 하기 위해 아래와 같은 APPKEY 제너레이터들 중 하나를 선택 할 수 있는 기능을 제공한다.
- TPUSER plug–in : Tuxedo 인증 서버에 사용자의 정보를 제공 하기 위한 tpuser 파일을 사용할 수 있도록 한다.
- LDAP : 웹로직 서버의 LDAP정보를 턱시도 8.1 인증 서버에서 사용하도록 허용함으로써 사용자가 보안 관리에 대한 single source를 생성할 수있다.
- Custom : 턱시도 서비스에 접근하는 사용자 정보를 생성하기 위해 custom APPKEY를 생성 할 수 있다. |
|
비동기적인 tpacall
비동기적 tpacall() 메소드는 사용자가 턱시도 서비스에 요청을 보내고 그 요청을 수행한 쓰레드 자원을 쓰레드 풀로 부터 해제시킬 수 있도록 한다. 이렇게 함으로써 적은 개수의 쓰레드가 많은 양의 요청을 처리할 수 있도록 한다. 더 자세한 내용은 (WebLogic Tuxedo Connector Programmer's Guide)의 (Request/Response Communication)에서 제공한다. |
|
Runtime WTC ORB
이번 버전의 WebLogic Tuxedo Connector 은 WebLogic Server RMI-IIOP runtime and corba support를 사용하는 새로운 WTC ORB를 구현한다. 이전 버전에서는 JDK를 기초로 한 WTC ORB가 사용되었다. 현 버전은 사용자들이 현재 사용하고 있는 레가시 어플리케이션의 수정 없이 새로운 WTC orb를 사용할 수 있도록 한다. 좀 더 자세한 내용은 (WebLogic Tuxedo Connector Programmer's Guide)의 (How to Develop WebLogic Tuxedo Connector Client Beans using the CORBA Java API)에서 제공한다. |
|
n XML
DOM, XMLNode, 혹은 XMLInputStream으로 표현된 XML문서에 XPath를 매치시키기 위하여 XPath API를 사용할 수 있다. (Programming WebLogic XML)의 (Using the WebLogic XPath API)에서 좀 더 자세한 내용을 제공한다. |
|
n 개발 툴
웹로직 서버는 개발툴에 대해 아래와 같은 새로운 기능들을 제공한다
새로운 appc 컴파일러
appc 컴파일러는 디플로이먼트를 위한 EJB와 JSP들을 컴파일하고 제너레이트 할 수 있다. 또한 현재 스펙을 따르는 디스크립터를 개별적인 모듈 수준에서와 어플리케이션 수준에서 모두 적합성을 검사한다. 어플리케이션 수준의 검사는 어플리케이션 레벨 디플로이먼트 디스크립터와 개별적 모듈들 혹은 개별절 모듈들의 디플로이먼트 디스크립터 간의 검사도 포함한다. |
|
새로운 J2EE Client .JARs
8.1 이전 버전들에서 웹로직 서버의 기능을 사용하기 원하는 클라이언트 어플리케이션들은 웹로직 서버(weblogic.jar and weblogicaux.jar) 전체를 클라이언 머신에 가져다 놓아야했다. 현 버전은 J2EE 클라이언트 기능에 꼭 필요한 것들만 제공하는 새로운 두개의 클라이언트용 .jar파일을 제공한다. 두 파일은 아래에서 소개한다.
- wlclient.jar : 클러스터링이나 보안 그리고 트랜잭션 같은 기본적인 웹로직 기능을 포함한다.
- wljmsclient.jar : 기본적인 웹로직 기능과 함께 JMS 기능을 포함한다.
새로운 두개의 클라이언트용 .jar파일은 웹로직 서버의 설치디렉토리 아래의 /server/lib (예를 들어, c:\bea\weblogic81b\server\lib)디렉토리에 위치한다. 새로운 클라이언트용 .jar파일은 JDK 1.3.x나 그 이전 버전을 지원하지 않는다.
(Programming WebLogic Server Applications) 에서 좀 더 자세한 내용을 제공한다. |
|
Builder
아래에 소개되는 내용들은 WebLogic Builder툴에서 새롭게 제공되는 기능들이다. |
|
디플로이먼트 디스크립터 편집
J2EE 모듈의 디플로이먼트 디스크립터를 편집 하는데에 Builder을 사용할 수 있다. 어드민 콘솔에서의 디플로이먼트 디스크립터 편집은 더 이상 가능하지 않다. 좀더 자세한 내용은 (WebLogic Builder Online Help)에서 제공한다. |
|
Optimistic Concurrency
렬적인 트랜잭션을 위해 optimistic concurrency를 사용하고자 하는 CMP 엔터티 빈에 대한 설정을 Builder를 이용해서 할 수 있다. 자세한 내용은 (WebLogic Builder Online Help의 Working with EJBs)에서 제공한다. |
|
Internationalization Features
웹로직 서버는 새로워진 internationalization 유틸리티들을 소개한다.
- weblogic.i18ngen : 업데이트된 커맨드 라인 옵션들을 제공한다.
- weblogic.i10ngen : 업데이트된 커맨드 라인 옵션들을 제공한다.
- weblogic.gettxt : 세롭게 추가된 커맨드 라인 유틸리티이다.
- weblogic.i18ntools.GetText : 새로운 API이다.
- weblogic.MsgEditor : 업데이트된 GUI를 가지고 있다. 메인 메세지 에디터 윈도는 또한 메세지를 retire/ unretire할 수 있다. 메세지를 누락시키는 것은 메세지가 매스터 카탈로그로에서 삭제된다는 것을 의미하지는 않는다. 그것은 단순히 사용자의 시야에서 숨겨진다는 것을 의미한다. 이 기능은 쓸모없게 된 메세지들을 제거하는데에 유용하다. 만약 누락된 메세지를 뷰로 가지고 오고 싶다면 그것을 unretire할 수 있다. |
이용 가능한 Resource |
|
|
이번 릴리즈에 관한 유용한 정보를 제공한다. 하이퍼링크를 통해 인터넷 접속을 하여 참고할 수 있다. |
Fast Track Procedure |
HTML, JSP, 혹은 서블릿을 빠르게 활용할 수 있도록 도와주는 과정 |
|
|
Examples |
만약 설치시에 선택을 하게 되면 코드 예제들은 웹로직 서버 설치 디렉토리 아래의 SAMPLES_HOME\server\src\examples 디렉토리에 위치하게 된다. SAMPLES_HOME은 웹로직 플랫폼에 대한 모든 예제들을 가지고 있다. 기본적인 SAMPLES_HOME의 위치는 c:\bea\weblogic81b\samples이다. 예제들은 윈도 사용자들을 위한 Start menu에서도 사용이 가능하다.. |
|
|
Introduction |
WebLogic Server의 기능과 J2EE 애플리케이션의 아키텍쳐에 대해 소개한다.
다음 사이트 (Introduction to WebLogic Server)에서 더욱 자세한 내용을 소개한다. |
|
|
Additional Documentation |
관리, 프로그래밍 및 레퍼런스 가이드들을 모두 포함하는 BEA WebLogic Server 8.1에 대한 전체 문서는 BEA 웹사이트인 (http://e-docs.bea.com/wls/docs81/index)에서 제공한다. |
|
|
Newsgroups |
BEA 웹로직 서버 뉴스그룹은 BEA 제품을 지원하는 커뮤니티를 제공한다. BEA와 연관된 뉴스그룹들에 대한 정보는 http://newsgroups.bea.com/(http://newsgroups.bea.com/) and (news://newsgroups.bea.com)에서 볼 수 있다. |
|
|
Dev2Dev Online |
BEA 사이트인 Dev2Dev Online은 e-commerce development를 더 빠르고 쉽게 만들 수 있도록 하는 resource들을 제공한다.http://developer.bea.com/ |
|
|
|
|