예제
본 장에서는 AnyLink FTP 어댑터를 사용한 예제를 설명한다.
1. 개요
다음은 FTP 기본 거래 구성이다.
다음은 거래 순서를 수행하는 과정에 대한 설명이다.
-
서비스 플로우를 수행한다.
-
아웃바운드 Get 룰을 통해 FTP 어댑터로 Get할 경로 및 파일명을 Get 요청 출력으로 전송한다.
-
Sample FTP Server에서 파일들을 Get 응답 입력으로 전송한다.
-
Get 응답 입력 받은 파일들을 target 경로에 저장한다.
-
서비스 플로우에서 Get 파일들을 Put 파일들로 매핑한다.
-
아웃바운드 Put룰을 통해 FTP 어댑터로 Put할 파일들을 Put 요청 출력으로 전송한다.
-
Sample FTP Server에서 Put된 파일을 저장 후 Put 응답 입력으로 전송한다.
-
서비스 플로우에서 응답 메시지를 매핑한다.
전문 구성
다음은 예제에서 사용할 전문 구성이다.
-
요청바디전문
필드명 설명 타입 크기 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 안내서를 참고한다. |
3. 엔드포인트 생성
어댑터 생성이 완료되면 [어댑터] 탭에서 등록된 어댑터를 조회하고, 조회된 어댑터를 클릭하면 어댑터 상세정보 화면으로 이동한다.
[엔드포인트 목록] 탭 아래 [Add] 버튼을 클릭하면 엔드포인트 등록 화면이 나타난다. 엔드포인트 생성에 대한 자세한 설명은 엔드포인트 설정을 참고한다.
3.1. 아웃바운드 엔드포인트 생성
다음은 FTP 아웃바운드 엔드포인트를 등록하는 예제이다.
-
기본정보
아웃바운드 엔드포인트 등록 화면 - 기본정보항목 설정값 엔드포인트 아이디
FTP_OUT_EP
엔드포인트 이름
FTP_OUT_EP
엔드포인트 상태
Running
부팅 초기값
Running
통신 방향
Outbound
설명
FTP 아웃바운드 엔드포인트
-
[연결정보] 탭
아웃바운드 엔드포인트 등록 화면 - [연결정보]항목 설정값 접속방법
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. 거래그룹 생성
거래그룹 네비게이터에서 프로젝트를 선택한 다음 컨텍스트 메뉴에서 [새로만들기] > [거래 / 거래그룹]을 선택한다.
항목 | 설정값 |
---|---|
패키지 이름 |
manual.ftp |
거래 ID |
ftpCase1 |
거래 이름 |
ftpCase1 |
4.2. 거래 생성
거래그룹 네비게이터에서 거래그룹을 선택한 다음 컨텍스트 메뉴에서 [새로만들기] > [거래 / 거래그룹]을 선택한다.
항목 | 설정값 |
---|---|
노드 타입 |
거래 |
거래 ID |
tx01 |
거래 이름 |
tx01 |
4.3. 메시지 생성
FTP 디렉터리 정보, FTP 파일 목록 Include, FTP 파일 목록 메시지를 생성한다.
메시지 생성에 관한 자세한 내용은 AnyLink 스튜디오 안내서를 참고한다. |
4.4. 아웃바운드 룰 생성
본 절에서는 아웃바운드 룰(GET/PUT)을 생성하는 예제를 설명한다.
아웃바운드 GET 룰 생성
거래그룹 네비게이터에서 거래를 선택한 다음 컨텍스트 메뉴에서 [새로만들기] > [아웃바운드 룰] > [FTP 아웃바운드 룰]을 선택한다.
항목 | 설정값 |
---|---|
아웃바운드 아이디 |
FTPOutboundGet |
아웃바운드 이름 |
FTP아웃바운드GET룰 |
FTP 룰 타입 |
GET |
아웃바운드 PUT 룰 생성
거래그룹 네비게이터에서 거래를 선택한 다음 컨텍스트 메뉴에서 [새로만들기] > [아웃바운드 룰] > [FTP 아웃바운드 룰]을 선택한다.
항목 | 설정값 |
---|---|
아웃바운드 아이디 |
FTP아웃바운드PUT룰 |
아웃바운드 이름 |
FTPOutboundPut |
FTP 룰 타입 |
PUT |
5. 스튜디오 리소스 설정
본 절에서는 생성한 리소스를 설정하는 방법에 대해서 설명한다.
AnyLink 스튜디오 사용법에 대한 자세한 내용은 AnyLink 스튜디오 안내서를 참고한다. |
다음은 리소스를 모두 설정한 후 조회되는 거래그룹 네비게이터이다.
5.1. 거래그룹 설정
다음은 거래그룹을 설정하는 예제이다. [파싱정보] 탭과 [파싱 옵션] 탭은 설정하지 않는다. 전체 예제에서는 거래그룹 설정은 사용하지 않는다.
-
[거래그룹 정보] 탭
거래그룹 설정 - [기본정보]항목 설정값 Bypass 설정
NO
XA 설정
NO
오류 응답 방식
NONE
-
[거래그룹 옵션] 탭
거래그룹 설정 - [거래그룹 옵션]항목 설정값 거래 플로우 타임아웃(ms)
60000
응답 유무
REQUEST_RESPONSE
거래 우선순위
MEDIUM
5.2. 거래 설정
다음은 거래를 설정하는 예제이다. [파싱정보] 탭과 [파싱 옵션] 탭은 설정하지 않는다.
-
[거래정보] 탭
거래 설정 - [거래정보]항목 설정값 Bypass 설정
NO
XA 설정
NO
서비스 타입
FLOW
서비스 이름
FTP플로우 (FTPFlow_Message_START_Event_616708)
오류 응답 방식
PARENT
-
[거래 옵션] 탭
거래 설정 - [거래 옵션]항목 설정값 거래 플로우 타임아웃(ms)
미설정
타임아웃 설정 안함
체크
응답 유무
PARENT
거래 우선순위
MEDIUM
5.3. 아웃바운드 룰 설정
본 절에서는 아웃바운드 룰(GET/PUT)을 설정하는 예제를 설명한다.
아웃바운드 GET 룰 설정
다음은 아웃바운드 GET 룰을 설정 예제이다.
항목 | 설정값 |
---|---|
요청처리 타임아웃(ms) |
10000 |
One-Way Operation |
No |
Endpoint(Group) |
FTP_OUT_EP |
요청 메시지 |
요청바디전문 |
응답 메시지 |
응답바디GET결과전문 |
다음은 아웃바운드 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 룰을 설정하는 예제이다.
항목 | 설정값 |
---|---|
요청처리 타임아웃(ms) |
10000 |
One-Way Operation |
No |
Endpoint |
FTP_OUT_EP |
요청 메시지 |
응답바디GET결과전문 |
응답 메시지 |
응답바디PUT결과전문 |
다음은 아웃바운드 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. 플로우 설정
다음의 과정으로 플로우를 설정한다.
-
플로우 그리기
-
변수 설정
-
메시지 이벤트 설정
-
아웃바운드 GET 호출 설정
-
아웃바운드 PUT 호출 설정
-
응답 호출 설정
플로우 그리기
다음은 예제에 대한 서비스 플로우이다.
변수 설정
변수 설정을 하기 위해 플로우 에디터 바탕의 컨텍스트 메뉴에서 [Property]를 선택한다.
메시지 이벤트 설정
플로우 에디터의 [메시지 이벤트]의 컨텍스트 메뉴에서 [Property]를 선택한다. Event Preference 화면에서 [파라미터 설정]을 선택한다.
아웃바운드 GET 호출 설정
다음의 과정으로 아웃바운드 GET 호출을 설정한다.
-
플로우 에디터의 [아웃바운드 호출] > [아웃바운드 룰]의 컨텍스트 메뉴에서 [Property]를 선택한다. Activity Preference 화면에서 [파라미터 설정]을 선택한다.
아웃바운드 GET 호출 - 파라미터 설정 -
Activity Preference 화면에서 [아웃바운드 룰(서비스) 설정]을 선택한다.
아웃바운드 GET 호출 - 아웃바운드 룰(서비스) 설정 -
Activity Preference 화면에서 '요청 매핑 사용'과 '응답 매핑 사용'을 체크하고 [Mapping] 버튼을 클릭해서 각 매핑정보를 설정한다.
아웃바운드 GET 호출 - 아웃바운드 룰(서비스) 설정 - 요청 매핑아웃바운드 GET 호출 - 아웃바운드 룰(서비스) 설정 - 응답 매핑
아웃바운드 PUT 호출 설정
다음의 과정으로 아웃바운드 PUT 호출을 설정한다.
-
플로우 에디터의 [아웃바운드 호출] > [아웃바운드 룰]의 컨텍스트 메뉴에서 [Property]를 선택한 후 Activity Preference 화면에서 [파라미터 설정]을 선택한다.
아웃바운드 PUT 호출 - 파라미터 설정 -
Activity Preference 화면에서 [아웃바운드 룰(서비스) 설정]을 선택한다.
아웃바운드 PUT 호출 - 아웃바운드 룰(서비스) 설정 -
Activity Preference 화면에서 '요청 매핑 사용'과 '응답 매핑 사용'을 체크하고 [Mapping] 버튼을 클릭해서 각 매핑정보를 설정한다.
아웃바운드 PUT 호출 - 아웃바운드 룰(서비스) 설정 - 요청 매핑아웃바운드 PUT 호출 - 아웃바운드 룰(서비스) 설정 - 응답 매핑
7. 거래 테스트
본 절에서는 거래 테스트를 위해 잡 메시지를 생성하고 테스트를 수행한 결과를 설명한다.
7.1. 잡 메시지 생성
본 예제를 구동하기 위해서 WebAdmin의 잡을 등록하고 스케줄 즉시발송을 한다.
항목 | 설정값 |
---|---|
잡 아이디 |
FileTestJob001 |
잡 이름 |
FileTestJob001 |
거래 아이디 |
menual.file.fileCase1.tx01 |
실행 모드 |
동기 |
중복처리 방식 |
이전 잡 종료 후 |
거래 응답 대기시간 |
1000 |
잡 응답 대기시간 |
1000 |
잡 설정 'getFilePath' 필드 |
/home/any/ftp/SourceFolder |
잡 설정 'recvPath' 필드 |
/home/any/ftp/GetFolder |
잡 목록 화면에서 등록한 잡 스케줄의 우측에 위치한 [발송] 버튼을 클릭한다.