디퍼드 서비스 개요

개요

디퍼드 서비스는 송신 시스템의 DB 데이터를 준 실시간으로 수신 시스템의 DB로 전송할 때 사용한다. 디퍼드 서비스는 미리 지정된 작업 스케쥴(interval)에 의해 작업이 진행되며 처리대상 데이터 건수에 따라 작업 주기(interval)가 조정된다. 디퍼드 서비스를 적용하기 위해서는 송신 DB의 데이터 구조에는 일련번호 필드가 포함되어 있어야 한다. 디퍼드 서비스는 일련번호를 통해 작업이 수행되므로 일련번호 관리 방식에 따라 처리 방식이 달라진다.

일련번호 필드는 데이터 조회 결과에 포함되어 있어야 하며, 해당 필드는 key 필드로 지정되어야 한다(ISM:DeferredDB#송신 DB 데이터 구조 정의).

디퍼드 런타임 구성

디퍼드 서비스는 ISM 에이전트, 디퍼드 매니저, 그리고 각 송수신 시스템과 인터페이스를 수행하는 인터페이스 프로세스로 구성되어 있다. 디퍼드 서비스는 master-backup 모드 나 active-active 모드로 구성이 가능하다.

  • Master-backup 구성
    • 마스터 서버에서만 디퍼드 서비스가 수행된다. 마스터 서버의 장애 또는 마스터 서버의 디퍼드 매니저 장애 시 백업 서버의 디퍼드 매니저를 기동하여 디퍼드 서비스를 수행한다.
  • Active-active 구성
    • 양쪽 서버 모두에서 디퍼드 서비스가 수행된다. 그러나 동일한 디퍼드 서비스는 양쪽에서 동시에 수행될 수 없다. 따라서 한 쪽 서버의 장애 시에는 해당 서버에서 수행되던 디퍼드 서비스는 중지된다.

디퍼드 서비스는 ISM 에이전트에 의해 시작되고 제어된다. ISM 에이전트는 작업 주기에 따른 작업 실행을 디퍼드 매니저에 요청하고 디퍼드 매니저는 요청된 작업을 송수신 인터페이스 프로세스들을 이용하여 수행한 후 트랜잭션을 관리한다. ISM 에이전트는 같은 서버 또는 도메인 내에 존재하는 ISM 공통 프로세스이다.

디퍼드 서비스가 작업을 실행하는 도중에 마스터 서버의 송수신 프로세스에 장애가 발생하면 마스터 서버의 디퍼드 매니저는 백업 서버의 송수신 프로세스로 처리 요청을 보내 서비스를 수행한다. 송신 인터페이스 프로세스와 수신 인터페이스 프로세스 사이의 데이터 전송은 파일을 이용하기 때문에 기본적으로 디퍼드 매니저는 송신 인터페이스 프로세스의 위치와 동일한 서버에서 실행되고 있는 수신 인터페이스 프로세스에 작업을 요청한다. 단 마스터 서버와 백업 서버가 공유 디스크를 사용하여 동시에 동일 파일에 대해서 접근가능하다면 송신 프로세스의 위치에 관계없이 수신 프로세스를 사용하게 된다. 예를 들어, 송신 인터페이스 프로세스는 마스터 서버에, 수신 인터페이스 프로세스는 백업 서버에서 실행되는 구성이 가능하다.

ISM 에이전트

디퍼드 매니저

디퍼드 작업을 제어한다. 데이터 조회/반영에 대한 지시를 내리며, 각 단계의 결과가 성공일 때 다음 단계로 진행한다. 데이터 반영에 실패하였을 때, 작업을 롤백한다. 현재까지 작업한 위치(일련번호) 정보를 관리하며 다음 작업 요청을 수신하였을 때는 현재 위치 이후의 데이터에 대한 처리를 수행한다. 현재까지의 작업 위치 정보 설정은 디퍼드 서비스의 트랜잭션 범위 내에 포함된다.

인터페이스 프로세스

송신 또는 수신 시스템과 인터페이스를 수행하며 데이터를 가져오거나 전송하는 역할을 수행한다. 송신/수신 프로세스는 개별 디퍼드 서비스 내에서의 역할에 따라 나뉠 뿐이며 디퍼드 서비스에 따라 각 인터페이스 프로세스는 송신과 수신의 역할을 동시에 수행한다.

공통 프로세스

배치 서비스의 공통 프로세스와 유사하게 공통 시스템을 등록할 수 있다. 배치 서비스와 마찬가지로 ISM에 등록된 시스템 별로 해당 시스템이 디퍼드 서비스에서 사용될 때의 대행 시스템을 지정하면 디퍼드 매니저에서 해당 시스템이 아닌 대행 시스템 프로세스를 찾아서 서비스 수행 요청을 보낸다. 대행 시스템은 디퍼드 송신/디퍼드 수신의 두 가지 유형에 대해 각각 지정한다. 파일 시스템인 경우 수신 인터페이스에 대해 대행 시스템으로 처리 가능하다. DB 시스템인 경우 송신 인터페이스는 대행 시스템으로 처리 가능하다.

디퍼드 서비스 지원 인터페이스 유형

디퍼드 서비스에서 지원하는 인터페이스 방식은 다음과 같다.

  • 송신 시스템
    • 데이터베이스
  • 수신 시스템
    • 데이터베이스
    • 파일

별도의 인터페이스 방식으로 인터페이스를 원할 때는 커스텀 송신 프로세스 혹은 수신 프로세스를 구현해야 한다. 수신 시스템으로 서비스 호출 방식으로 데이터를 보내는 방식은 커스텀 인터페이스 구현을 통해 가능하다.