예제

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

1. 개요

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

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

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

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

  2. 아웃바운드 Get 룰을 통해 FTP 어댑터로 Get할 경로 및 파일명을 Get 요청 출력으로 전송한다.

  3. Sample FTP Server에서 파일들을 Get 응답 입력으로 전송한다.

  4. Get 응답 입력 받은 파일들을 target 경로에 저장한다.

  5. 서비스 플로우에서 Get 파일들을 Put 파일들로 매핑한다.

  6. 아웃바운드 Put룰을 통해 FTP 어댑터로 Put할 파일들을 Put 요청 출력으로 전송한다.

  7. Sample FTP Server에서 Put된 파일을 저장 후 Put 응답 입력으로 전송한다.

  8. 서비스 플로우에서 응답 메시지를 매핑한다.

 

전문 구성

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

  • 요청바디전문

    필드명 설명 타입 크기

    getFilePath

    Get룰 Source 디렉터리명

    string

    20

    recvPath

    Get룰 Target 디렉터리명

    string

    20

  • 응답바디GET결과Include

    필드명 설명 타입 크기

    recvFileName

    Get 결과 파일명

    string

    20

  • 응답바디GET결과전문

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

    getFileArray

    파일명 목록

    Include

    응답바디GET결과Include

    unbounded

  • 응답바디PUT결과Include

    필드명 설명 타입 크기

    sendFileName

    Put 결과 파일명

    string

    20

  • 응답바디PUT결과전문

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

    putFileArray

    파일명 목록

    Include

    응답바디PUT결과Include

    unbounded

2. 어댑터 생성

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

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

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

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

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

    항목 설정값

    어댑터 아이디

    FTP_OUT_ADT

    어댑터 이름

    FTP_OUT_ADT

    어댑터 종류

    FTP

    설명

    FTP 아웃바운드 어댑터

    업무시스템 이름

    AL_001

  • [상세설정 ] 탭

    항목 설정값

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

    미사용

3. 엔드포인트 생성

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

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

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

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

  • 기본정보

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

    엔드포인트 아이디

    FTP_OUT_EP

    엔드포인트 이름

    FTP_OUT_EP

    엔드포인트 상태

    Running

    부팅 초기값

    Running

    통신 방향

    Outbound

    설명

    FTP 아웃바운드 엔드포인트

  • [연결정보] 탭

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

    접속방법

    FTP

    연결방식

    ACTIVE

    기본 인코딩

    EUC-KR

    Agent 사용여부

    미사용

    주소

    192.168.14.98

    포트

    21

    기본 타임아웃

    0

    데이터 타임아웃

    0

    연결 타임아웃

    3

    연결 메시지 전송주기

    0

    서버 연결 정합성 체크

    체크

    재시도 횟수

    0

    재시도 간격

    0

    사용자 아이디

    admin

    비밀번호 암호화

    미사용

    파일시스템 포맷

    PD/CD/FN

4. 스튜디오 리소스 생성

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

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

4.1. 거래그룹 생성

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

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

패키지 이름

manual.ftp

거래 ID

ftpCase1

거래 이름

ftpCase1

4.2. 거래 생성

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

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

노드 타입

거래

거래 ID

tx01

거래 이름

tx01

4.3. 메시지 생성

FTP 디렉터리 정보, FTP 파일 목록 Include, FTP 파일 목록 메시지를 생성한다.

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

4.4. 아웃바운드 룰 생성

본 절에서는 아웃바운드 룰(GET/PUT)을 생성하는 예제를 설명한다.

 

아웃바운드 GET 룰 생성

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

figure tutorial outbound get rule create
아웃바운드 GET 룰 생성
항목 설정값

아웃바운드 아이디

FTPOutboundGet

아웃바운드 이름

FTP아웃바운드GET룰

FTP 룰 타입

GET

 

아웃바운드 PUT 룰 생성

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

figure tutorial outbound put rule create
아웃바운드 PUT 룰 생성
항목 설정값

아웃바운드 아이디

FTP아웃바운드PUT룰

아웃바운드 이름

FTPOutboundPut

FTP 룰 타입

PUT

4.5. 플로우 생성

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

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

플로우 아이디

FTPFlow

플로우 이름

FTP플로우

5. 스튜디오 리소스 설정

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

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

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

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

5.1. 거래그룹 설정

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

  • [거래그룹 정보] 탭

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

    Bypass 설정

    NO

    XA 설정

    NO

    오류 응답 방식

    NONE

  • [거래그룹 옵션] 탭

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

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

    60000

    응답 유무

    REQUEST_RESPONSE

    거래 우선순위

    MEDIUM

5.2. 거래 설정

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

  • [거래정보] 탭

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

    Bypass 설정

    NO

    XA 설정

    NO

    서비스 타입

    FLOW

    서비스 이름

    FTP플로우 (FTPFlow_Message_START_Event_616708)

    오류 응답 방식

    PARENT

  • [거래 옵션] 탭

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

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

    미설정

    타임아웃 설정 안함

    체크

    응답 유무

    PARENT

    거래 우선순위

    MEDIUM

5.3. 아웃바운드 룰 설정

본 절에서는 아웃바운드 룰(GET/PUT)을 설정하는 예제를 설명한다.

 

아웃바운드 GET 룰 설정

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

figure tutorial outbound get rule edit
아웃바운드 룰(GET) - 기본정보
항목 설정값

요청처리 타임아웃(ms)

10000

One-Way Operation

No

Endpoint(Group)

FTP_OUT_EP

요청 메시지

요청바디전문

응답 메시지

응답바디GET결과전문

다음은 아웃바운드 GET 룰의 FTP Get 화면 예제이다.

figure tutorial outbound get rule edit 2
아웃바운드 룰(GET) - FTP Get
항목 설정값

Source Directory

/Req_body_0/getFilePath

File Pattern

*.txt

Remote System Type

UNIX

Before Action Kinds of post process action

None

After Action on Successful Files Kinds of post process action

None

Target Directory

/Req_body_0/recvPath

Write mode

Overwrite

Transfer File Type

Binary

File Name Node

/Recv_body_get_result_0/getFileArray*/recvFileName

File Recurring Node

/Recv_body_get_result_0/getFileArray*

 

아웃바운드 PUT 룰 설정

다음은 아웃바운드 PUT 룰을 설정하는 예제이다.

figure tutorial outbound put rule edit
아웃바운드 룰(PUT) - 기본정보
항목 설정값

요청처리 타임아웃(ms)

10000

One-Way Operation

No

Endpoint

FTP_OUT_EP

요청 메시지

응답바디GET결과전문

응답 메시지

응답바디PUT결과전문

다음은 아웃바운드 PUT 룰의 FTP Put 화면 예제이다.

figure tutorial outbound put rule edit 2
아웃바운드 룰(PUT) - FTP Put
항목 설정값

Source Directory

/home/any/ftp/GetFolder

File Pattern

*.txt

Before Action Kinds of post process action

None

After Action on Successful Files Kinds of post process action

None

Target Directory

/home/any/ftp/PutFolder

Transfer File Type

Binary

Remote System Type

UNIX

File name Node

/Recv_body_put_result_0/putFileArray*/sendFileName

File recurring Node

/Recv_body_put_result_0/putFileArray*

5.4. 플로우 설정

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

  1. 플로우 그리기

  2. 변수 설정

  3. 메시지 이벤트 설정

  4. 아웃바운드 GET 호출 설정

  5. 아웃바운드 PUT 호출 설정

  6. 응답 호출 설정

 

플로우 그리기

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

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

 

변수 설정

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

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

 

메시지 이벤트 설정

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

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

 

아웃바운드 GET 호출 설정

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

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

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

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

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

 

아웃바운드 PUT 호출 설정

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

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

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

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

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

6. 배포

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

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

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

7. 거래 테스트

본 절에서는 거래 테스트를 위해 잡 메시지를 생성하고 테스트를 수행한 결과를 설명한다.

7.1. 잡 메시지 생성

본 예제를 구동하기 위해서 WebAdmin의 잡을 등록하고 스케줄 즉시발송을 한다.

figure create job
거래 테스트 - 잡 등록
항목 설정값

잡 아이디

FileTestJob001

잡 이름

FileTestJob001

거래 아이디

menual.file.fileCase1.tx01

실행 모드

동기

중복처리 방식

이전 잡 종료 후

거래 응답 대기시간

1000

잡 응답 대기시간

1000

잡 설정 'getFilePath' 필드

/home/any/ftp/SourceFolder

잡 설정 'recvPath' 필드

/home/any/ftp/GetFolder

잡 목록 화면에서 등록한 잡 스케줄의 우측에 위치한 [발송] 버튼을 클릭한다.

figure run job
거래 테스트 - 잡 스케줄 즉시발송

7.2. 테스트 수행

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

figure tutorial result transaction
거래 테스트 - 트랜잭션 로그
  • Source Folder

    figure tutorial source folder
    거래 테스트 - 원본 파일
  • Get Folder

    figure tutorial get folder
    거래 테스트 - Get된 파일
  • Put Folder

    figure tutorial put folder
    거래 테스트 - Put된 파일