TCP 어댑터

TCP 어댑터는 TCP 프로토콜 기반의 통신을 담당하는 최상위 컴포넌트입니다.

어댑터 생성

TCP 어댑터의 생성 방법 및 어댑터 공통 설정 항목에 대해서는 어댑터 생성을 참고합니다.

다음은 TCP 어댑터 생성 시 추가 설정이 필요한 항목입니다.

항목 설명

IP 접속 제어 *

연결을 시도하는 클라이언트를 제어합니다. 어댑터에 지정한 설정은 하위 엔드포인트 그룹, 엔드포인트에서 사용할 수 있습니다.

  • 모든 요청 처리: 모든 IP에서의 접근을 허용합니다.

  • 특정 IP rule 처리: 등록된 IP 주소만 접근을 허용합니다.

'특정 IP rule 처리'를 선택한 경우에는 허용할 IP를 등록해야 합니다.

엔드포인트 그룹 생성

TCP 엔드포인트 그룹은 여러 TCP 엔드포인트를 하나의 그룹으로 묶어 관리할 수 있게 해줍니다.

TCP 엔드포인트 그룹의 생성 방법 및 설정 항목은 엔드포인트 그룹 생성을 참고합니다.

엔드포인트 생성

TCP 엔드포인트는 실제 TCP 통신을 처리하는 최종 컴포넌트입니다.

다음과 같은 메시지 길이 처리 방식을 지원합니다.

  • 고정 길이

  • 메시지의 특정 값에 따라 길이가 결정되는 방식

  • 구분 문자(Delimiter)를 사용하여 메시지의 끝을 구분하는 방식

TCP 엔드포인트는 인바운드 방식과 아웃바운드 방식을 모두 지원하며, 통신 방향에 따라 동작 방식이 달라집니다. 또한 외부 시스템과의 연결 방식에 따라 서버 모드와 클라이언트 모드로 나누어집니다.

다음은 TCP 엔드포인트 생성 화면입니다. TCP 엔드포인트 생성 화면으로 이동하는 방법은 엔드포인트 생성을 참고합니다.

tcp ep inbound form

기본 설정

다음은 인바운드 및 아웃바운드 TCP 엔드포인트에 공통으로 적용되는 기본 설정 항목입니다.

항목 설명

엔드포인트 아이디 *

엔드포인트의 고유 식별자입니다. 영문, 숫자, 언더스코어(_)를 조합하여 2~32자 이내로 입력합니다.

엔드포인트 이름

엔드포인트의 표시 이름을 입력합니다. 미입력 시 아이디 값으로 자동 설정됩니다.

통신 방향 *

엔드포인트의 통신 방향을 설정합니다.

  • Inbound: 외부로부터 메시지를 수신하기 위한 엔드포인트입니다.

  • Outbound: 외부로 메시지를 전송하기 위한 엔드포인트입니다.

부팅 초기값 *

엔드포인트의 초기 실행 상태를 지정합니다.

  • 실행: 엔진 기동 혹은 엔드포인트 배포 시 엔드포인트가 자동으로 시작됩니다.

  • 정지: 엔진 기동 혹은 엔드포인트 배포 시 엔드포인트가 시작되지 않습니다.

설명

엔드포인트에 대한 설명을 입력합니다.

연결 정보 설정

[연결 정보] 탭에서 TCP 엔드포인트의 연결 방식과 기본 인코딩을 설정합니다.

항목 설명

연결 방식 *

서버 모드와 클라이언트 모드 중에서 선택합니다. 각 모드별 상세 설정은 해당 절을 참고합니다.

  • 서버: 외부 시스템의 연결 요청을 수신하며, 지정한 포트에서 연결을 대기합니다.

  • 클라이언트: 지정한 서버 주소와 포트로 연결을 요청하여 통신합니다.

기본 인코딩 *

메시지 송수신 시 사용할 기본 문자 인코딩을 설정합니다.

  • EUC_KR

  • UTF8 (기본값)

서버 모드 설정

다음은 TCP 엔드포인트의 서버 모드 설정 항목에 대한 설명입니다.

tcp ep server mode
항목 설명 비고

포트 *

연결 요청을 수신할 포트 번호를 설정합니다. (1~65535)

오류 시 연결 유지

거래 배포 오류가 발생할 경우 연결 유지 방식을 설정합니다.

  • 사용함: 거래 에러가 발생해도 연결을 유지합니다.

  • 사용 안 함: 거래 에러가 발생하면 연결을 종료합니다.

Inbound 전용 설정

동기 방식

통신의 동기 방식을 설정합니다.

  • 동기: 요청 후 응답을 동기적으로 대기합니다.

  • 비동기: 요청 후 즉시 반환하고, 응답은 코릴레이션을 통해 매칭합니다.

Outbound 전용 설정

최대 연결 수

최대 연결 수를 설정합니다. 연결이 최대 연결 수를 초과하면 연결을 종료합니다. (기본값: 3)

IP 접속 제어

엔드포인트에 연결을 시도하는 클라이언트를 IP로 제어합니다.

  • 상위 어댑터 방식 사용 (기본값)

  • 모든 요청 처리: 모든 IP에서의 접근을 허용합니다.

  • 특정 IP rule 처리: 등록된 IP 주소만 접근을 허용합니다.

클라이언트 모드 설정

다음은 TCP 엔드포인트의 클라이언트 모드 설정 항목에 대한 설명입니다.

tcp ep client mode
항목 설명 비고

IP/Host *

연결할 IP 주소 또는 호스트 이름을 입력합니다.

포트 *

연결할 포트 번호를 입력합니다. (1~65535)

동기 방식

통신의 동기 방식을 지정합니다.

  • 동기: 요청 후 응답을 동기적으로 대기합니다.

  • 비동기: 요청 후 즉시 반환하고, 응답은 코릴레이션을 통해 매칭합니다.

Outbound 전용 설정

연결 전략

연결 전략을 지정합니다. 각 옵션 선택 시 표시되는 추가 필드에 대한 설명은 항목별 설명을 참고합니다.

Inbound의 경우 연결 풀 사용이 자동으로 선택됩니다.

연결 전략 - 연결 풀 사용

커넥션 풀을 사용하여 연결을 재사용합니다. 다음은 추가 설정 항목입니다.

항목 설명

거래 성공 후 연결 처리 방식

거래 성공 후 연결을 풀에 반환합니다.

거래 에러 후 연결 처리 방식

거래 에러 후 연결 처리 방식을 설정합니다.

  • 연결 풀에 반환: 에러 발생 후에도 연결을 풀에 반환합니다.

  • 연결 종료 후 풀에서 제거: 에러 발생 시 연결을 종료하고 풀에서 제거합니다.

연결 타임아웃

연결 타임아웃 시간을 설정합니다. (단위: ms)

소켓 타임아웃

소켓 통신 타임아웃 시간을 설정합니다. (단위: ms)

최소 유휴 연결 수

풀에서 유지할 최소 유휴 연결 수를 설정합니다. 1 이상의 값을 입력해야 합니다.

최대 연결 수

최대 연결 수를 설정합니다. 1 이상의 값을 입력해야 합니다.

Evictor 실행 주기

유휴 연결 정리 작업의 실행 주기를 설정합니다. (단위: ms, 최소값: 1000)

초과 연결의 유휴 시간 제한

최소 유휴 연결 수 초과분의 최대 유휴 시간을 설정합니다. (단위: ms, 최소값: 1000)

연결 전략 - 매 거래마다 새 연결

매 거래마다 새 연결을 생성합니다. 다음은 추가 설정 항목입니다.

항목 설명

거래 성공 후 연결 처리 방식

거래 성공 후 연결을 종료합니다.

거래 에러 후 연결 처리 방식

에러 발생 후 연결을 종료합니다.

연결 타임아웃

연결 타임아웃 시간을 설정합니다. (단위: ms)

소켓 타임아웃

소켓 통신 타임아웃 시간을 설정합니다. (단위: ms)

동시 최대 연결 수 *

동시에 허용할 최대 연결 수를 설정합니다. 1 이상의 값을 입력해야 합니다.

상세 설정

[상세 설정] 탭은 인바운드 엔드포인트 설정 시에만 표시됩니다.

항목 설명

거래 설정

엔드포인트에서 수신한 요청을 수행할 거래그룹 또는 거래를 선택합니다.

메시지 설정

[메시지 설정] 탭에서는 엔드포인트의 메시지 처리 옵션을 설정합니다.

항목 설명

메시지 프레임 설정 *

TCP 메시지의 경계를 식별하는 방식을 선택합니다. 각 옵션 선택 시 표시되는 추가 필드에 대한 설명은 표 하단의 항목별 설명을 참고합니다.

  • 헤더에 길이 정보 포함: 헤더에서 메시지 길이 정보를 추출합니다.

  • 고정 길이: 미리 정의된 길이만큼 메시지를 읽습니다.

  • End 문자 지정: 종료 구분자를 기준으로 메시지 경계를 식별합니다.

  • EOD: End of Data로 메시지 경계를 식별합니다. 네트워크 지연 환경에서는 메시지 분리 오류가 발생할 수 있으므로 주의가 필요합니다.

  • StxEtxChar: 시작 문자(STX)와 종료 문자(ETX)를 사용하여 메시지 경계를 식별합니다.

아웃바운드 별도 설정 여부

아웃바운드 메시지 프레임을 인바운드와 별도로 설정할지 여부를 지정합니다. 활성화하면 아웃바운드 전용 메시지 프레임 설정을 추가로 입력할 수 있습니다.

  • 사용함: 외부 시스템으로 전송하는 메시지의 프레임 구조가 수신 메시지와 다른 경우 사용합니다.

  • 사용 안 함: 인바운드와 동일한 메시지 프레임 설정을 사용합니다.

헤더에 길이 정보 포함 시 추가 설정

헤더에서 메시지 길이 정보를 추출하여 메시지 경계를 식별할 경우의 추가 설정 항목입니다.

항목 설명

헤더 종류 *

'Communication'이 자동 선택됩니다. (통신 헤더)

헤더 길이 *

헤더 길이를 설정합니다. (단위: byte)

메시지 정합성 검사 사용

수신된 메시지의 특정 위치 값을 기준으로 메시지 정합성을 검사합니다.

  • 사용함: 정합성 검사를 수행합니다. 아래 항목을 추가로 설정합니다.

    • 식별값: 정합성 검사 기준이 되는 값을 입력합니다. 메시지의 해당 위치 값과 일치하지 않으면 오류로 처리합니다.

    • 오프셋: 식별값의 시작 위치(byte)를 설정합니다.

    • 길이: 식별값의 길이(byte)를 설정합니다.

  • 사용 안 함: 정합성 검사를 수행하지 않습니다.

헤더 사이즈 포함 *

길이 정보에 헤더 크기를 포함할지 여부를 설정합니다.

길이 정보 트림 사용 여부 *

길이 정보의 앞뒤 공백을 제거할지 여부를 설정합니다.

다음은 헤더 길이 포함 여부에 따른 메시지 길이 값 예시입니다.

* 포함 (Yes): 0014AAAAABBBBB
 길이 정보에 헤더(4 byte)와 본문(10 byte)을 모두 포함합니다.
 총 메시지 길이: 14 byte

* 미포함 (No): 0010AAAAABBBBB
 길이 정보에 본문 길이만 포함합니다.
 본문 길이: 10byte
고정 길이 설정
항목 설명

메시지 고정 길이

메시지 길이를 입력합니다. (단위: byte)

다음은 고정 길이 설정 예시입니다.

메시지 길이: 200

"TRX001    AMOUNT00010000    ..."

- 메시지는 항상 200 byte로 처리됩니다.
- 데이터가 부족한 경우 공백으로 패딩됩니다.
End 문자 지정 설정
항목 설명

End 문자 *

종료 구분자 문자를 설정합니다.

메시지 내 End 문자 포함 여부 *

종료 구분자 문자를 메시지 데이터에 포함할지 여부를 지정합니다.

다음은 줄바꿈(LF) 문자를 종료 구분자로 사용하는 예시입니다.

End 문자: 0x0A (LF), HEX 사용: ON

"REQUEST:GET_STATUS" + 0x0A
StxEtxChar 설정
항목 설명

Stx 문자 *

메시지 시작을 나타내는 문자를 입력합니다.

Etx 문자 *

메시지 종료를 나타내는 문자를 입력합니다.

메시지 내 StxEtx 문자 포함 여부 *

시작 문자와 종료 문자를 메시지에 포함할지 여부를 설정합니다.

다음은 ASCII STX/ETX 문자를 사용하는 예시입니다.

Stx 문자: 0x02, Etx 문자: 0x03, HEX 사용: ON

0x02 + "TRANSACTION_DATA" + 0x03

사용 예시

금융권 전문 통신 (서버 모드)

외부 금융 기관으로부터 전문 메시지를 수신하는 인바운드 TCP 엔드포인트 설정 예시입니다.

시나리오
외부 기관 (클라이언트) → AnyLink (서버) → 내부 시스템

엔드포인트 설정 예시입니다.

항목 설정값

통신 방향

Inbound

부팅 초기값

실행

연결 방식

서버

포트

9090

최대 연결 수

10

오류 시 연결 유지

사용함

메시지 프레임 설정 예시입니다.

항목 설정값

메시지 프레임 설정

헤더에 길이 정보 포함

헤더 길이

4

Primitive 타입 사용

OFF

오프셋

0

헤더 사이즈 포함

포함

길이 정보 트림 사용 여부

사용함

시나리오에서 위와 같이 엔드포인트, 메시지 프레임을 설정한 경우의 메시지 예시입니다.

0100ABCD...

- 헤더 4 byte(`0100`)는 전체 메시지 길이(100 byte)를 의미합니다.
- 길이 정보에는 헤더 길이가 포함됩니다.

외부 시스템 호출 (클라이언트 모드)

외부 레거시 시스템에 TCP 요청을 전송하는 아웃바운드 TCP 엔드포인트 설정 예시입니다.

시나리오
AnyLink (클라이언트) → 외부 레거시 시스템 (서버)

엔드포인트 설정 예시입니다.

항목 설정값

통신 방향

Outbound

부팅 초기값

실행

연결 방식

클라이언트

IP/호스트

192.168.1.100

포트

8080

동기 방식

동기

연결 전략

연결 풀 사용

연결 풀 설정 예시입니다.

항목 설정값

최소 유휴 연결 수

5

최대 연결 수

20

연결 타임아웃

5000 ms

소켓 타임아웃

30000 ms

거래 에러 후 연결 처리 방식

연결 종료 후 풀에서 제거

다음은 위와 같이 엔드포인트, 연결 풀을 설정한 경우의 메시지 송수신 예시입니다. 메시지 프레임은 헤더 4 byte에 전체 메시지 길이를 포함하는 방식으로 설정되어 있다고 가정합니다.

요청 (AnyLink → 외부 레거시 시스템)
0100ABCD...

응답 (외부 레거시 시스템 → AnyLink)
0080WXYZ...

- 요청 메시지의 헤더 4 byte(0100)는 전체 요청 메시지 길이(100 byte)를 의미합니다.
- 응답 메시지의 헤더 4 byte(0080)는 전체 응답 메시지 길이(80 byte)를 의미합니다.
- 동기 방식으로 설정되어 있으므로 AnyLink는 요청 전송 후 외부 시스템의 응답을 기다립니다.