배치 애플리케이션은 일반적으로 사용자와의 상호작업이 없으며, 시간 스케줄 기반으로 동작합니다. 또한, 일괄작업을 반복적으로 처리하며 업무적으로 대용량 데이터를 처리해야 하는 요건을 가지고 있습니다.
배치는 사용자 인터페이스와 직접적인 관계가 적고, 배치를 실행하는 스케줄러(상용 스케줄러 또는 CronTab 등)를 기반으로 실행이 되기 때문에, 온라인에 비해 정형화된 아키텍처가 부족하고 배치 애플리케이션 자체의 기능보다 실행 스케줄 중심으로 관리되는 경우가 많습니다.
‘DevOn Enterprise Batch Framework’는 대량의 데이터를 신속하게 처리하는 고성능의 실행환경과 배치 처리결과를 추적하고, 모니터링할 수 있는 운영 환경을 제공합니다. 또한, 배치 애플리케이션에 필요한 기능들을 구조화하고, 실행단위를 파라미터로 구성하여 일원화된 배치 아키텍처에서 배치 애플리케이션을 관리할 수 있는 기반을 제공합니다.
DevOn 배치의 주요 특징
DevOn 배치는 업무의 기본 실행단위가 되는 JOB(온라인의 서비스 파라미터와 유사한 개념)을 기반으로 실행됩니다. JOB 이하로는 실제 IO자원을 관리(Reader•Writer)하고 비즈니스 로직을 처리(Worker)하는 단위인 STEP으로 구성되어 있습니다.
DevOn 배치는 업무 비즈니스 로직에 집중할 수 있는 구조를 제공합니다. FILE이나 DB와 같은 자원의 I/O 처리(획득 및 반납, 기록 등), 로깅 처리, 배치 처리 결과 이력관리, 성능 등은 프레임워크에서 담당하는데요. 배치의 주요정보들은 JOB의 속성 파라미터 기반으로 관리되며, 실행 시 처리의 기준으로 사용됩니다. 개발자는 Worker Class에서 비즈니스의 흐름을 처리하고 Read•Write에 사용할 Query만 작성하면, 표준화된 아키텍처 기반의 배치 애플리케이션을 개발할 수 있습니다.
배치는 타 시스템•기관과의 연계를 위해 파일을 Input이나 Output으로 활용하는 경우가 많습니다. DevOn 배치는 금융권에서 주로 사용되는 정형화된 파일 레이아웃(Spec)을 이용하여 파일을 Read•Write 하는 빌트인된 모듈을 제공합니다.
파일 레이아웃 기반의 Reader•Writer을 이용하지 않는 경우에는 일일이 파일을 라인별로 읽어서 byte 구분 처리를 해야 하지만, DevOn 배치에서는 등록된 파일의 I/O 정보를 기반으로 데이터를 구분해 주어 자동으로 비즈니스 로직에서 사용할 수 있는 데이터형태로 변환하는 기능을 제공합니다. 이러한 기능을 통해 배치 개발 생산성을 향상시키고, 오류추적 등의 관리를 용이하게 합니다.
DB에서 대량 데이터의 조회나 쓰기 처리를 잘못 사용하게 되면 OutOfMemory 등의 비정상 처리결과가 발생할 수 있습니다. DevOn 배치에서는 DB처리의 성능 확보 및 실행 안정성을 보장하는 DB Reader•Writer를 제공하여 대량의 DB 데이터 처리가 가능한 배치 애플리케이션을 쉽게 개발할 수 있습니다.
또한, 배치 JOB 별로 Commit 건수를 제어할 수 있는 기능을 제공하는데요. 트랜잭션의 처리 여부를 업무 단위나 데이터 별로 관리해야 하는 배치 트랜잭션에 적합한 관리 기능 및 개발 편의성을 제공합니다.
DevOn 배치는 JOB 및 STEP의 실행 이력 관리 기능을 제공합니다. 배치의 처리결과 및 집계데이터, 수행시간 등을 관리화면을 통해 확인할 수 있습니다. 오류가 발생한 경우에는 오류의 발생원인 및 오류 메시지 확인을 통해 신속한 오류추적 및 원인분석이 가능합니다. 전체건수 및 성공 건수, 실패 건수 등을 집계데이터로 표시하여 데이터의 처리 흐름을 모니터링 할 수 있습니다.
DevOn 배치는 성능확보를 위한 병렬처리 기능을 제공합니다. 처리되는 데이터의 특성에 따라 Input Data를 분산처리하여 JOB을 병렬처리하거나, JOB에 속한 STEP을 병렬로 처리할 수 있습니다.
DevOn 배치에서는 JOB에 속한 Step 간의 의존관계를 설정하여, Step의 실행 흐름을 제어할 수 있습니다. 특정 Step이 종료된 이후에 다음 Step이 실행되어야 하는 처리 흐름의 제약사항이 필요한 경우 DevOn 배치의 선후 의존관계 설정 기능을 이용하면 별도의 프로그램 개발 없이 Step간의 선후관계 처리가 가능합니다.
지금까지 DevOn Enterprise Batch Framework에 대한 주요 특징 및 기능에 대해 살펴보았습니다. 배치 애플리케이션의 고성능과 안정성을 보장하고 관리 및 추적성을 제공하는 DevOn Enterprise Batch Framework은 효율적이고 안정적인 시스템 구축 및 운영을 위한 최적의 방안이 될 것입니다.
글 | LG CNS 아키텍처솔루션팀
[관련 글 보기]
[1편] ‘DevOn’ LG CNS 아키텍처 솔루션은 무엇일까?
[2편] 대용량 데이터 처리 업무에 효율을 더하다 ‘J-Jobs’
[3편] J-Jobs, ‘R’을 활용한 데이터 분석을 스마트하게!
[4편] [J-Jobs] REST API 플러그인을 통한 공공API기반 데이터 수집
[5편] 고객의 마음을 이해하는 APM 솔루션 ‘TunA’