BX Framework
이 문서는 BX Framework 에 대해 설명합니다.
1. BX Framework이란 ?
BX Framework(BXM)는 금융회사에서 사용하는 Application을 개발하기 위한 개발환경과 실행하기 위한 아키텍처를 제공하고 있습니다. 금융 Application을 위한 아키텍처로 온라인 아키텍처, 배치 아키텍처, 센터컷 아키텍처, 후행 아키텍처를 제공합니다.
2. 개발환경
개발자가 순수 업무 로직 구현에 집중할 수 있고 신속/유연한 개발을 할 수 있도록 IO, DBIO, Service, Bean 등 각종 컴포넌트 작성할 수 있는 도구 및 테스트 툴이 포함된 통합 개발환경을 제공합니다.
-
각종 Wizard 및 자동생성 기능 제공
-
설계, 개발 및 테스트를 통합적으로 할 수 있는 통합 개발환경 제공
-
실시간 코드 Inspection을 통한 표준화 강제
-
Wizard, Template 기반으로 표준 준수
-
구축된 모듈의 재사용을 위한 손쉬운 탐색
-
표준 I/O 구조를 통해 모듈간 의존성 제거
-
전문 기반의 손쉬운 서비스 테스트 지원
-
회귀 테스트 및 반복 테스트 지원
-
Service, Bean, IO, DBIO 등 Component 별로 생산성 있는 개발툴 제공
-
통합 Application 품질 및 각종 테스트 지표 제공
-
예외, 코드품질 관리 및 디버깅 기능 제공

3. 아키텍처
3.1. 온라인 아키텍처
온라인 아키텍처는 계층적 처리구조를 가지고 있으며, 채널, 서비스제어, 비즈니스, 인터페이스 레이어로 분리되어 효율적인 공통 처리가 가능한 구조를 제공합니다.
-
Channel Layer
-
다양한 프로토콜과 메지지 포맷 지원
-
메시지 <→ DTO 자동 변환
-
-
Service Control Layer
-
거래제어 및 서비스 라우팅
-
계층적 거래처리 구조 (선후처리)
-
-
Business Layer
-
POJO 기반의 Bean
-
DTO를 통한 모듈 간 연계
-
싱글톤 기반 팩토리 구조
-
-
External Access Layer
-
표준화된 DB Access
-
대내/대외 시스템 Interface (Sync/Async)
-

3.2. 배치 아키텍처
Spring Batch 기반의 BX Framework(BXM) 배치 아키텍처는 대용량 배치 작업을 손쉽게 개발하고 운영할 수 있는 안정적 실행환경을 제공합니다. Framework은 Step의 Flow와 Transaction 처리를 담당하고, 개발자는 한 건을 처리하는 Processor만 구현하면 됩니다.
-
일반 배치
-
Job Scheduler에 의해 정해진 시간에 주기적 혹은 비주기적으로 구동되는 배치
-
-
온디맨드 배치
-
온라인에서 호출 되어 수행이 되는 배치 - 수분 이내(Short Term) 로 수행되고 종료하는 배치
-
-
데몬 배치
-
일정 주기로 반복 수행하는 처리 배치
-

3.3. 센터컷 아키텍처
작업 관리, 분산처리, 병렬처리 기능을 제공하며, 처리 대상 생성 및 결과 기록을 개발자가 자유롭게 변경할 수 있도록 처리패턴을 제공하여 유연하면서 고성능의 아키텍처 제공합니다.
-
작업 생성 및 요청 방식 구분
-
배치에 의한 데이터생성, 배치에 의한 센터컷 개시
-
배치에 의한 데이터생성, 스케줄러에 의한 센터컷 개시
-
온라인에 의한 데이터 일괄 생성, 스케줄러에 의한 센터컷 개시
-
온라인에 의한 데이터 단건 생성, 스케줄러에 의한 센터컷 개시
-
-
병렬처리 방식구분
-
일반병렬
-
순차병렬
-
-
병렬처리 및 유량제어
-
순차 병렬 처리 지원
-
노드 별 처리상태에 따라 작업량 자동조절
-
실시간 동적 유량제어
-
-
오류 재처리
-
업무성격에 따라 오류 시 자동 중지/계속 처리여부 설정
-
오류작업건을 재등록하여 처리
-

3.4. 후행 아키텍처
후행 처리 아키텍처는 동일 원장 lock 방지를 통해 온라인 거래 응답 시간을 단축시키고, 타 시스템으로 전송해야 하는 정보를 온라인에서 준 실시간으로 보낼 수 있도록 다양한 기능을 제공합니다.
-
업무 정합성 관리
-
업무 개시 및 마감에 따른 후행 관리
-
후행 입력 데이터에 대한 결번 없는 Numbering 처리
-
후행 처리 데이터에 대한 정상/오류/미처리
-
-
고성능 처리
-
Near-Real time 의 고성능 처리
-
멀티 노드, 병렬 처리 지원
-
실시간 동적 로드 밸런싱에 의한 유량 제어
-
장애 Fail-over 보장
-
-
오류 재처리
-
후행 처리 업무 특성에 따라 오류 시 자동중지/계속처리 설정
-
오류 작업 건에 대한 자동 재처리 및 중지 조건 관리
-
오류 내역에 대한 추적 관리
-
