트랜잭션 프로세싱 모니터(TP-MONITOR)

C/S 시스템의 환경이 고조되면서, 산업별로 금융, 재무, 예약 시스템 같은 다수의 사용자가 실시간으로 접근하여 많은 양의 데이터를 처리해야 하는 시스템들도 C/S 시스템으로 옮겨가기 시작하였다. 그러나 이러한 시스템들은 안정된 트랜잭션을 요구하는데, 이러한 요구에 대한 해결책으로 사용된 도구가 트랜잭션 프로세싱 모니터(TPM)이다. C/S에서 사용되는 TPM을 일반적으로 분산 트랜잭션 모니터(Distributed Transaction Monitor)라고 한다.

X/OPEN XTP 그룹에서는 1994년에 분산 트랜잭션 프로세싱(DTP) 참조 모델을 발표하였는데, 이 모델은 트랜잭션 시스템의 구조와 외부 자원들과의 통신방법을 정의하였다.

                                       X/OPEN DTP 참조 모델
                                       

그림에서 XA인터페이스는 트랜잭션 관리자와 자원 관리자(DB 등)간의 통신을 위한 함수 호출들의 집합이며, 이 함수들을 통하여 분산된 이기종 DB 사이에 트랜잭션을 성공적으로 처리할 수 있는 것이다.(현재 관계형 DB는 대부분은 XA 표준을 지원하고 있다)

TP-MONITOR의 대표적인 제품은 OSF/DCE를 기반으로 하는 Transac의 ENCINA, IBM CICS/6000과 BEA의 TUXEDO, TOPEND, Tmaxsoft의 Tmax 등이다. 이들 제품들의 공통적인 역할과 특징은 비지니스의 요구사항을 해결하기 위하여 여러 소프트웨어 상호간의 혼합된 환경에서 어플리케이션 개발의 능력과 부가적 서비스를 제공한다. 즉, 통신 미들웨어 기능 외에 트랜잭션 협력 서비스, 안정적인 메시지 큐잉 시스템, 일의 흐름 관리 및 개발의 통합적인 서비스들을 제공한다.

TP-MONITOR는 처음에는 전통적인 미들웨어(RPC, MOM)와 3GL에 기반한 개발 방식을 사용하였는데 점차로 개발언어와 미들웨어를 객체지향 언어와 ORB(Object Request Broker)를 사용하면서 객체화되어가는 모습을 보이고 있다. 지금도 대부분의 대용량의 자원과 복잡한 프로세스를 요구하는 시스템들을 C/S 시스템으로 전환하고자 하는 프로젝트에서는 분산 TP-MONITOR가 많이 사용되고 있다.