배치 DB 인터페이스

개요

송신 시스템에서 테이블 데이터 전송을 요청하였을 때 ISM에서 룰에 지정된 쿼리를 이용하여 데이터를 조회하여 수신 시스템으로 전송하는 서비스이다. DB 배치 서비스는 DB – DB 서비스, DB -파일 서비스로 구분된다.

트랜잭션 관리

트랜잭션은 트랜잭션 단위로만 지원한다. 건별 트랜잭션 처리는 지원하지 않는다.

전송 가능 데이터

DB 배치 방식으로 전송 가능한 데이터는 다음과 같다.

항목 설명 비고
데이터 조회 방법 한 번의 쿼리로 조회할 수 있는 데이터 여러 개의 테이블에서 데이터를 조회해야 할 경우 join이 되지 않는 경우는 처리 할 수 없음.
처리 대상 데이터 타입 처리 가능한 데이터 타입 ascii 데이터만 가능 binary 데이터가 포함되면 처리하지 못함
처리 대상 데이터 크기 한 번의 작업으로 처리 가능한 데이터 건수. 제한 없음. 건수가 큰 경우 룰에 지정한 처리단위(fetch건수)로 트랜잭션 처리.

처리 대상 데이터가 큰 경우 요청을 보낸 배치 에이전트에서 타임아웃이 발생할 수 있으므로 배치 에이전트는 응답을 대기하지 말고 별도로 처리 결과 확인이 필요하다.

DB 접속 방법

송신 DB 접근 방법

JDBC에서 지원하는 방식으로 접근하며 룰 정의 시 JDBC Type을 지정할 수 있다. 송신은 데이터 조회 시에만 사용하므로 트랜잭션 관리가 필요없다.

수신 DB 접근 방법

XA 트랜잭션으로 처리할 경우 플랫폼에서 제공하는 Adapter/Datasource를 사용하여 접근한다.

  • JBoss
    • XA Datasource
  • BW
    • RDBMS Connector

(*) XA 트랜잭션이 아닌 경우, ISM에 등록된 정보를 이용하여 송신과 동일한 방식으로 접근한다.

지원하는 데이터베이스

ISM에서 송신 DB로서 지원하는 데이터베이스는 다음과 같다.

  • 오라클
  • DB2
  • MS-SQL
  • Informix
  • Sybase
  • Mysql
  • Teradata

송신 DB에 접근할 때 지원하는 JDBC 타입은 다음과 같다.

JDBC TYPE 설명 오라클 MS-SQL Infomix DB2 Others
1 JDBC-ODBC Bridge O(4로 전환) O(4로 전환) O(4로 전환) O(4로 전환) O(4로 전환)
2 Native-API Driver specification O(OCI) O(app)
3 Network-Protocol Driver
4 Native-Protocol Driver O(Thin) O O O(net) O

DB-DB 배치 서비스

서비스 정의

송신 서비스 정의

송신 서비스에는 데이터 조회에 사용할 SQL 쿼리를 등록한다. 데이터 조회 대상 테이블이 일련번호 초기화 조건에 의해 변경되어야 할 경우, 테이블명관리 클래스를 지정한다. 데이터 처리 단위(fetch 건수)를 지정한다. 트랜잭션 단위를 의미하며 처리 대상 데이터 건수가 fetch 건수보다 크면 여러 번에 걸쳐 분할하여 처리한다. 데이터 조회 방법이 입력된 조회 쿼리로 처리할 수 없는 경우 Custom Query Handler를 지정한다. Custom Query Handler는 DB 서비스 정의 시 함께 정의한다.

수신 서비스 정의

파일-DB 배치 서비스의 수신 서비스 정의를 따른다.

데이터 구조 정의

송신 DB 데이터 구조 정의
  • 입력 DB 데이터 구조는 여러 개의 필드 그룹을 가질 수 없다.
  • DB 입력 데이터는 무조건 구분자 길이 데이터이다.
  • 필드 구분자, 레코드 구분자 모두 입력할 필요 없다.

date 타입에 대한 구조 정의는 파일-DB 배치의 Date타입 처리 규칙을 따른다.

수신 DB 데이터 구조 정의
  • 수신 DB 전송 데이터 구조는 여러 개의 필드 그룹을 가질 수 없다.
  • 수신 DB 전송 데이터는 무조건 구분자 길이 데이터이다.
  • 필드 구분자, 레코드 구분자 모두 입력할 필요 없다.

date 타입에 대한 구조 정의는 파일-DB 배치의 Date타입 처리 규칙을 따른다.

  • 수신 SQL 쿼리 생성 시 SQL Function 사용이 필요한 경우 필드 그룹에 SQL Function 여부를 지정한다.
  • update 쿼리 생성이 필요한 경우 필드 그룹 정의 시 key 필드를 지정해야 한다.

서비스 모델 정의

인터페이스 서비스들을 송신과 수신으로 구성하고 송신에서 수신으로 요청을 전달할 때의 라우팅 규칙, 매핑 규칙 등을 정의한다. 서비스 모델을 통해 송신 서비스에서 수신 서비스(들)에 이르는 서비스 흐름을 정의한다. 서비스 흐름 정의 시 순차 처리인지 병렬 처리인지 여부를 설정한다. 병렬 처리는 배치 서비스에서는 사용하지 않는다.

송신 서비스

속성 설명
패턴 시스템 인터페이스 패턴 ACK 전송을 설정한다.

라우팅

속성 설명 허용값
라우팅 결정 방식 수신 서비스를 찾기 위한 방법을 결정한다. All
라우팅 입력 필드 라우팅 결정 방식이 All이 아닐 때 입력 필드를 지정한다.
라우팅 패턴 값 지정된 입력 필드의 값, 패턴, 또는 연산의 결과 값을 지정한다. 동일한 값이 설정된 수신 서비스로 요청을 전달한다.
서비스 매핑 송신 서비스와 수신 서비스 사이의 변환 규칙을 정의한다. 매핑 규칙.
오류 매핑 수신 서비스로 부터 오류 응답이 되돌아왔을 때의 변환 규칙을 정의한다.
수신 서비스 라우팅 패턴값 별로 요청을 전달할 수신 서비스를 지정한다. 수신 서비스

수신 서비스

속성 설명
패턴 시스템 인터페이스 패턴 ACK 전송을 설정한다.

통합 서비스 정의

통합 서비스는 서비스 모델에서 정의한 서비스가 실행되는 송신 수신 시스템을 지정하며 기타 배치 서비스 규칙을 정의한다.

배치 통합 서비스로서 처리 흐름 외에 설정해야 할 정보는 다음과 같다.

속성 설명
2PC 여부 2PC 거래가 아니면 송신 인터페이스 프로세스와 수신 인터페이스 프로세스 사이는 트랜잭션이 분리된다.
메시지 검증 여부 입력 메시지를 필드 단위로 분석하고 검증 조건을 적용하여 검증한다. 검증 조건이 없으면 길이와 유형을 검사한다.
선처리 DB 데이터 전송 전에 수행해야 하는 작업
후처리 파일 데이터 전송 후에 수행해야 하는 작업
1회 조회건수 0으로 설정 시 10000건 단위로 처리한다.
전송방식 간접 전송만 사용 가능.
롤백 유형 전체 – 한 건이라도 실패하면 전체 롤백
(*) 전체의 범위는 1회 조회건수만큼의 데이터를 의미한다.
실패한 데이터 – 실패한 데이터가 있더라도 계속 진행.
대기 타임아웃 송신 인터페이스 프로세스에서 데이터 조회 결과 파일을 생성할 때까지 배치 매니저가 대기하는 시간. 기본 60초를 대기한다.
전송파일 유형 해당 사항 없음
파일 구분자 클래스 해당 사항 없음

서비스 모델에 정의된 송수신 인터페이스 서비스를 수행할 대상 시스템을 지정하고 해당 시스템들과의 인터페이스 시 사용할 타임아웃 값을 정의한다. 타임아웃 값은 파일 인터페이스에서만 사용된다.

DB - 파일 배치 서비스

서비스 정의

송신 DB 서비스 정의

송신 DB 서비스 정의는 DB-DB 배치 서비스의 송신 서비스 정의(ISM:BatchDB#송신 서비스 정의)를 따른다.

수신 파일 서비스 정의

수신 파일 서비스 정의는 파일-파일 배치 서비스의 수신 파일 서비스 정의(ISM:BatchFile#수신 파일 서비스 정의)를 따른다.

처리 대상 데이터 건수가 1회 조회 건수 단위보다 클 경우, 파일 서비스의 중복 처리 옵션을 덮어쓰기 또는 추가하기 모드로 설정한다.
덮어쓰기로 설정하더라도 여러 개의 파일로 나뉘어서 전송할 경우에는 자동으로 추가하기 모드로 작동한다.

데이터 구조 정의

송신 DB 데이터 구조 정의

송신 데이터 구조 정의는 DB-DB 배치 서비스의 송신 DB 데이터 구조 정의(ISM:BatchDB#송신 DB 데이터 구조 정의)를 따른다.

수신 파일 데이터 구조 정의

신 파일 데이터 구조 정의는 파일-파일 배치 서비스의 파일 데이터 구조 정의(ISM:BatchFile#파일 데이터 구조 정의)를 따른다.

서비스 모델 정의

인터페이스 서비스들을 송신과 수신으로 구성하고 송신에서 수신으로 요청을 전달할 때의 라우팅 규칙, 매핑 규칙 등을 정의한다. 서비스 모델을 통해 송신 서비스에서 수신 서비스(들)에 이르는 서비스 흐름을 정의한다. 서비스 흐름 정의 시 순차 처리인지 병렬 처리인지 여부를 설정한다. 병렬 처리는 배치 서비스에서는 사용하지 않는다.

송신 서비스

속성 설명
패턴 시스템 인터페이스 패턴 ACK 전송을 설정한다.

라우팅

속성 설명 허용값
라우팅 결정 방식 수신 서비스를 찾기 위한 방법을 결정한다. All
라우팅 입력 필드 라우팅 결정 방식이 All이 아닐 때 입력 필드를 지정한다.
라우팅 패턴 값 지정된 입력 필드의 값, 패턴, 또는 연산의 결과 값을 지정한다. 동일한 값이 설정된 수신 서비스로 요청을 전달한다.
서비스 매핑 송신 서비스와 수신 서비스 사이의 변환 규칙을 정의한다. 매핑 규칙.
오류 매핑 수신 서비스로 부터 오류 응답이 되돌아왔을 때의 변환 규칙을 정의한다.
수신 서비스 라우팅 패턴값 별로 요청을 전달할 수신 서비스를 지정한다. 수신 서비스

수신 서비스

속성 설명
패턴 시스템 인터페이스 패턴 ACK 전송을 설정한다.

통합 서비스 정의

통합 서비스는 서비스 모델에 정의된 서비스를 수행할 송신 수신 시스템을 지정하며 기타 배치 서비스 수행 시의 규칙을 정의한다.

배치 통합 서비스로서 처리 흐름 외에 설정해야 할 정보는 다음과 같다.

속성 설명
2PC 여부 2PC 거래가 아니면 송신 인터페이스 프로세스와 수신 인터페이스 프로세스 사이는 트랜잭션이 분리된다.
메시지 검증 여부 입력 메시지를 필드 단위로 분석하고 검증 조건을 적용하여 검증한다. 검증 조건이 없으면 길이와 유형을 검사한다.
선처리 DB 데이터 전송 전에 수행해야 하는 작업
후처리 파일 데이터 전송 후에 수행해야 하는 작업
1회 조회건수 0으로 설정 시 10000건 단위로 처리한다.
전송방식 간접 전송만 사용 가능.
롤백 유형 전체 – 한 건이라도 실패하면 전체 롤백
(*) 파일의 경우 전체 롤백만 가능하다.
대기 타임아웃 송신 인터페이스 프로세스에서 데이터 조회 결과 파일을 생성할 때까지 배치 매니저가 대기하는 시간. 기본 60초를 대기한다.
전송파일 유형 해당 사항 없음
파일 구분자 클래스 해당 사항 없음

서비스 모델에 정의된 송수신 인터페이스 서비스를 수행할 대상 시스템을 지정하고 해당 시스템들과의 인터페이스 시 사용할 타임아웃 값을 정의한다. 타임아웃 값은 파일 인터페이스에서만 사용된다.