배치 용어

다음은 배치에서 사용하는 용어에 대하여 간략하게 설명하는 표이다.

용어 설명

배치작업(JOB)

배치 업무를 처리하기 위한 플로우로 구성된 배치작업의 실행 및 재실행 단위로 플로우를 기술하는 XML 설정으로 작성된다. 흔히 규모가 큰 배치작업은 외부 프로그램을 호출하는 것을 포함하여 복잡한 처리절차로 구성되지만 배치 어플리케이션에서 정의하는 배치작업은 배치 어플리케이션으로 구현된 단위 Step을 호출하는 플로우만으로 한정한다.

스텝(Step)

배치작업을 구성하는 업무 구현의 최소단위이다. 배치 작업의 구성요소로만 동작할 뿐 개별적으로 실행될 수 없으며 배치작업의 재실행 시 개별 Step은 조건에 따라 재실행되거나 실행에서 제외될 수 있다.

아이템(Item)

배치 Step에서 업무 요건에 따라 처리할 데이터의 최소단위이다. DB 또는 파일 리소스에서 건 별로 추출된다. 일반적으로 IO 형태의 데이터 객체로 변환되어 전달되며 특히 파일처리 시에는 IO의 메시지 변환기능을 이용하기 위해 반드시 IO형태로 사용하도록 한다.

아이템리더(ItemReader)

배치 Step에서 처리할 데이터를 DB 또는 파일 등의 리소스에서 획득하여 ItemProcessor나 ItemWriter에 전달하는 역할을 수행한다. DB에서 아이템을 가져올 때는 DBIO를 이용하여 아이템리더를 업무 개발자가 직접 작성한다. 반면 파일 리소스에서 아이템을 가져올 때는 배치 프레임워크에서 제공하고 있는 파일리더 XML을 사용 한다. 단, 파일리더 XML을 사용 할 수 없을 경우에는 업무 개발자가 직접 작성하여야 한다.

아이템프로세서(ItemProcessor)

배치 업무개발자는 업무데이터를 업무요건에 따라 처리/가공하는 절차와 결과 데이터를 기록하거나 전송하는 절차로 구분하여 역할을 명확하게 정리할 필요가 있는데 이 경우 ItemProcessor를 별도로 정의하여 처리 할 수 있다.

아이템라이터(ItemWriter)

ItemReader 혹은 ItemProcessor에서 전달받은 아이템을 저장 매체인 DB 또는 파일에 기록하거나 배치 처리 결과 데이터를 아이템별로 외부 시스템에 전송하는 등의 역할을 수행한다. 아이템을 업무 요건에 따라 처리하는 프로세서 역할을 포함하기도 한다. DB에 아이템을 기록하기 위해서는 DBIO를 사용하여 ItemWriter를 업무 개발자가 직접 작성하고, 파일 리소스에 아이템을 기록할 때는 배치 프레임워크에서 제공하고 있는 파일라이터 XML을 사용한다. 단 파일라이터 XML을 사용 할 수 없을 경우에는 업무 개발자가 직접 작성하여야 한다.

스콥(Scope)

객체가 생성되어 소멸될 때까지의 기간을 의미한다. 상기한 ItemReader, ItemProcessor, ItemWriter 객체들의 생성과 소멸은 실제 프레임워크에서 담당하므로 업무 개발자에게는 해당 객체의 인스턴스가 사용 가능한 상태로 유지되는 기간으로 이해될 수 있다. 배치 프레임워크에서는 배치 어플리케이션에서만 사용할 수 있는 "step"이라는 스콥을 제공하는데 이는 하나의 Step이 실행되는 기간 동안 해당 객체가 유지되고, 멤버 데이터가 보존됨을 의미한다.

Item-Oriented Processing

배치 Step의 처리 절차는 ItemReader를 이용하여 추출한 아이템을 Step 정의에 따라 ItemProcessor, ItemWriter에 순차적으로 전달하여 처리하고 기록하는 과정으로 구성된다. 이처럼 Item-Oriented Processing은 프레임워크 기반의 배치 Step에서 아이템을 최소 처리단위로 하는 절차를 의미한다.

Chunk-Oriented Processing

데이터 처리와 기록을 매체에 최종적으로 반영하는 행위. 즉, 파일에 기록(write-flush)하거나 데이터 트랜잭션을 커밋(commit)하는 작업은 배치 처리의 성능 측면을 고려하여 구간별로 수행한다. 이때 데이터반영의 단위는 "commit-interval" 이라는 Step 속성으로 정의한다. "Item-Oriented Processing"을 보면 데이터의 처리는 아이템 단위로 구현되고 반영은 구간별로 수행되기 때문에 처리와 반영의 단위에 불일치가 발생하여 이를 보정하기 위한 부가적인 구현을 필요로 한다. 이를 보완하기 위해 프레임워크에서는 ItemReader에서 추출하고 ItemProcessor에서 처리된 아이템들을 내부 버퍼를 이용하여 반영단위로 ItemWriter에 전달하는 전략을 구현한다. 이 과정에서 반영 실패로 인한 보정작업의 구현을 프레임워크에서 수행할 수 있으며 이러한 처리 유형을 "Chunk-Oriented Processing"으로 정의한다.

SWLab Bankware Global
  • 전체
  • BXM
  • BXCM
  • BXCP
  • BXI
제품 선택 시 더 정확한 매뉴얼 가이드를 제공해드립니다.

Copyright© Bankwareglobal All Rights Reserved.