소개
본 장에서는 ProFrame의 배치 프레임워크에 대한 기본 개념과 아키텍처를 설명하고 배치 프로그램 개발에 필요한 배치 프레임워크 종류에 대하여 간략히 설명한다.
1. 개요
일반적으로 TP-Monitor(Transaction Processing Monitor)를 이용하는 온라인 서비스는 실시간 처리와 빠른 업무 처리 속도를 요하는 목적에 주로 사용한다. 또한 데이터 양도 적으며 실시간 처리가 완료되면 실행 결과가 명확하게 전달된다. 즉, 사용자와 상호작용이 즉시 이루어져야 하는 업무에 적합하다.
이에 반해 배치 서비스는 온라인 실시간 처리가 힘든 대용량 데이터를 가지고 주로 Time Based Event 업무에 이용된다.
배치 서비스는 자원 점유율이 높은 작업을 수행하며 온라인 서비스와는 다르게 사용자와의 상호작용이 없는 이유로 한 번의 실행 실패가 고객의 업무 처리에 치명적인 손상을 입힌다.
이와 같은 문제를 극복하기 위해 ProFrame의 배치 프레임워크는 고객의 업무에 사용되는 배치 프로그램이 일관되게 작성될 수 있도록 개발 표준화를 지원하고 이를 위해 관련 툴과 Runtime 바이너리를 제공한다.
배치 프레임워크의 아키텍처는 배치 처리 업무의 개발 표준을 지원하고 다양한 배치 처리 환경을 접하더라도 배치의 유용한 분석과 설계의 틀을 제공하는 중요한 역할을 담당한다.
배치 프레임워크는 다음과 같은 설계 사상을 가진다.
-
배치 처리의 표준화
배치 처리의 표준화에 대한 내용은 다음과 같다.
-
배치 업무를 실행하는 방식을 표준화
-
온라인 서비스 연동과 같은 업무를 표준화
-
데이터베이스 처리 및 파일 처리의 표준화
-
-
배치 업무 개발의 편의성
온라인 서비스에서 이용되는 서비스 파라미터와 같은 의미의 배치 파라미터를 제공하여 배치 업무 개발의 편의를 제공한다. 즉 배치 서비스의 거래를 제어하거나 관리적인 측면의 제어를 수행하는 데 어려움이 없도록 지원하는 것을 말한다. 이 절에서 서비스 파라미터는 온라인 서비스를 제어하기 위한 서비스 파라미터 테이블을 의미한다. 배치 파라미터에 대한 상세한 내용은 배치 파라미터를 참고한다.
-
배치 관리의 편의성
배치 프레임워크는 개발자가 업무에 필요한 배치만 개발하도록 지원한다. 또한 온라인 서비스의 업무 개발 환경과 동일한 환경을 제공함으로써 배치 프로그램 작성을 위한 별도의 교육을 받지 않아도 되는 관리적 측면의 편의를 제공한다.
2. 배치 프레임워크의 종류
배치 프레임워크는 다양한 배치 처리 환경에 따라 생성되는 종류가 다르다. 이와 같이 다르게 생성되는 배치를 본 장에서는 4가지로 나누어 간략히 소개한다.
-
일반 배치
일반 배치는 UNIX Command에서 실행하는 배치 프로그램의 가장 일반적인 형태이다. 그리고 일반 배치는 대용량 데이터베이스 처리 및 파일 처리 등의 반복적인 작업이 많은 경우 주로 사용된다. 일반 배치의 상세한 내용은 일반 배치를 참고한다.
-
POD 배치
POD(Processing On Demand) 배치는 일반 배치에서 온라인 서비스를 연동할 때 발생하는 데이터베이스 트랜잭션의 정합성 문제를 해결하기 위하여 고안된 배치이다.
일반 배치에서 데이터베이스 트랜잭션의 정합성 문제는 다음과 같은 원인으로부터 발생한다.
일반 배치에서 온라인 서비스를 연동 하는 경우 TP-Monitor가 제공하는 XA 트랜잭션을 사용할 수 없기 때문에 온라인 서비스에서 작업된 데이터베이스의 결과와 일반 배치 내부에서 작업한 데이터베이스의 결과를 하나의 트랜잭션으로 처리할 수 없다는 문제가 발생한다.
POD 배치는 Tmax의 POD 서버 기능을 이용하여 배치 수행을 요청할 때 프로세스를 생성하여 배치 업무를 수행한다. 온라인 서비스와는 달리 배치 수행을 요청할 때만 프로세스를 생성하여 수행하기 때문에 배치의 즉시 수행적인 속성을 가지고 있다. 또한 Tmax 서버의 속성인 XA 기능을 사용할 수 있기 때문에 일반 배치에서 발생하는 트랜잭션의 정합성 문제를 해결한다. POD 배치의 상세한 내용은 POD 배치를 참고한다.
-
상주 배치
일반 배치는 프로그램이 실행되면 작업이 끝날 때까지 지속적으로 수행하는 반면 상주 배치는 개발자(또는 프로그램 관리자)가 설정한 시간에 맞춰 프로그램을 일정시간 동안 실행했다가 중단하는 반복적인 수행 작업을 거친다. 즉 자체 스케줄링 기능을 이용하여 프로그램을 실행한다.
또한 상주 배치는 Tmax의 UCS(User Control Server)를 이용하여 구현되며, Tmax의 서버 관리 기능을 통해 제어가 가능하다. 상주 배치의 상세한 내용은 상주 배치를 참고한다.
-
배치 Job Information
배치 Job Information은 ProFrame 기반으로 생성된 배치의 현재 실행 상태와 실행 결과 정보를 수집하도록 지원하는 프레임워크이다. 배치 Job Information의 상세한 내용은 배치 Job Information을 참고한다.
3. 배치 생성 절차
다음은 배치를 생성하는 절차이다.
- ① 배치 서버 작성
-
ProFrame의 배치 Flow를 호출하기 위한 실행 파일 및 TP 서버 파일을 작성하는 절차이다. 여기서 배치 서버를 작성한 결과에 따라 지원되는 배치 프레임워크의 종류가 다르다.
결과물 배치 프레임워크 종류 실행 파일
일반 배치
TP 서버 파일
POD 배치 또는 상주 배치
- ② 배치 모듈 작성
-
개발자 또는 배치 관리자가 배치 처리 모듈을 작성하는 절차이다.
- ③ 배치 생성 확인
-
생성된 배치를 확인하는 절차이다. 이 절차에는 생성된 배치 모듈을 테스트하거나 디버깅하는 등의 작업이 포함된다.