본 장은 Tmax와 Java 애플리케이션 프로그램과의 트랜잭션 서비스를 지원하기위해 제공되는 WebT에 대한 기본 기능과 역할에 대해서 설명한다.
WebT(Web Transaction)는 클라이언트/서버 환경의 미들웨어 제품인 Tmax 서버와 Java 애플리케이션 프로그램 사이의 트랜잭션 서비스를 지원하는 프로그램으로 API 라이브러리 형태로 배포된다. WebT는 JEUS를 비롯한 웹 기반 환경의 WAS(Web Application Server) 제품에서 활용될 수 있다. Tmax의 트랜잭션 처리와 부하 조절 기능을 이용해 웹 환경에서 동적 데이터 서비스를 제공할 수 있도록 설계되었다.
WebT와 Tmax 서버 사이에서 서비스가 진행되는 과정은 다음과 같다. 클라이언트에서 요청을 받으면 WebT 모듈을 통해서 Tmax의 서버 프로그램이 실행되며 서비스가 진행된다.
WebT는 Tmax의 연결을 효율적으로 관리하기 위해 WebTConnectionPool 클래스를 제공한다. WebTConnectionPool은 Tmax 서비스를 요청할 때마다 매번 연결 객체를 새로 생성하지 않고 이전에 사용한 객체를 재사용한다. 연결 객체의 재사용을 통해 Tmax 서버에 네트워크 연결을 설정하고 종료하는 데 소비되는 자원 및 시간이 절약된다.
WebTConnectionPool은 1개 이상의 WebTConnectionGroup으로 구성되며, 각 WebTConnectionGroup은 1개의 Tmax 서버와 연결된다. 클라이언트 프로그램에서는 WebTConnectionGroup의 그룹명을 이용하여 원하는 Tmax 서버에 연결할 수 있다.
WebT 모듈을 JEUS와 연동한 경우 JEUS 컨테이너에서 WebTConnectionPool을 관리한다. JEUS Container는 WebT.properties 환경설정 파일을 이용하거나 JEUS의 환경설정 파일을 이용하여 Connection Pool을 생성한다. 또한 사용자가 getConnection을 실행한 뒤 반환되지 않은 커넥션을 자동으로 Connection Pool에 반환한다.