거래/거래그룹 에디터

본 장에서는 AnyLink 스튜디오에 내장된 거래/거래그룹 에디터의 기능과 사용법에 대해 설명한다.

1. 거래/거래그룹 생성

거래/거래그룹 정보는 AnyLink의 RTE(RunTime Engine Server)의 실행에 필요한 비즈니스 리소스 중 하나로 업무 또는 거래와 관련되어 있다. 거래와 거래그룹으로 구성되어 있고 트리구조를 이룬다. 거래 및 거래구조는 요청 메시지, 응답 메시지, 비정상 응답 메시지로 이루어져 있고, 거래 트리의 기본 목적은 요청 메시지를 파싱하여 메시지 내용에 맞는 AnyLink의 엔진 내부 서비스를 호출하는 것이다.

거래 및 거래그룹은 노드 타입에 따라 최상위 거래그룹(Root), 거래그룹(Middle), 거래(Leaf)로 구분이 된다.

 

최상위 거래그룹 생성

최상위 거래그룹을 생성하기 위해 네비게이터의 프로젝트 리소스의 컨텍스트 메뉴에서 [새로만들기] > [거래/거래그룹]을 선택한다. 거래/거래그룹 생성 화면의 각 항목을 입력하고 [Finish] 버튼을 클릭한다.

figure root trade creation dialog
거래/거래그룹 생성 화면 - 최상위 거래그룹(Root)
항목 설명

패키지 이름

Java와 같이 해당 거래가 저장될 패키지 이름을 입력한다. 패키지명과 같이(예: com.tmax.tc_tutorial) 자동으로 디렉터리를 생성해 준다.

거래 ID

거래 리소스 아이디를 입력한다.

영어, 숫자, 특수문자(_)만 사용이 가능하며 첫 글자는 소문자로 입력한다.

거래 이름

거래 이름을 입력한다.

한글, 영어, 숫자, 특수문자 입력이 가능하다. 거래 이름은 XML Naming Convention을 따른다.

 

거래/거래그룹 생성

거래/거래그룹을 생성하기 위해 네비게이터의 거래그룹 리소스의 컨텍스트 메뉴에서 [새로만들기] > [거래/거래그룹]을 선택한다. 거래/거래그룹 생성 화면의 각 항목을 입력하고 [Finish] 버튼을 클릭한다.

figure trade creation dialog
거래/거래그룹 생성 화면 - 거래그룹(Middle), 거래(Leaf)
항목 설명

노드 타입

노드 타입에 따라 '거래그룹', '거래’를 선택한다.

거래 ID

거래 리소스 아이디를 입력한다.

영어, 숫자, 특수문자(_)만 사용이 가능하며 첫 글자는 소문자로 입력한다.

거래 이름

거래 이름을 입력한다.

한글, 영어, 숫자, 특수문자 입력이 가능하다. 거래 이름은 XML Naming Convetion을 따른다.

2. 거래/거래그룹 에디터

거래/거래그룹 에디터는 거래(그룹) 정보, 거래(그룹)옵션, 파싱 정보, 파싱 옵션, XML 뷰어 탭으로 구성된다. 각 항목에 들어가기 위해서는 리소스 View의 하단에 있는 각 항목 탭을 클릭한다.

2.1. 거래/거래그룹 정보

[거래/거래그룹 정보] 탭은 기본 정보, 요청 메시지, 정상 응답 메시지, 업무오류 응답 메시지, 오류 응답 처리, 호출 서비스로 구성된다. 호출 서비스 거래에만 존재한다.

 

기본 정보

figure trade info section
[거래(그룹) 정보] - [기본 정보]
항목 설명

거래그룹 ID

거래그룹의 아이디로 거래그룹을 생성할 때 입력한 내용이 들어간다.

패키지 이름

거래그룹을 생성할 때 입력한 내용이 들어간다.

거래그룹 이름

거래그룹의 이름으로 거래그룹을 생성할 때 입력한 내용이 들어간다.

거래 타입

거래(그룹)의 타입을 설정한다. 모니터링할 때 거래 종류별 분류를 위해 설정하는 값이다. [Configuration 가져오기] 메뉴를 통해 거래 타입 등록이 가능하다.

버전

배포할 때 버전이 자동으로 변경된다.

설명

해당 거래그룹에 대한 설명을 입력한다. 사용자 편의를 위한 것으로 입력하지 않아도 무방하다.

ByPass 설정

거래에 하나의 백엔드서비스(Backend Service) 호출이 있고 거래 요청 메시지와 서비스 호출 메시지가 동일한 경우로 메시지 변환없이 단순 메시지만 전달한다. 호출 서비스에 ByPass가 설정되어 있는 아웃바운드 룰만 설정이 가능하다.

  • PARENT : 상위 거래그룹의 설정과 동일하게 유지한다.

  • YES : ByPass 설정을 활성화시킨다.

  • NO : ByPass 설정을 비활성화시킨다.

XA 설정

글로벌 트랜잭션(Global Trascation)을 지원하기 위한 설정이다.

트랜잭션을 지원하는 어댑터(Tmax, WebService 등)를 통해 prepare, commit, rollback 등의 글로벌 트랜잭션 2-phase commit 관련 메시지를 처리하여 하나의 트랜잭션으로 묶여 있는 여러 건의 메시지를 일관 처리할 수 있도록 한다.

  • PARENT : 상위 거래그룹의 설정과 동일하게 유지한다.

  • YES : XA 설정을 활성화시킨다.

  • NO : XA 설정을 비활성화시킨다.

 

거래 호출 서비스(거래)

다음은 거래/거래그룹 중 거래인 경우에 [거래정보] 탭의 거래 호출 서비스 영역에 대한 설명이다. 설정한 서비스 타입에 따라 플로우, 아웃바운드 룰, 멀티바인딩 서비스를 호출한다.

  • 플로우

    figure call service flow
    [거래(그룹) 정보] - [호출 서비스(플로우)]
    항목 설명

    서비스 타입

    플로우를 호출하기 위해 'FLOW’를 선택한다.

    서비스 이름

    [검색] 버튼을 클릭해서 생성되는 다이얼로그에서 호출할 플로우를 선택한다.

    매핑 설정

    거래의 요청/정상 응답/업무오류 응답 메시지와 플로우 Start Event의 Input/Output/Error 파라미터가 달라 메시지와 파라미터 사이에 매핑이 필요한 경우 선택한다.

    • 요청 매핑 : [검색] 버튼을 클릭해서 미리 생성된 매핑 파일을 선택하거나 [생성] 버튼을 클릭해서 거래/거래그룹의 요청 메시지와 플로우 Start Event의 Input 파라미터의 입력 매핑을 생성한다.

    • 정상 응답 매핑 : [검색] 버튼을 클릭해서 미리 생성된 매핑 파일을 선택하거나 [생성] 버튼을 클릭해서 플로우 Start Event의 Output 파라미터와 거래/거래그룹의 정상 응답 메시지의 출력 매핑을 생성한다.

    • 업무오류 응답 매핑 : [검색] 버튼을 클릭해서 미리 생성된 매핑 파일을 선택하거나 [생성] 버튼을 클릭해서 플로우 Start Event의 Error 파라미터와 거래/거래그룹의 업무오류 응답 메시지의 출력 매핑을 생성한다.

  • 아웃바운드 룰

    figure call service outboundrule
    [거래(그룹) 정보] - [호출 서비스(아웃바운드 룰)]
    항목 설명

    서비스 타입

    아웃바운드 룰을 호출하기 위해 'OUTBOUND RULE’을 선택한다.

    By Pass 설정된 거래의 경우 'OUTBOUND RULE’만 선택 가능하다.

    서비스 이름

    [검색] 버튼을 클릭하면 생성되는 다이얼로그에서 호출할 아웃바운드 룰을 선택한다. By Pass 설정된 거래의 경우 By Pass가 설정된 아웃바운드 룰만 선택 가능하다.

    비동기 응답 거래

    비동기 응답 거래를 사용하기 위해서는 [파싱 정보] > [파싱 정보 정의]'거래 식별코드'가 'RESPONSE' 또는 'ERROR_RESPONSE’로 설정되어 있어야 한다.

    다음은 '거래 식별코드'에 따른 설명이다.

    • 'RESPONSE' 혹은 'ERROR_RESPONSE’로 설정된 거래의 경우 : 해당 거래에 대한 응답 유무와 상관 없이 서비스를 수행할 수 있다. 단, 서비스 타입이 응답 수신 방식이 ASYNC인 TCP 아웃바운드 룰로 설정되어 있어야 하며, 다른 응답 수신 방식을 가지는 경우 비동기 응답 거래를 선택할 때 ASYNC 타입으로 변경된다.

    • 'RESPONSE’로 설정된 경우 : TCP 아웃바운드 룰의 정상 응답 메시지에 거래의 요청 메시지가 추가된다.

    • 'ERROR_RESPONSE’로 설정된 경우 : TCP 아웃바운드 룰의 업무오류 응답 메시지에 거래의 요청 메시지가 추가된다.

    비동기 응답 거래를 사용하는 경우는 매핑 설정 옵션 사용이 불가능하다.

    코릴레이션

    비동기 응답 거래로 설정된 경우 사용 가능하며 '거래 식별코드'의 종류에 따라 'RESPONSE’의 경우 정상 응답 메시지, 'ERROR_RESPONSE’의 경우 업무오류 응답 메시지의 코릴레이션으로 사용할 메시지 필드를 선택한다. 선택된 메시지 필드는 룰의 요청 메시지 코릴레이션 필드와 매칭되어 사용된다.

    By Pass 설정된 거래의 경우 코릴레이션은 설정하지 않는다.

    매핑 설정

    거래의 요청/정상 응답/업무오류 응답 메시지와 아웃바운드 룰의 요청/응답/업무오류 응답 메시지 사이에 매핑이 필요한 경우 선택한다.

    • 요청 매핑 : [검색] 버튼을 클릭해서 미리 생성된 매핑 파일을 선택하거나 [생성] 버튼을 클릭해서 거래/거래그룹의 요청 메시지와 아웃바운드 룰의 요청 메시지의 입력 매핑을 생성한다.

    • 정상 응답 매핑 : [검색] 버튼을 클릭해서 미리 생성된 매핑 파일을 선택하거나 [생성] 버튼을 클릭해서 아웃바운드 룰의 응답 메시지와 거래/거래그룹의 정상 응답 메시지의 출력 매핑을 생성한다.

    • 업무오류 응답 매핑 : [검색] 버튼을 클릭해서 미리 생성된 매핑 파일을 선택하거나 [생성] 버튼을 클릭해서 아웃바운드 룰의 업무오류 응답 메시지와 거래/거래그룹의 업무오류 응답 메시지의 출력 매핑을 생성한다.

    By Pass 설정된 거래의 경우 매핑 설정은 하지 않는다.

  • 멀티바인딩

    figure call service multibinding
    [거래(그룹) 정보] - [호출 서비스(멀티바인딩)]
    항목 설명

    서비스 타입

    멀티바인딩을 호출하기 위해 'MULTIBINDING’을 선택한다.

    서비스 이름

    [검색] 버튼을 클릭해서 생성되는 다이얼로그에서 호출할 멀티바인딩을 선택한다.

    매핑 설정

    거래의 요청/정상 응답/업무오류 응답 메시지와 멀티바인딩의 요청/응답/업무오류 응답 메시지 사이에 매핑이 필요한 경우 선택한다.

    • 요청 매핑 : [검색] 버튼을 클릭해서 미리 생성된 매핑 파일을 선택하거나 [생성] 버튼을 클릭해서 거래/거래그룹의 요청 메시지와 멀티바인딩의 요청 메시지의 입력 매핑을 생성한다.

    • 정상 응답 매핑 : [검색] 버튼을 클릭해서 미리 생성된 매핑 파일을 선택하거나 [생성] 버튼을 클릭해서 멀티바인딩의 응답 메시지와 거래/거래그룹의 정상 응답 메시지의 출력 매핑을 생성한다.

    • 업무오류 응답 매핑 : [검색] 버튼을 클릭해서 미리 생성된 매핑 파일을 선택하거나 [생성] 버튼을 클릭해서 멀티바인딩의 업무오류 응답 메시지와 거래/거래그룹의 업무오류 응답 메시지의 출력 매핑을 생성한다.

 

요청 / 정상응답 / 업무오류 응답 메시지

요청 / 정상응답 / 업무오류 응답 메시지는 거래/거래그룹을 구성하는 메시지이다. 거래그룹에 메시지를 추가할 경우 하위 노드의 메시지 정의에 상속되어 공통적으로 적용된다.

figure biz request message section
[거래(그룹) 정보] - [요청 메시지]
항목 설명

요청 메시지

거래에 요청 메시지를 설정한다.

정상 응답 메시지

거래에 정상 응답 메시지를 설정한다.

업무오류 응답 메시지

거래에 업무오류 응답 메시지를 설정한다. 시스템적으로 발생한 오류가 아닌 업무적으로 발생한 오류를 의미한다. 시스템적으로 발생한 오류는 "오류 응답처리"에서 처리한다.

메시지 에디터에서 메시지를 생성한 후 [+추가] 버튼을 클릭하면 메시지 추가를 위한 다이얼로그가 나타난다. 호출된 다이얼로그로부터 메시지 선택이 가능하다. 요청 / 정상 응답 / 업무오류 응답 메시지의 상세 항목 및 설정 방법은 동일하다.

다음은 요청 메시지를 추가하는 다이얼로그 화면이다.

figure request msg dialog
요청 메시지 추가 다이얼로그

왼쪽 네비게이터에서 프로젝트, 거래(그룹)을 선택하면 프로젝트, 거래(그룹)에 포함된 메시지가 오른쪽 테이블에 나타난다. 메시지를 선택하면 해당 메시지가 오른쪽 테이블에 나타난다. 오른쪽 테이블에서 메시지 타입 변경이 가능하며 메시지를 선택하면 해당 메시지가 요청 메시지에 등록된다.

AnyLink 리소스는 거래 노드 단위로 계층 구조를 가지고 있기 때문에 상위 거래 노드에 포함된 리소스는 하위 거래 노드의 리소스를 참조할 수 없다.

업무시스템 검색을 선택할 때 네비게이터 내에 존재하는 동일한 업무시스템을 가진 프로젝트의 메시지 검색이 가능하다. Search에 검색할 단어를 입력하면 자동으로 검색되며, 입력한 단어를 포함하는 메시지 ID와 메시지 이름을 가진 메시지들이 검색 된다.

업무시스템 검색을 통해 다른 프로젝트의 메시지를 선택하는 경우 해당 메시지가 포함되어 있는 거래 노드가 Symbolic Link로 생성된다. 거래를 배포하기 위해서는 Symbolic Link로 생성된 거래 노드가 먼저 배포되어 있어야 한다.

다음은 요청 메시지, 정상 응답 메시지, 업무오류 응답 메시지에서 공통으로 정의해야 하는 항목들이다.

항목 설명

네임스페이스 URI

요청 / 정상 응답 / 업무오류 응답 메시지로 설정된 메시지가 XML 타입인 경우 사용되며 로컬 파트와 함께 설정된 메시지의 네임스페이스를 구성한다.

로컬 파트

요청 / 정상 응답 / 업무오류 응답 메시지로 설정된 메시지가 XML 타입인 경우 사용되며 네임스페이스 URI와 함께 설정된 메시지의 네임스페이스를 구성한다.

그룹

SOAP 헤더의 거래에서 사용되며 XML에서 태그를 생성한다.

그룹 번호

그룹의 순서를 설정한다.

 

오류 응답 처리

오류 응답 처리 방식을 설정할 수 있다.

  • NONE

    아무 처리도 하지 않는다.

  • PARENT

    상위 거래 노드의 처리 방식과 동일하게 처리한다.

  • FLOW

    오류 응답 방식을 FLOW로 설정할 경우 다음의 탭이 생성된다. 각 탭들은 오류 응답의 종류를 나타낸다.

    설명

    [시스템 오류응답]

    시스템적으로 발생한 오류에 대한 응답을 처리한다.

    [포맷 오류응답]

    메시지를 DataObject로 변환할 때 Data Type이 맞지 않아 발생되는 오류에 대한 응답을 처리한다.

    [거래제한 응답]

    WebAdmin 거래 제어 설정에 따른 거래 제한에 대한 응답을 처리한다.

    [파싱 오류응답]

    하위 노드를 찾지 못한 경우에 발생하는 오류에 대한 응답을 처리한다.

    [중복거래 오류응답]

    중복거래 확인 여부 옵션이 설정되어 있고, 중복거래 확인 필드에 설정한 값이 동일한 거래가 여러 번 수행되는 경우 첫 번째 거래를 제외한 거래들을 중복 거래로 판단하여 오류처리한다.

    [서비스 오류응답]

    플로우 혹은 아웃바운드 룰이 Throw한 오류에 대한 응답을 처리한다.

    [코릴레이션 오류응답]

    플로우 코릴레이션 오류가 발생하는 경우 오류에 대한 응답을 처리한다.

    오류 응답 종류에 맞는 '오류 응답 메시지'를 체크할 경우 해당 오류 응답 메시지를 설정할 수 있다. FLOW를 선택했으므로 설정한 오류가 발생했을 때 '서비스 ID'로 등록한 서비스 플로우가 호출된다.

    figure error response method flow
    [거래(그룹) 정보] - [오류 응답 방식(FLOW)]

    다음은 각 항목에 대한 설명이다.

    항목 설명

    오류 응답 메시지

    • 오류 응답 메시지 : 오류 응답을 설정하기 위한 체크박스이다. 체크하지 않은 경우 오류 응답을 설정할 수 없다.

    • [추가] 버튼 : [거래(그룹) 정보] - [요청 메시지]에서 서비스 플로우의 출력 메시지와 매핑시킬 메시지를 선택할 수 있다.

    • [제거] 버튼 : 추가한 메시지를 목록에서 제거한다.

    • 네임스페이스 URI : 설정된 메시지가 XML 타입인 경우 사용되며 로컬 파트와 함께 설정된 메시지의 네임스페이스를 구성한다.

    • 로컬 파트 : 설정된 메시지가 XML 타입인 경우 사용되며 네임스페이스 URI와 함께 설정된 메시지의 네임스페이스를 구성한다.

    서비스 ID

    [검색] 버튼을 클릭해서 오류가 발생하는 경우 호출할 서비스 플로우를 선택한다. 해당 거래에 각 탭에 맞는 오류가 발생하게 되면 설정한 서비스 플로우가 호출된다.

    입력매핑 ID

    '서비스 ID'로 등록한 서비스 플로우에 들어갈 메시지를 검색/생성한다.

    • [검색] 버튼 : Map 파일 리스트를 보여주는 검색 다이얼로그(매핑 아이디 검색 다이얼로그(리소스 검색))에서 메시지를 선택한다.

    • [생성] 버튼 : 매핑한 결과가 Map 파일로 생성되며 네비게이터의 거래/거래그룹 리소스의 컨택스트 메뉴 [새로만들기] > [외부 매핑]을 선택해도 생성이 가능하다.

      [생성] 버튼을 클릭하면 매핑 다이얼로그가 생성되며 요청 메시지에 등록한 메시지와 '서비스 ID'에서 선택한 플로우 Start 메시지 이벤트의 Input 파라미터로 설정된 메시지를 매핑한다.

      'Source'에는 요청 메시지에 등록한 메시지를 컨텍스트 메뉴의 [Add Source] 버튼을 클릭해서 등록 가능하며 'Target'에는 플로우 Start 메시지 이벤트의 Input 파라미터로 설정된 메시지가 등록되어 있다.

      시스템, 포맷, 파싱 오류 응답의 경우 Source로 설정될 수 있는 해당 거래 노드의 DataObject가 생성되지 않아 [Add Source] 버튼 클릭할 때 상위 노드의 메시지만 보여진다.

      [Add Mapping Code] 버튼을 클릭하여 Mapping Code를 직접 작성하여 사용도 가능하다. '서비스 ID'가 설정되지 않은 경우 매핑 다이얼로그가 생성되지 않는다.

    출력매핑 ID

    '서비스 ID'로 등록한 서비스 플로우를 마치고 출력 메시지로 나오는 메시지를 검색/생성한다.

    • [검색] 버튼 : Map 파일 리스트를 보여주는 검색 다이얼로그(매핑 아이디 검색 다이얼로그(리소스 검색))에서 메시지를 선택한다.

    • [생성] 버튼 : 매핑 다이얼로그가 생성되며 '서비스 ID'에서 선택한 플로우 Start 메시지 이벤트의 Input 파라미터로 설정된 메시지와 오류 응답 메시지에 등록한 메시지를 매핑한다.

      Source에는 '서비스 ID'에서 선택한 플로우 Start 메시지 이벤트의 Input 파라미터로 설정된 메시지를 컨텍스트 메뉴의 [Add Source] 버튼을 클릭해서 등록 가능하며 Target에는 오류 응답 메시지에 등록한 메시지가 등록되어 있다. '서비스 ID'가 설정되지 않은 경우 매핑 다이얼로그가 생성되지 않는다.

    등록할 Map 파일 목록을 조회한 후 [OK] 버튼을 클릭한다.

    figure resource search dialog
    매핑 아이디 검색 다이얼로그(리소스 검색)
  • MAPPING

    오류 응답에 관한 메시지를 MAPPING으로 넘긴다. 각 오류 응답에 해당하는 전문을 출력 매핑으로 정의한다.

    figure error response
    [거래(그룹) 정보] - [오류 응답 방식(MAPPING)]
    항목 설명

    오류 응답 메시지

    "Flow 오류 응답 방식"과 동일하다.

    매핑 ID

    • [검색] 버튼 : Map 파일 리스트를 보여주는 검색 다이얼로그(매핑 아이디 검색 다이얼로그(리소스 검색))에서 메시지를 선택한다.

    • [생성] 버튼 : 매핑 다이얼로그가 생성되며 요청 메시지에 등록한 메시지와 오류 응답 메시지에 등록한 메시지를 매핑한다. 'Source'에는 요청 메시지에 등록한 메시지를 컨텍스트 메뉴의 [Add Source] 버튼을 클릭해서 등록 가능하며 'Target'에는 오류 응답 메시지에 등록한 메시지가 등록되어 있다. 시스템, 포맷, 파싱 오류 응답의 경우 Source로 설정될 수 있는 해당 거래 노드의 DataObject가 생성되지 않아 [Add Source] 버튼 클릭할 때 상위 노드의 메시지만 보여진다. [Add Mapping Code] 버튼을 클릭하여 Mapping Code를 직접 작성하여 사용도 가능하다.

2.2. 거래/거래그룹 옵션

[거래(그룹) 옵션] 탭에서 거래/거래그룹에 대한 타임아웃, 연결 고정, GUID, 응답 유무, 전달 보정, 중복거래 거래 우선순위 관련 옵션을 설정할 수 있다.

figure trade group option tab
[거래(그룹) 옵션] - [거래(그룹) 옵션 정의]
항목 설명

거래 플로우 타임 아웃(ms)

거래 플로우 타임아웃을 설정한다. 설정한 값이 지날 때까지 응답이 없으면 에러 처리된다.

  • 최상위 거래그룹이 아닌 경우 : '타임 아웃 설정 안함'을 선택하는 경우 상위 거래그룹의 타임 아웃 설정이 적용된다.

  • 최상위 거래그룹의 경우 : 기본값이 1분(60000ms)으로 설정되고, 하위 거래/거래그룹의 경우 '타임 아웃 설정 안함'이 선택되어 상위 노드의 설정과 동일하게 설정된다.

연결 고정

플로우 코릴레이션 오류가 발생하는 경우 메시지를 다른 MS로 이동시킬지 여부를 설정하는 옵션이다.

  • PARENT : 상위 거래그룹의 설정을 따른다.

  • YES : 코릴레이션 메시지를 다른 MS로 이동하지 않고 오류응답이 설정된 경우 오류응답 처리 후 세션을 종료한다.

  • NO : 코릴레이션 메시지를 클러스터 된 다른 MS로 전달한다.

외부 GUID 사용

외부로부터 받은 GUID를 AnyLink의 GUID로 사용할지 여부를 설정한다.

  • PARENT : 상위 거래그룹의 설정을 따른다.

  • YES : 메시지 필드에 GUID 항목이 존재하는 경우 해당 필드값을 GUID로 사용한다.

  • NO : AnyLink에서 자체 GUID를 생성하여 사용한다.

GUID 타입

GUID 길이를 설정한다.

  • PARENT : 상위 거래그룹의 설정을 따른다.

  • LONG : 19자리 이내의 long 데이터 값을 GUID로 생성한다.

  • STRING : 32글자의 String 데이터 값을 GUID로 생성한다.

응답 유무

  • REQUEST_RESPONSE : 요청, 응답 메시지 외 응답에 대한 ACK 메시지가 추가된 형태이다. 응답 메시지를 잘 처리하였는지를 알려주는 ACK 또는 NAK를 전달해준다.

  • PARENT : 상위 거래그룹의 설정을 따른다.

  • ONEWAY : 응답을 기다리지 않고 요청 메시지만 전달한다.

응답 유무는 ByPass 거래인 경우에만 동작하는 옵션이다. ByPass 거래가 아닌 경우는 설정이 무시된다.

전달 보장

전달 보장을 사용할지에 대한 설정으로, 응답 유무가 ONEWAY인 경우에만 사용이 가능하다.

  • PARENT : 상위 거래그룹의 설정을 따른다.

  • YES : 전달 보장을 사용한다.

  • NO : 전달 보장을 사용하지 않는다.

큐 ID

전달 보장에 사용할 큐를 설정한다.

사용할 큐는 WebAdmin의 [구성관리] > [메시지 큐]에서 미리 생성해야 한다. [검색] 버튼을 클릭하면 설정할 큐 ID를 검색할 수 있는 다이얼로그가 나타난다.

개별 설정

큐 설정을 따르지 않고 거래의 큐 설정을 설정할 수 있다.

  • 재시도 간격(s) : 재시도 하는 시간 간격을 설정한다.

  • 최대 재시도 횟수 : 메시지를 재시도하는 최대 횟수를 입력한다. -1을 입력할 경우 무한 재시도를 수행한다.

  • 만료 시간(s) : 메시지가 만료되어 삭제되는 시간을 입력한다. -1을 입력할 경우 메시지가 만료되지 않는다.

중복거래 확인 여부

  • PARENT : 상위 거래그룹의 설정을 따른다.

  • YES : 중복된 거래를 허용하지 않는다. 중복된 거래들은 중복거래 오류응답 루틴에 따라 처리된다.

  • NO : 중복된 거래를 허용한다.

중복거래 확인 필드

  • 메시지 ID : 중복여부를 확인할 메시지의 아이디이다.

  • 필드 ID : 중복여부를 확인할 필드의 아이디이다.

[+추가] 버튼을 클릭한 후 메시지와 필드를 선택하여 추가할 수 있다.

테이블에서 삭제할 항목을 선택 후 [-삭제] 버튼을 클릭하여 삭제할 수 있다.

중복거래 보관 주기

중복확인을 위해 추출된 필드들을 보관하는 주기를 설정한다.

  • Daily : 1일마다 추출된 값들을 삭제한다.

  • Hourly : 1시간 추출된 값들을 삭제한다.

거래 우선순위

  • PARENT : 거래그룹에서 ROOT가 아닐 경우 자신의 부모의 거래 우선순위를 따른다.

  • HIGH : 거래그룹 중 해당 거래의 우선순위를 가장 높게 설정한다. WebAdmin에서 설정한 VIP ThreadPool에 할당된다.

  • MEDIUM : 대부분의 거래가 MEDIUM의 우선순위를 가지며, 거래그룹 중 보통의 우선순위를 갖게 설정한다. VIP가 아닌 기본 ThreadPool에 할당된다.

  • LOW : 크게 중요하지 않은 거래일 경우 LOW 우선순위를 설정한다. ThreadPool에 할당되나 Pool 넘칠 경우 삭제될 수 있다.

  • MESSAGE : 설정한 메시지의 값에 따라 우선순위를 정할 수 있다. 우선순위는 MESSAGE를 제외한 기존의 우선순위와 같다.

'거래 우선순위'를 'MESSAGE’로 선택하면 다음과 같은 설정 화면이 나타난다.

figure priority message setting
[거래(그룹) 옵션] - [거래 우선순위] - 메시지 설정

[검색] 버튼을 클릭하면 설정할 메시지를 검색할 수 있는 다이얼로그가 나타난다.

figure message field selection dialog
메시지 필드 선택 다이얼로그

2.3. 파싱정보

입력 전문이 처리되어야 할 하위 거래를 식별하기 위한 기준을 정의하는 기능을 한다.

  • 거래 식별코드

    거래 정보의 '비동기 응답 거래' 항목에 체크할 때 필수적으로 입력해야 한다.

    figure parsing information biztx code
    [파싱 정보] - [파싱 정보 정의] - 거래 식별코드
    항목 설명

    코드값

    거래에 대한 식별코드를 입력한다.

    종류

    • RESPONSE : 정상 응답 처리

    • REQUEST : 요청 처리

    • ERROR_RESPONSE : 오류 응답 처리

    호출 서비스'비동기 응답 거래' 설정을 사용하기 위해서는 'RESPONSE' 또는 'ERROR_RESPONSE’의 설정이 필요하다.

  • 하위 거래 식별 방법

    하위 거래 식별 방법은 거래그룹에서만 설정이 가능하다. 하위 거래를 식별하는 방법을 선택한다. [+추가] 버튼을 클릭한 후 값과 거래를 입력한다.

    figure branching method
    [파싱 정보] - [파싱 정보 정의] - 하위 거래 식별 방법
    항목 설명

    NONE

    하위 거래 식별을 하지 않는다.

    MESSAGE

    선택한 메시지 필드값에 해당하는 거래 식별코드를 갖는 거래를 선택한다.

    메시지의 필드값이 '값'과 일치하는 경우 입력한 '거래 식별코드'를 갖는 거래를 선택한다.

    HANDLER

    주로 파싱 핸들러를 구현하는 경우 사용한다.

    파싱 핸들러에 해당하는 거래 식별코드를 갖는 거래를 선택한다.

    유저 클래스 반환값이 '값'과 일치하는 경우 입력한 '거래 식별코드'를 갖는 거래를 선택한다.

    X_PATH

    XML Message를 사용할때 이 항목을 선택할 수 있다.

    X_PATH 값에 해당하는 거래 식별코드를 갖는 거래를 선택한다.

    X_PATH값이 '값'과 일치하는 경우 입력한 '거래 식별코드'를 갖는 거래를 선택한다.

    OFFESET_LENGTH

    해당 옵션을 선택하게 되면 Offset과 Length 입력창이 추가된다.

    OFFSET_LENGTH에 해당하는 거래 식별코드를 갖는 거래를 선택한다.

    OFFSET_LENGTH 값이 '값'과 일치하는 경우 입력한 '거래 식별코드'를 갖는 거래를 선택한다.

    SOAP_ACTION

    SOAP_ACTION에 해당하는 거래 식별코드를 갖는 거래를 선택한다.

    SOAP_ACTION이 '값'과 일치하는 경우 입력한 '거래 식별코드'를 갖는 거래를 선택한다.

    JSON_POINTER

    JSON POINTER에 해당하는 거래 식별코드를 갖는 거래를 선택한다.

    JSON POINTER이 '값'과 일치하는 경우 입력한 '거래 식별코드'를 갖는 거래를 선택한다.

    CONDITION_MESSAGE

    조건에 맞을 경우 하위 MESSAGE 설정에 따라 MESSAGE와 동일하게 동작하고, 조건이 맞지 않을 경우 다음 조건 탭을 확인한다.

    조건은 선택한 메시지의 필드가 입력한 값이거나 조건이 없을 경우 true가 된다.

    CONDITION_OFFSET_LENGTH

    조건에 맞을 경우 하위 OFFSET_LENGTH 설정에 따라 OFFSET_LENGTH와 동일하게 동작하고, 조건이 맞지 않을 경우 다음 조건 탭을 확인한다.

    조건은 선택한 메시지의 필드가 입력한 값이거나 조건이 없을 경우 true가 된다.

    HTTP_METHOD

    요청된 HTTP 메소드에 해당하는 거래 식별코드를 갖는 거래를 선택한다. HTTP 인바운드 엔드포인트로 요청된 거래에 대해서만 사용 가능하다.

2.4. 파싱 옵션

파싱 옵션에서 인코딩 타입과 메시지 타입을 설정한다.

  • 인코딩 타입 설정

    figure encoding type
    인코딩 타입 설정 화면
    항목 설명

    인코딩 타입 사용

    체크할 경우 파싱 옵션을 추가/삭제할 수 있다.

    파싱옵션 선택

    • All: 해당 거래에 해당하는 모든 메시지에 대해 설정한 '인코딩 값'을 할당한다.

    • ENDPOINT: ENDPOINT의 값이 '옵션 값'일 경우 설정한 '인코딩 값'을 메시지에 할당한다.

    • URL: URL 값이 '옵션 값'일 경우 설정한 '인코딩 값'을 메시지에 할당한다.

    • OFFSET_LENGTH: OFFSET_LENGTH의 값이 '옵션 값'일 경우 설정한 '인코딩 값'을 메시지에 할당한다.

      • Offset : 시작점

      • Length : 시작점부터의 길이

    인코딩

    설정할 인코딩을 입력한다.

  • 메시지 타입 설정

    figure message type
    메시지 타입 설정 화면
    항목 설명

    파싱옵션 선택

    "인코딩 타입 설정"'파싱옵션 선택'과 동일하다. 각각의 옵션 값에에 따라 선택한 메시지 타입으로 요청, 정상 응답, 업무오류 응답 메시지의 타입을 변경한다.

    옵션값

    파싱 옵션 선택에 따른 사용자 입력값이다.

  • XML Self-Close 설정

    figure xml self close
    XML Self-Close 설정 화면
    항목 설명

    파싱 옵션 선택

    "인코딩 타입 설정"'파싱옵션 선택'과 동일하다. 각각의 옵션 값에에 따라 XML Self-Close 설정을 변경한다.

    옵션값

    파싱 옵션 선택에 따른 사용자 입력값이다.

    XML Slef-Close-Flag

    XML Self-Close 여부를 설정한다.

2.5. XML 뷰어

거래/거래그룹은 .biztx 확장자를 지니는 파일로 저장되나 XML 형식의 문서로 작성된다. 거래/거래그룹의 설정 정보는 파일의 XML 구조를 보며 동작 방식을 확인하고 점검할 수 있다. XML 뷰어는 XML을 조회하는 기능만 제공하고 편집 기능은 지원하지 않는다.