TCP 아웃바운드 룰

개요

TCP 아웃바운드 룰은 TCP/IP 소켓 통신을 통해 외부 시스템을 호출하기 위한 규칙을 정의합니다. 금융권 전문 통신과 레거시 시스템 연동 등에 주로 사용됩니다.

TCP 아웃바운드 룰 생성

리소스 트리에서 원하는 거래 또는 거래그룹의 컨텍스트 메뉴를 열고 [리소스 생성] > [아웃바운드 룰] > [TCP 생성]을 선택합니다.

outbound rule create tcp
  • ① 기본 정보 설정

    TCP 아웃바운드 룰의 기본 정보를 입력합니다. 모든 아웃바운드 룰에 공통으로 적용되는 설정 항목은 공통 설정 항목을 참고합니다.

    항목 설명

    응답 방식 *

    메시지 응답 패턴을 선택합니다.

    • Request-Reply

      요청-응답 방식입니다. 요청 메시지를 전송 후 응답 메시지를 대기합니다.

    • One-Way

      단방향 방식입니다. 요청 메시지만 전송하고 응답을 대기하지 않습니다.

    다음은 Request-Reply 방식을 사용하는 시나리오 예시입니다.

    시나리오: 금융 전문 조회
    1. 고객 정보 조회 요청 전문 전송
    2. 외부 시스템에서 처리 후 응답 전문 반환
    3. 응답 전문을 파싱하여 결과 처리

    다음은 One-Way 방식을 사용하는 시나리오 예시입니다.

    시나리오: 로그 전송
    1. 로그 데이터 전문 전송
    2. 응답 대기 없이 즉시 다음 처리 진행
  • ② 요청/응답 메시지 설정

    아웃바운드 룰의 요청 및 응답 메시지를 설정하는 방법은 요청/응답 메시지 설정을 참고합니다.

  • ③ 코릴레이션 설정

    동일한 아웃바운드 엔드포인트로 비동기 요청을 전송하고 응답을 받을 때, 요청과 응답을 매칭하기 위한 코릴레이션(상관관계) 바인딩을 설정합니다.

    코릴레이션 설정 화면은 다음 두 조건을 모두 만족할 때에만 표시됩니다.

    • 아웃바운드 룰의 응답 방식이 Request-Reply로 설정되어야 합니다.

    • 선택한 아웃바운드 엔드포인트의 동기 모드가 '비동기’로 설정되어야 합니다.

    엔드포인트가 동기 모드일 때는 요청-응답이 순차적으로 처리되므로 코릴레이션이 필요하지 않습니다.

본 절에서 설명하는 아웃바운드 룰 코릴레이션은 동일한 아웃바운드 엔드포인트에서 요청-응답을 매칭합니다.

코릴레이션 바인딩

다음은 코릴레이션 설정이 필요한 경우와 그렇지 않은 경우를 정리한 표입니다.

응답 방식 엔드포인트 동기 방식 코릴레이션 설정 설명

Request-Reply

비동기

필요

비동기 통신 환경에서 요청-응답 매칭을 위해 필요

Request-Reply

동기

불필요

요청이 순차 처리되므로 불필요

One-Way

동기/비동기

불필요

응답을 수신하지 않으므로 불필요

다음과 같은 상황에서 비동기 방식으로 호출하는 엔드포인트로부터 응답을 수신합니다.

  • 다중 요청의 동시 처리

    하나의 연결에서 여러 요청이 동시에 전송되고, 응답이 요청 순서와 관계없이 도착하는 경우

  • 커넥션 풀 공유

    여러 스레드가 동일한 커넥션 풀을 공유하여 요청을 전송하는 경우

  • 비동기 응답 처리

    요청 순서와 응답 순서가 일치하지 않을 수 있는 경우

코릴레이션 바인딩은 요청 메시지의 특정 필드와 응답 메시지의 특정 필드를 기준으로 상관관계를 설정하여 요청-응답 쌍을 식별합니다.

다음은 코릴레이션을 바인딩하는 방법입니다.

  1. 바인딩할 요청 및 응답 메시지를 설정한 후 코릴레이션 설정 섹션에서 [+ 추가] 버튼을 클릭합니다.

    outbound rule select correlation message
  2. 코릴레이션 메시지 선택 다이얼로그가 표시되면, 선택한 메시지의 필드 정보를 확인한 후 바인딩할 필드를 선택합니다. 요청 필드와 응답 필드는 1:1로 매핑되어야 하며, 선택한 필드 개수가 일치하지 않으면 저장되지 않습니다.

    outbound rule select correlation field
  3. 설정이 완료되면 [확인] 버튼을 클릭합니다.

다음은 코릴레이션 바인딩의 예시입니다.

시나리오: 전문 번호로 요청-응답 매칭

요청 전문:
- 메시지: RequestMessage
- 필드: txNo (전문 번호)

응답 전문:
- 메시지: ResponseMessage
- 필드: txNo (전문 번호)

→ 요청의 txNo와 응답의 txNo가 일치하는 경우 매칭

메시지 타입별 코릴레이션 예시

다음은 메시지 타입별 코릴레이션 예시입니다.

고정 길이(Fixed-Length) 메시지

금융 전문에서 주로 사용되는 고정 길이 메시지의 코릴레이션 예시입니다.

시나리오: 금융 전문 번호 매칭 (고정 길이)

요청 전문 구조:
- 전문 번호 (txNo): offset 0, length 10

응답 전문 구조:
- 전문 번호 (txNo): offset 0, length 10

설정:
- 매칭 메시지 타입: FIXED
- 요청 필드: txNo
- 응답 필드: txNo

JSON 메시지

REST API 스타일의 JSON 메시지의 코릴레이션 예시입니다.

시나리오: REST API 요청 ID 매칭

요청 JSON:
{
  "requestId": "REQ-20250205-001",
  "data": { ... }
}

응답 JSON:
{
  "requestId": "REQ-20250205-001",
  "result": { ... }
}

설정:
- 매칭 메시지 타입: JSON
- 요청 필드: requestId
- 응답 필드: requestId