WebT 소개
본 장은 Tmax와 Java 애플리케이션 프로그램과의 트랜잭션 서비스를 지원하기위해 제공되는 WebT에 대한 기본 기능과 역할에 대해서 설명한다.
1. 개요
WebT(Web Transaction)는 클라이언트/서버 환경의 미들웨어 제품인 Tmax 서버와 Java 애플리케이션 프로그램 사이의 트랜잭션 서비스를 지원하는 프로그램으로 API 라이브러리 형태로 배포된다. WebT는 JEUS를 비롯한 웹 기반 환경의 WAS(Web Application Server) 제품에서 활용될 수 있다. Tmax의 트랜잭션 처리와 부하 조절 기능을 이용해 웹 환경에서 동적 데이터 서비스를 제공할 수 있도록 설계되었다.
WebT와 Tmax 서버 사이에서 서비스가 진행되는 과정은 다음과 같다. 클라이언트에서 요청을 받으면 WebT 모듈을 통해서 Tmax의 서버 프로그램이 실행되며 서비스가 진행된다.
2. WebTConnectionPool
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에 반환한다.
3. WebT-Server 시스템
WebT-Server 시스템은 Tmax 시스템과 JEUS 사이에 존재하며, Tmax 클라이언트가 JEUS의 EJB 서비스를 호출할 수 있게 해준다.
다음 그림은 WebT-Server 시스템을 통해 EJB 서비스가 호출되는 과정이다.
WebT-Server 시스템은 다음의 모듈로 구성된다.
-
JAVA GW
Tmax가 JEUS로 보내는 서비스 요청을 처리한다.
-
JTmax
JEUS에서 Tmax의 서비스 요청을 수신하는 데몬이다.
-
WebT Library
Tmax와 JEUS가 주고받는 데이터를 처리한다.
-
Monitoring Library
JEUS 7 Fix#1에서 Console Admin, WebAdmin을 사용하기 위한 라이브러리로 webt-jeus7-webadmin-plugin.jar, jext_webt_command_patch.jar가 제공된다.
-
Unix Domain Socket Library
Webt 7.1 이상 클라이언트가 같은 머신(노드)에서 Unix Domain Socket을 사용하기 위한 라이브러리로 libwebt.so이 해당된다.
-
기타 Utility
webtutil.jar는 jeus.jar와 jeusutil.jar에서 WebT를 사용하기 위한 클래스를 별도로 패키징한 파일로 JEUS가 없는 곳에서 WebT를 기동하기 위한 라이브러리이다.