예제

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

1. 개요

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

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

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

  1. 서비스 플로우를 수행한다.

  2. DB 아웃바운드 룰을 이용해 Database로 select 쿼리문을 요청한다.

  3. Database로부터 쿼리 결과 값을 응답 입력으로 전송받는다.

  4. 서비스 플로우에서 Select 응답 입력 받은 결과를 Insert 쿼리문의 입력 변수로 매핑한다.

  5. DB 아웃바운드 룰을 이용해 Database로 insert 쿼리문을 요청한다.

 

전문 구성

다음은 예제에서 사용할 전문 구성이다.

  • Select조건변수

    필드명 설명 타입 크기

    field03

    field03

    string

    20

  • Select결과Include

    필드명 설명 타입 크기

    field01

    field01

    string

    20

    field02

    field02

    string

    20

    field03

    field03

    string

    20

  • Select결과

    필드명 설명 타입 포함된 메시지 Array Size

    arrayfield

    arrayfield

    include

    Select결과Include

    unbounded

2. 어댑터 생성

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

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

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

다음은 DB 아웃바운드 어댑터를 생성하는 예제이다.

figure create tcp out adapter
아웃바운드 어댑터 등록 화면
  • 기본정보

    항목 설정값

    어댑터 아이디

    DB_OUT_ADT

    어댑터 이름

    DB_OUT_ADT

    어댑터 종류

    DB

    설명

    DB 아웃바운드 어댑터

    업무시스템 이름

    AL001

  • [상세설정] 탭

    항목 설정값

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

    사용 안함

3. JEUS 데이터소스 생성

JEUS WebAdmin에서 [LOCK & EDIT] 버튼을 클릭한 후 [Resources] > [DataSource]를 선택한 후 데이터베이스에서 [ADD] 버튼을 클릭하면 JEUS 데이터소스 설정 화면이 나타난다.

  • JEUS 데이터소스 설정

    figure jeus datasource
    JEUS 데이터소스 설정
    항목 설정값

    Data Source Id

    db_datasource_test

    Export Name

    db_datasource_test

    Vendor

    tibero

    Data Source Class Name

    com.tmax.tibero.jdbc.ext.TbConnectionPoolDataSource

    Data Source Type

    ConnectionPoolDataSource

    Server Name

    192.168.14.98

    Port Number

    8629

    Database Name

    tibero

    User

    AnyLink

  • JEUS 서버별 데이터소스 설정

    JEUS WebAdmin에서 [LOCK & EDIT] 버튼을 클릭한 후 [Servers]를 선택한 후 엔드포인트가 구동되는 업무시스템의 서버를 선택한다.

    figure jeus datasource server
    JEUS 서버별 데이터소스 설정
    Data Source 설정값

    db_datasource_test

    체크함

4. 엔드포인트 생성

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

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

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

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

  • 기본정보

    figure tutorial ep out basic info
    아웃바운드 엔드포인트 등록 화면 - 기본정보
    항목 설정값

    엔드포인트 아이디

    DB_OUT_EP

    엔드포인트 이름

    DB_OUT_EP

    엔드포인트 상태

    Running

    부팅 초기값

    Running

    통신 방향

    Outbound

    설명

    DB 아웃바운드 엔드포인트

  • [연결정보] 탭

    figure tutorial ep out connect info
    아웃바운드 엔드포인트 등록 화면 - [연결정보]
    항목 설정값

    익스포트 네임

    db_datasource_test

    기본인코딩

    EUC-KR

5. 스튜디오 리소스 생성

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

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

5.1. 거래그룹 생성

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

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

패키지 이름

manual.db

거래 ID

dbCase1

거래 이름

dbCase1

5.2. 거래 생성

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

figure tutorial tx create
거래 생성
항목 설정값

노드 타입

거래

거래 ID

tx01

거래 이름

tx01

5.3. 메시지 생성

요청 입력 헤더/바디, 요청 출력 헤더/바디, 응답 입력 헤더/바디, 응답 출력 헤더/바디 메시지를 생성한다.

메시지 생성에 관한 자세한 내용은 AnyLink 스튜디오 안내서를 참고한다.

5.4. 아웃바운드 룰 생성

본 절에서는 DB 아웃바운드 룰(SELECT/INSERT)을 생성하는 예제에 대해서 설명한다.

 

아웃바운드 룰(SELECT) 생성

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

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

아웃바운드 아이디

DB_Outbound_Select_Rule

아웃바운드 이름

DB아웃바운드SELECT룰

 

아웃바운드 룰(INSERT) 생성

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

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

아웃바운드 아이디

DB_Outbound_Insert_Rule

아웃바운드 이름

DB아웃바운드INSERT룰

5.5. 플로우 생성

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

figure tutorial flow create
플로우 룰 생성
항목 설정값

플로우 아이디

DBFlow

플로우 이름

DB플로우

6. 스튜디오 리소스 설정

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

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

다음은 리소스를 모두 설정한 후 조회되는 거래그룹 네비게이터이다.

figure tutorial navigator
거래그룹 네비게이터

6.1. 거래그룹 설정

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

  • [거래그룹 정보] 탭

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

    Bypass 설정

    NO

    XA 설정

    NO

    오류 응답 방식

    NONE

  • [거래그룹 옵션] 탭

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

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

    60000

    응답 유무

    REQUEST_RESPONSE

    거래 우선순위

    MEDIUM

6.2. 거래 설정

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

  • [거래정보] 탭

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

    요청 메시지

    Select조건변수

    Bypass 설정

    NO

    XA 설정

    NO

    오류 응답 방식

    PARENT

    서비스 타입

    FLOW

    서비스 이름

    DBFlow_Message_STRT_Event_611B08(랜덤으로 생성됨)

  • [거래 옵션] 탭

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

    타임아웃 설정 안함

    체크

    응답 유무

    PARENT

    거래 우선순위

    MEDIUM

6.3. 아웃바운드 룰 설정

본 절에서는 아웃바운드 룰(SELECT/INSERT)을 설정하는 예제에 대해서 설명한다.

 

아웃바운드 룰(SELECT) 설정

다음은 아웃바운드 룰과 [룰 SQL] 탭을 설정하는 예제이다.

figure tutorial outboundrule select edit
아웃바운드 룰(SELECT) 설정
항목 설정값

요청처리 타임아웃(ms)

10000

Endpoint

DB_OUT_EP

요청 메시지

Select조건변수

정상 응답 메시지

Select결과

figure tutorial db orule select rulesql
아웃바운드 룰(SELECT) - 룰 SQL 설정
No SQL 목록

1

SELECT FIELD01, FIELD02, FIELD03 FROM SOURCE_TABLE

WHERE FIELD03 = :/Select_Cond_0.field03

출력 매핑을 위해 룰 SQL 설정 탭에서 [출력 매핑] 버튼을 클릭한다.

figure tutorial db orule select mapping
아웃바운드 룰(SELECT) - 출력 매핑

 

아웃바운드 룰(INSERT) 설정

다음은 아웃바운드 룰과 [룰 SQL] 탭을 설정하는 예제이다.

figure tutorial outboundrule insert edit
아웃바운드 룰(INSERT) 설정
항목 설정값

요청처리 타임아웃(ms)

10000

Endpoint

DB_OUT_EP

요청 메시지

Select결과

figure tutorial db orule insert rulesql
아웃바운드 룰(INSERT) - 룰 SQL 설정
No SQL 목록

1

INSERT INTO TARGET_TABLE (FIELD01, FIELD02, FIELD03)

VALUES (:/Select_Result_0.arrayfield*.field01, :/Select_Result_0.arrayfield*.field02, :/Select_Result_0.arrayfield*.field03)

6.4. 플로우 설정

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

  1. 플로우 그리기

  2. 변수 설정

  3. 메시지 이벤트 설정

  4. 아웃바운드 호출(SELECT/INSERT) 설정

  5. 응답 호출 설정

 

플로우 그리기

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

figure tutorial flow
서비스 플로우 에디터 - 기본 그림

 

변수 설정

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

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

 

메시지 이벤트 설정

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

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

 

아웃바운드(SELECT) 호출 설정

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

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

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

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

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

 

아웃바운드(INSERT) 호출 설정

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

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

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

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

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

7. 배포

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

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

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

8. 거래 테스트

본 절에서는 잡스케줄을 생성하고 테스트 수행하는 방법을 설명한다.

8.1. 잡 스케줄 생성

본 예제를 구동하기 위해서 WebAdmin의 잡을 등록한다.

figure create job
잡 등록
항목 설정값

잡 아이디

DBTestJob001

잡 이름

DBTestJob001

거래 아이디

menual.db.dbCase1.tx01

실행 모드

동기

중복처리 방식

이전 잡 종료 후

거래 응답 대기시간

1000

잡 응답 대기시간

1000

잡 설정 'field03' 필드

YES

잡 목록 화면에서 등록한 잡 스케줄을 선택한 후 '즉시발송' 항목에 [발송] 버튼을 클릭한다.

figure run job
잡 스케줄 즉시발송

8.2. 테스트 수행

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

figure tutorial result transaction
거래 테스트 - 트레이스 로그
  • Source Table

    figure tutorial source table
    거래 테스트 - Source Table
  • Target Table

    figure tutorial target table
    거래 테스트 - Target Table