일괄처리 프로그래밍 모델
일괄처리 애플리케이션은 EJB(Enterprise JavaBeans) 기반의 Java EE(Java™ Platform, Enterprise Edition) 애플리케이션입니다. 이 애플리케이션은 일괄처리 런타임 환경이 애플리케이션을 대상으로 하는 일괄처리 작업을 관리하도록 허용하는 몇 개의 제대로 정의된 인터페이스를 준수합니다.
- 일괄처리 작업 단계
- 일괄처리 작업은 하나 이상의 일괄처리 단계로 구성됩니다. 작업의 모든 단계는 순차적으로 처리됩니다. 일괄처리 애플리케이션을 단계로 분할하면 일괄처리 애플리케이션에서 구분 태스크 분리가 가능합니다. com.ibm.websphere.batch.BatchJobStepInterface 인터페이스를 구현하여 일괄처리 단계를 작성할 수 있습니다. 이 인터페이스는 일괄처리 런타임이 일괄처리 애플리케이션 실행을 시작하는 일괄처리 단계에 대한 비즈니스 로직을 제공합니다.
- 일괄처리 제어기 Bean
- 일괄처리 애플리케이션은 제품 런타임이 제공하는 Stateless 세션 Bean을 포함합니다. 이 Stateless 세션 Bean은 작업 단계 제어기로 사용됩니다. 제어기 Stateless 세션 Bean은 일괄처리 애플리케이션별로 한 번 애플리케이션 배치 디스크립터에 선언됩니다.
- 일괄처리 데이터 스트림
- BatchDataStream 인터페이스의 메소드를 사용하여 일괄처리 런타임 환경은 일괄처리 단계에서 사용 중인 데이터 스트림을 관리할 수 있습니다. 예를 들어, 메소드 중 하나가 스트림에서 현재 커서 정보를 검색하여 일괄처리 단계에서 처리된 데이터 양을 추적합니다.
- 체크포인트 알고리즘
- 일괄처리 런타임 환경은 체크포인트 알고리즘을 사용하여 일괄처리 단계가 시작되는 글로벌 트랜잭션을 커미트하는 빈도를 결정합니다. 일괄처리 작업의 xJCL(XML Job Control Language) 정의는 사용되는 체크포인트 알고리즘을 정의합니다. xJCL에 체크포인트 알고리즘에 대해 지정되는 특성은 체크포인트 동작(예: 트랜잭션 제한시간 및 체크포인트 간격)이 일괄처리 단계에 대해 사용자 정의되도록 허용합니다. 제품은 시간 기반 및 레코드 기반의 체크포인트 알고리즘을 제공합니다. 체크포인트 알고리즘 SPI도 추가 사용자 정의 체크포인트 알고리즘 빌드를 위해 제공됩니다.
- 결과 알고리즘
- 결과 알고리즘은 일괄처리 프로그래밍 모델의 선택적 기능입니다. 결과 알고리즘은 xJCL(XML Job Control Language)을 통해 일괄처리 단계에 적용됩니다. 알고리즘은 일괄처리 작업의 리턴 코드 조작에 사용됩니다. 또한, 이 알고리즘은 단계 리턴 코드를 기반으로 한 트리거에 대한 플레이스홀더입니다.
- 일괄처리 작업 리턴 코드
- 일괄처리 작업 리턴 코드는 시스템 및 사용자라는 두 개의 그룹으로 나누어집니다.
시스템 리턴 코드는 음의 정수로 정의됩니다. 사용자 애플리케이션 리턴 코드는
양의 정수로 정의됩니다. 시스템 및 사용자 범위 모두 리턴 코드 0을 포함합니다. 사용자 애플리케이션
리턴 코드가 시스템 리턴 코드 범위로 지정되면 경고 메시지가 작업 및 시스템 로그에 게시됩니다. 참고: 애플리케이션이 작업 리턴 코드에 대해 값을 설정하더라도 해당 값은 작업이 정상적으로 종료된 경우에만 리턴됩니다. 작업이 실행 실패 또는 재시작 가능의 상태로 실패하면 리턴되는 값은 이전 테이블에서 설명하는 런타임 설정 음수 리턴 코드 중 하나입니다.