
웹 애플리케이션과 배치 애플리케이션은 실행 방식과 처리 목적이 근본적으로 다르다.
웹 애플리케이션은 사용자의 요청을 트리거로 하여 즉시 실행되며, 응답 속도가 가장 중요한 가치이다. 요청 단위로 데이터를 처리하고, 오류가 발생하면 즉시 에러 응답을 반환하고 처리가 종료된다. 서버는 상시 실행 상태를 유지하며 사용자 요청을 대기한다.
반면 배치 애플리케이션은 사용자의 요청과 무관하게 정해진 스케줄에 따라 자동 실행된다. 대량의 데이터를 한 번에 처리하며, 처리 속도보다 정확성과 완결성이 우선된다. 오류 발생 시 즉시 종료하는 것이 아니라 재시도, 중단, 로그 기록, 알림, 재시작을 통해 복구 중심으로 동작한다. 작업이 필요한 시점에만 실행되고 종료된다.
| 구성 요소 | 역할 | 설명 |
|---|---|---|
| Job | 배치 작업 전체 | 하나의 배치 실행 단위이며, 배치 애플리케이션의 최상위 개념이다 |
| Step | 실행 단계 | Job을 구성하는 처리 단계이다. 하나의 Job은 여러 Step으로 구성될 수 있다 |
| ItemReader | 데이터 입력 | 처리 대상 데이터를 읽어오는 역할을 담당한다 |
| ItemProcessor | 데이터 가공 | 읽어온 데이터를 변환하거나 가공하는 역할을 담당한다 |
| ItemWriter | 데이터 출력 | 처리된 데이터를 저장소나 외부 시스템에 저장한다 |
이 구조는 배치 처리를 읽기(Read) → 가공(Process) → 쓰기(Write) 흐름으로 명확히 분리한다.