예제

본 장에서는 AnyLink ebXML 어댑터를 사용한 예제를 설명한다.

1. 개요

다음은 ebXML 기본 거래 구성이다.

figure http tutorial 1 info
기본 거래 구성도

다음은 거래 순서를 수행하는 과정에 대한 설명이다.

  1. 잡스케줄을 통해 ebXML 아웃바운드룰을 포함한 서비스 플로우를 수행한다.

  2. 아웃바운드 어댑터를 통해 요청 출력 전문을 ebXML 인바운드 어댑터로 전송한다.

  3. 인바운드 어댑터로 전문 수신 후 서비스 플로우 수행한다.

  4. 서비스 플로우에서 응답메시지를 송신한다.

  5. 잡스케줄로 수행된 서비스 플로우에서 응답 메시지를 수신한다.

사용된 전문은 모두 XML 형식의 메시지를 사용한다.

2. 어댑터 생성

AnyLink WebAdmin에 로그인한 후 초기 화면에서 [구성관리] > [어댑터]를 선택한 후 어댑터 목록 화면[Add] 버튼을 클릭하면 어댑터 등록 화면이 나타난다. 어댑터 생성에 대한 자세한 내용은 어댑터 설정을 참고한다.

AnyLink WebAdmin의 접속 및 사용법에 관한 자세한 내용은 AnyLink WebAdmin 안내서를 참고한다.

2.1. 아웃바운드 어댑터 생성

다음은 ebXML 어댑터를 생성하는 예제이다.

figure create adapter
어댑터 등록 화면
  • 기본정보

    항목 설정값

    어댑터 아이디

    ebXML_ADT

    어댑터 이름

    ebXML_ADT

    어댑터 종류

    ebXML

    설명

    ebXML 어댑터

    업무시스템 이름

    ANL001

  • [상세설정] 탭

    항목 설정값

    아웃바운드 스레드 풀 아이디

    미사용

3. 엔드포인트 생성

어댑터 생성이 완료되면 [어댑터] 탭에서 등록된 어댑터를 조회하고, 조회된 어댑터를 클릭하면 어댑터 상세정보 화면으로 이동한다.

[엔드포인트 목록] 탭 아래 [Add] 버튼을 클릭하면 엔드포인트 등록 화면이 나타난다. 엔드포인트 생성에 대한 자세한 설명은 엔드포인트 설정을 참고한다.

3.1. 인바운드 엔드포인트 생성

다음은 ebXML 인바운드 엔드포인트를 등록하는 예제이다.

  • 기본정보

    figure endpoint common
    인바운드 엔드포인트 등록 화면 - 기본정보
    항목 설정값

    엔드포인트 아이디

    ebXML_IN_EP_01

    엔드포인트 이름

    ebXML_IN_EP_01

    엔드포인트 상태

    Running

    부팅 초기값

    Running

    통신 방향

    Inbound

  • [연결정보] 탭

    figure endpoint inbound connection
    인바운드 엔드포인트 등록 화면 - [연결정보] 탭
    항목 설정값

    Path*

    /ebxml/msh

    Payload 포맷팅

    사용

  • [상세설정] 탭

    figure endpoint inbound detail
    인바운드 엔드포인트 등록 화면 - [상세설정] 탭
    항목 설정값

    거래그룹/거래

    com.tmax.tutorial.ebXMLTutorial.biz_in

    (거래그룹/거래 항목은 직접 입력해도 되고 스튜디오에서 거래그룹/거래 생성 후 배포한 리소스를 거래그룹/거래 선택 화면에서 선택하여도 무방하다.)

3.2. 아웃바운드 엔드포인트 생성

다음은 ebXML 아웃바운드 엔드포인트를 등록하는 예제이다. 본 예제에서는 [상세설정] 탭은 설정하지 않는다.

  • 기본정보

    figure endpoint outbound common
    아웃바운드 엔드포인트 등록 화면 - 기본정보
    항목 설정값

    엔드포인트 아이디

    ebXML_OUT_EP_01

    엔드포인트 이름

    ebXML_OUT_EP_01

    엔드포인트 상태

    Running

    부팅 초기값

    Running

    통신 방향

    Outbound

  • [연결정보] 탭

    figure endpoint outbound connection
    아웃바운드 엔드포인트 등록 화면 - [연결정보] 탭
    항목 설정값

    from Party ID

    003

    to Party ID

    N05

    CPA ID

    banca.003.N05.test

    Service Name

    urn:bancassurance

    Payload 포맷팅

    사용

4. 스튜디오 리소스 생성

본 절에서는 스튜디오에서 리소스를 생성하는 방법에 대해서 설명한다.

AnyLink 스튜디오 사용법에 대한 자세한 내용은 AnyLink 스튜디오 안내서를 참고한다.

AnyLink 스튜디오를 이용하여 다음과 같이 거래 리소스를 생성한다.

figure studio resource list
ebXML 거래 리소스 리스트

4.1. 거래그룹 생성

거래그룹 네비게이터에서 프로젝트를 선택한 다음 컨텍스트 메뉴에서 [새로만들기] > [거래 / 거래그룹]을 선택한다.

figure tutorial txgrp create
거래그룹 생성
항목 설정값

패키지 이름

com.tmax.tutorial

거래 ID

ebXMLTutorial

거래 이름

ebXML예제

4.2. 거래 생성

거래그룹 네비게이터에서 거래그룹을 선택한 다음 컨텍스트 메뉴에서 [새로만들기] > [거래 / 거래그룹]을 선택한다.

figure tutorial out tx create
아웃바운드 거래 생성
항목 설정값

노드 타입

거래

거래 ID

biz_out

거래 이름

ebXML_Outbound거래

figure tutorial in tx create
인바운드 거래 생성
항목 설정값

노드 타입

거래

거래 ID

biz_in

거래 이름

ebXML_Inbound거래

4.3. 메시지 생성

거래그룹 네비게이터에서 거래그룹을 선택한 다음 컨텍스트 메뉴에서 [새로만들기] > [메시지]를 선택한다.

figure tutorial msg create
메시지 생성
항목 설정값

메시지 아이디

Payload

메시지 이름

Payload

4.4. 아웃바운드 룰 생성

거래그룹 네비게이터에서 ebXML_Outbound거래를 선택한 다음 컨텍스트 메뉴에서 [새로만들기] > [아웃바운드 룰] > [ebXML 아웃바운드 룰]을 선택한다.

figure tutorial outboundrule create
아웃바운드 룰 생성
항목 설정값

아웃바운드 아이디

ebXML_Outbound_rule

아웃바운드 이름

ebXML아웃바운드룰

4.5. 플로우 생성

거래그룹 네비게이터에서 ebXML_Outbound거래를 선택한 다음 컨텍스트 메뉴에서 [새로만들기] > [플로우]를 선택한다.

figure tutorial outbound flow create
아웃바운드 플로우 생성
항목 설정값

플로우 아이디

outbound_flow

플로우 이름

아웃바운드플로우

거래그룹 네비게이터에서 ebXML_Inbound거래를 선택한 다음 컨텍스트 메뉴에서 [새로만들기] > [플로우]를 선택한다.

figure tutorial inbound flow create
인바운드 플로우 생성
항목 설정값

플로우 아이디

inbound_flow

플로우 이름

인바운드플로우

5. 스튜디오 리소스 설정

본 절에서는 생성한 리소스를 설정하는 방법에 대해서 설명한다.

AnyLink 스튜디오 사용법에 대한 자세한 내용은 AnyLink 스튜디오 안내서를 참고한다.

5.1. 거래그룹 설정

다음은 거래그룹을 설정하는 예제이다. [파싱정보] 탭과 [파싱 옵션] 탭은 설정하지 않는다.

  • [거래그룹 정보] 탭

    figure tutorial txgrp edit
    거래그룹 설정 - [거래그룹 정보]
    항목 설정값

    XA 설정

    NO

    요청 메시지

    사용 안함

    정상 응답 메시지

    사용 안함

    Bypass 설정

    NO

    오류 응답 방식

    NONE

  • [거래그룹 옵션] 탭

    figure tutorial txgrp edit opt
    거래그룹 설정 - [거래그룹 옵션]
    항목 설정값

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

    60000

    응답 유무

    REQUEST_RESPONSE

    거래 우선순위

    MEDIUM

5.2. 거래 설정

다음은 거래를 설정하는 예제이다. [파싱정보] 탭과 [파싱 옵션] 탭은 설정하지 않는다.

 

ebXML Outbound 거래

  • [거래정보] 탭

    figure tutorial out tx edit
    거래 설정 - [거래정보]
    항목 설정값

    Bypass 설정

    NO

    XA 설정

    NO

    오류 응답 방식

    PARENT

    서비스 타입

    FLOW

    서비스 이름

    outbound_flow (outbound_flow_Message_START_Event_0F202E)(랜덤으로 생성됨)

  • [거래 옵션] 탭

    figure tutorial out tx edit opt
    거래 설정 - [거래 옵션]
    항목 설정값

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

    미설정

    타임아웃 설정 안함

    체크

    응답 유무

    PARENT

    거래 우선순위

    MEDIUM

 

ebXML Inbound 거래

  • [거래정보] 탭

    figure tutorial in tx edit
    거래 설정 - [거래정보]
    항목 설정값

    Bypass 설정

    NO

    XA 설정

    NO

    오류 응답 방식

    PARENT

    서비스 타입

    FLOW

    서비스 이름

    inbound_flow (inbound_flow_Message_START_Event_0F571C)(랜덤으로 생성됨)

    요청 메시지

    Payload(Payload)

    정상 응답 메시지

    Payload(Payload)

  • [거래 옵션] 탭

    figure tutorial in tx edit opt
    거래 설정 - [거래 옵션]
    항목 설정값

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

    미설정

    타임아웃 설정 안함

    체크

    응답 유무

    PARENT

    거래 우선순위

    MEDIUM

5.3. 메시지 설정

AnyLink 스튜디오를 이용해서 메시지를 설정한다.

figure tutorial message
메시지 설정 - XML 메시지
항목 설정값

메시지 타입

XML

필드

str

메시지 설정 화면에 대한 자세한 내용은 AnyLink 스튜디오 안내서를 참고한다.

5.4. 아웃바운드 룰 설정

다음은 ebXML 아웃바운드 룰 설정 예제이다.

figure tutorial outboundrule edit
아웃바운드 룰 설정
항목 설정값

요청처리 타임아웃(ms)

10000

Endpoint

ebXML_EP_OUT_01

액션 이름

BANKAction_001000_Request

멀티 파트

사용 안함

전자서명

사용 안함

요청 메시지

Payload(Payload)

정상 응답 메시지

Payload(Payload)

5.5. 플로우 설정

다음의 과정으로 플로우를 설정한다.

  1. 플로우 그리기

  2. 변수 설정

  3. 메시지 이벤트 설정

  4. 아웃바운드 호출 설정

  5. 응답 호출 설정

 

아웃바운드플로우 그리기

다음은 아웃바운드플로우 예제에 대한 서비스 플로우이다.

figure tutorial out flow
아웃바운드 플로우 에디터 - 기본 그림

 

변수 설정

변수 설정을 하기 위해 플로우 에디터 바탕의 컨텍스트 메뉴에서 [Property]를 선택한다.

figure tutorial out flow variable
Property Preference - 변수 설정

 

메시지 이벤트 설정

플로우 에디터의 [메시지 이벤트] 컨텍스트 메뉴에서 [Property]를 선택한다. Event Preference 화면에서 [파라미터 설정]을 선택한다.

figure tutorial out flow event param
Event Preference - 파라미터 설정

 

아웃바운드 호출 설정

다음의 과정으로 아웃바운드 호출을 설정한다.

  1. 플로우 에디터의 [아웃바운드 호출] > [아웃바운드 룰]의 컨텍스트 메뉴에서 [Property]를 선택한다. Activity Preference 화면에서 [파라미터 설정]을 선택한다.

    figure tutorial flow outbound param
    아웃바운드 호출 - 파라미터 설정
  2. Activity Preference 화면에서 [아웃바운드 룰(서비스) 설정]을 선택한다.

    figure tutorial flow outbound rule
    아웃바운드 호출 - 아웃바운드 룰(서비스) 설정
  3. Activity Preference 화면에서 '요청 매핑 사용''응답 매핑 사용'을 체크하고 [Mapping] 버튼을 클릭해서 각 매핑정보를 설정한다.

    figure tutorial flow outbound rule req mapping
    아웃바운드 호출 - 아웃바운드 룰(서비스) 설정 - 요청 매핑
    figure tutorial flow outbound rule res mapping
    아웃바운드 호출 - 아웃바운드 룰(서비스) 설정 - 응답 매핑

 

인바운드플로우 그리기

다음은 인바운드플로우 예제에 대한 서비스 플로우이다.

figure tutorial in flow
인바운드플로우 플로우 에디터 - 기본 그림

 

변수 설정

변수 설정을 하기 위해 플로우 에디터 바탕의 컨텍스트 메뉴에서 [Property]를 선택한다.

figure tutorial in flow variable
Property Preference - 변수 설정

 

메시지 이벤트 설정

플로우 에디터의 [메시지 이벤트] 컨텍스트 메뉴에서 [Property]를 선택한다. Event Preference 화면에서 [파라미터 설정]을 선택한다.

figure tutorial in flow event param
Event Preference - 파라미터 설정

 

응답 호출 설정

다음의 과정으로 응답 호출 설정을 설정한다.

  1. 플로우 에디터의 [응답 송신] > [Reply 메시지]의 컨텍스트 메뉴에서 [Property]를 선택한다. Activity Preference 화면에서 [Reply Message]를 선택한다.

    figure tutorial flow reply reply message
    응답 호출 - Reply Message
  2. Activity Preference 화면에서 'Use Mapping'을 체크하고 [Reply Mapping] 버튼을 클릭해서 각 매핑정보를 설정한다.

    Mapping 화면의 Source 영역의 컨텍스트 메뉴에서 [Add source]를 선택하여 ReqInHeader, ResInHeader, ResInBody를 선택한 후 매핑한다.

    figure tutorial flow reply reply mapping
    응답 호출 - Reply Message - 서비스 매핑 - Reply Mapping

6. 배포

거래그룹/거래 배포정보를 설정한다.

figure tutorial deploy
거래그룹 / 거래 배포

거래 배포 설정화면에 대한 자세한 사용법은 AnyLink 스튜디오 안내서를 참고한다.

7. 거래 테스트

본 절에서는 거래 테스트를 위해 잡을 생성하고 아웃바운드/인바운드 거래를 수행한 결과를 설명한다.

7.1. 잡 생성

아웃바운드 거래를 잡으로 생성하고 즉시 발송을 통해 테스트를 한다.

figure tutorial job
잡 생성 화면

7.2. 아웃바운드 거래

다음은 아웃바운드 거래 테스트를 수행한 결과 화면이다.

figure tutorial out result transaction
아웃바운드 거래 - 테스트 - 트레이스 로그
figure tutorial out req msg
아웃바운드 거래 - 테스트 - 아웃바운드 요청 메시지(No. 1)
figure tutorial out res msg
아웃바운드 거래 - 테스트 - 아웃바운드 응답 메시지(No. 2)

7.3. 인바운드 거래

다음은 인바운드 거래 테스트를 수행한 결과 화면이다.

figure tutorial in result transaction
인바운드 거래 - 테스트 - 트레이스 로그
figure tutorial in req msg
인바운드 거래 - 테스트 - 인바운드 요청 메시지(No. 1)
figure tutorial in res msg
인바운드 거래 - 테스트 - 인바운드 응답 메시지(No. 5)