본 장은 Tmax를 이해하기 위해 미들웨어와 TP-Monitor에 대한 개념과 기능에 대해 설명한다.
TP-Monitor(Transaction Processing Monitor)는 각종 프로토콜에서 동작하는 세션과 시스템 및 데이터베이스 사이의 최소 처리단위인 트랜잭션을 감시하여 일관성 있게 보관 및 유지하는 역할을 하는 트랜잭션 관리 미들웨어이다.
Tmax는 TP-Monitor 기반의 제품이며, 본 장에서는 Tmax를 이해하기 위한 기본 개념인 미들웨어와 TP-Monitor에 대해서 설명한다.
중앙 집중식 메인프레임(Mainframe) 환경이 운영과 비용 등에서 여러 가지 문제가 나타나면서 업무별로 호스트를 분리하는 즉, 개방형 분산 시스템 환경으로 바꾸는 다운사이징(DOWNSIZING) 방법론이 도입되기 시작했다.
그러나 개방형 분산환경은 메인프레임에서 사용하던 업무를 여러 서버로 분산하여 관리하면서 서로 다른 운영체제 간의 통신이나 각 서버 프로그램 간의 연계, 호환성의 문제가 발생하게 되었다. 이러한 이유로 서로 다른 시스템이나 서버 프로그램, 네트워크 자원을 하나의 단일 사용자 환경으로 사용하고자 하는 요구가 생겼다.
다음은 중앙 집중식 메인프레임 환경과 개방형 분산 시스템 환경의 문제점에 대해서 설명한 표이다.
중앙 집중식 메인프레임 환경의 문제점
구분 | 문제점 |
---|---|
비용적 측면 |
|
운영적 측면 |
|
시스템 측면 |
|
개방형 분산 시스템 환경의 문제점
구분 | 문제점 |
---|---|
비용적 측면 |
|
운영적 측면 |
|
시스템 측면 |
|
이러한 개방형 분산환경의 문제점을 해결하기 위해서 개발된 소프트웨어가 미들웨어이다.
미들웨어는 분산 컴퓨팅 환경에서 단일 사용자 환경을 제공하고 이기종 간 시스템의 네트워크를 연결하거나 클라이언트와 서버 간의 통신을 담당하거나 또는 컴퓨터와 컴퓨터의 연결을 담당하는 시스템 소프트웨어이다. 미들웨어는 이기종의 하드웨어나 프로토콜, 통신 환경 등을 하나로 연결해서 애플리케이션이나 운영 환경 사이에 원만한 통신이 가능하도록 해준다.
클라이언트와 데이터베이스 서버는 직접 통신을 하지 않고 미들웨어가 두 시스템 간의 통신을 연계한다. 미들웨어에는 업무에 필요한 비즈니스 로직을 가지고 있어서 클라이언트는 미들웨어와의 통신만 고려하고 서버 프로그램도 미들웨어와 통신만 고려하면 된다. 미들웨어를 통해서 클라이언트와 데이터베이스 서버는 하나의 단일 시스템 환경으로 구축이 가능해진다. 이기종 머신에서 사용하는 다수의 데이터베이스 환경에서도 시스템 통합을 보장할 수 있고 데이터의 호환성 및 일관성을 보장할 수 있다. 이러한 환경은 최소의 리소스로 최대의 성능을 제공할 수 있다.
다음은 미들웨어를 사용하여 클라이언트/서버 환경을 구축한 시스템 구성도이다.
미들웨어 제품은 각 제품의 용도와 목적에 따라 다음의 6가지로 나누어진다.
초기에 대부분의 업무 시스템은 메인프레임 기반의 중앙 집중식 환경으로 구성되어 있었다. 중앙 집중식 환경은 비용이나 관리에 여러 가지 단점을 나타내기 시작했다. 이러한 중앙 집중식 환경의 문제점을 보완하기 위해 대두된 것이 개방형 분산 시스템이다.
그러나 개방형 분산 시스템 또한 시스템 운영이나 관리에 또 다른 문제가 나타났다. 이러한 문제점을 해결하기 위해서 도입된 소프트웨어가 미들웨어이다. 미들웨어 중에 TP-Monitor는 프로토콜에서 동작하는 세션과 시스템 및 데이터베이스 사이의 최소 처리 단위인 트랜잭션을 감시하여 일관성있게 보관 및 유지하는 역할을 하는 트랜잭션 관리 미들웨어이다.
다음은 TP-Monitor의 주요 기능이다.
애플리케이션 개발 용이
복잡한 업무 프로세스를 개발할 때 데이터 중심에서 기능 중심으로 분산해서 개발한다. 기존 메인프레임 환경은 비즈니스 로직과 데이터 처리 로직이 혼재되어 개발되었다. 따라서 메인프레임 환경에서 애플리케이션의 개발은 상당히 어려웠다.
그러나 TP-Monitor를 사용하면 미들웨어에는 비즈니스 로직을 구현하고 클라이언트 프로그램은 사용자에게 제공하는 모듈만 구현하면 된다. 그리고 데이터베이스 서버 프로그램은 데이터 관리에 대한 기능만 구현하면 된다. 이러한 기능의 분리는 애플리케이션의 개발을 쉽게 한다.
효율적인 애플리케이션 관리
분산된 각 업무 시스템을 TP-Monitor를 통해서 관리하므로 각 애플리케이션을 효율적으로 관리할 수 있다.
이기종 DBMS 자원관리
DBMS의 트랜잭션을 통합 관리하므로 이기종 데이터베이스 간의 자원 관리가 가능하다.
부하 조절
최적의 자원 사용에 대해 관리하므로 부하를 분산하고 분산 트랜잭션을 지원한다.
수행 속도와 신뢰성
적은 서버 자원으로 많은 클라이언트를 관리하여 DBMS의 오버헤드를 줄이고 응답시간을 향상시킨다.