172
AnyLink 스튜디오 안내서 AnyLink v4.0 Copyright © 2012 TmaxSoft Co., Ltd. All Rights Reserved.

스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

AnyLink

스튜디오 안내서

AnyLink v4.0

Copyright © 2012 TmaxSoft Co., Ltd. All Rights Reserved.

Page 2: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

Copyright Notice

Copyright © 2012 TmaxSoft Co., Ltd. All Rights Reserved.

대한민국 경기도 성남시 분당구 서현동 272-6 우)463-824

Restricted Rights Legend

All TmaxSoft Software (Tmax AnyLink®) and documents are protected by copyright laws and the Protection Act

of Computer Programs, and international convention. TmaxSoft software and documents are made available under

the terms of the TmaxSoft License Agreement and may only be used or copied in accordance with the terms of

this agreement. No part of this document may be transmitted, copied, deployed, or reproduced in any form or by

any means, electronic, mechanical, or optical, without the prior written consent of TmaxSoft Co., Ltd.

이 소프트웨어(Tmax AnyLink®) 사용설명서의 내용과 프로그램은 저작권법, 컴퓨터프로그램보호법 및 국제 조약

에 의해서 보호받고 있습니다. 사용설명서의 내용과 여기에 설명된 프로그램은 TmaxSoft Co., Ltd.와의 사용권 계

약 하에서만 사용이 가능하며, 사용권 계약을 준수하는 경우에만 사용 또는 복제할 수 있습니다. 이 사용설명서의

전부 또는 일부분을 TmaxSoft의 사전 서면 동의 없이 전자, 기계, 녹음 등의 수단을 사용하여 전송, 복제, 배포, 2

차적 저작물작성 등의 행위를 하여서는 안 됩니다.

Trademarks

Tmax ProBus®, JEUS® and Tmax AnyLink® are a registered trademark of TmaxSoft Co., Ltd. Other products,

titles or services may be registered trademarks of their respective companies.

Tmax ProBus®, JEUS® and Tmax AnyLink®는 TmaxSoft Co., Ltd.의 등록 상표입니다. 기타 모든 제품들과 회사

이름은 각각 해당 소유주의 상표로서 참조용으로만 사용됩니다.

Open Source Software Notice

This product includes open source software developed and/or licensed by "OpenSSL," "RSA Data Security, Inc.,"

"Apache Foundation," and "Jean-loup Gailly and Mark Adler." Information about the aforementioned and the related

open source software can be found in the "${INSTALL_PATH}/license/oss_licenses" directory.

본 제품은 “OpenSSL”, “RSA Data Security, Inc.”, “Apache Foundation” 및 “Jean-loup Gailly와 Mark Adler”에 의

해 개발 또는 라이선스된 오픈 소스 소프트웨어를 포함합니다. 관련 상세 정보는 제품의 디렉터리 “${IN

STALL_PATH}/license/oss_licenses”에 기재된 사항을 참고해 주십시오.

안내서 정보

안내서 제목: AnyLink 스튜디오 안내서

발행일: 2012-11-09

소프트웨어 버전: AnyLink v4.0

안내서 버전: v2.1.1

Page 3: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

내용 목차

안내서에 대하여 ........................................................................................................................... xi

제1장 소개 ................................................................................................................................. 1

1.1. 개요 ............................................................................................................................ 1

1.2. 스튜디오의 기능 ........................................................................................................... 2

제2장 스튜디오 구동 ................................................................................................................... 3

2.1. 구동 스크립트 설명 ....................................................................................................... 3

2.1.1. 국제화 .............................................................................................................. 4

2.2. 환경설정 파일 .............................................................................................................. 4

2.3. 로그인 및 종료 ............................................................................................................. 5

2.3.1. 로그인 .............................................................................................................. 5

2.3.2. 자동 로그인 ....................................................................................................... 6

2.3.3. 종료 .................................................................................................................. 6

2.4. 스튜디오 구성 .............................................................................................................. 7

2.4.1. 전체 화면 구성 .................................................................................................. 7

2.4.2. 스튜디오 구조 ................................................................................................... 9

2.5. 정보 관리 ................................................................................................................... 10

2.5.1. 저장 및 로딩 .................................................................................................... 10

2.5.2. 디플로이 및 다운로드 ....................................................................................... 12

2.5.3. 복제 ................................................................................................................ 15

제3장 기관뷰 ............................................................................................................................ 17

3.1. 기관 ........................................................................................................................... 17

3.1.1. 기관 추가 및 삭제 ............................................................................................ 17

3.1.2. 기관 정보 설정 ................................................................................................. 18

3.1.3. 디플로이/다운로드 ........................................................................................... 19

3.2. 기관-업무 연결 ........................................................................................................... 19

3.2.1. 기관-업무 연결 및 삭제 ..................................................................................... 19

3.2.2. 기관-업무 정보 설정 ......................................................................................... 20

3.2.3. 헤더 검색 항목 설정 ......................................................................................... 26

3.2.4. 배치 파일 추가 및 정보 설정 ............................................................................. 27

3.2.5. 배치 파일 매핑 ................................................................................................. 31

3.2.6. 배치 대표 파일명 추가 및 정보 설정 .................................................................. 31

3.2.7. 디플로이 및 다운로드 ....................................................................................... 33

제4장 온라인업무뷰 .................................................................................................................. 35

4.1. 업무 ........................................................................................................................... 35

4.1.1. 업무 추가 및 삭제 ............................................................................................ 35

4.1.2. 업무 일반 정보 설정 ......................................................................................... 36

4.1.3. 응답/오류 코드 정보 설정 ................................................................................. 42

4.1.4. 기관 매핑 정보 설정 ......................................................................................... 43

4.1.5. 프로토콜 정보 설정 .......................................................................................... 43

AnyLink iii

Page 4: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

4.1.6. 종별/거래 리스트 ............................................................................................. 44

4.1.7. 매핑 ................................................................................................................ 45

4.1.8. 디플로이 및 다운로드 ....................................................................................... 45

4.2. 종별 ........................................................................................................................... 47

4.2.1. 종별 추가 및 삭제 ............................................................................................ 47

4.2.2. 종별 일반 정보 설정 ......................................................................................... 47

4.2.3. 거래 리스트 ..................................................................................................... 50

4.2.4. 디플로이 및 다운로드 ....................................................................................... 50

4.3. 거래 ........................................................................................................................... 52

4.3.1. 거래 추가 및 삭제 ............................................................................................ 52

4.3.2. 거래 일반 정보 설정 ......................................................................................... 52

4.3.3. 거래 파라미터 정보 설정 .................................................................................. 60

4.3.4. 매핑 ................................................................................................................ 69

4.3.5. 디플로이 및 다운로드 ....................................................................................... 70

제5장 배치업무뷰 ...................................................................................................................... 71

5.1. 배치 업무 ................................................................................................................... 71

5.1.1. 배치 업무 추가 및 삭제 ..................................................................................... 71

5.1.2. 배치 업무 일반 정보 설정 ................................................................................. 72

5.1.3. 응답/오류 코드 정보 설정 ................................................................................. 75

5.1.4. 기관 매핑 정보 설정 ......................................................................................... 75

5.1.5. 프로토콜 정보 설정 .......................................................................................... 76

5.1.6. 통신헤더 매핑 .................................................................................................. 76

5.1.7. 종별/거래 리스트 ............................................................................................. 77

5.1.8. 디플로이 및 다운로드 ....................................................................................... 77

5.2. 종별 ........................................................................................................................... 79

5.3. 배치 거래 ................................................................................................................... 79

5.3.1. 배치 거래 추가 및 삭제 ..................................................................................... 79

5.3.2. 배치 거래 일반 정보 설정 ................................................................................. 80

5.3.3. 매핑 ................................................................................................................ 81

5.3.4. 디플로이 및 다운로드 ....................................................................................... 82

제6장 전문 정의 및 매핑 ............................................................................................................ 83

6.1. 전문 정의 ................................................................................................................... 83

6.1.1. 전문 타입 ........................................................................................................ 83

6.1.2. 전문 필드 ........................................................................................................ 84

6.1.3. 전문 정의 테이블 메뉴 ...................................................................................... 91

6.1.4. ALF 및 MAP 파일 .......................................................................................... 102

6.2. 매핑 ......................................................................................................................... 103

6.2.1. 매핑 및 변환 규칙 .......................................................................................... 104

6.2.2. 요청 매핑 ...................................................................................................... 108

6.2.3. 정상응답 매핑 ................................................................................................ 108

6.2.4. 응답오류 매핑 ................................................................................................ 108

6.2.5. 포맷오류 매핑 ................................................................................................ 109

iv AnyLink 스튜디오 안내서

Page 5: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

6.2.6. 시스템오류 매핑 ............................................................................................ 109

6.2.7. 요청/응답포맷오류 매핑 ................................................................................. 110

6.2.8. 기본 매핑 및 크로스 매핑 ................................................................................ 111

6.2.9. 배열 매핑 ...................................................................................................... 113

6.2.10. Bypass 및 No 매핑 ....................................................................................... 115

6.3. 코드 생성 ................................................................................................................. 116

6.4. 디플로이 .................................................................................................................. 117

제7장 변환 .............................................................................................................................. 121

7.1. XSD 변환 ................................................................................................................. 121

7.1.1. 사용법 ........................................................................................................... 121

7.2. VO 변환 ................................................................................................................... 123

7.2.1. 사용법 ........................................................................................................... 124

7.3. COMM Area 변환 ..................................................................................................... 125

7.3.1. 사용법 ........................................................................................................... 125

7.4. CSV 변환 ................................................................................................................. 126

7.4.1. 사용법 ........................................................................................................... 126

7.5. Excel 변환 ................................................................................................................ 128

7.5.1. 사용법 ........................................................................................................... 128

제8장 도구 .............................................................................................................................. 133

8.1. 개요 ......................................................................................................................... 133

8.2. 전문등록 .................................................................................................................. 133

8.3. 변환규칙 .................................................................................................................. 135

8.3.1. 툴 변환규칙 정의 ........................................................................................... 135

8.3.2. 변환규칙 적용 ................................................................................................ 136

8.4. 커스텀 로그 DDL 생성 ............................................................................................... 137

8.5. 클래스 디플로이 ....................................................................................................... 138

8.6. 변경이력 보기 .......................................................................................................... 139

제9장 설정 .............................................................................................................................. 141

9.1. 다운로드 설정 .......................................................................................................... 141

9.2. 전문 필드 보기 설정 .................................................................................................. 142

9.3. 디플로이 기본 언어 설정 ........................................................................................... 143

Appendix A. 오류 메시지 및 조치 방법 .................................................................................... 145

Appendix B. 디플로이 ............................................................................................................ 149

색인 .......................................................................................................................................... 151

AnyLink v

Page 6: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52
Page 7: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

그림 목차

[그림 1.1] AnyLink 구성 ............................................................................................................... 1

[그림 2.1] AnyLink 스튜디오 로그인 .............................................................................................. 5

[그림 2.2] 로그인 오류 메시지 ...................................................................................................... 5

[그림 2.3] AnyLink 스튜디오 종료 ................................................................................................. 6

[그림 2.4] 전체 화면 구성 ............................................................................................................. 7

[그림 2.5] Admin-스튜디오 서버 관계도 ........................................................................................ 9

[그림 2.6] 디플로이 유효성 검사 - 배열의 원소명이 잘못된 경우 ................................................... 12

[그림 2.7] 디플로이 오류 메시지 ................................................................................................. 13

[그림 2.8] 다운로드 컨텍스트 메뉴 .............................................................................................. 14

[그림 2.9] 정보 복제 .................................................................................................................. 15

[그림 2.10] 정보 복제 ................................................................................................................. 15

[그림 2.11] 기관뷰 업무 복제 ...................................................................................................... 16

[그림 3.1] 기관 추가 .................................................................................................................. 17

[그림 3.2] 기관 정보 .................................................................................................................. 18

[그림 3.3] 담당자 정보 입력 및 수정 ............................................................................................ 18

[그림 3.4] 기관-업무 연결 ........................................................................................................... 19

[그림 3.5] 기관-업무 정보 ........................................................................................................... 20

[그림 3.6] 헤더 검색항목 설정 .................................................................................................... 26

[그림 3.7] 배치 파일 추가 ........................................................................................................... 27

[그림 3.8] 배치 파일 정보 ........................................................................................................... 28

[그림 3.9] 파일일자변동분 ......................................................................................................... 30

[그림 3.10] 배치파일 - 매핑 ........................................................................................................ 31

[그림 3.11] 배치 대표 파일명 추가 .............................................................................................. 32

[그림 3.12] 배치 대표 파일명 정보 .............................................................................................. 32

[그림 4.1] 업무 추가 .................................................................................................................. 35

[그림 4.2] 업무 일반 정보 ........................................................................................................... 36

[그림 4.3] 업무 - 응답/오류 코드 ................................................................................................. 42

[그림 4.4] 업무 - 프로토콜 .......................................................................................................... 43

[그림 4.5] 다음 상태 선택 ........................................................................................................... 44

[그림 4.6] 종별 리스트 ............................................................................................................... 44

[그림 4.7] 거래 리스트 ............................................................................................................... 44

[그림 4.8] 업무 - 공통부 매핑 ..................................................................................................... 45

[그림 4.9] 업무 전체 디플로이 (하위 종별/거래 포함) .................................................................... 46

[그림 4.10] 업무 다운로드 (하위 종별/거래 포함) ......................................................................... 46

[그림 4.11] 종별 추가 ................................................................................................................. 47

[그림 4.12] 종별 일반 정보 ......................................................................................................... 48

[그림 4.13] 등가 종별코드 정보 설정 ........................................................................................... 49

[그림 4.14] 거래 리스트 ............................................................................................................. 50

[그림 4.15] 종별 전체 디플로이 (하위 거래 포함) ......................................................................... 50

[그림 4.16] 종별 다운로드 (하위 거래 포함) ................................................................................. 51

AnyLink vii

Page 8: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

[그림 4.17] 거래 추가 ................................................................................................................. 52

[그림 4.18] 거래 일반 정보 ......................................................................................................... 53

[그림 4.19] 거래 파라미터 - TP-Monitor ...................................................................................... 60

[그림 4.20] 거래 파라미터 - AnyLink G/W .................................................................................... 61

[그림 4.21] 거래 파라미터 - HOST(LU0) ..................................................................................... 61

[그림 4.22] 거래 파라미터 - HOST(LU6.2), HOST(ECI) ................................................................ 62

[그림 4.23] 거래 파라미터 - HOST(CTG) .................................................................................... 63

[그림 4.24] 거래 파라미터 - Java Class ....................................................................................... 63

[그림 4.25] 거래 파라미터 - Servlet ............................................................................................ 64

[그림 4.26] 거래 파라미터 - ebXML / SOAP / HTTP ..................................................................... 65

[그림 4.27] 거래 파라미터 - Tuxedo ............................................................................................ 66

[그림 4.28] 거래 파라미터 - BizMaster ........................................................................................ 67

[그림 4.29] 거래 파라미터 - Tuxedo with JOLT ............................................................................. 68

[그림 4.30] 거래 - 상세부 매핑 .................................................................................................... 69

[그림 5.1] 배치 업무 추가 ........................................................................................................... 71

[그림 5.2] 배치 업무 일반 정보 ................................................................................................... 72

[그림 5.3] 배치업무 - 기관매핑 ................................................................................................... 76

[그림 5.4] 배치업무 - 통신헤더 매핑 ........................................................................................... 76

[그림 5.5] 종별 리스트 ............................................................................................................... 77

[그림 5.6] [거래 리스트] 탭 ......................................................................................................... 77

[그림 5.7] 종별 다운로드 (하위 거래 포함) ................................................................................... 78

[그림 5.8] 종별 다운로드 (하위 거래 포함) ................................................................................... 79

[그림 5.9] 배치거래 추가 ............................................................................................................ 79

[그림 5.10] 배치거래 일반 정보 .................................................................................................. 80

[그림 5.11] 배치거래 - 매핑 ........................................................................................................ 81

[그림 6.1] 전문 필드 정보 ........................................................................................................... 84

[그림 6.2] 전문 정의 툴바 - 입력 ................................................................................................. 91

[그림 6.3] 전문 정의 툴바 – 출력 ................................................................................................ 91

[그림 6.4] 전문 정보 입력 ........................................................................................................... 91

[그림 6.5] Bitmap에 의한 필드 표시 ............................................................................................ 93

[그림 6.6] 필드 추가 .................................................................................................................. 93

[그림 6.7] 필드 스타일 변환 확인 ................................................................................................ 94

[그림 6.8] Excel로 저장 .............................................................................................................. 95

[그림 6.9] Excel로 저장 - 사용자 지정형식 저장 창 ....................................................................... 96

[그림 6.10] 미리보기 창 ............................................................................................................. 97

[그림 6.11] 전문 크기 계산 ......................................................................................................... 98

[그림 6.12] VO 클래스 생성 – 실행 ............................................................................................. 99

[그림 6.13] VO 클래스 생성 – VO 및 전문 파일 생성 .................................................................. 100

[그림 6.14] 입력 전문 정의 컨텍스트 메뉴 ................................................................................. 100

[그림 6.15] 출력 전문 정의 컨텍스트 메뉴 ................................................................................. 101

[그림 6.16] ALF 파일의 구조 .................................................................................................... 102

[그림 6.17] MAP 파일의 구조 ................................................................................................... 103

[그림 6.18] 매핑 및 변환 규칙 - 상수값 설정 .............................................................................. 104

viii AnyLink 스튜디오 안내서

Page 9: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

[그림 6.19] 매핑 및 변환 규칙 - 입력전문 필드 값 설정 ............................................................... 104

[그림 6.20] 매핑 및 변환 규칙 - 매핑 표현식 설정 ....................................................................... 104

[그림 6.21] 변환 규칙 설정 ....................................................................................................... 108

[그림 6.22] 공통부-상세부 크로스 매핑 ..................................................................................... 112

[그림 6.23] 상세부-공통부 크로스 매핑 ..................................................................................... 113

[그림 6.24] 필드 간 매핑 정의 ................................................................................................... 114

[그림 6.25] Bypass 설정 .......................................................................................................... 115

[그림 6.26] No 매핑 설정 .......................................................................................................... 116

[그림 6.27] 디플로이 정보 ........................................................................................................ 118

[그림 6.28] XSD 컴파일 성공 .................................................................................................... 118

[그림 6.29] XSD 컴파일 실패 .................................................................................................... 119

[그림 6.30] C 라이브러리 컴파일 실패 ...................................................................................... 119

[그림 7.1] XSD 변환기 - 헤더 ................................................................................................... 122

[그림 7.2] XSD 변환기 - 바디 ................................................................................................... 122

[그림 7.3] VO 변환기 - 헤더 ...................................................................................................... 124

[그림 7.4] VO 변환기 - 바디 ...................................................................................................... 124

[그림 7.5] comm 변환기 ........................................................................................................... 126

[그림 7.6] CSV 변환기 ............................................................................................................. 127

[그림 7.7] 변환 후 alf 파일 생성 ................................................................................................ 128

[그림 7.8] Excel 변환기 ............................................................................................................ 128

[그림 7.9] 컬럼 매핑 화면 ......................................................................................................... 129

[그림 7.10] 매핑 변경 화면 ....................................................................................................... 129

[그림 7.11] 컬럼 매핑 후 컬럼 매핑 창 ....................................................................................... 130

[그림 7.12] 미리보기 화면 ........................................................................................................ 130

[그림 7.13] 전문 정보 입력 창 ................................................................................................... 131

[그림 8.1] 전문등록 화면 .......................................................................................................... 134

[그림 8.2] 변환규칙 .................................................................................................................. 135

[그림 8.3] 변환규칙 컬럼 설정 .................................................................................................. 136

[그림 8.4] DDL 생성 ................................................................................................................. 137

[그림 8.5] 클래스 디플로이 ....................................................................................................... 138

[그림 8.6] 변경이력 조회 .......................................................................................................... 139

[그림 9.1] 다운로드 설정 .......................................................................................................... 141

[그림 9.2] 전문 필드 보기 설정 ................................................................................................. 142

[그림 9.3] 디플로이 기본 언어 설정 ........................................................................................... 143

AnyLink ix

Page 10: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52
Page 11: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

안내서에 대하여

안내서의 대상

본 안내서는 Tmax AnyLink® (이하 AnyLink) 스튜디오 모듈(이하 스튜디오)을 이용하여 업무 및 거래를 등

록하고 전문이나 매핑을 정의하는 일반 사용자를 대상으로 한다.

안내서의 전제 조건

본 안내서를 이해하기 위해서는 JEUS와 Tmax에 대한 기본적인 이해가 필요하다.

참고

JEUS와 Tmax에 대한 기본적인 이해를 위해 JEUS 매뉴얼과 Tmax 매뉴얼을 참고한다.

안내서에 대하여 xi

Page 12: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

안내서 구성

본 안내서는 총 9개의 장과 2개의 Appendix로 구성되어 있다.

각 장의 주요 내용은 다음과 같다.

● 제1장: 소개

AnyLink 스튜디오의 구성 및 기능에 대해 설명한다.

● 제2장: 스튜디오 구동

스튜디오를 구동하기 위한 설정과 스튜디오의 구성 및 기능에 대해 설명한다.

● 제3장: 기관뷰

기관 정보 및 기관-업무 연결 정보를 표시하는 기관뷰에 대해 설명한다.

● 제4장: 온라인업무뷰

업무 정보를 표시하는 온라인업무뷰에 대해 설명한다.

● 제5장: 배치업무뷰

배치 업무 정보를 표시하는 배치업무뷰에 대해 설명한다.

● 제6장: 전문 정의 및 매핑

전문 정의 및 매핑에 대해 설명한다.

● 제7장: 변환

XSD, VO, COMM Area, CSV, Excel 변환의 방법에 대해 설명한다.

● 제8장: 도구

AnyLink 스튜디오의 도구 메뉴에 대해 설명한다.

● 제9장: 설정

스튜디오의 환경을 설정하고 다운로드 및 전문 필드 보기 설정이 가능한 설정 메뉴에 대해 설명한다.

● Appendix.A: 오류 메시지 및 조치방법

AnyLink Admin을 사용할 때 발생할 수 있는 에러 메시지와 그 해결 정보를 설명한다.

● Appendix.B: 디플로이

전체 디플로이 절차를 설명한다.

xii AnyLink 스튜디오 안내서

Page 13: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

안내서 규약

의미표기

프로그램 소스 코드의 파일명<AaBbCc123>

파일, 디렉터리 이름, 환경설정 변수Courier New

Ctrl과 C를 동시에 누름<Ctrl>+C

GUI의 버튼 또는 메뉴 이름[Button]

강조진하게

다른 관련 안내서 또는 안내서 내의 다른 장 및 절 언급" "(따옴표)

화면 UI에서 입력 항목에 대한 설명'입력항목'

메일계정, 웹 사이트, 다른 장 및 절 참고하이퍼링크

메뉴의 진행 순서>

하위 디렉터리 또는 파일 있음+----

하위 디렉터리 또는 파일 없음|----

참고 또는 주의사항참고

그림 이름[그림 1.1]

표 이름[표 1.1]

명령어 수행 후 화면에 출력된 결과물, 예제코드AaBbCc123

안내서에 대하여 xiii

Page 14: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

시스템 사용 환경

요구 사항

Microsoft Windows 2000/XP/2003/NT/VistaPlatform

Solaris

HP-UX

AIX

Linux

512MB 이상 메모리 공간 권장Hardware

500MB 이상 하드디스크 공간 필요

5.0 Update 4(JDK 1.5.0_12) 이상JDK

Oracle 9i 또는 10gDatabase

Tibero

DB2

xiv AnyLink 스튜디오 안내서

Page 15: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

관련 안내서

설명안내서

AnyLink 배치 게이트웨이 대한 소개와 배치 스타일에 따른 스튜디오와

Admin을 사용한 등록 방법에 대해 설명한 안내서이다.

AnyLink

배치 안내서

AnyLink 서버 컴포넌트의 각 기능 및 사용 방법에 대해 설명한 안내서이

다.

AnyLink

서버 안내서

AnyLink Admin의 구성 및 기능에 대해 설명하고, 사용 방법에 대해 설

명한 안내서이다.

AnyLink

Admin 안내서

참고자료

● JEUS 매뉴얼

● Tmax 매뉴얼

안내서에 대하여 xv

Page 16: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

연락처

Korea

TmaxSoft Co., Ltd

272-6, Seohyeon-dong, Bundang-gu,

Seongnam-si, Gyeonggi-do, 463-824

South Korea

Tel: +82-31-8018-1000

Fax: +82-31-8018-1115

Email: [email protected]

Web (Korean): http://www.tmax.co.kr

기술지원: http://technet.tmaxsoft.com

USA

TmaxSoft, Inc.

560 Sylvan Avenue Englewood Cliffs, NJ 07632

U.S.A

Tel: +1-201-567-8266

Fax: +1-201-567-7339

Email: [email protected]

Web (English): http://www.tmaxsoft.com

Japan

TmaxSoft Japan Co., Ltd.

5F Sanko Bldg, 3-12-16 Mita, Minato-Ku, Tokyo, 108-0073

Japan

Tel: +81-3-5765-2550

Fax: +81-3-5765-2567

Email: [email protected]

Web (Japanese): http://www.tmaxsoft.co.jp

xvi AnyLink 스튜디오 안내서

Page 17: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

China

TmaxSoft China Co., Ltd.

Beijing Silver Tower, RM 1508, 2# North Rd Dong San Huan,

Chaoyang District, Beijing, China, 100027

China

Tel: +86-10-6410-6145~8

Fax: +86-10-6410-6144

Email: [email protected]

Web (Chinese): http://www.tmaxsoft.com.cn

안내서에 대하여 xvii

Page 18: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52
Page 19: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

제1장 소개

본 장에서는 AnyLink 스튜디오의 구성 및 기능에 대해 설명한다.

1.1. 개요AnyLink는 다양한 대내외 채널을 통해 전달되는 정보를 프로토콜, 전문 및 코드 변환을 통해 하나로 통합

함으로써 대외 연계 및 내부 시스템 간 연동을 지원하는 채널 통합 솔루션이다.

[그림 1.1] AnyLink 구성

AnyLink는 다음과 같이 구성된다.

● 게이트웨이(Gateway)

채널을 담당한다.

● 서비스(Service)

데이터베이스 접근을 위한 ADM과 컴포넌트 관리를 위한 AMM, 그리고 Scheduler(이하 스케쥴러)로 구

성된다.

제1장 소개 1

Page 20: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● Mapper

전문 및 코드 변환을 수행한다.

● 툴(Tools)

AnyLink Admin(Administrator)과 AnyLink 스튜디오로 구성된다.

AnyLink 스튜디오(이하 스튜디오)는 AnyLink를 구성하는 툴 중 업무 개발 및 전문/매핑 정의를 위한 목적

으로 일반 업무 개발자에 의해 사용되는 GUI 콘솔로, 시스템 관리자가 사용하는 AnyLink Admin(이하 Admin)

과 구분된다.

스튜디오는 AnyLink 구성요소 중 Mapper의 동작을 위한 것이다.

Mapper는 게이트웨이를 통해 대외 기관으로부터 거래를 위한 전문이 들어오면 매핑 작업 수행 후 기간계

시스템 등의 비즈니스 서비스로 보내는데, 이를 위해서는 대외 기관과 그 거래 정보의 설정 그리고 거래

전문의 정의와 이를 비즈니스 서비스로 보내기 위한 매핑 작업이 필요하다.

스튜디오를 통해 이와 같은 정보 설정과 전문 및 매핑 정의가 가능하며 작업 결과는 ADM 서비스를 이용

해 서버(데이터베이스)에 디플로이되어 Mapper에 적용된다.

1.2. 스튜디오의 기능일반 업무 개발자는 스튜디오를 통해 대외 기관과의 거래를 위한 정보 설정 및 거래할 때 주고받을 전문과

해당 전문의 매핑 작업을 주로 수행한다.

스튜디오에서 제공하는 기능은 다음과 같다.

● 기관 및 기관-업무 정보 설정

AnyLink를 통해 거래하는 대외 기관과 그 업무 정보를 설정한다.

● 거래 정보 설정

오류/응답 코드, 프로토콜, 대내 비즈니스 서비스 등의 거래 정보를 설정한다.

● 전문 및 매핑 정의

stream, XML 등 다양한 타입의 전문에 대한 정의와 비즈니스 서비스 호출을 위한 매핑을 정의한다.

● 기타 기능

디플로이, 변환기, 거래 시뮬레이터 등의 기능을 제공한다.

2 AnyLink 스튜디오 안내서

Page 21: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

제2장 스튜디오 구동

본 장에서는 스튜디오를 구동하기 위한 설정과 스튜디오의 구성 및 기능에 대해 설명한다.

2.1. 구동 스크립트 설명스튜디오 구동은 설치 후 bin 디렉터리의 alstudio.bat 파일을 통해 가능하다.

중요한 환경변수(구동 스크립트의 환경변수)는 다음과 같다.

설명환경변수

JDK 홈 디렉터리이다. JDK 1.6 이상 버전이 필요하다.JAVA_HOME

스튜디오 홈 디렉터리이다.AL_STUDIO_HOME

$AL_STUDIO_HOME/logs 디렉터리에 로그 파일이 생성된다. 로그 파

일명은 alstudio.log이며 하루 단위로 Aarchiving된다.

예 ) alstudio.log.2006-01-10

스튜디오가 WebT를 통해 접속할 Tmax 서버 IP 및 포트 번호이다

(anylink.m 파일의 TPORTNO).

ALSERVER_IP

ALSERVER_PORT

백업할 Tmax 서버 IP 및 포트 번호이다.ALBACKUP_IP

ALBACKUP_PORT

IP 노출에 대한 보안 요건 혹은 IP 일괄 변경의 편의를 위해 IP를 구동

스크립트에 설정하는 대신 DNS(DNS 서버 혹은 hosts 파일)로부터 얻

을 수 있다.

ALSERVER_HOSTNAME

다음과 같이 ALSERVER_HOSTNAME 속성에 서버 호스트명을 설정한

다. 단, ALSERVER_IP 속성이 있으면 IP가 우선적으로 적용된다.

예 ) -DALSERVER_HOSTNAME=ibm5l

스튜디오는 WebT를 통해 Tmax 서버와 연결된다. 그러나 Admin과는 달리 Tmax 서버에 연결되지 않은

상태에서도 로컬 모드로 동작할 수 있다. 단, Tmax 서버와 연결된 상태에서 연결이 끊어진 경우 1분마다

서버 재접속을 시도하게 된다. 이 경우 정보 디플로이를 감지할 수 없어 local cache 갱신이 되지 않는 문

제가 있다. 재접속 시도 중 서버가 재구동되면 WebT 연결 및 WebT 이벤트 연결을 다시 맺게 되고 이후

디플로이 및 디플로이된 정보에 대한 통지를 받는 것이 가능하다.

제2장 스튜디오 구동 3

Page 22: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

2.1.1. 국제화

Admin 및 스튜디오의 경우 국제화(i18n;internationalization)를 지원하도록 UI 및 메시지가 구성되어 있다.

현재 지원하는 언어는 한국어 및 영어로, 툴을 구동하는 사용자 PC의 locale에 따라 해당 언어로 표시된

다. 강제로 locale 설정을 원할 경우에는 user.country 및 user.language 시스템 속성을 이용할 수 있다.

다음은 영어로 설정한 예이다.

java -Duser.language=en -Duser.country=US ... anylink.studio.AnylinkStudio

2.2. 환경설정 파일환경설정 파일은 alstudio.properties로, 구동 스크립트의 AL_STUDIO_HOME 속성에 정의된 디렉터리에

위치한다.

[설정] > [다운로드] 혹은 [설정] > [전문 필드 보기] 메뉴에서 확인하면 자동으로 생성되며 정의되는 속성

은 다음과 같다.

● msgField.view.<항목>

[설정] > [전문 필드 보기] 메뉴의 설정값으로 전문 정의 테이블의 해당 항목 컬럼 표시 여부를 설정한다.

● download.<항목>

[설정] > [다운로드] 메뉴의 설정값으로 파일 오버라이팅 여부 등의 다운로드 옵션을 설정한다.

● csv.columns

CSV 변환을 위한 설정값으로 csv 파일을 로딩할 경우에 지정된 컬럼 순서대로 alf 포맷으로 읽어 들인

다.

csv.columns = field_name, kor_name, type, size, array_size, precisioin

설정값이 위와 같고, CSV 파일 내용이 다음과 같다면 콤마(,)로 구분된 순서대로 읽어 'HDB_TRX_ID'는

필드명으로, '방카 거래'는 한글명으로, 'char'은 데이터 타입으로 해석한다.

HDB_TRX_ID,방카 거래,char,9,0,true,0

HDB_SYS_ID,시스템 ID,char,3,0,true,0

설정값으로 올 수 있는 예약어는 다음과 같다.

설명설정값

필드명field_name

한글명kor_name

데이터 타입type

필드 크기size

배열의 길이array_size

소수점 아래 자릿수precision

4 AnyLink 스튜디오 안내서

Page 23: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● deploy.conflictWarning

디플로이할 때 사용자 충돌 메시지(경고창)의 표시 여부를 설정한다. (기본값: true)

● deploy.lang

디플로이 기본 언어 설정값이다. 자세한 설명은 “9.3. 디플로이 기본 언어 설정”을 참조한다.

설명설정값

Java(기본값)1

C2

2.3. 로그인 및 종료본 절에서는 스튜디오의 로그인 및 종료 방법에 대해 설명한다.

2.3.1. 로그인

스튜디오는 각 사용자의 변경 이력을 관리하기 위해 로그인을 필요로 한다. 로그인한 사용자가 서버에 디

플로이한 정보는 변경 이력으로 관리되며 사용자 간 데이터 충돌을 감지하는 데 사용된다.

스튜디오 구동 후 다음과 같은 로그인 대화상자가 나타나면 '사용자 ID'와 '암호'를 입력한다.

[그림 2.1] AnyLink 스튜디오 로그인

스튜디오 로그인 중 해당 사용자가 Admin에서 삭제된 경우에는 다음과 같은 경고 메시지가 표시되고, 디

플로이 메뉴가 비활성화되어 디플로이 작업을 수행할 수 없음에 주의한다.

[그림 2.2] 로그인 오류 메시지

제2장 스튜디오 구동 5

Page 24: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

참고

스튜디오의 사용자는 Admin의 [Tools] > [사용자 관리] 메뉴를 통해 추가된다. 사용자 추가에 대한

자세한 내용은 “AnyLink”의 “7.3. 사용자 관리”를 참조한다.

2.3.2. 자동 로그인

로그인 대화상자를 거치지 않고 시스템 속성으로부터 직접 로그인 정보를 받는 기능이다. 테스트용 또는

별도의 launcher를 이용한 툴을 구동하는 경우 유용하게 사용할 수 있다.

자동 로그인 기능을 사용하려면 alstudio.bat 파일에 다음과 같이 설정한다.

java ... -DALLogin.user=user1 -DALLogin.passwd=1 anylink.studio.AnylinkStudio

설명항목

사용자 ID를 나타낸다.ALLogin.user

사용자 암호를 나타낸다.ALLogin.passwd

2.3.3. 종료

스튜디오를 종료하려면 [스튜디오] > [끝내기] 메뉴를 선택한다.

[저장 후 종료] 버튼을 클릭하면 작업 내용을 저장한 후 종료되며, [종료] 버튼을 클릭하면 저장 없이 바로

종료된다. 종료를 취소하기 위해서는 [취소] 버튼을 클릭한다.

[그림 2.3] AnyLink 스튜디오 종료

6 AnyLink 스튜디오 안내서

Page 25: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

2.4. 스튜디오 구성본 절에서는 스튜디오의 화면 구성과 구조에 대해 설명한다.

2.4.1. 전체 화면 구성

스튜디오의 전체 화면은 다음과 같다.

[그림 2.4] 전체 화면 구성

스튜디오 화면은 다음의 4부분으로 구성되며, 타이틀 바와 상태 바에는 서버 접속 정보가 표시된다.

● 브라우저(Browser)(1)

[기관뷰], [온라인업무뷰], [배치업무뷰] 탭으로 구성되어 있고, 해당 뷰에 대해 로컬 파일로부터 정보를

읽어 트리 구조로 표시한다. 각 노드에 대한 컨텍스트 메뉴를 통해 추가, 삭제, 디플로이, 다운로드, 전

문 및 매핑코드 생성 등의 작업을 수행할 수 있다.

각 뷰의 구성 순서는 다음과 같다.

– [기관뷰] : 기관명 > 기관-업무 > 배치파일 순서대로 구성된다.

– [온라인업무뷰] 및 [배치업무뷰] : 업무 > 종별 > 거래 순서대로 구성된다.

● 워크 스페이스(Workspace)(2)

브라우저에서 노드를 선택하거나 추가한 경우 해당 정보가 표시되는 주영역으로 각 상세 정보에 대한

탭을 제공한다.

제2장 스튜디오 구동 7

Page 26: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● 메시지 뷰(Message View)(3)

작업 수행 등의 결과를 출력하는 영역으로 에러(Error), 경고(Warning), 정보(Info) 레벨로 표시되며 메시

지, 메시지 대상(노드), 위치 등을 표시한다. '메시지' 및 '대상' 컬럼의 경우 마우스 드래그에 의한 복사

가 가능하며 사용자 편의를 위한 툴팁을 제공한다.

● 툴바(Toolbar)(4)

다양한 작업에 대한 툴바를 제공한다.

각 아이콘에 대한 설명은 다음과 같다.

설명아이콘

노드 추가 / 삭제/

저장

XSD 변환기 / VO 변환기 / comm 변환기/ /

전문 등록

전체 다운로드/ 디플로이/

메시지 삭제 (메시지 뷰를 초기화한다)

● 타이틀 바 및 상태 바

타이틀 바에는 다음과 같이 스튜디오 타이틀과 스튜디오가 접속한 Tmax 서버의 IP 및 포트 정보가 표

시된다.

상태 바의 오른쪽에는 서버 연결 상태 아이콘이 표시되며 툴팁(tooltip)으로 서버 접속 정보를 표시한다.

– 서버와 연결된 상태

– 서버 연결이 끊어진 상태

– 마우스 툴팁에 의한 접속 서버 정보 표시

8 AnyLink 스튜디오 안내서

Page 27: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

2.4.2. 스튜디오 구조

스튜디오는 Tmax 서버(Tmax에 구동된 AnyLink 서버 및 서비스)와 연결되어 동작한다. 모든 데이터베이

스 접근(데이터의 추가, 수정, 삭제, 조회)은 ADM(AnyLink Deploy Manager)을 이용하며 별도의 로컬 파

일 시스템을 유지한다. 따라서 Admin과는 달리 Tmax 서버에 연결되지 않은 상태에서도 로컬 모드로 동작

할 수 있다.

스튜디오와 Admin, 서버의 관계는 다음과 같이 나타낼 수 있다.

[그림 2.5] Admin-스튜디오 서버 관계도

스튜디오는 다음과 같은 요소로 구성되어 있다.

● Data Manager

WebT를 통해 ADM과 연결한다.

● Cache

data cache로, 스튜디오가 구동할 때 기관, 업무 정보 등을 ADM으로부터 local cache에 보관하며, 업데

이트되지 않는다.

● File Manager

UI에서 입력한 정보를 로컬 파일 시스템에 저장한다.

● User Interface

제2장 스튜디오 구동 9

Page 28: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

사용자에게 정보를 표시하거나 입력을 받는 인터페이스이다. 데이터베이스의 해당 컬럼 크기 및 유형

에 맞는 입력을 위해 최대 길이 및 숫자 체크(numeric 정보에 대해서는 숫자 이외의 값은 입력되지 않도

록 함)를 지원한다.

● Event Listener

AMM으로부터 데이터 변경에 대한 통지(notification)를 받는 것으로 디플로이 이벤트에 대한 통지는

'alinkdeploy' 사용자 채널로 받는다. 통지를 받으면 cache를 업데이트한다.

2.5. 정보 관리스튜디오는 UI에서 입력되거나 서버로부터 다운로드된 정보를 로컬 파일 시스템을 유지하고, 디플로이를

통해 서버의 데이터베이스에 반영할 수 있다.

2.5.1. 저장 및 로딩

로컬 파일 시스템의 정보는 스튜디오가 구동될 때 로딩되어 메뉴 트리 구성 및 각 노드(기관, 업무, 종별,

거래)의 상세 정보를 표시하는 데 사용된다. 로딩할 때 에러가 발생하면 하위 노드는 무시되고, 같은 수준

의 다음 노드(sibling)를 로딩한다.

로컬 파일 시스템의 위치는 다음과 같다.

$AL_STUDIO_HOME/files/local

스튜디오는 UI에서 입력되거나 서버로부터 다운로드된 정보를 저장하려면 [스튜디오] > [저장하기] 메뉴

혹은 툴바의 아이콘을 클릭하면 전체 데이터를 로컬에 저장할 수 있다.

로컬 파일 시스템의 구조는 다음과 같다.

files

|-- local

|-- alf

|-- batch

|-- commom

|-- gen

|-- inst

|-- map

|-- online

|-- vo

|-- xsd

alf

ALF 파일(*.alf) 디렉터리이다.

batch

배치업무 디렉터리([배치업무뷰])이다.

10 AnyLink 스튜디오 안내서

Page 29: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명파일

모든 배치 업무의 일반 정보가 저장된다.batch.als

comm

comm 변환기에서 사용되는 COMMAREA 파일(*.cob)이 저장되는 디렉터리이다.

gen

전문/매핑 코드 혹은 변환기에서 생성된 소스 및 클래스 파일이 저장되는 디렉터리이다.

inst

기관 디렉터리 ([기관뷰])이다.

설명파일

모든 기관의 일반 정보가 저장된다.inst.als

map

MAP 파일(*.map)이 저장된 디렉터리이다.

online

온라인 업무 디렉터리([온라인업무뷰])이다.

설명파일

모든 업무의 일반 정보가 저장된다.online.als

업무, 종별, 거래 순으로 메뉴 트리와 동일하게 서브 디렉터리가 구성된다.

● 업무 디렉터리

설명파일명

하위 종별의 일반 정보가 저장된다. 예) 금융결제원.als<업무명>.als

에러 코드 정보가 저장된다. 예) 금융결제원.err<업무명>.err

기관 매핑 정보가 저장된다. 예) 금융결제원.ima<업무명>.ima

공통부 매핑 정보(ALF 및 MAP 파일명)가 저장된다. 예) 금융결제원.mcn<업무명>.mcn

업무 프로토콜 정보가 저장된다. 예) 금융결제원.pro<업무명>.pro

응답 코드 정보가 저장된다. 예) 금융결제원.res<업무명>.res

● 종별 디렉터리

설명파일명

하위 거래의 일반 정보가 저장된다. 예) 통상전문.als<종별명>.als

하위 거래의 파라미터 정보가 저장된다. 예) 통상전문.par<종별명>.par

제2장 스튜디오 구동 11

Page 30: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● 거래 디렉터리

설명파일명

공통부/데이터부 매핑 입출력 ALF 및 MAP 파일명이 저장된다. 예) 고지내역조

회.mcn

<거래명>.mcn

vo

VO 변환기에서 사용되는 VO 파일(*.class) 디렉터리이다.

xsd

XSD 변환기에서 사용되는 XSD 파일(*.xsd) 디렉터리이다.

2.5.2. 디플로이 및 다운로드

디플로이(Deploy)는 UI를 통해 입력된 로컬 정보를 서버 데이터베이스에 반영하는 과정이고 다운로드

(Download)는 서버 데이터베이스의 정보를 로컬 파일에 반영하는 과정이다.

디플로이와 다운로드 기능을 통해 스튜디오 사용자는 네트워크 연결이 되지 않은 환경에서도 자유롭게

매핑 작업 등의 수행이 가능하고 전문, 매핑 등의 각종 정보를 중앙에서 관리할 수 있다. 개발 환경에서 운

영 환경으로 이관할 경우에도 로컬 파일만 갖고 있으면 디플로이를 통해 운영 서버에 반영할 수 있고, 자

신의 로컬 파일이 손상된 경우에도 서버로부터 다운로드하여 복구할 수 있다.

디플로이

디플로이를 하려면 해당 노드를 선택한 후 컨텍스트 메뉴의 [디플로이]를 선택한다. 디플로이할 때 해당

정보에 대한 유효성 검사(자릿수, 유효값 등)를 수행하며 유효하지 않은 경우에는 디플로이되지 않는다.

자릿수, 유효값 같은 기본 유효성 검사 외에 수행되는 유효성 검사는 다음과 같다.

● 배열의 원소명이 잘못된 경우

배열의 원소명은 배열명으로 시작해야 한다.

[그림 2.6] 디플로이 유효성 검사 - 배열의 원소명이 잘못된 경우

● Stream 전문의 요청/응답 헤더 크기와 공통부 전문 크기가 다른 경우

공통부 요청입력, 공통부 응답출력, 공통부 오류입출력 전문의 크기는 업무 정보의 요청 공통헤더 정보

중 '헤더 크기'와 같아야 하며, 공통부 요청출력, 공통부 응답입력 전문의 크기는 업무 정보의 응답 공통

헤더 정보 중 '헤더 크기'와 같아야 한다. 단, 입력 전문에 대해서만 디플로이할 때 오류가 발생하고 출력

전문에 대해서는 경고 메시지만 표시한다.

12 AnyLink 스튜디오 안내서

Page 31: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

툴바의 디플로이 아이콘( )을 클릭하면 디플로이를 수행할 수 있다. Deploy list Diallog 화면에서 체크

박스를 체크하여 디플로이 항목을 선택할 수 있고, 모두 선택하면 전체 디플로이가 수행된다.

[OK] 버튼을 클릭하면 디플로이 수행 전 다음과 같이 사용자 확인 후 수행된다.

디플로이하려는 데이터가 변경이력 데이터에 기초하여 판단했을 때 다른 사용자가 디플로이한 데이터와

충돌할 가능성이 있는 경우에는 다음과 같이 경고 메시지를 표시한다.

[그림 2.7] 디플로이 오류 메시지

제2장 스튜디오 구동 13

Page 32: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

참고

대화상자 표시 여부는 환경설정 파일의 deploy.conflictWarning 속성으로 설정 가능하다.

다운로드

스튜디오는 업무 개발자들이 사용하는 툴로, 시스템 관리자가 사용하는 Admin과 달리 여러 사용자가 동

시 작업할 경우가 많다. 동시 작업의 문제점은 동일한 코드의 정보를 디플로이하는 경우 다른 사용자의 정

보를 덮어쓸 수 있다는 것인데, 디플로이할 때 이력 체크 및 다운로드 기능이 이 문제를 해결할 수 있다.

정보를 추가할 때 "DB에 해당 정보가 존재하니 다운로드하세요"'라는 메시지가 표시되면 데이터베이스에

이미 동일한 코드의 정보가 존재한다는 의미이므로 다운로드받거나 새로운 코드로 추가한다.

다운로드하려면 해당 노드를 선택한 후 컨텍스트 메뉴의 [다운로드]를 선택한다. [다운로드] 메뉴를 선택

하면 다음과 같이 [전체선택], [Remote] 및 다운로드 항목이 표시된다.

[그림 2.8] 다운로드 컨텍스트 메뉴

● [전체선택]

메뉴에 표시된 모든 항목을 다운로드한다. [전체선택] 메뉴를 선택하면 다음과 같은 메시지를 출력하여

확인 후 수행된다.

● [Remote]

로컬에 없는 항목만 다운로드한다.

● [종별]

종별 항목을 선택하면 다음 그림과 같이 업무에 연결된 모든 종별이 list dialog에 나타난다. 업무에서는

종별을 다운로드 할 수 있고 종별에서는 거래를 다운로드 할 수 있다. 각 기관-업무-종별-거래에서 하위

항목을 다운로드 하는 것이다.

다운로드의 경우 [설정] > [다운로드] 메뉴에서 설정된 값에 따라 동작한다. 설정값은 “9.1. 다운로드 설

정”을 참조한다. 예를 들어, 로컬에 정보가 있을 경우 다운로드 대상이 '없음'으로 설정되어 있다면 로컬

에 있는 정보에 대한 다운로드는 수행되지 않는다.

14 AnyLink 스튜디오 안내서

Page 33: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

[그림 2.9] 정보 복제

2.5.3. 복제

스튜디오에서는 제공하는 복제 기능은 [기관뷰]의 기관/기관-업무/배치파일 정보, [온라인업무뷰] 및 [배

치업무뷰]의 업무/종별/거래 정보를 복제(cloning)할 수 있는 기능이다.

해당 노드를 선택한 후 컨텍스트 메뉴의 [복사] 및 [붙여넣기] 메뉴, 또는 단축키(<Ctrl>+C/<Ctrl>+V)를 누

르면 동작한다. 특정 부분만 상이한 정보를 생성할 경우에 유용하게 사용될 수 있다. 단, 뷰 간의 정보 복

제는 불가능하다.

다음은 복제하는 과정에 대한 설명이다.

[그림 2.10] 정보 복제

제2장 스튜디오 구동 15

Page 34: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

1. 복사

복사할 노드를 선택한 후 <Ctrl>+c를 누르거나 컨텍스트 메뉴의 [복사]를 선택한다.

2. 붙여넣기

붙여넣을 노드를 선택한 후 <Ctrl>+v를 누르거나 컨텍스트 메뉴의 [붙여넣기]를 선택한다.

붙여넣기는 위에서 복사한 노드의 상위 노드만 가능함에 주의한다. 예를 들어 [온라인업무뷰]의 거래

정보인 경우 종별 노드에 대해서만 붙여넣기가 가능하다.

3. 코드 및 이름 입력

새로 복제된 노드의 코드 및 이름을 입력한다. 기본적으로 복사된 노드의 코드 및 이름이 표시되므로

같은 상위 노드에 복사하는 경우에는 코드 및 이름을 변경해야 노드 추가가 가능함에 주의한다.

[기관뷰] 업무 복제의 경우에는 [온라인업무뷰] 및 [배치업무뷰]에 존재하는 업무만 기관에 할당되어야

하므로 사용자 입력 방식이 아닌 콤보박스 선택 방식이다.

예를 들어 기관 X의 온라인 '입금업무'를 기관 Y에 복제하는 경우, 콤보박스에는 [온라인업무뷰]에 존재

하는 업무 중 기관 Y에 할당되지 않은 업무 목록이 표시(복제된 '입금업무'가 기본 선택)되고 여기서 선

택한 업무코드로 정보가 복제된다.

[그림 2.11] 기관뷰 업무 복제

4. 노드 생성

생성된 노드의 정보를 설정한다.

16 AnyLink 스튜디오 안내서

Page 35: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

제3장 기관뷰

본 장에서는 기관 정보 및 기관-업무 연결 정보를 표시하는 기관뷰에 대해 설명한다.

3.1. 기관기관은 AnyLink 시스템과 전문을 주고받는 대내외 기관을 의미한다. 스튜디오 화면에서 브라우저의 [기관

뷰] 탭을 클릭하면, 기관 정보 및 기관-업무 연결 정보를 표시한다.

3.1.1. 기관 추가 및 삭제

루트 노드에 대한 팝업의 [추가] 메뉴 혹은 툴바의 를 클릭하고 '기관명'(최대 64자리)과 '기관코드'(최

대 4자리)를 입력한다.

[그림 3.1] 기관 추가

기관을 추가할 때 "DB에 해당 기관이 존재하니 다운로드하세요."라는 메시지가 표시되며 생성이 실패하

는 경우는 DB에 해당 코드나 이름을 갖는 정보가 존재한다는 것이므로 충돌 방지를 위해 다운로드하거나

다른 코드와 이름으로 다시 추가한다.

기관 삭제는 해당 기관 노드에 대한 팝업의 [삭제] 메뉴 혹은 툴바의 를 클릭한 후 원격 데이터(데이터

베이스 레코드)의 삭제 여부를 선택하면 된다. [예] 버튼을 클릭한 경우 로컬 데이터 뿐만 아니라 원격 데

이터도 함께 삭제된다.

주의

기관을 삭제할 경우, 기관의 하위 노드(기관-업무 정보, 배치파일 정보)도 함께 삭제된다는 것에 주의

한다.

제3장 기관뷰 17

Page 36: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

3.1.2. 기관 정보 설정

기관 정보 설정 화면은 다음과 같다.

[그림 3.2] 기관 정보

각 입력 항목에 대한 설명은 다음과 같다.

● 기관명

기관명을 설정한다.

● 기관코드

기관 코드를 설정한다. 기관 식별을 위해 내부적으로 사용된다.(최대 4자리 값)

● 담당자/전화번호

해당 기관의 담당자 정보(이름 및 전화번호)를 설정한다.

– [입력]

담당자 정보 입력 대화상자를 통해 담당자명 및 전화번호를 추가한다. 전화번호는 숫자 및 하이픈(-)

만 입력 가능하다.

– [삭제]

삭제할 담당자 정보를 선택한 후 클릭한다. 데이터베이스에 반영하려면 디플로이를 수행해야 한다.

– [수정]

수정할 담당자 정보를 선택한 후 클릭한다. 선택한 '담당자명'과 '전화번호'가 담당자 정보 입력 대화

상자에 표시되며 이를 수정할 수 있다. 데이터베이스에 반영하려면 디플로이를 수행해야 한다.

[그림 3.3] 담당자 정보 입력 및 수정

18 AnyLink 스튜디오 안내서

Page 37: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

3.1.3. 디플로이/다운로드

디플로이하려면 해당 기관 노드를 선택한 후 컨텍스트 메뉴의 [기관-디플로이]를 선택한다. 루트 노드를

선택한 후 컨텍스트 메뉴의 [다운로드]를 선택하여 기관 정보를 다운로드한다.

3.2. 기관-업무 연결기관과 업무(온라인 및 배치)는 독립적으로 정의되기 때문에 이를 연결하는 과정이 필요하다. 즉, 업무의

재사용성을 높이기 위해 기관에 종속시키지 않고 [업무뷰]에서 독립적으로 정의한 후 해당 기관(들)에 연

결하는 방식이다.

3.2.1. 기관-업무 연결 및 삭제

기관-업무를 추가하려면 업무를 연결(추가)할 기관 노드를 선택한 후 컨텍스트 메뉴의 [추가]를 선택하면

[온라인 업무]와 [배치업무] 서브메뉴가 나타난다. [온라인 업무]에는 [온라인 업무뷰]에 등록된 업무명이,

[배치 업무]에는 [배치 업무뷰]에 등록된 업무명이 표시되고, 이 중 추가할 업무를 선택한다.

[그림 3.4] 기관-업무 연결

기관-업무를 추가할 때 "DB에 해당 기관/업무 매핑이 존재하니 다운로드하세요."라는 메시지가 표시된다.

실패하는 경우는 데이터베이스에 해당 정보가 존재한다는 의미이므로 충돌 방지를 위해 다운로드한다.

기관-업무를 삭제하려면 해당 기관-업무 노드를 선택하고 컨텍스트 메뉴의 [삭제] 혹은 툴바의 를 클

릭한 후 원격 데이터(데이터베이스 레코드)의 삭제 여부를 선택한다. [예]를 선택한 경우 로컬 데이터 뿐만

아니라 원격 데이터도 함께 삭제된다.

주의

기관-업무를 삭제할 경우, 기관-업무의 하위 노드(배치파일 정보)도 함께 삭제된다는 것에 주의한다.

제3장 기관뷰 19

Page 38: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

3.2.2. 기관-업무 정보 설정

다음은 기관-업무 정보를 설정하는 [기관-업무정보] 탭 화면이다.

[그림 3.5] 기관-업무 정보

각 입력 항목에 대한 설명은 다음과 같다.

● 매퍼 서비스명(필수 입력 항목, 최대 32자리)

해당 기관-업무의 전문이 게이트웨이로 들어왔을 때 호출할 Mapper의 서비스명(Tmax 서비스명)을 입

력한다.

● 파싱오류 서비스명 (최대 32자리)

대내외 파싱에서 오류가 발생한 경우 호출할 서비스명으로 해당 서비스는 응답 전문을 생성할 수 있어

야 한다.

20 AnyLink 스튜디오 안내서

Page 39: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● 요청 TXID / 응답 TXID (최대 32자리)

– 한 회선에 여러 개의 기관-업무가 할당된 경우 사용되는 기관-업무 유일키로 게이트웨이의 기관-업무

유일키 오프셋(offset)/길이(length)로부터 얻은 값과 비교된다.

– 게이트웨이에서는 유일키 오프셋 및 길이로부터 얻은 값(예를 들어 311)을 먼저 요청 TXID와 비교하

여 기관-업무 정보를 찾는다. 찾지 못하면 응답 TXID와 비교하게 되며 여기서도 못 찾으면 파싱 에러

가 발생한다.

– 요청 TXID(311)로 찾은 경우에는 해당 기관-업무의 종별 코드에 대한 요청/응답 여부를 판단하여 응

답인 경우 해당 응답 TXID(311)를 갖는 기관-업무를 다시 찾는다. 즉, 업무(아래의 업무 1)의 요청

TXID는 해당 역전송 업무(업무 2)의 응답 TXID에 동일하게 설정되어야 한다.

응답 TXID요청 TXID업무

311업무 1

<대외기관 → AnyLink>

311업무 2 (업무 1에 대한 역전송 업무)

<AnyLink → 대외기관>

● Cache 위치 (최대 4자리 정수) / Cache 길이(최대 3자리 정수)

게이트웨이는 해당 위치/길이의 필드를 잘라서 보관(Caching)하고 나머지를 Mapper에 전달한 후 정상

응답의 경우 caching된 필드를 붙여서 내보낸다. 거래 정보 중 '요청 cache 유무'와의 차이는 기관-업무

별로 위치와 길이를 설정할 수 있다는 것으로 특정 기관의 붙여주는 필드(prefix)에 대해 적용할 수 있다.

주로 동일한 업무인데 기관마다 종별코드 위치가 다른 경우 게이트웨이에서의 파싱을 위해 사용된다.

게이트웨이에서는 'Cache 위치'/'Cache 길이'에 설정된 데이터를 잘라낸 후 종별 및 거래코드를 파싱

하고 잘라낸 데이터를 붙여 Mapper에게 전달하면 Mapper 역시 caching할 데이터를 잘라내 매핑을 수

행한 후 그 응답 결과에 caching된 데이터를 붙여 게이트웨이로 전달한다.

● 대외 응답 송신 방식

게이트웨이에서 응답이 어느 회선으로 나갈 것인지의 여부로 온라인 업무와 배치 업무의 설정이 다르

다.

다음은 각 업무별로 설정하는 방법에 대한 설명이다.

설명방식업무

들어온 회선(session)으로 응답이 나간다.Self Session온라인

기관-업무의 여러 회선 중 순차적으로(1→2→3 →1→2→...) 응

답이 나간다.

RoundRobin

요청이 들어온 회선의 출력 회선 이름에 지정된 회선으로 응답

이 나간다.

Selection

개시부터 종료까지 모든 전문이 하나의 회선으로 송수신되는

경우이다.

'Session별 파일 송수신배치

제3장 기관뷰 21

Page 40: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명방식업무

파일을 송수신할 때 전문이 들어오는 회선(IN)과 나가는 회선

(OUT)이 구분되어 있는 경우이다(송신 게이트웨이와 수신 게

이트웨이의 분리).

업무별 파일 송수신

(IN/OUT구분)

여러 회선을 RoundRobin으로 사용하는 경우이다.업무별 파일 송수신

● 배치파일 경로(필수 입력 항목, 최대 256자리)

배치 파일이 위치하는 디렉터리를 입력한다.

● 메시지 변환유형

ASCII/EBCDIC 코드를 변환한다. 동일한 업무를 사용하는 기관들이 다른 변환 유형을 사용하는 경우

설정한다. 단, 업무의 변환 유형이 우선하기 때문에 업무의 '메시지 변환유형' 정보를 설정하지 않도록

한다.

'HEXA'는 hexa-decimal 형태 데이터의 변환을 위한 것으로 현재는 사용되지 않는다.

● 로그 정보(필수 입력 항목)

– 파일 로깅 유무

• 파일 로깅 여부를 설정한다.

• 설정값은 'NO', '게이트웨이 요청입력', '매퍼 요청입력', '게이트웨이 요청출력', '매퍼 요청 출력', '게

이트웨이 응답입력', '매퍼 응답입력', '게이트웨이 응답출력', '매퍼 응답출력' 중 선택할 수 있으며,

'No'일 때는 로그를 남기지 않는다(JMAPPER와 HTTP/EBXML 게이트웨이의 경우 파일로깅은 지

원하지 않는다).

매핑 각 단계별로 로깅 여부 설정이 가능하다. 즉, '매퍼 요청입력'과 '매퍼 응답입력'만 체크한 경우

요청 매핑 전의 데이터와 비즈니스 서비스 호출에 대한 응답 데이터만 로그로 기록된다.

• 거래의 '로그 정보'가 우선한다는 것에 주의한다.

– DB 로깅 유무

• 데이터베이스 로깅 여부를 설정한다.

• 설정값은 'NO', '게이트웨이 요청입력', '매퍼 요청입력', '게이트웨이 요청출력', '매퍼 요청 출력', '게

이트웨이 응답입력', '매퍼 응답입력', '게이트웨이 응답출력', '매퍼 응답출력' 중 선택할 수 있으며,

'No'일 때는 로그를 남기지 않는다. 매핑 각 단계별로 로깅 여부 설정이 가능하다. 즉, '매퍼 요청입

력'과 '매퍼 응답입력'만 체크한 경우 요청매핑 전의 데이터와 비즈니스 서비스 호출 후의 데이터만

로그로 기록된다.

• 거래의 '로그 정보'가 우선한다는 것에 주의한다.

– 파일 로그 유형

파일 로그의 유형을 설정한다. 파일에 남는 데이터 형태는 다음과 같다.

22 AnyLink 스튜디오 안내서

Page 41: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

시:분:초:밀리초;기관코드;업무코드;종별코드;거래코드;

log_id;log_point;헤더 크기;전문고유번호;에러코드;

처리 시간;응답 유무;xid;tx_state;전문 크기;전문 데이터

• log_point는 1(게이트웨이 요청입력), 2(매퍼 요청입력), 3(매퍼 요청출력), 4(게이트웨이 요청출력),

5(게이트웨이 응답입력), 6(매퍼 응답입력), 7(매퍼 응답출력), 8(게이트웨이 응답출력)의 값을 갖는

다.

• 응답 유무는 거래의 '응답 유무' 정보로서 1(reply), 2(no-reply)의 값을 갖는다.

• xid 및 tx_state는 2PC 거래에서의 트랜잭션 ID 및 트랜잭션 상태('Prepare', 'Rollback' 등)이다.

다음은 각 설정값과 그에 대한 설명이다.

설명설정값

게이트웨이별로 로그를 남긴다.GW별

(<서버명>.yyyyMMdd.log)

기관별로 로그를 남긴다.기관별

(<기관코드>.yyyyMMdd.log)

기관-업무별로 로그를 남긴다.기관업무별

(<기관코드>.<업무코드>.yyyyMMdd.log)

종별로 로그를 남긴다.종별

(<기관코드>.<업무코드>.<종별코드>.yyyyMMdd.log)

– 로그 write 유형

로그를 어떤 형태롤 남길 것인지를 설정한다.

설명설정값

텍스트 형태로 로그를 남긴다.Text

헥사(hexa) 덤프 형태로 로그를 남긴다.Hex

– 로그 파일 경로(최대 256자리)

로그 파일이 위치하는 디렉터리를 설정한다. 입력하지 않으면 노드의 로그 파일 경로가 사용된다.

● 플래그 정보

플래그 정보에 대한 설정 항목 및 각 항목에 대한 설명은 다음과 같다.

설명항목

'개시 전문이 온 후에 통상 전문이 올 수 있다'는 등의 전문 간의 선후 관계/흐

름을 체크하는 플로우 체크(flow check)에 대한 적용 여부를 설정한다.

Flow 체크 유무

– No

제3장 기관뷰 23

Page 42: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명항목

– Yes

전문 추적번호(msg_uid)는 대외 기관과 비동기 통신을 할 경우에 요청 전문

에 대한 응답 전문을 찾기 위해 사용되는 값으로 이에 대한 채번 여부를 설정

한다.

전문추적번호 채번 여부

– No : 채번하지 않는다.

– Memory : 메모리를 이용한 채번을 의미한다. 타 Mapper와 동기화할 필요

가 없는 경우 최적 성능을 위해 사용한다.

– DB : 데이터베이스를 이용한 채번을 의미한다. Mapper 간 채번 동기화가

필요한 경우에 설정한다.

거래 고유번호로서 중복 체크 및 결번 체크에 사용되는 전문 고유번호(tx_uid)

에 대한 채번 여부를 설정한다.

전문고유번호 채번 여부

설정값은 위의 '전문추적번호 채번 여부'와 동일하다.

같은 일자에 동일한 전문 고유번호를 가진 거래를 중복 거래라 하며 이를 체

크할지에 대한 적용 여부를 설정한다.

중복 체크 여부

설정값은 위의 '전문추적번호 채번 여부'와 동일하다.

요청 전문의 전문 고유번호가 순차적으로 들어올 경우 중간에 누락된 번호

(결번)의 목록을 관리하는 결번 체크에 대한 적용 여부를 설정한다.

결번 체크 여부

설정값은 위의 '전문추적번호 채번 여부'와 동일하다.

● XML 플래그 정보

XML 플래그 정보에 대한 설정 항목 및 각 항목에 대한 설명은 다음과 같다.

설명항목

매핑할 때 self-close를 적용할지 여부를 설정한다.XML self-close 여부

self-close는 Element의 값이 없을 경우 <ELEM1></ELE M1> 형태가 아닌

<ELEM1/> 형태로 입력하는 것을 의미한다.

– No

– Yes

매핑할 때 XML 데이터의 유효성 검사를 진행할지 여부를 설정한다.XML 유효성 검사 여부

– No

– Yes

요청입력 전문을 읽거나 응답출력 전문을 쓸 때 적용되는 XML 문서의 인코

딩 방식을 설정한다.(최대 32자리)

소스 인코딩/타겟 인코딩

– UTF-8 : 입력하지 않으면 UTF-8인코딩이 사용된다.

– EUC-KR : 헤더가 Stream인 경우에는 'EUC-KR' 인코딩이 사용된다.

24 AnyLink 스튜디오 안내서

Page 43: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● ebXML 정보

ebXML 정보에 대한 설정 항목 및 각 항목에 대한 설명은 다음과 같다.

설명항목

CPA 서비스명을 설정한다. (최대 64자리)서비스명

CPA 문서 ID를 설정한다. (최대 64자리)CPA ID

CPA 문서에 기술된 From Party ID(전문 전송)를 설정한다. (최대 8자리)From Party ID

CPA 문서에 기술된 To Party ID(전문 수신)를 설정한다. (최대 8자리)To Party ID

● 데이터 송신 주기 (최대 7자리 정수)

데이터 전문(배치 파일을 시퀀스(sequence) 단위로 나눈 것)을 연속해서 보낼 때 각 시퀀스 전송 사이

의 간격을 설정한다. 입력하지 않으면 간격 없이 계속해서 송신한다. (단위 : milliseconds)

● 유일키명 (최대 128자리)

여러 기관-업무가 하나의 URL을 사용하는 경우 HTTP 게이트웨이에서는 실제 들어온 기관 및 업무 코

드를 파악할 수 없다. 따라서 Mapper에서 '유일키명'에 설정된 필드로부터 값(유일키)을 얻어 이를 '요

청 TXID'와 비교하여 기관-업무를 찾게 된다. TCP 게이트웨이가 특정 offset/length로부터 '요청 TXID'

값을 비교하는 것과 같다.

참고

해당 설정에 대한 자세한 설명은 “AnyLink”의 “Appendix B. 기관-업무의 Inbound URL 공유”를 참조

한다.

● 대내외파싱 여부

대내외 파싱 여부를 설정한다.

게이트웨이는 보통 거래 코드까지 파싱하지만 Mapper를 거치지 않고 직접 다른 게이트웨이 서비스를

호출하는 경우 등에서는 기관 및 업무 코드까지만 파싱하면 해당 서비스 호출이 가능하기 때문에 거래

코드를 파싱할 필요가 없다.

설명설정값

거래 코드가 필요치 않은 경우에 설정값으로 업무 코드까지만 파싱 후 해당

서비스를 호출하게 된다.

No

거래 코드까지 파싱한다.Yes

● 최대전문추적번호/최대전문고유번호

전문추적번호를 채번할 때 최댓값을 설정한다.

최댓값이 설정되어 있으면 채번할 때 날짜에 관계없이 무조건 최댓값까지 증가하게 되며 최댓값을 넘

을 때 1로 리셋된다. 설정되어 있지 않으면 날짜별로 채번(날짜를 변경하는 경우 1로 리셋)된다.

제3장 기관뷰 25

Page 44: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● 사용자 ID / 암호

AnyLink가 FTP 서버로 동작을 할 때 AnyLink로 접속하기 위한 로그인 정보이다.

● 후처리 서비스명

배치 업무 송 수신 후 사용자의 필요에 의해 호출되는 서비스명을 설정한다.

● 배치 업무 상태

배치 개시 전문을 수신하는 경우 해당 필드를 체크하여 "개시전" 업무이면 637 에러코드를 리턴하고,

"집계전" 업무이면 638 에러코드를 리턴한다.

● FTP Passive Mode(필수 입력 항목, 최대 256자리)

해당 항목이 체크되면 AnyLink는 FTP Passive 모드가 되고, 체크를 하지 않으면 FTP Active 모드로 동

작을 한다.

3.2.3. 헤더 검색 항목 설정

전문 로그 중 특정 필드(항목)에 대해 값을 검색하고 싶은 경우(Admin의 커스텀 로그 조회 기능) 전문 공

통부에 한해 해당 필드를 검색항목으로서 정의할 수 있다.

대외 전문은 공통부 요청입력 전문과 응답출력 전문을 의미하고, 대내 전문은 공통부 요청출력 전문과 응

답입력 전문을 의미하는 것으로 대내외 구분에 따라 검색 데이터가 별도의 테이블에 저장된다.

다음은 [헤더 검색항목 설정] 탭 화면 이다.

[그림 3.6] 헤더 검색항목 설정

검색항목 설정 방법은 다음과 같다.

1. 대외전문 혹은 대내전문 영역의 [추가] 버튼을 클릭한다.

2. '색인순서' 컬럼에 색인순서를 입력한다.

3. '항목명' 컬럼의 테이블에 대한 컨텍스트 메뉴를 통해 항목명을 입력한다.

4. '크기' 컬럼에 필드 크기를 입력한다.

26 AnyLink 스튜디오 안내서

Page 45: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

5. '검색타입' 컬럼에 '범위검색' 혹은 '일치검색'을 선택한다.

● 범위 검색

column >= from_value AND column <= to_value

● 일치 검색

column = value

6. 검색항목 설정이 완료되면 디플로이를 통해 서버에 반영한다.

여기까지는 커스텀 로깅을 위한 필드 검색정보만 설정한 것이고, 실제로 커스텀 로그를 남기기 위해서는

설정된 필드 정보에 따라 테이블을 생성하는 작업이 필요하다. 테이블이 생성되면 엔진이 로그를 남길 때

해당 테이블의 각 컬럼에 전문 필드의 데이터를 입력해 준다.

참고

테이블 생성은 “8.4. 커스텀 로그 DDL 생성”을 참조하고, 커스텀 로그 조회는 "AnyLink Admin 안내

서"를 참조한다.

3.2.4. 배치 파일 추가 및 정보 설정

기관과 연결된 업무가 배치 업무일 때는 배치 파일(배치 거래에서 송수신되는 파일)을 추가할 수 있다.

배치 파일은 대외 기관과의 파일 송수신을 목적으로 하는 배치 업무의 대상이 되는 것으로 헤더, 데이터,

트레일러 레코드로 구성된다. 레코드는 온라인 거래 하나에 해당되며, 레코드의 집합인 시퀀스(sequence),

시퀀스의 집합인 블록(block)으로 조합되어 전송되기 때문에 온라인에 비해 통신 효율을 높일 수 있다.

참고

배치 파일의 구조에 대한 자세한 설명은 "AnyLink 배치 안내서"를 참조한다.

배치 파일 추가 및 삭제

배치 파일을 추가하려면 기관-배치 업무 노드를 선택하고 컨텍스트 메뉴의 [배치파일 추가]를 선택하고,

다음과 같이 '배치파일명'(최대 64자리) 및 '배치파일코드'(최대 24자리)를 입력한다.

[그림 3.7] 배치 파일 추가

배치 파일의 삭제는 배치 파일 노드를 선택하고 컨텍스트 메뉴의 [삭제]를 선택한다.

제3장 기관뷰 27

Page 46: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

배치 파일 정보 설정

다음은 배치 파일의 [파일] 탭 화면으로, 배치 파일 추가 후 정보를 설정한다.

[그림 3.8] 배치 파일 정보

각 입력 항목에 대한 설명은 다음과 같다.

● 사용자 서비스명(최대 32자리)

현재는 사용되지 않는다.

● 데이터 파일명(필수 입력 항목, 최대 256자리)

송수신할 데이터 파일명을 설정한다.

'/'로 시작하면 절대 경로, 그렇지 않으면 기관-업무의 '배치파일 경로'에 대한 상대 경로가 된다. Special

word 중 $DATE를 이용하여 파일명을 설정할 수도 있다. 예를 들어, $DATE(YYYYMMDD)로 입력하면

20050114 같은 해당 일자를 파일명으로 갖는 파일을 의미한다.

● 헤더 크기(최대 4자리 정수)

헤더 크기를 설정하는 항목으로, 배치 스타일별로 다르게 사용된다.

● 중복수신 여부

일2회 이상 수신 가능한지의 여부를 설정한다.

● 메시지 변환 유형

현재는 사용되지 않는다.

● 레코드 정보

28 AnyLink 스튜디오 안내서

Page 47: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

파일을 블록(block) 단위로 보낼 경우 하나의 시퀀스(sequence)를 구성하는 레코드(record) 크기 및 개

수와 파일 레코드 크기를 설정한다.

설명항목

전문 내의 레코드 크기를 설정한다. (최대 4자리 정수)크기

레코드의 개수를 설정한다. (최대 4자리 정수)개수

물리적인 파일 내의 레코드 크기를 설정한다. (최대 4자리 정수)파일 레코드 크기

예를 들어, 파일을 송신할 때 파일 내의 레코드 크기가 '파일 레코드 크기'이고 매핑 후 전문 내의 레코드

크기가 '레코드 크기'가 된다. 대개 파일 내의 레코드는 개행을 포함하지만 전문 내에는 개행이 포함되

지 않는 차이와 매핑에 의한 변화 때문에 크기를 별도로 지정할 필요가 있다.

● 매핑 정보 (각 최대 256자리)

헤더/데이터/트레일러 매핑 클래스명으로 헤더, 데이터, 트레일러 각 레코드 단위의 매핑을 위한 것이

다. 레코드에 대한 매핑은 각각 [헤더 매핑], [데이타 매핑], [트레일러 매핑] 탭에서 정의한다.

● ebXML/SOAP Action 정보 (각 최대 64자리)

'Request Action' 항목과 'Respose Action' 항목은 다음의 경우에 따라 설정한다.

– ebXML의 경우

CPA 요청/응답 전문의 Action 명을 입력한다.(최대 64자리)

– SOAP의 경우

요청/응답 전문의 SOAPAction 값을 입력한다.(최대 64자리)

● 개행문자(최대 4자리)

레코드 구분자를 설정한다.

설명레코드 구분자

'\n'로 입력한다.LF(Line Feed)

'\r'로 입력한다.CR(Carriage Return)

● 파일일자변동분(최대 4자리)

배치 파일을 송신할 때 오늘 이전 날짜의 파일을 보내야 할 경우 사용되는 값이다.

예를 들어 위 '데이터 파일 목록'에 '/aa/$DATE(YYYYMMDD)'로 설정하여 /aa 디렉터리에서 해당 날짜

의 파일을 송신하겠다고 한 경우 '파일일자변동분'이 '1'로 설정되어 있으면 하루 전 날짜의 파일이 송신

된다. 즉 오늘이 2005년 7월 9일이라면 /aa/20050708 파일이 송신된다.

제3장 기관뷰 29

Page 48: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

[그림 3.9] 파일일자변동분

배치 개시 전문 중 식별자 'TX_DATE'를 갖는 필드의 값도 이에 따라 조정된다. 예를 들어 Admin에서 전

문을 발송할 때 해당 필드 file_code_date에 값을 입력하지 않았다면 배치 게이트웨이가 file_code_date

필드에 '파일일자변동분'에 의해 조정된 날짜를 설정(8자리면 YYYYMMDD, 6자리면 YYMMDD, 4자리

면 MMDD)해서 전송한다.

● 이어받기 여부

'중복수신 여부' 설정값과 관련하여 파일 수신 모드를 지정한다.

수신모드정상처리건수이어받기 여부중복수신 여부

이어받기0defaultNo

수신안함> 0

이어받기0Yes

수신안함> 0

새로받기0No

수신안함> 0

새로받기n/adefaultYes

이어받기n/aYes

새로받기n/aNo

● FTP 데이터 타입

배치 파일 전송 타입을 ASCII로 전송할 것인지, Binary로 전송할 것인지 설정한다.

● 원격 파일 경로

배치 파일을 송/수신할 때 상대편 서버 혹은 클라이언트의 파일 경로를 설정한다.

30 AnyLink 스튜디오 안내서

Page 49: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

3.2.5. 배치 파일 매핑

배치 파일의 헤더, 데이터, 트레일러 레코드에 대한 매핑을 정의한다.

매핑을 정의하면 대외 기관으로부터 파일을 수신할 때 레코드별 매핑 수행 후 파일 시스템에 저장하고, 파

일을 송신할 때 파일을 읽어 레코드별 매핑 수행 후 대외 기관으로 보낸다. 배치 파일 매핑은 배치 게이트

웨이에서만 지원되므로 전문 및 매핑 코드 생성 없이 CMapper 타입으로 디플로이되어 서버에서 매핑 라

이브러리가 생성된다.

다음은 배치 파일의 매핑 화면으로 [파일], [헤더매핑], [데이터매핑], [트레일러매핑] 탭을 이용한다.

[그림 3.10] 배치파일 - 매핑

매핑에 대한 설명은 “제6장 전문 정의 및 매핑”을 참조하고, 테이블의 각 컬럼에 대한 설명은 “6.1.2. 전문

필드”를 참조한다.

전문 필드 및 매핑할 때 사용되는 툴바에는 전문 정보 입력, 필드 추가/삭제 및 이동, 저장, ALF 열기, MAP

열기, 유효성 검사, 도구 메뉴가 있는데 이에 대한 설명은 “6.1.3. 전문 정의 테이블 메뉴”의 툴바 메뉴 부분

을 참조한다.

3.2.6. 배치 대표 파일명 추가 및 정보 설정

기관과 연결된 업무가 배치 업무일 때는 배치 대표 파일명을 추가할 수 있다.

대표 파일이란 여러 파일의 묶음을 나타내는 파일 코드로, 개시 후 여러 개의 파일을 연속해서 보낼 경우

에 사용된다. 예를 들어 GR2211과 GR2222를 연속해서 보낼 때 GR2200이라는 대표 파일명을 개시 전문

에 담아 보내면 송수신 기관 사이에 GR2211과 GR2222를 보낸다는 약속이 성립하게 된다.

제3장 기관뷰 31

Page 50: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

배치 대표 파일명 추가 및 삭제

배치 대표 파일명을 추가하려면 기관-배치 업무 노드를 선택하고 컨텍스트 메뉴의 [대표파일명 추가]를

선택하고 '대표파일명'(최대 24자리)을 입력한 후 [확인] 버튼을 클릭한다.

[그림 3.11] 배치 대표 파일명 추가

배치 대표 파일명의 삭제는 해당 배치 대표 파일명 노드를 선택하고 컨텍스트 메뉴의 [삭제]를 선택한다.

배치 대표 파일명 정보 설정

배치 대표 파일 추가 후 정보 설정 화면은 다음과 같다.

[그림 3.12] 배치 대표 파일명 정보

각 입력 항목에 대한 설명은 다음과 같다.

설명항목

추가한 대표 파일명이다.대표파일명

32 AnyLink 스튜디오 안내서

Page 51: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명항목

해당 기관-업무의 배치 파일 중 대표 파일에 포함되지 않은 배치 파일의 목록

이 나타난다.

Unassigned Batch Files

배치 파일 선택 후 [>>] 버튼을 클릭하여 대표 파일에 포함시킬 수 있다.

해당 기관-업무의 배치 파일 중 대표 파일에 포함된 배치 파일의 목록이 나타

난다.

Assigned Batch Files

배치 파일 선택 후 [<<] 버튼을 클릭하여 대표 파일에서 제외시킬 수있다.

3.2.7. 디플로이 및 다운로드

본 절에서는 기관-업무의 디플로이 및 다운로드 기능에 대해 설명한다.

디플로이

배치 파일의 디플로이는 해당 기관-업무의 노드를 선택한 후 컨텍스트 메뉴의 [디플로이] 메뉴를 선택하

여 실행한다.

CMAPPER를 사용하는 경우에는 헤더 검색 항목을 디플로이할 때 커스텀 로그 기록을 위한 공유 라이브

러리가 노드의 '라이브러리 경로 (C)' 위치에 다음과 같은 형식으로 생성된다.

lib_custlog_<기관코드>_<업무코드>_<대내외구분>.<so/sl>

대내외구분에서 대외는 '1'이 대내는 '2'로 생성된다.

디플로이는 전체, 공통, 전문, 매핑으로 나뉜다.

● 공통

배치 파일 일반 정보에 대한 디플로이이다.

● 전문

헤더, 데이터, 트레일러 입출력 전문에 대한 디플로이이다.

● 매핑

헤더, 데이터, 트레일러 입출력 매핑 정보에 대한 디플로이로, 전문 디플로이를 포함한다.

● 전체

공통, 전문, 매핑 디플로이를 모두 포함한다.

배치 파일은 전산 표준안에 따라 자주 바뀌는 성질의 것이기 때문에 디플로이가 빈번히 일어날 수 있는

데, 이를 위해 전체 디플로이 메뉴를 제공한다. [전체 배치파일] 메뉴를 선택하면 해당 기관-업무에 포함

된 모든 배치 파일 및 대표 파일이 디플로이된다.

제3장 기관뷰 33

Page 52: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

주의

기관-업무는 기관에 종속되는 개념이므로 기관을 먼저 디플로이해야 한다. 기관이 디플로이되지 않

은 상태에서 기관-업무를 디플로이하는 경우 디플로이가 실패(TPESVCFAIL)한다는 것에 주의한다.

다운로드

배치 파일의 다운로드는 해당 기관-업무 노드의 컨텍스트 메뉴에서 [다운로드] 메뉴를 선택하여 실행한다.

34 AnyLink 스튜디오 안내서

Page 53: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

제4장 온라인업무뷰

본 장에서는 업무 정보를 표시하는 온라인업무뷰에 대해 설명한다.

4.1. 업무업무(application)는 대내외 기관과의 업무를 의미한다. 일반 정보, 프로토콜 정보, 응답/오류 코드 정보 등

업무 관련 정보를 설정하는 것 외에 업무 공통적으로 적용되는 공통부 매핑을 정의한다.

스튜디오 화면에서 브라우저의 [온라인업무뷰]에 업무 정보를 표시한다.

4.1.1. 업무 추가 및 삭제

업무를 추가하려면 루트 노드를 선택한 후 컨텍스트 메뉴에서 [추가] 혹은 툴바의 추가 아이콘( )을 클

릭하고 '업무명'(최대 64자리) 및 '업무코드'(최대 4자리)를 입력한다. 단, 로컬 및 원격에 동일한 업무코드

를 갖는 온라인 혹은 배치 업무가 있는 경우에는 추가할 수 없다.

[그림 4.1] 업무 추가

업무를 삭제하려면 해당 업무 노드를 선택한 후 컨텍스트 메뉴에서 [삭제] 메뉴 혹은 툴바의 삭제 아이콘

( )을 클릭한 후 원격 데이터의 삭제 여부를 선택한다. [예] 버튼을 클릭한 경우 로컬 데이터뿐만 아니

라 원격 데이터도 함께 삭제된다.

주의

업무를 삭제할 경우 업무의 하위 노드(종별 및 거래 정보)도 함께 삭제된다는 것에 주의한다.

제4장 온라인업무뷰 35

Page 54: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

4.1.2. 업무 일반 정보 설정

다음은 [업무-일반정보] 탭 화면으로, 업무 일반 정보를 설정한다. 붉게 표시된 부분의 항목은 실거래를 위

해 반드시 설정되어야 하는 최소한의 필수 입력 항목이다.

주의

CMapper를 사용하는 업무의 경우 매핑 클래스명은 매핑을 위한 공유 라이브러리(shared library) 생

성에 대한 제약 때문에 32자를 넘을 수 없고, 사용자 클래스명은 Tmax 서비스로서 32자를 넘을 수

없다는 것에 유의해야 한다.

[그림 4.2] 업무 일반 정보

각 입력 항목에 대한 설명은 다음과 같다.

● 업무명(최대 64자리 정수)

업무명을 설정한다.

● 업무코드(최대 4자리 정수)

업무 코드를 설정한다. 업무 식별을 위해 내부적으로 사용되는 값이다.

● 거래코드 길이(최대 2자리 정수)

거래 코드의 길이로서 종별 정보에 입력되지 않으면 이 값이 적용된다.

● 전문추적번호 길이(최대 2자리 정수)

전문 추적번호의 길이로서 거래 정보에 없으면 이 값이 적용된다.

36 AnyLink 스튜디오 안내서

Page 55: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● 메시지 변환 유형

ASCII/EBCDIC 코드 변환 유형을 설정한다.

필드 타입이 char일 때는 SOSI 있는 필드로, korean일 때는 SOSI 없는 필드로 설정한다.

바이너리일 때는 변환하지 않는다. 'HEXA'는 hexa-decimal 형태 데이터의 변환을 위한 것으로 현재는

사용되지 않는다.

● 요청/응답 데이터 패킷 단위(최대 4자리 정수)

입력된 패킷 단위(Byte)만큼씩 나눠서 대외 기관으로 전문을 전송하거나(요청), 대외 기관으로부터 전

문을 받는다(응답). 거래 정보의 '요청/응답 데이터 패킷 단위'가 우선한다는 것에 주의한다. 즉, 거래 정

보에 입력되어 있으면 업무 정보의 값은 무시된다.

TCP/IP 및 X.25 게이트웨이에서만 적용된다.

● 응답 대기시간(최대 3자리 정수)

게이트웨이로 요청 전문이 들어와서 응답 전문을 받는 거래나 혹은 아웃바운드의 경우 전문을 요청한

이후 응답 전문을 받는 거래 수행에 대한 타임아웃을 설정한다. (단위:초)

● SAF 거래 대기시간(최대 4자리 정수)

SAF 거래 대기시간은 SAF거래에 대한 타임아웃을 설정한다. (단위:초)

SAF(Store And Forward)거래란 전날 미결된 거래 처리 등 대량의 온라인 거래를 의미한다.

● 모니터링 시간(최대 7자리 정수)

거래 수행시간의 임계값으로, 설정값을 초과할 경우 타임아웃 에러가 발생하는 '대기시간'과는 다르다.

(단위: milliseconds)

거래 수행시간이 해당 임계값을 초과할 경우 해당 업무의 모든 거래를 모니터링 대상으로 지정하여 비

즈니스 시스템(AP)에서 별도의 분석 등이 필요할 때 이용할 수 있다.

모니터링 대상은 전문 내 필드 설정을 통해 지정된다. 게이트웨이에서 거래 수행시간이 임계값을 초과

한 경우 해당 거래 코드 및 플래그를 저장하고, 매핑 후 식별자 BUSY_FLAG를 갖는 전문 필드에 플래

그를 설정하여 비즈니스 시스템으로 보낸다. 플래그는 모니터링 대상인 경우 '1'로 설정되고, 모니터링

대상에서 해제(즉, 임계값 내에 수행)된 경우 '0'으로 리셋된다.

● 지연응답 서비스명(최대 32자리)

응답 대기시간 내에 응답 전문이 오지 않은 경우, 수행할 서비스명으로 거래와 업무에 모두 설정되지 않

은 경우 해당 전문을 버린다.

● 패키지명(필수 입력 항목, 최대 128자리)

패키지명으로서 공통부 매핑 클래스에 적용된다.

'0100'처럼 숫자만 입력하거나 '0100kind'처럼 숫자로 시작하는 경우 Java에서 유효한 식별자(identifier)

가 아니므로 'kind0001'처럼 문자로 시작하도록 입력해야 한다.

● 에러코드 길이(최대 2자리 정수)/ 에러 메시지 길이(최대 3자리 정수)

대외 에러코드의 길이를 설정한다. 오프셋은 거래 정보에 입력한다.

제4장 온라인업무뷰 37

Page 56: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● 전문고유번호 정보

거래 중복 체크(같은 일자에 동일한 전문 고유번호의 거래가 들어온 경우)를 위해 사용되는 전문 고유

번호 정보를 설정한다.

거래별로 위치/길이가 다를 경우 거래 정보에 입력한다.

'위치', '길이', '필드명'에는 전문 고유번호가 설정되는 필드에 대한 위치와 길이(Stream 전문) 및 필드명

(XML/VO 전문)을 입력하며 기관-업무 정보의 '중복 체크 여부' 플래그가 설정된 경우 중복 거래가 발생

할 경우의 Action을 정의한다.

전문고유번호 정보의 '유형' 항목의 설정값은 다음과 같다.

설명설정값

기존에 보냈던 응답 전문을 재전송한다. 데이터베이스 로깅이 남은 상태에서만 이

기능을 사용할 수 있다.

응답 전송

시스템오류 매핑을 적용하여 응답 전문을 전송한다.오류 전송

응답 전문을 전송하지 않는다.버림

● 서비스 응답코드 정보(필수 입력 항목)

대내 에러 코드의 위치 및 길이를 설정한다. 비즈니스 서비스 호출 후 이 값을 통해 정상 응답인지 에러

인지 판단하게 된다.

설명항목

대내 에러 코드의 위치를 설정한다. (최대 4자리 정수)위치

대내 에러 코드의 길이를 설정한다. (최대 2자리 정수)길이

대내 에러 코드의 필드명을 설정한다. (최대 128자리 정수)필드명

● Delimiter

Delimiter 전문에서 사용할 구분자를 설정한다. [선택] 버튼을 클릭하여 다음과 같은 테이블이 나타나면

사용할 구분자를 선택한다.

38 AnyLink 스튜디오 안내서

Page 57: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● 요청 공통헤더 정보(필수 입력 항목)

‘요청 공통헤더 정보’ 등의 매핑 클래스 정보는 섹션(section)형태로 제공되어 folding( [▶] ) 및 unfold

ing([▼])을 통해 정보 표시가 가능함에 유의한다.

요청 전문의 공통부에 대한 정보를 설정한다.

설명항목

공통부 헤더의 크기를 설정한다. (최대 4자리 정수)헤더 크기

XML/VO 이외의 전문에 대한 공통부/상세부 구분에 사용되며 Stream일 경우 Byte

수, name/value일 경우 공통부를 구성하는 name의 개수가 된다.

Mapper에서는 요청 입력에 대해 헤더 크기만큼 잘라 공통부 객체로서 Unmarshal

하고 나머지를 상세부 객체로서 Unmarshal한다.

Stream 전문에 대해 입력 전문의 공통부 크기가 이 헤더 크기와 일치하지 않는 경

우 디플로이할 때 에러가 발생하므로 주의해야 한다.

요청할 때의 매핑 클래스명을 설정한다. (최대 32 혹은 256자리)매핑 클래스명

업무 정보의 '패키지명'에 입력된 패키지 구조에 따르며, 클래스명은 패키지를 포

함할 수 없다. 예를 들어, test.req_map 같은 경우 디플로이할 때 유효하지 않은 것

으로 체크된다는 것에 주의한다.

요청 매핑 후 적용될 사용자 클래스명을 설정한다. (최대 32 혹은 256자리)사용자 클래스명

제4장 온라인업무뷰 39

Page 58: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명항목

업무 정보의 '패키지명'에 입력된 패키지 구조에 따르며, 사용자 클래스는

anylink.common.base.AnyUser 클래스를 상속하여 execute 메소드를 구현해야

한다.

● 응답 공통헤더 정보(필수 입력 항목)

응답 전문의 공통부에 대한 정보를 설정한다.

설명항목

공통부 헤더의 크기를 설정한다. (최대 4자리 정수)헤더 크기

XML/VO 이외의 전문에 대한 공통부/상세부 구분에 사용되며 Stream일 경우 Byte

수, name/value일 경우 공통부를 구성하는 name의 개수가 된다.

Mapper에서는 응답 입력에 대해 헤더 크기만큼 잘라 공통부 객체로서 Unmarshal

하고 나머지를 상세부 객체로서 Unmarshal한다.

응답할 때 매핑 클래스명을 설정한다. (최대 32 혹은 256자리)매핑 클래스명

업무 정보의 '패키지명'에 입력된 패키지 구조를 따르며, 클래스명에는 패키지를

포함할 수 없다.

응답 매핑 후 적용될 사용자 클래스명을 설정한다. (최대 32 혹은 256자리)사용자 클래스명

업무 정보의 '패키지명'에 입력된 패키지 구조에 따르며 사용자 클래스는

anylink.common.base.AnyUser 클래스를 상속하여 execute 메소드를 구현해야

한다.

● 오류 공통헤더 정보(최대 256자리)

공통부 오류 매핑의 경우 사용되는 매핑 클래스명 및 사용자 클래스명을 설정한다.

● 요청/응답 포맷오류 공통헤더 정보

요청포맷오류 전문의 공통부에 대한 정보를 설정한다.

설명항목

요청에 대한 매핑 클래스명을 설정한다. (최대 32 혹은 256자리)매핑 클래스명

업무 정보의 '패키지명'에 입력된 패키지 구조를 따르며, 클래스명에는 패키지를

포함할 수 없다.

매핑 후 적용될 사용자 클래스명을 설정한다. (최대 32 혹은 256자리)사용자 클래스명

업무 정보의 '패키지명'에 입력된 패키지 구조에 따르며, 사용자 클래스는

anylink.common.base.AnyUser 클래스를 상속하여 execute 메소드를 구현해야

한다.

40 AnyLink 스튜디오 안내서

Page 59: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● 종별코드 정보(필수 입력 항목)

종별 코드가 설정되는 필드에 대한 위치와 길이(Stream 전문) 및 필드명(XML/VO 전문)을 입력한다.

설명항목

종별 코드가 설정되는 필드의 위치를 설정한다. (최대 4자리 정수)위치

종별 코드가 설정되는 필드의 길이를 설정한다. (최대 2자리 정수)길이

종별 코드가 설정되는 필드의 필드명을 설정한다. (최대 128자리 정수)필드명

● 거래코드 키 정보

대내(internal) 게이트웨이에서의 파싱을 위한 거래코드 키 정보를 설정한다.

게이트웨이는 해당 업무의 거래코드 키 정보 1, 2, 3으로부터 거래코드를 찾아낸 후 종별코드를 찾게 된

다. 종별코드 정보와 거래코드 키정보에서 'BCD type'을 'Yes'로 선택하면 '0200'코드가 '0x20' '0x00'으

로 들어오는 경우를 처리한다.

설명항목

대내 게이트웨이에서 파싱할 거래코드의 위치를 설정한다. (최대 4자리 정수)위치

대내 게이트웨이에서 파싱할 거래코드의 길이를 설정한다. (최대 2자리 정수)길이

대내 게이트웨이에서 파싱할 거래코드의 필드명을 설정한다. (최대 128자리 정수)필드명

● 매퍼 Cache

VO 클라이언트를 위한 것으로 특정 위치와 길이의 Stream을 잘라서 보관하는 기능이다.

설명항목

Cache의 위치를 설정한다. (최대 4자리 정수)위치

Cache의 길이를 설정한다. (최대 4자리 정수)길이

데이터를 캐싱하여 매핑에 포함시키지 않는 이유는 VO 클라이언트가 64 Byte 공통헤더를 Stream이다.

상세부를 VO로 넘겨줄 때 64 Byte 헤더를 떼고 매핑을 수행하는 것이 <VO 공통부> + <VO 상세부> 구

조의 전문 등록을 가능하게 하므로 <Stream 공통부> + <VO 전체>로 하는 것보다 효율적이기 때문이

다.

또한, Caching된 데이터는 전문을 등록할 때 제외해도 되는 편리성 때문에 게이트웨이를 통하지 않고

직접 Mapper를 호출하는 경우에도 활용될 수 있다.

기관-업무 정보의 Cache 정보('Cache 위치' 및 'Cache 길이')와는 다음의 측면에서 차이를 갖는다.

Mapper Cache(업무)기관-업무별 Cache구분

Mapper게이트웨이 및 MapperCache 주체

등록하지 않음등록하지 않음매핑 등록 여부

제4장 온라인업무뷰 41

Page 60: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

Mapper Cache(업무)기관-업무별 Cache구분

위치(offset) 계산은 기관-업무별 Cache를 제외한 상태에서

수행

4.1.3. 응답/오류 코드 정보 설정

다음은 [응답/오류 코드 정보] 탭 화면으로, 비즈니스 서비스 호출의 정상 응답 코드와 오류 코드의 정보를

설정한다.

[그림 4.3] 업무 - 응답/오류 코드

정상 응답 코드

정상 응답 코드는 비즈니스 서비스가 에러 없이 정상적으로 수행된 상태를 의미한다. (최대 8자리)

비즈니스 서비스 호출 후 업무 정보의 서비스 응답코드 정보에 설정된 위치의 값을 읽어 등록된 정상 응답

코드 중 하나와 일치하면 정상 응답 매핑이 수행되고 그렇지 않은 경우 응답오류 매핑이 수행된다.

정상 응답 코드의 추가 및 삭제는 [응답/오류 코드 정보] 탭 화면 왼쪽의 정상 응답 코드 정보 영역에서 진

행한다.

응답 코드의 추가와 삭제는 텍스트 박스에 응답 코드를 입력한 후 [추가] 버튼을 클릭하거나, 삭제할 응답

코드를 리스트 박스에서 선택하고 [삭제] 버튼을 클릭한다.

오류 코드

오류 코드는 비즈니스 서비스 호출에 실패한 경우, 즉 시스템 오류에 대한 에러 코드이다. (최대 3자리)

비즈니스 서비스 호출에 실패한 경우 해당 대내 에러 코드에 대응되는 대외 에러 코드(최대 10자리) 및 메

시지(최대 256자리)가 거래의 '에러 코드 정보' 및 '에러 메시지 정보'에 각각 설정되어 응답 전문으로 보내

진다.

오류 코드의 추가 및 삭제는 [응답/오류 코드 정보] 탭 화면 왼쪽의 오류 코드 정보 영역에서 진행한다.

[추가] 버튼을 클릭하여 나타나는 대화상자에서 대내 에러코드를 입력하면 화면 아래 테이블에 행(row)이

추가된다. 대외 에러 코드 및 메시지는 추가된 행의 '대외 에러코드' 및 '대외 에러메시지' 컬럼을 더블클릭

하여 입력한다. 삭제할 코드를 테이블에서 선택하고 [삭제] 버튼을 클릭해서 삭제한다.

42 AnyLink 스튜디오 안내서

Page 61: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

4.1.4. 기관 매핑 정보 설정

현재 온라인업무에서는 사용되지 않는다.

4.1.5. 프로토콜 정보 설정

프로토콜(protocol)이란 전문 흐름에 대한 규칙이다. 예를 들어 "개시 전문이 온 후에 통상 전문이 올 수 있

고 종료 전문 이후에는 통상 전문이 올 수 없다"와 같은 규칙으로 전문 간의 선후 관계에 따라 다음에 올

수 있는 전문을 프로토콜로서 정의할 수 있다.

엔진에서는 설정된 프로토콜에 위반된 전문을 에러 처리하게 되며 이를 플로우 체크(flow check) 기능이

라고 한다.

예를 들어 다음과 같은 규칙을 재구성해보면 다음 그림과 같다.

● 개시 전문(0800/100) 후 통상 전문(0200/*)이 올 수 있고, 종료 전문(0800/200)에는 통상 전문이 오지 못

하며 개시 전문이 다시 와야 통상 전문을 받을 수 있다.

● 개시 전문은 초기화 전문으로 AnyLink 구동 후 최초로 통과할 수 있는 전문이다.

● 테스트 전문(0800/400)은 언제나 통과가 가능하다.

● 장애 전문(0800/999)이 오면 장애회복 전문(0800/888)이 와야만 다른 전문 처리가 가능하며 장애 전문

이 들어오기 직전 상태를 유지한다.

[그림 4.4] 업무 - 프로토콜

다음은 현재 상태와 플래그 값에 대한 설명이다.

설명항목

현재 상태는 콤보박스에 표시된 I, P, R, K에 지정된 다음 상태에서 선택한다.현재 상태

– I : 개시 전문(Init)을 나타낸다.

– P : 언제나 통과 가능한 테스트전문(Pass)을 나타낸다.

– R : 장애회복 전문(Repair)으로 장애 이전 상태로 복구한다.

– K : 현재 상태에 올 수 있는 전문을 정의한다.

플래그 – True : 현재 상태 이후 다음 상태(종별/거래로 표시하는 전문)가 올 수 있다.

– False : 현재 상태 이후 다음 상태가 올 수 없다.

제4장 온라인업무뷰 43

Page 62: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

다음 상태 선택을 위해 해당 셀의 오른쪽에 있는 [추가] 버튼을 클릭하면 해당 업무에 대한 종별 및 거래코

드(' * ' 포함)를 콤보박스에서 선택할 수 있다.

[그림 4.5] 다음 상태 선택

다음 상태가 이미 설정된 경우 "기존 상태를 덮어쓸까요?"라는 메시지가 표시되는데, [예]를 클릭하면 추

가된 상태가 유일한 다음 상태로 설정되고, [아니오]를 클릭하면 기설정된 상태에 덧붙여 추가 설정된다.

4.1.6. 종별/거래 리스트

본 절에서는 [종별리스트] 탭과 [거래리스트] 탭에 대해 설명한다.

종별 리스트

[종별리스트] 탭에서는 업무 하위의 모든 종별 정보를 확인할 수 있고, '종별명'을 클릭하면 해당 종별 노

드로 이동할 수 있다.

[그림 4.6] 종별 리스트

거래 리스트

[거래리스트] 탭에서는 업무 하위의 모든 거래 정보를 확인할 수 있고, '거래명'을 클릭하면 해당 거래 노

드로 이동할 수 있다.

[그림 4.7] 거래 리스트

44 AnyLink 스튜디오 안내서

Page 63: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

4.1.7. 매핑

공통부에 대한 요청 매핑, 응답 매핑, 오류 매핑, 요청포맷오류 매핑, 응답포맷오류 매핑의 정의는 다음의

그림에 표시된 각 탭에서 진행한다.

[그림 4.8] 업무 - 공통부 매핑

매핑에 대한 설명은 “제6장 전문 정의 및 매핑”을 참조한다. 전문 필드 및 매핑할 때 사용되는 툴바에 대한

설명은 “6.1.3. 전문 정의 테이블 메뉴”를, 테이블의 각 컬럼에 대한 설명은 “6.1.2. 전문 필드”를 참조한다.

4.1.8. 디플로이 및 다운로드

본 절에서는 업무의 디플로이 및 다운로드 기능에 대해 설명한다.

디플로이

업무의 디플로이는 해당 노드를 선택한 후 컨텍스트 메뉴의 [디플로이] 메뉴에서 [전체]를 선택하거나 특

정 항목만 선택하여 가능하다.

디플로이는 전체, 공통, 전문, 매핑으로 구분된다.

● 전체

공통, 전문, 매핑 디플로이를 모두 포함한다.

전체 디플로이의 경우에는 다음과 같은 메시지가 나타나고, [예]를 클릭하면 하위 종별 및 거래를 모두

디플로이할 수 있다.

제4장 온라인업무뷰 45

Page 64: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

[그림 4.9] 업무 전체 디플로이 (하위 종별/거래 포함)

● 공통

일반 정보, 응답/오류코드 정보, 프로토콜 정보 등 업무 관련 정보를 디플로이한다.

● 전문

공통부 입출력전문 정보 및 코드를 디플로이한다.

● 매핑

공통부 입출력 매핑 정보 및 코드에 대한 디플로이로, 전문 디플로이를 포함한다.

주의

업무의 디플로이는 전체 디플로이의 경우를 제외하고는 하위 종별 및 거래를 포함하지 않는다는 사

실에 주의해야 한다. 따라서 종별 및 거래의 디플로이는 해당 노드에 대한 컨텍스트 메뉴를 통해 명

시적으로 해야 한다.

다운로드

업무의 다운로드를 수행하려면 루트 노드를 선택하고 컨텍스트 메뉴에서 [다운로드]를 선택한다. 다운로

드할 때 다음과 같은 메시지가 나타나고, [예]를 클릭하면 하위 종별 및 거래까지 모두 다운로드할 수 있다.

[그림 4.10] 업무 다운로드 (하위 종별/거래 포함)

46 AnyLink 스튜디오 안내서

Page 65: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

4.2. 종별종별(kind)은 거래의 그룹을 의미하는 것으로 '0800'에 속하는 전문은 관리 전문, '0200'은 통상 전문, '0600'은

배치 전문 등 동일한 성격을 갖는 거래를 묶는 역할을 한다.

4.2.1. 종별 추가 및 삭제

종별을 추가하려면 업무 노드의 컨텍스트 메뉴에서 [추가] 메뉴 혹은 툴바의 추가 아이콘( )을 클릭하

고 '종별명'(최대 64자리) 및 '종별코드'(최대 8자리)를 입력한다.

[그림 4.11] 종별 추가

종별을 추가할 때 "DB에 해당 종별이 존재하니 다운로드하세요."라는 메시지가 표시된다. 실패하는 경우

는 데이터베이스에 해당 코드의 종별 정보가 존재한다는 의미이므로 충돌 방지를 위해 다운로드한다.

종별 삭제는 해당 종별 노드의 컨텍스트 메뉴에서 [삭제] 메뉴 혹은 툴바의 삭제 아이콘( )을 클릭한 후

원격 데이터의 삭제 여부를 선택하면 된다. [예]를 클릭하면 로컬 데이터 뿐만 아니라 원격 데이터도 함께

삭제된다.

주의

종별을 삭제할 경우, 종별의 하위 노드(거래 정보)도 함께 삭제된다는 것에 주의한다.

4.2.2. 종별 일반 정보 설정

다음은 종별 일반 정보를 설정하는 [종별-일반정보] 탭 화면이다. 붉게 표시된 항목은 실제 거래를 위해 반

드시 설정되어야 하는 최소한의 필수 입력 항목이다.

제4장 온라인업무뷰 47

Page 66: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

[그림 4.12] 종별 일반 정보

각 입력 항목에 대한 설명은 다음과 같다.

● 종별명(최대 64자리)

종별명이 입력된다.

● 대표 종별코드(최대 8자리)

종별 코드가 입력된다. 요청에 대한 종별 코드를 설정한다. 예를 들어, 통상전문의 경우 '0200'으로 설정

한다.

● 기본 종별코드 정보

기본 종별코드는 요청, 응답, 요청에러, 응답에러 종별 코드가 각각 하나씩인 일반적인 경우에 등록한

다.

– 정상응답 종별코드(필수 입력 항목, 최대 8자리)

정상응답에 대한 종별 코드를 설정한다. 예를 들어, 통상 전문의 경우 '0210'으로 설정한다.

– 요청에러 종별코드(필수 입력 항목, 최대 8자리)

요청할 경우의 에러에 대한 종별코드를 설정한다. 예를 들어, 통상 전문의 경우 '9200' 혹은 '9210'(방

카)으로써 앞자리를 9로 변경('0200' → '9200')한다.

– 응답에러 종별코드(최대 8자리)

정상응답을 보냈는데, 수신 측에서 이를 에러로 판단한 경우 보내는 종별 코드를 설정한다. 예를 들어

통상 전문의 경우 '9210'으로서 앞자리를 9로 변경('0210' → '9210')한다.

48 AnyLink 스튜디오 안내서

Page 67: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● 등가 종별코드 정보

요청, 응답, 요청에러, 응답에러 종별 코드가 각각 하나 이상인 경우 등가 종별 코드를 추가해야 한다.

즉, 추가적인 종별 코드를 기본 종별 코드와 동등한 역할을 하는 등가 코드로 등록하는 것으로 다음과

같이 [등가 종별코드 정보] 탭의 [추가] 및 [삭제] 버튼을 통해 설정이 가능하다.

[그림 4.13] 등가 종별코드 정보 설정

● 패키지명(필수 입력 항목, 최대 128자리)

패키지명으로, 상세부 매핑 클래스에 적용된다. 즉, 업무/종별/거래의 패키지명이 각 a, b, c인 경우 상세

부 매핑 클래스는 a.b.c라는 패키지에 속하게 된다.

Java에서 유효한 식별자로 입력해야 한다.

● 거래 유형(필수 입력 항목)

거래 유형을 설정한다.

설명항목

실거래 데이터를 담은 통상 전문이다.일반전문

개시, 장애회복, 테스트 등을 위한 관리 전문이다.운영전문

● 거래코드 정보(필수 입력 항목)

거래 코드가 설정되는 필드에 대한 위치와 길이(Stream 전문) 및 필드명(XML/VO 전문)을 입력한다.

설명항목

거래 코드가 설정되는 필드의 위치를 설정한다. (최대 4자리 정수)요청위치

역전송에서 위치가 달라질 수 있을 경우에 설정한다.응답위치

거래 코드가 설정되는 필드의 길이를 설정한다. (최대 2자리 정수)길이

거래 코드가 설정되는 필드의 필드명을 설정한다. (최대 128자리 정수)필드명

'Yes'로 선택하면 '0200'코드가 '0x20' '0x00'으로 들어오는 경우를 처리한다.BCD type

● 거래코드 키 정보(1, 2, 3)

거래코드 정보가 설정되지 않은 경우 사용하는 값이다. 대외(external) 게이트웨이는 거래코드 정보를

이용해 거래 코드를 우선 찾게 되고, 거래코드 정보가 설정되지 않은 경우에 거래코드 키정보 1, 2, 3을

이용하게 된다.

제4장 온라인업무뷰 49

Page 68: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명항목

거래코드 키 필드명을 설정한다. (최대 128자리 정수)필드명

거래코드 키 위치를 설정한다. (최대 4자리 정수)위치

거래코드 키 길이를 설정한다. (최대 2자리 정수)길이

'Yes'로 선택하면 '0200'코드가 '0x20' '0x00'으로 들어오는 경우를 처리한다.BCD type

4.2.3. 거래 리스트

[거래 리스트] 탭에서는 종별 하위의 모든 거래 정보를 확인할 수 있고, '거래명'을 클릭하면 해당 거래 노

드로 이동할 수 있다.

[그림 4.14] 거래 리스트

4.2.4. 디플로이 및 다운로드

본 절에서는 종별의 디플로이 및 다운로드 기능에 대해 설명한다.

디플로이

종별의 디플로이는 해당 노드를 선택한 후 컨텍스트 메뉴에서 [디플로이]를 선택하여 실행한다.

디플로이는 전체와 일반정보로 구분된다.

● 전체

전체 디플로이의 경우 다음과 같은 메시지가 나타나고, [예]를 클릭하면 하위 거래를 모두 디플로이할

수 있다.

[그림 4.15] 종별 전체 디플로이 (하위 거래 포함)

● 일반정보

대표 종별 코드 등 종별 관련 정보를 디플로이한다.

50 AnyLink 스튜디오 안내서

Page 69: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

주의

종별의 디플로이는 전체 디플로이의 경우를 제외하고는 하위 거래를 포함하지 않는다는 사실에 주

의해야 한다. 따라서 거래의 디플로이는 해당 노드의 컨텍스트 메뉴를 통해 명시적으로 해야 한다.

다운로드

종별의 다운로드는 해당 업무 노드를 선택하고 컨텍스트 메뉴에서 [다운로드] > [종별] 메뉴를 선택한다.

[그림 4.16] 종별 다운로드 (하위 거래 포함)

다운로드할 때 다음과 같은 메시지가 나타나고, [예]를 클릭하면 하위 거래까지 모두 다운로드할 수 있다.

제4장 온라인업무뷰 51

Page 70: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

4.3. 거래거래(transaction)는 대내외 기관과의 거래를 의미한다. 일반 정보, 파라미터 정보 등 거래 관련 정보를 설

정하는 것 외에 거래 상세부 매핑을 정의한다.

4.3.1. 거래 추가 및 삭제

거래를 추가하려면 종별 노드를 선택한 후 컨텍스트 메뉴에서 [추가] 혹은 툴바의 추가 아이콘( )을 클

릭하고 '거래명'(최대 64자리) 및 '거래코드'(최대 32자리)를 입력한다.

[그림 4.17] 거래 추가

거래를 추가할 때 "DB에 해당 거래가 존재하니 다운로드하세요."라는 메시지가 표시되며, 실패하는 경우

는 데이터베이스에 해당 코드의 거래 정보가 존재한다는 의미이므로 충돌 방지를 위해 다운로드한다.

거래 삭제는 해당 거래 노드의 컨텍스트 메뉴에서 [삭제] 혹은 툴바의 삭제 아이콘( )을 클릭한 후 원격

데이터의 삭제 여부를 선택하면 된다. [예]를 선택한 경우 로컬 데이터 뿐만 아니라 원격 데이터도 함께 삭

제된다.

4.3.2. 거래 일반 정보 설정

다음은 거래의 일반 정보를 설정하는 [거래-일반정보] 탭 화면이다. 붉게 표시된 항목은 실제 거래를 위해

반드시 설정되어야 하는 최소한의 필수 입력 항목이다.

참고

CMapper를 사용하는 업무의 경우 매핑 클래스명은 매핑을 위한 공유 라이브러리(shared library) 생

성에 대한 제약 때문에 32자를 넘을 수 없고 사용자 클래스명은 Tmax 서비스로, 32자를 넘을 수 없

다는 것에 유의해야 한다.

52 AnyLink 스튜디오 안내서

Page 71: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

[그림 4.18] 거래 일반 정보

각 입력 항목에 대한 설명은 다음과 같다.

● 거래명(최대 64자리 정수)

거래명이 입력된다.

● 거래코드(최대 32자리 정수)

거래코드가 입력된다.

● 패키지명(필수 입력 항목, 최대 128자리)

패키지명으로서 상세부 매핑 클래스에 적용된다. 즉, 업무/종별/거래의 패키지명이 각 a, b, c인 경우 상

세부 매핑 클래스는 a.b.c라는 패키지에 속하게 된다.

Java에서 유효한 식별자로 입력해야 한다.

● 응답 대기시간(최대 3자리 정수)

게이트웨이로 요청 전문이 들어와서 응답 전문을 받는 거래, 혹은 outbound의 경우 전문을 요청한 이후

응답 전문을 받는 거래 수행에 대한 타임아웃을 설정한다. (단위: 초)

입력하지 않으면 업무의 정보가 적용된다.

● 모니터링 시간(최대 7자리 정수)

업무의 '모니터링 시간'과 동일하므로 자세한 내용은 “4.1.2. 업무 일반 정보 설정”를 참조한다. 단, 해당

거래만 모니터링 대상으로 지정됨에 주의한다.

제4장 온라인업무뷰 53

Page 72: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

입력하지 않으면 업무의 정보가 적용된다.

● 지연응답서비스명(최대 32자리)

응답 대기시간 내에 응답 전문이 오지 않은 경우 수행할 서비스명으로, 거래와 업무에 모두 설정되지 않

은 경우 해당 전문을 버린다.

입력하지 않으면 업무의 정보가 적용된다.

● 거래 유형

운영 전문의 구분을 위해 사용되는 논리적인 값으로서 Admin에서 운영 전문을 발송할 때 '개시', '종료

예고', '종료', '장애', '장애회복', '회선시험', '데이터', '재개시', '집계', '종료시간연장', '정산', '집계기동' 중

선택하여 보내게 된다.

● 호출 방식

호출 방식을 설정한다.

설명호출 방식

호출 방식의 기본값으로 거래-일반 정보의 '응답 대기시간' 또는 업무-일반정보

의 '응답 대기시간'을 적용한다(단, '응답 유무'가 'Yes'로 설정된 경우)

Sync

SAF 거래일 때 이 항목을 설정하면 업무의 'SAF거래 대기시간'을 적용한다(단,

'응답 유무'가 'Yes'로 설정된 경우).

Async(SAF)

전문이 들어온 순서대로 전송하는 방식이다.순차적 전송

External 게이트웨이에 전문 1, 2, 3이 순서대로 들어온 경우 미들웨어(Tmax)나

Mapper 처리시간 등의 요인에 의해 Internal 게이트웨이에 원래의 순서대로 전

달되지 않는 경우(2, 1, 3 등)가 있다. '순차적 전송' 방식은 이에 상관없이 원래의

순서대로(1, 2, 3) 비즈니스 시스템에 전달하는 것을 보장한다.

● 메시지 변환유형

ASCII/EBCDIC 코드 변환 유형을 설정한다. 입력하지 않으면 업무의 정보가 적용된다.

● 응답 유무

응답 유무를 설정한다. 요청 전문만 있고 응답 전문이 없는(no-reply) 경우 'No'로 설정한다.

● 로그 정보 (필수 입력 항목)

'파일 로깅', 'DB 로깅' 항목을 통해 파일 및 데이터베이스 로깅 유무를 설정하는 항목으로, 매핑 각 단계

별 설정이 가능하다. (JMAPPER와 HTTP/EBXML 게이트웨이는 DB 로깅만 지원한다.)

설명설정값

기관-업무의 '로그 정보' 설정값을 따른다. (기본값)기관-업무 설정

로깅하지 않는다.No

게이트웨이 요청 입력 전의 전문 데이터를 로깅한다.게이트웨이 요청입력

매퍼 요청 매핑 전의 전문 데이터를 로깅한다.매퍼 요청입력

54 AnyLink 스튜디오 안내서

Page 73: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명설정값

매퍼 요청 매핑 후의 전문 데이터를 로깅한다.매퍼 요청출력

게이트웨이 요청 출력 후의 전문 데이터를 로깅한다.게이트웨이 요청출력

게이트웨이에서 서비스 호출에 대한 응답 데이터를 로깅한다.게이트웨이 응답입력

매퍼에서 비즈니스 서비스 호출에 대한 응답 데이터를 로깅한다.매퍼 응답입력

매퍼에서 응답 매핑 후의 전문 데이터를 로깅한다.매퍼 응답출력

게이트웨이에서 응답 메시지 전송할 전문 데이터를 로깅한다.게이트웨이 응답출력

● 전문 고유번호 정보

거래 중복 체크를 위해 사용되는 전문 고유번호 정보를 설정한다. 입력하지 않으면 업무의 정보가 적용

된다.

설명항목

전문 고유번호 정보의 필드명을 설정한다. (최대 128자리 정수)필드명

전문 고유번호 정보의 위치를 설정한다. (최대 4자리 정수)위치

전문 고유번호 정보의 길이를 설정한다. (최대 2자리 정수)길이

● 전문 추적번호 정보

– 게이트웨이

설명항목

요청 전문의 전문 추적번호 정보의 위치를 설정한다. (최대 4자리 정수)요청위치

응답 전문의 전문 추적번호 정보의 위치를 설정한다. (최대 4자리 정수)응답위치

전문 추적번호 정보의 길이를 설정한다. (최대 2자리 정수)길이

전문 추적번호 정보의 필드명을 설정한다. (최대 128자리)필드명

– 매퍼

대외 기관과 비동기 통신을 할 경우 요청 전문에 대한 응답 전문을 찾기 위해 사용되는 값을 설정한

다. 전문 추적번호가 설정되는 필드에 대한 위치와 길이(Stream 전문) 및 필드명(XML/VO 전문)을 입

력한다.

설명항목

전문 추적번호 정보의 위치를 설정한다. (최대 4자리 정수)위치

전문 추적번호 정보의 길이를 설정한다. (최대 2자리 정수)길이

전문 추적번호 정보의 필드명을 설정한다. (최대 128자리)필드명

제4장 온라인업무뷰 55

Page 74: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● 에러 코드/메시지 정보(필수 입력 항목)

대외 에러 코드를 설정할 위치(Stream 전문) 혹은 필드명(XML/VO 전문)을 설정한다.

설명항목

에러 코드의 위치를 설정한다. (최대 4자리 정수)위치

에러 코드의 필드명을 설정한다. (최대 128자리 정수)필드명

비즈니스 서비스 호출 후 반환된 대내 에러 코드와 대응되는 대외 에러 코드 및 메시지(“4.1.3. 응답/오

류 코드 정보 설정”의 오류 코드 참조)를 응답 전문의 특정 위치에 설정한다.

JMapper에서의 에러 코드 및 메시지 정보 설정과 관련한 내용은 “4.3.2. 거래 일반 정보 설정” [59]을 참

조한다.

● 요청 cache 유무

응답출력 전문의 필드 중 매핑이 정의되지 않은 것을 요청입력 전문의 값으로 채워주는 기능이다. 단,

요청입력 전문과 응답출력 전문의 포맷이 같아야 한다는 제약이 있다. 자세한 내용은 “6.2.8. 기본 매핑

및 크로스 매핑”의 "기본 매핑" [112] 부분을 참조한다.

설명항목

적용하지 않는다.No

공통부/상세부 전체 적용한다.헤더+바디

공통부만 적용한다.헤더

상세부만 적용한다바디

● 요청 클래스 정보(필수 입력 항목)

요청 전문의 상세부에 대한 정보를 설정한다.

설명항목

상세부 → 공통부 크로스 매핑의 경우 적용될 공통부 매핑 클래스명을 설정한다.

(최대 32자리)

헤더 매핑 클래스명

클래스명은 패키지를 포함할 수 없다. 예를 들어 test.req_map 같은 경우 디플로

이할 때 유효하지 않은 것으로 체크된다는 것에 주의한다.

요청할 경우 매핑 클래스명을 설정한다. (최대 32 혹은 256자리)바디 매핑 클래스명

업무/종별/거래 정보의 '패키지명'에 입력된 패키지 구조에 따르며 클래스명에는

패키지를 포함할 수 없다.

요청매핑 후 적용될 사용자 클래스명을 설정한다. (최대 32 혹은 256자리)사용자 클래스명

업무/종별/거래 정보의 '패키지명'에 입력된 패키지 구조에 따른다. 사용자 클래

스는 anylink.common.base.AnyUser 클래스를 상속하여 execute 메소드를 구현

해야 한다.

56 AnyLink 스튜디오 안내서

Page 75: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● 정상응답 클래스 정보(필수 입력 항목)

응답 전문의 상세부에 대한 정보를 설정한다.

설명항목

상세부 → 공통부 크로스 매핑의 경우에 적용될 공통부 매핑 클래스명을 설정한

다. (최대 32 혹은 256자리)

헤더 매핑 클래스명

클래스명은 패키지를 포함할 수 없다.

응답할 경우 매핑 클래스명을 설정한다. (최대 32 혹은 256자리)바디 매핑 클래스명

업무/종별/거래 정보의 '패키지명'에 입력된 패키지 구조에 따르며 클래스명에는

패키지를 포함할 수 없다.

응답 매핑 후 적용될 사용자 클래스명을 설정한다. (최대 32 혹은 256자리)사용자 클래스명

업무/종별/거래 정보의 '패키지명'에 입력된 패키지 구조에 따른다. 사용자 클래

스는 anylink.common.base.AnyUser 클래스를 상속하여 execute 메소드를 구현

해야 한다.

● 응답오류 클래스 정보

응답오류 전문의 상세부에 대한 정보를 설정한다.

설명항목

매핑 클래스명을 설정한다. (최대 32 혹은 256자리)매핑 클래스명

클래스명은 패키지를 포함할 수 없다.

사용자 클래스명을 설정한다. (최대 32 혹은 256자리)사용자 클래스명

● 포맷오류 클래스 정보

포맷오류 전문의 상세부에 대한 정보를 설정한다.

설명항목

매핑 클래스명을 설정한다. (최대 32 혹은 256자리)매핑 클래스명

클래스명은 패키지를 포함할 수 없다.

사용자 클래스명을 설정한다. (최대 32 혹은 256자리)사용자 클래스명

● 시스템오류 클래스 정보

시스템오류 전문의 상세부에 대한 정보를 설정한다.

설명항목

매핑 클래스명을 설정한다. (최대 32 혹은 256자리)매핑 클래스명

클래스명은 패키지를 포함할 수 없다.

제4장 온라인업무뷰 57

Page 76: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명항목

사용자 클래스명을 설정한다. (최대 32 혹은 256자리)사용자 클래스명

● 요청/응답포맷오류 클래스 정보

요청/응답포맷오류 전문의 상세부에 대한 정보를 설정한다.

설명항목

상세부 → 공통부 크로스 매핑의 경우 적용될 공통부 매핑 클래스명을 설정한다.

(최대 32 혹은 256자리)

헤더 매핑 클래스명

클래스명은 패키지를 포함할 수 없다.

매핑 클래스명을 설정한다. (최대 32 혹은 256자리)바디 매핑 클래스명

클래스명은 패키지를 포함할 수 없다.

사용자 클래스명을 설정한다. (최대 32 혹은 256자리)사용자 클래스명

● 거래코드 키값 정보(각 최대 32자리)

Internal 게이트웨이에서의 파싱을 위한 거래코드 키값 1, 2, 3의 정보를 설정한다.

● ebXML/SOAP Action 정보

'Request Action' 항목과 'Respose Action' 항목은 다음의 경우에 따라 설정한다.

– ebXML의 경우

CPA 요청 전문과 응답 전문의 Action명을 설정한다. (최대 64자리)

– SOAP의 경우

요청/응답의 SOAPAction 값을 설정한다. (최대 64자리)

● 요청/응답 데이터 패킷단위 (각 최대 4자리 정수)

입력된 패킷단위(byte)만큼씩 나눠서 대외기관으로 전문을 전송하거나(요청) 대외기관으로부터 전문을

받는다(응답).

업무 정보의 요청/응답 데이터 패킷단위보다 우선한다. (즉 거래 정보에 입력되어 있으면 업무 정보의

값은 무시) TCP/IP 및 X.25 게이트웨이에서만 적용된다.

● 요청 공통헤더 크기 (최대 4자리 정수)

데이터 패킷 단위만큼 나눠서(split) 오는 경우 상세부의 처음 일부가 공통부에 포함되어 매 split마다 (헤

더로서) 전송될 수 있기 때문에 여기에 설정한 값만큼을 공통부로 인식한다. 요청입력과 응답출력에 적

용된다.

● 응답 공통헤더 크기 (최대 4자리 정수)

데이터 패킷단위만큼 나눠서(split) 보내는 경우 상세부의 처음 일부가 공통부에 포함되어 매 split마다

(헤더로서) 전송될 수 있기 때문에 여기에 설정한 값만큼을 공통부로 인식한다. 요청출력과 응답입력에

적용된다.

58 AnyLink 스튜디오 안내서

Page 77: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● XML 인코딩 정보(각 최대 32자리)

자세한 내용은 기관-업무의 “3.2.2. 기관-업무 정보 설정”의 XML 플래그 정보의 '소스 인코딩' 및 '타겟

인코딩' 설명을 참조한다. 거래의 인코딩 정보가 기관-업무 정보에 우선한다.

JMapper에서의 에러 코드 및 메시지 설정

JMapper의 경우에 기존에는 stream 전문의 위치를 XML 전문은 XPath 형식(/Root/Body/LK_1)으로 설정

했으나, 매핑할 때 에러 코드 및 메시지 설정이 수행되도록 변경되면서 전문 유형에 관계없이 무조건(get

ter/setter로 인식할 수 있는) 필드명으로 입력해야 한다.

또한, 전문이 공통부(헤더)와 상세부(바디)로 구분되므로 전문 유형에 관계없이, 모두 Header.<필드명>

혹은 Body.<필드명>으로 입력해야 한다.

예를 들어, 헤더의 HDRRETCODE 필드에 에러 코드를 설정하고 싶으면 '이름'에 Header.HDRRETCODE

라고 입력해야 한다. 그러면 JMapper에서는 Reflection 메커니즘을 이용해 getHeader().setHDRRE-TCODE()

메소드로 에러 코드를 설정한다. getHeader()가 헤더 전문 객체를 반환하므로 해당 객체의 setter 호출을

통해 값을 설정할 수 있는 것이다.

단, XML에서 헤더에 설정할 경우 또 한 가지 주의할 점은 JMapper 내부적으로 헤더를 바디에서 얻기 때

문에 다음과 같이 헤더는 바디를 통해 설정되어야 한다는 점이다.

Body.WrappedObject.<헤더 Element QName>.<필드명>

예를 들어, 바디 xsd를 생성할 때 'Header Element Qname'으로 HeaderArea를 설정했다면

Body.WrappedObject.HeaderArea.HDRRETCODE라고 입력해야 한다. 그러면 JMapper에서는 get

Body().getWrappedObject().g-etHeaderArea().setHDRRETCODE() 메소드를 호출한다.

● XML

<?xml version='1.0'>

<Bancassurance>

<HeaderArea>

<HDR_RET_CODE>

● 전문 객체의 메소드

getBody().getWrappedObject()

getHeaderArea()

setHDRRETCODE()

제4장 온라인업무뷰 59

Page 78: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

4.3.3. 거래 파라미터 정보 설정

요청 매핑 후 호출될 비즈니스 서비스 정보(내부 서버 호출 타입 및 파라미터)를 설정한다.

다음은 서비스 유형에 따른 설정 방법에 대한 설명이다.

● Direct Return

요청 매핑된 결과를 그대로 반환한다. 따라서, 요청출력전문과 응답입력전문의 포맷이 같아야 한다.

● TP-Monitor

Tmax 서비스를 호출하기 위한 것이다.

[그림 4.19] 거래 파라미터 - TP-Monitor

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

설명항목

호출할 Tmax 서비스명을 설정한다. (최대 16자리)서비스명

JMapper에서 서비스를 호출할 때 사용할 WebT Pool 이름을 설정한다. (최대 32

자리)

WebT Pool

● AnyLink G/W External / AnyLink G/W Internal

AnyLink의 TCP/IP 혹은 X.25 게이트웨이 호출을 위한 것으로, 온라인 게이트웨이 프로토콜이 'TCP/IP

with IMS connect'인 경우 호스트 정보 설정을 통해 IMS Connect 호출도 가능하다.

External 게이트웨이와 Internal 게이트웨이는 전문의 파싱(기관/업무/종별/거래 코드를 찾아 Mapper로

전달하는) 방식에서 차이를 갖는다.

대외 기관과 연결할 때 사용되는 External 게이트웨이는 종별 코드/거래구분 코드를 갖는 대외 기관 전

문 구조에 따라 전문이 들어오면 업무 정보로부터 종별 코드 및 거래구분 코드를 찾는다. 반면, 대내 시

스템과 연결되는 Internal 게이트웨이는 파싱 방식이 위와 다르게 되는데 이는 대내 전문이 대외기관 전

문과 달리 12자리 거래 구분코드 혹은 여러 코드를 조합해서 나타내는 등의 다양한 구조를 가질 수 있

기 때문이다.

위의 TP-Monitor와의 차이는 호출할 때 AnyLink 헤더 정보가 붙는다는 것이다.

60 AnyLink 스튜디오 안내서

Page 79: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

[그림 4.20] 거래 파라미터 - AnyLink G/W

각 입력 항목에 대한 설명은 다음과 같다.

설명항목

호출할 게이트웨이 서비스명을 설정한다. (최대 16자리)서비스명

JMapper에서 게이트웨이 서비스를 호출할 때 사용할 WebT Pool 이름을 설정한

다. (최대 32자리)

WebT Pool

호스트 프로그램명을 설정한다. (최대 8자리)프로그램명

호스트 트랜잭션 ID를 설정한다. (최대 8자리)TXID

사용자 ID를 설정한다. (최대 12자리)사용자명

사용자 패스워드를 설정한다. (최대 8자리)사용자 암호

● HOST(LU0)

IBM 메인프레임에 존재하는 서비스를 호출하기 위한 것이다.

HostLink 게이트웨이는 IBM 호스트에 존재하는 애플리케이션 서비스 호출을 위한 모듈로, 호스트 연동

의 경우 필요한 통신 처리(서버의 SNA 게이트웨이와 연결)를 담당하기 때문에 사용자는 TP 호출과 동

일하게 서비스명만 입력하면 된다.

[그림 4.21] 거래 파라미터 - HOST(LU0)

각 입력 항목에 대한 설명은 다음과 같다.

설명항목

호출할 HostLink 서비스명을 입력한다. (최대 16자리)서비스명

제4장 온라인업무뷰 61

Page 80: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명항목

JMapper에서 서비스를 호출할 때 사용할 WebT Pool 이름을 설정한다. (최대 32

자리)

WebT Pool

● HOST(LU6.2) / HOST(ECI)

IBM 메인프레임에 존재하는 서비스를 호출하기 위한 것으로 HostLink 게이트웨이를 이용해 호스트로

전달한다.

ECI(Extended Call Interface)란 HostLink C 라이브러리를 이용한 CTG 서버 호출 방식으로, LU6.2와 동

일한 항목을 갖는다. 단, LU 계열이 호스트로부터의 역전송 요청을 받을 수 있는 반면, ECI는 클라이언

트의 역할만 할 수 있다.

[그림 4.22] 거래 파라미터 - HOST(LU6.2), HOST(ECI)

각 입력 항목에 대한 설명은 다음과 같다.

설명항목

HostLink 게이트웨이 서비스명을 설정한다. (최대 16자리)서비스명

JMapper에서 서비스를 호출할 때 사용할 WebT Pool 이름을 설정한다. (최대 32

자리)

WebT Pool

호스트 프로그램명을 설정한다. (최대 8자리)프로그램명

호스트 트랜잭션 ID를 설정한다. (최대 8자리)TXID

사용자 ID를 설정한다. (최대 12자리)사용자명

사용자 패스워드를 설정한다. (최대 8자리)사용자 암호

● HOST(CTG)

IBM 메인프레임을 호출하기 위한 것으로, Java 클래스 파일(HostLink 라이브러리)을 이용해 호스트로

전달한다.

JMapper에서만 사용 가능하며 CMapper에서 CTG 서버 호출을 위해서는 ECI 방식을 이용한다. LU 계

열이 호스트로부터의 역전송 요청을 받을 수 있는 반면 CTG는 클라이언트의 역할만 할 수 있다.

62 AnyLink 스튜디오 안내서

Page 81: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

[그림 4.23] 거래 파라미터 - HOST(CTG)

각 입력 항목에 대한 설명은 다음과 같다.

설명항목

CICS 서버명을 설정한다. (최대 128자리)CICS 서버명

호스트 프로그램명을 설정한다. (최대 8자리)HOST 프로그램명

호스트 트랜잭션 ID를 설정한다. (최대 8자리)HOST TXID

호스트 URL(대몬을 호출할 Java 클래스명)을 설정한다. (최대 128자리)HOST URL

호스트 포트 번호를 설정한다.HOST 포트번호

● Java Class

Java 클래스 파일로, anylink.common.base.AnyBusiness 클래스를 상속하여 process 메소드를 구현해

야 한다. 클래스 파일은 Admin의 노드 정보 중 'Classpath (Java)' 항목에 지정된 클래스 패스에 위치해

야 한다.

[그림 4.24] 거래 파라미터 - Java Class

각 입력 항목에 대한 설명은 다음과 같다.

설명항목

전체 패키지명(full qualified name)을 입력한다. (최대 256자리)클래스명

참고

클래스 파일의 작성 방법에 대한 자세한 내용은 " AnyLink 서버 안내서"를 참조한다.

제4장 온라인업무뷰 63

Page 82: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● Servlet

URL로써 호출할 서블릿이다.

[그림 4.25] 거래 파라미터 - Servlet

각 입력 항목에 대한 설명은 다음과 같다.

– URL (최대 128자리)

호출할 URL을 입력한다.

– Type

External 혹은 Internal 중 선택한다.

• External

Internal 서블릿은 동일한 서블릿 컨텍스트(servlet context)에 위치하는 서블릿 혹은 JSP를 의미한

다.

RequestDispatcher에 의해 포함(include)되므로 호출된 서블릿/JSP에서는 요청 객체에 저장된 속

성(attribute)을 이용할 수 있으며 전문 타입이 VO인 경우에만 유효하다.

설명항목

기관 코드instCode

업무 코드applCode

종별 코드kindCode

거래 코드txCode

요청 매핑 후의 전문 객체(VO)data

다음은 그 예이다.

String instCode = request.getAttribute('instCode');

String txCode = request.getAttribute('txCode');

MyVO myVO = (MyVO)request.getAttribute('data');

• Internal

64 AnyLink 스튜디오 안내서

Page 83: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

External 서블릿은 HttpURLConnection에 의해 호출되는 임의의 서블릿 혹은 JSP를 의미한다.

External 서블릿의 경우 메모리 객체 형태가 아닌 URL 파라미터(query string)를 통한 정보 전달만

가능하기 때문에 다음의 3가지 방식 중 하나를 사용한다.

설명항목

전문 타입이 Name/Value인 경우에만 유효하다.필드별 Name/Value

url?<필드1>=<필드값1>&<필드2>=<필드값2> 형태의 전달이다.

전문 공통부를 헤더로 입력받은 필드에, 상세부를 바디로 입력받은 필드

에 전달하는 방식이다.

전문 헤더/바디별 Name/Val

ue

url?<헤더 필드>=<전문 공통부>&<바디 필드>=<전문 상세부> 형태의 전

달이다.

헤더로 입력받은 필드에 전문 전체를 전달하는 방식이다.전문 Name/Value

url?<필드>=<전문> 형태의 전달이다.

– URL Encoding

URL Encoding은 External 서블릿을 호출할 때 전달할 데이터의 URL 인코딩(application/x-www-form-

urlencoded MIME 포맷으로의 변환) 여부를 지정한다.

입력된 문자집합(character set)에 따라 URL 인코딩을 수행하므로 디코딩할 경우에는 주의한다.

● ebXML / SOAP / HTTP

ebXML , HTTP, 혹은 SOAP 호출(역전송)이다.

[그림 4.26] 거래 파라미터 - ebXML / SOAP / HTTP

각 입력 항목에 대한 설명은 다음과 같다.

설명항목

입력된 URL이 있으면 해당 URL로 전송한다.URL

제4장 온라인업무뷰 65

Page 84: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명항목

테이블에는 Admin에서 등록된 URL 중 해당 업무와 관련된 아웃바

운드 URL이 표시되며, URL 미입력의 경우에는 URL 목록 중 해당

기관의 것이 적용된다.

해당 거래의 SOAPAction 값을 표시한다.Request Action / Response Action

● Tuxedo

Tuxedo 서비스를 호출하기 위한 것으로 WebT를 사용한다.

[그림 4.27] 거래 파라미터 - Tuxedo

각 입력 항목에 대한 설명은 다음과 같다.

설명항목

Tuxedo 도메인명을 입력한다. (최대 32자리)도메인명

호출할 Tuxedo 서비스명을 입력한다. (최대 32자리)서비스명

다음 중에 하나의 Buffer 타입을 선택한다.Buffer 타입

– CARRAY

– STRING

66 AnyLink 스튜디오 안내서

Page 85: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명항목

– FML

다음 중에 하나를 선택한다.트랜잭션

– NonXA

– XA

Tuxedo로 보낼 전문으로, 다음 중에 하나를 선택한다.전문 타입

– 헤더

– 바디

– 헤더+바디

'FML' 타입에서 '전문 타입'이 '헤더+바디'일 경우 헤더 전문 데이터를 담을 필

드명을 입력한다. (최대 128자리)

헤더 필드 클래스명

테이블 클래스로 사용되는 Java 클래스명(full qualified name)으로 'FML' 타입

에만 적용된다. (최대 256자리)

바디 필드 클래스명

'XA' 모드로 서비스 호출 후 응답 데이터를 받을 필드명을 입력한다. (최대 8자

리)

응답 필드명

'FML' 타입에서 바디 전문 데이터을 담을 필드명을 입력한다. (최대 256자리)전문 필드

전문 필드 외에 추가할 name/value의 쌍이다.필드/값

● BizMaster

TmaxSoft의 BPM 제품인 BizMaster와의 연동을 위한 것이다. JMapper에서만 사용 가능하다.

[그림 4.28] 거래 파라미터 - BizMaster

각 입력 항목에 대한 설명은 다음과 같다.

설명항목

BizMaster에서 호출할 destination으로 namespace를 가져야 한다.(최대 256

자리)

QName

WSDL(Web Service Definition Language)의 <portType>에 지정된 값이다.

예) {http://POC/WSDL/transferAccount}transferAccountPT

제4장 온라인업무뷰 67

Page 86: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명항목

동기('Yes') 혹은 비동기('No') 호출 여부로, WSDL의 Operation이 단방향(One-

Way) 메시지인지 요청/응답(Request/Response) 메시지인지를 지정한다.

응답 유무

BizMaster에서 호출할 Operation을 입력한다. (최대 128자리)Operation Name

WSDL의 <operation>에 지정된 값이다.

예) transferAccountOperation

WSDL의 Operation이 사용하는 입력 메시지(<input>)를 입력한다. (최대 128

자리)

Request Message

예) {http://POC/WSDL/transferAccount}transferAccountRequest

● Tuxedo with JOLT

Tuxedo 서비스를 호출하기 위한 것으로 BEA Jolt를 사용한다. Tuxedo 도메인 게이트웨이를 이용하지

않는 방식으로서 위 WebT를 이용한 방식보다 성능 및 안정성이 높다.

[그림 4.29] 거래 파라미터 - Tuxedo with JOLT

각 입력 항목에 대한 설명은 다음과 같다.

설명항목

호출할 Tuxedo 서비스명을 입력한다. (최대 32자리)서비스명

Tuxedo 서버의 IP 혹은 도메인명을 입력한다. (최대 128자리)Application Address

Tuxedo 인증 수준이 USER_AUTH일 때 사용되는 사용자명을 입력한

다. (최대 8자리)

User Name

Tuxedo 인증 수준이 USER_AUTH일 때 사용되는 사용자 암호를 입력

한다. (최대 8자리)

User Password

68 AnyLink 스튜디오 안내서

Page 87: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명항목

Tuxedo 인증 수준이 USER_AUTH 혹은 APP_PW 일 때 사용되는 사

용자 역할을 입력한다. (최대 128자리)

User Role

애플리케이션 수행을 위한 암호를 입력한다. (최대 16자리)Application Password

Tuxedo 서버의 백업 IP를 입력한다. (최대 256자리)Application Backup Address

애플리케이션 수행을 위한 백업 암호를 입력한다. (최대 16자리)Application Backup Password

● Service Coordinator

복합거래 지원을 위한 것으로 현재는 사용되지 않는다.

● ebXML with CPA

ebXML 사용시 CPA 문서에 따라 파라미터 정보가 설정된다.

4.3.4. 매핑

상세부에 대한 요청 매핑, 응답 매핑, 오류 매핑(응답오류, 포맷오류, 시스템오류, 요청포맷오류, 응답포맷

오류)은 다음의 그림에 표시된 각 탭에서 정의한다.

[그림 4.30] 거래 - 상세부 매핑

매핑에 대한 설명은 “제6장 전문 정의 및 매핑”을 참조하고, 전문 필드 및 매핑할 때 사용되는 툴바에 대한

설명은 “6.1.3. 전문 정의 테이블 메뉴”를, 테이블의 각 컬럼에 대한 설명은 “6.1.2. 전문 필드”를 참조한다.

제4장 온라인업무뷰 69

Page 88: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

4.3.5. 디플로이 및 다운로드

본 절에서는 거래의 디플로이 및 다운로드 기능에 대해 설명한다.

디플로이

종별 거래의 디플로이는 해당 노드의 컨텍스트 메뉴에서 [디플로이] 메뉴를 선택한 후 [전체]를 선택하거

나 특정 항목만 선택하여 가능하다.

디플로이는 전체, 공통, 전문, 매핑으로 나뉜다.

● 전체

공통, 전문, 매핑 디플로이를 모두 포함한다.

● 공통

일반 정보, 파라미터 정보 등 거래 관련 정보를 디플로이한다.

● 전문

상세부 입출력 전문 정보 및 코드를 디플로이한다.

● 매핑

상세부 입출력 매핑 정보 및 코드에 대한 디플로이로 전문 디플로이를 포함한다.

참고

거래는 업무 및 종별에 종속되는 개념이므로 업무 및 종별을 먼저 디플로이해야 한다. 업무 및 종별

이 디플로이되지 않은 상태에서 거래를 디플로이하는 경우 디플로이가 실패(TPESVCFAIL)한다.

다운로드

종별 거래를 다운로드 하려면 해당 종별 노드를 선택한 후 컨텍스트 메뉴에서 [다운로드]를 선택하여 실

행한다.

70 AnyLink 스튜디오 안내서

Page 89: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

제5장 배치업무뷰

본 장에서는 배치 업무 정보를 표시하는 배치업무뷰에 대해 설명한다.

5.1. 배치 업무배치 업무(Batch application)는 파일의 일괄전송이 요구되는 대내외 기관과의 업무를 의미한다. 일반 정

보, 응답 코드 정보, 기관 매핑 정보 등 업무 관련 정보를 설정하는 것 외에 배치 업무 공통적으로 적용되

는 통신부 매핑을 정의한다.

배치 업무와 관련된 배치 파일 정보는 [기관뷰]에서 설정한다. 자세한 내용은 “3.2.4. 배치 파일 추가 및 정

보 설정”를 참조한다.

5.1.1. 배치 업무 추가 및 삭제

배치 업무를 추가하려면 루트 노드를 선택하고 컨텍스트 메뉴의 [추가] 메뉴 혹은 툴바의 추가 아이콘( )

을 클릭하고, 배치 '업무명'(최대64자리) 및 '업무코드'(최대 4자리)를 입력한다. 단, 로컬 및 원격에 동일한

업무 코드를 갖는 온라인 혹은 배치업무가 있는 경우 추가할 수 없음에 주의한다.

[그림 5.1] 배치 업무 추가

배치 업무 삭제는 해당 배치 업무 노드를 선택하고, 컨텍스트 메뉴에서 [삭제] 메뉴 혹은 툴바의 삭제 아이

콘( )을 클릭한 후 원격 데이터의 삭제 여부를 선택하면 된다. [예]를 클릭하면 로컬 데이터뿐만 아니라

원격 데이터도 함께 삭제된다.

주의

배치 업무를 삭제하면 배치 업무의 하위 노드(종별 및 거래 정보)도 함께 삭제된다는 것에 주의한다.

제5장 배치업무뷰 71

Page 90: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

5.1.2. 배치 업무 일반 정보 설정

다음은 [업무-일반정보] 탭 화면으로 배치 업무의 일반 정보를 설정한다. 붉게 표시된 항목은 실제 거래를

위해 반드시 설정되어야 하는 최소한의 필수 입력 항목이다.

[그림 5.2] 배치 업무 일반 정보

각 입력 항목에 대한 설명은 다음과 같다.

● 업무명(최대 64자리)

배치 업무명이 입력된다.

● 업무코드

배치 업무코드가 입력된다. 업무 식별을 위해 내부적으로 사용되는 최대 4자리 값이다.

● 배치 스타일(필수 입력 항목)

배치 프로토콜에 따른 유형을 설정한다.

금융결제원, 은행연합회, 한신평, FTP 서버 등 각 유형에 대한 설명은 "AnyLink 배치 안내서"를 참조한

다.

● 메시지 변환 유형

ASCII/EBCDIC 코드 변환 유형을 설정한다.

파일 내의 레코드 변환과는 무관하게 전문의 공통부/상세부에만 적용된다. 'HEXA'는 Hexa-decimal 형

태 데이터의 변환을 위한 것으로 현재는 사용되지 않는다.

72 AnyLink 스튜디오 안내서

Page 91: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● 결번 검증 건수(최대 4자리 정수)

결번 검증을 위한 단위 건수로, 결번 검증은 블록 단위로 이루어지므로 블록을 구성하는 시퀀스의 개수

를 입력한다. (최댓값 : 8192)

● 암호화 유형

'패스워드'를 등록할 때 사용할 암호화 알고리즘으로 '금융결제원 일괄전송 알고리즘', '암호필드 검증'

중 하나를 선택한다.

● 헤더 크기(최대 4자리 정수)

헤더 크기를 설정한다. (단위: Byte)

배치 스타일에 따라 다르기 때문에 "AnyLink 배치 안내서"의 스타일별 설정을 참조한다.

● 데이터 패킷 크기(최대 9자리 정수, 단위: Byte)

배치 전문의 1회 송수신 크기를 설정한다.

● 패키지명(최대 128자리)

패키지명을 설정한다.

● Split 서비스명(최대 256자리)

파일 송수신 완료 후 호출되는 Tmax 서비스명 혹은 Java 클래스명을 설정한다.

● 통신헤더 매핑 클래스명(최대 256자리)

TCP/IP 송수신의 경우 사용할 통신헤더에 대한 매핑 클래스명을 설정한다. CMapper의 경우 32자를 넘

을 수 없고, 클래스명은 패키지를 포함할 수 없다.

● 종별코드 정보

종별 코드의 위치와 길이(Stream 전문) 및 필드명(XML/VO 전문)을 설정한다.

설명항목

종별 코드의 필드명을 설정한다. (최대 128자리 정수)필드명

종별 코드의 위치를 설정한다. (최대 4자리 정수)위치

종별 코드의 길이를 설정한다. (최대 2자리 정수)길이

● 파일코드 정보

파일 코드의 위치와 길이(Stream 전문) 및 필드명(XML/VO 전문)을 설정한다. (필수 입력 항목) 단, 파일

코드의 '길이'는 스케쥴러에서(파일 전송을 지시하기 위한) 배치 전문을 발송할 때 사용되므로 반드시

입력해야 한다.

설명항목

파일 코드의 필드명을 설정한다. (최대 128자리 정수)필드명

파일 코드의 위치를 설정한다. (최대 4자리 정수)위치

파일 코드의 길이를 설정한다. (최대 2자리 정수)길이

제5장 배치업무뷰 73

Page 92: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● 응답코드 정보

에러 코드의 위치와 길이(Stream 전문) 및 필드명(XML/VO 전문)을 설정한다. 들어온 전문의 해당 위치

에 설정된 값을 통해 에러 여부를 판단한다.

설명항목

에러 코드의 필드명을 설정한다. (최대 128자리 정수)필드명

에러 코드의 위치를 설정한다. (최대 4자리 정수)위치

에러 코드의 길이를 설정한다. (최대 2자리 정수)길이

● 결번확인문자 정보(최대 1자리)

결번 확인에 대한 응답 전문을 전송할 때 SKIP_BIT를 채우는 각 Byte의 의미가 정상(결번 아님)인지 오

류(결번)인지를 설정한다.

스타일별로 '정상 결번확인문자'와 '오류 결번확인문자'가 다르기 때문에 스타일에 따른 설정값은 "AnyLink

배치 안내서"를 참조한다.

● 송수신 플래그 정보

전문내 송수신 플래그의 위치 및 플래그 값('송신플래그', '수신플래그')을 설정한다. 해당 위치의 값과

플래그 값을 비교하여 송수신 여부를 판단한다. 예를 들어, '송신 플래그'/ '수신 플래그'가 각각 'S'/'R'로

설정된 경우 들어온 값이 S이면 송신으로 판단된다.

설명항목

전문 내 송수신 플래그의 위치를 설정한다. (최대 4자리 정수)위치

전문 내 송수신 플래그의 길이를 설정한다. (최대 2자리 정수)길이

전문 내 송신 플래그를 설정한다. (최대 5자리 정수)송신 플래그

전문 내 수신 플래그를 설정한다. (최대 5자리 정수)수신 플래그

전문 내 송수신 플래그의 필드명을 설정한다. (최대 128자리 정수)필드명

● 개시코드 정보(최대 32자리)

전체 업무 개시의 개념으로 로그인 전문이 대표적이다.

● 개별업무 개시코드 정보(필수 입력 항목, 최대 32자리)

일반적으로 파일 송신 개시를 의미한다. 여기에 설정된 거래의 대내 매핑이 Admin에서 스케쥴러를 이

용하여 송신할 때 개시 전문으로 사용되기 때문에 반드시 입력해야 한다.

● 종료코드 정보

종료 종별 코드를 설정한다. (최대 32자리)

● 개별업무 종료코드 정보(최대 32자리)

종료 거래 코드를 설정한다.

74 AnyLink 스튜디오 안내서

Page 93: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● 결번확인코드 정보(최대 32자리)

결번확인 종별/거래 코드를 설정한다.

● 헤더코드 정보(각 최대 32자리)

헤더 종별/거래코드를 설정한다.

● 데이터코드 정보(각 최대 32자리)

데이터 종별/거래코드를 설정한다.

● 트레일러코드 정보(각 최대 32자리)

트레일러(trailer) 종별/거래코드를 설정한다.

● 테스트코드 정보(최대 32자리)

테스트 종별/거래코드를 설정한다.

● 이어받기코드 정보(최대 32자리)

이어받기(이어받기계속 전문이 들어오면 기존에 진행했던 데이터전문들을 계속해서 보냄) 전문의 종

별/거래코드를 설정한다.

● 파일계속코드 정보(최대 32자리)

여러 개의 파일을 보낼 때 더 보낼 파일이 있는 경우 보내는 파일계속지시 전문의 종별/거래코드를 설정

한다.

참고

각 코드 정보에 대한 배치 스타일별 자세한 설명은 "AnyLink 배치 안내서"를 참조한다.

5.1.3. 응답/오류 코드 정보 설정

온라인 업무의 응답/오류 코드 정보 설정에 대한 자세한 내용은 “4.1.3. 응답/오류 코드 정보 설정”을 참조

한다.

5.1.4. 기관 매핑 정보 설정

전문 내 기관 코드와 AnyLink에서 정의된 기관 코드가 다를 경우 둘을 매핑한다.

매핑은 [기관매핑 정보] 탭에서 진행한다. '기관명'(기관 코드)을 선택하고 매핑할 '전문 내 기관 코드'(최대

4자리)를 입력한다. '유형코드'는 해당 기관의 유형을 나타내는 전문 필드 값(은행은 01, 증권사는 02, 투

신사는 03, 저축은행은 04)을 입력한다.

현재는 손해보험공통 스펙에서만 사용된다.

제5장 배치업무뷰 75

Page 94: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

[그림 5.3] 배치업무 - 기관매핑

5.1.5. 프로토콜 정보 설정

온라인 업무의 프로토콜 정보 설정에 대한 자세한 내용은 “4.1.5. 프로토콜 정보 설정”을 참조한다.

5.1.6. 통신헤더 매핑

다음은 [통신헤더 매핑] 탭 화면으로 배치 통신헤더에 대한 매핑을 정의한다.

[그림 5.4] 배치업무 - 통신헤더 매핑

매핑에 대한 설명은 “제6장 전문 정의 및 매핑”을 참조한다.

전문 필드 및 매핑할 때 사용되는 툴바에는 전문 정보 입력, 필드 추가/삭제 및 이동, 저장, ALF 열기, MAP

열기, 유효성 검사, 도구 메뉴가 있는데 이에 대한 설명은 “6.1.3. 전문 정의 테이블 메뉴” 중 툴바 메뉴 부

분을 참조하고, 테이블의 각 컬럼에 대한 설명은 “6.1.2. 전문 필드”를 참조한다.

76 AnyLink 스튜디오 안내서

Page 95: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

5.1.7. 종별/거래 리스트

[종별 리스트] 탭과 [거래 리스트] 탭에서 종별 및 거래 정보를 확인할 수 있다.

종별 리스트

[종별 리스트] 탭에서는 배치 업무 하위의 모든 종별 정보를 확인할 수 있고, '종별명'을 클릭하면 해당 종

별 노드로 이동할 수 있다.

[그림 5.5] 종별 리스트

거래 리스트

[거래 리스트] 탭에서는 배치업무 하위의 모든 거래 정보를 확인할 수 있고, '거래명'을 클릭하면 해당 거

래 노드로 이동할 수 있다.

[그림 5.6] [거래 리스트] 탭

5.1.8. 디플로이 및 다운로드

본 절에서는 배치 업무의 디플로이 및 다운로드 기능에 대해 설명한다.

디플로이

업무의 디플로이는 해당 노드를 선택한 후 컨텍스트 메뉴의 [디플로이]를 선택한 후 [전체]를 선택하거나

특정 항목만 선택하여 가능하다.

디플로이는 전체, 공통, 전문, 매핑으로 나뉜다.

● 전체

공통, 전문, 매핑 디플로이를 모두 포함한다.

전체 디플로이의 경우에는 다음과 같은 메시지가 나타나고, [예]를 클릭하면 하위 종별 및 거래를 모두

디플로이할 수 있다.

제5장 배치업무뷰 77

Page 96: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● 공통

일반 정보, 응답/오류 코드 정보 등 업무 관련 정보를 디플로이한다.

● 전문

공통부(통신헤더) 입출력 전문 정보 및 코드를 디플로이한다.

● 매핑

공통부 입출력 매핑 정보 및 코드에 대한 디플로이로 전문 디플로이를 포함한다.

주의

업무의 디플로이는 전체 디플로이의 경우를 제외하고는 하위 종별 및 거래를 포함하지 않는다는 사

실에 주의해야 한다. 따라서 종별 및 거래의 디플로이는 해당 노드의 컨텍스트 메뉴를 통해 명시적으

로 해야 한다.

다운로드

업무의 다운로드는 루트 노드를 선택하고 컨텍스트 메뉴에서 [다운로드] > [거래] 메뉴를 선택한다.

[그림 5.7] 종별 다운로드 (하위 거래 포함)

78 AnyLink 스튜디오 안내서

Page 97: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

다운로드의 경우에 다음과 같은 메시지가 나타나고, [예]를 클릭하면 하위 종별 및 거래까지 모두 다운로

드할 수 있다.

[그림 5.8] 종별 다운로드 (하위 거래 포함)

5.2. 종별종별(kind)은 거래의 그룹을 의미하는 것으로 온라인과 동일하므로 본 장에서는 설명을 생략한다. 자세한

내용은 “4.2. 종별”을 참조한다.

5.3. 배치 거래배치 거래(Batch transaction)는 파일의 일괄전송이 요구되는 대내외 기관과의 거래를 의미한다. 일반 정

보 등 거래 관련 정보를 설정하는 것 외에 내부(요청), 외부(응답) 매핑을 정의한다.

5.3.1. 배치 거래 추가 및 삭제

배치 거래를 추가하려면 종별 노드를 선택하고 컨텍스트 메뉴에서 [추가] 메뉴 혹은 툴바의 추가 아이콘

( )을 클릭하고 '거래명'(최대 64자리) 및 '거래코드'(최대 32자리)를 입력한다.

[그림 5.9] 배치거래 추가

거래를 추가할 때 "DB에 해당 거래가 존재하니 다운로드하세요."라는 메시지가 표시되며, 실패하는 경우

는 데이터베이스에 해당 코드의 거래 정보가 존재한다는 것이므로 충돌 방지를 위해 다운로드한다.

배치 거래의 삭제는 해당 배치 거래 노드를 선택한 후 컨텍스트 메뉴에서 [삭제] 메뉴 혹은 툴바의 삭제 아

이콘( )을 클릭한 후 원격 데이터의 삭제 여부를 선택하면 된다. [예]를 선택한 경우 로컬 데이터 뿐만

아니라 원격 데이터도 함께 삭제된다.

제5장 배치업무뷰 79

Page 98: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

5.3.2. 배치 거래 일반 정보 설정

다음은 [거래-일반정보] 탭 화면으로, 배치 거래 일반 정보를 설정한다. 붉게 표시된 항목은 실제 거래를

위해 반드시 설정되어야 하는 최소한의 필수 입력 항목이다.

[그림 5.10] 배치거래 일반 정보

각 입력 항목에 대한 설명은 다음과 같다.

● 거래명(최대 64자리)

거래명을 입력한다.

● 거래코드(최대 32자리)

거래 코드를 입력한다.

● 거래 유형(필수 입력 항목)

거래 유형을 '개시', '개별업무개시', '종료', '개별업무종료', '결번확인', '데이터' 중에서 선택한다.

● 패키지명(최대 128자리)

업무/종별/거래 순으로 상대 경로가 구성된다. 즉, 해당 거래의 매핑 라이브러리는 Admin에서 설정한

노드의 '라이브러리 경로(C)'에 설정된 디렉터리 아래 <업무 패키지명>/<종별 패키지명>/<거래 패키지

명>/lib<매핑 클래스명>.<so/sl>로 생성된다.

● 내부매핑 클래스명(필수 입력 항목, 최대 256자리)

내부 매핑(요청, 즉 대외 기관으로의 송신)에 대한 매핑 클래스명을 입력한다.

업무/종별/거래 정보의 '패키지명'에 입력된 패키지 구조에 따르며 클래스명에는 패키지를 포함할 수 없

다.

80 AnyLink 스튜디오 안내서

Page 99: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● 외부매핑 클래스명(필수 입력 항목, 최대 256자리)

외부 매핑(응답, 즉 대외 기관으로부터의 수신)에 대한 매핑 클래스명을 입력한다.

업무/종별/거래 정보의 '패키지명'에 입력된 패키지 구조에 따르며 클래스명에는 패키지를 포함할 수 없

다.

● 응답 대기시간(최대 3자리 정수)

응답 대기시간을 설정한다. (단위: 초)

● 재시도 횟수(최대 2자리 정수)

타임아웃의 최대 발생 가능 횟수를 설정한다. 이 재시도 횟수를 초과해서 타임아웃이 연속적으로 발생

하면 해당 배치 파일의 송신은 중단되고 에러 처리된다.

5.3.3. 매핑

배치 거래의 내부 매핑과 외부 매핑을 정의한다. 내부 매핑이란 스케쥴러에서 대외 기관으로의 전송을 위

한 매핑이고, 외부 매핑이란 대외 기관으로부터의 응답에 대한 매핑을 의미한다.

배치 거래의 경우 온라인 거래와는 달리 공통부/상세부 개념이 없으므로 패널이 2개뿐임에 주의한다.

[그림 5.11] 배치거래 - 매핑

매핑에 대한 설명은 “제6장 전문 정의 및 매핑”을 참조한다.

제5장 배치업무뷰 81

Page 100: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

전문 필드 및 매핑할 때 사용되는 툴바에 대한 설명은 “6.1.3. 전문 정의 테이블 메뉴”를 참조하고, 테이블

의 각 컬럼에 대한 설명은 “6.1.2. 전문 필드”를 참조한다.

참고

배치거래 매핑에서 사용되는 식별자(TRX_ID, RECORD_SIZE 등)는 "AnyLink 배치 안내서"를 참조

한다.

5.3.4. 디플로이 및 다운로드

본 절에서는 배치 거래의 디플로이 및 다운로드 기능에 대해 설명한다.

디플로이

배치 거래의 디플로이는 해당 노드를 선택한 후 컨텍스트 메뉴에서 [디플로이] 메뉴를 선택한 후 [전체]를

선택하거나 특정 항목만 선택하여 가능하다.

디플로이는 전체, 공통, 전문, 매핑으로 나뉜다.

● 전체

공통, 전문, 매핑 디플로이를 모두 포함한다.

● 공통

거래 일반 정보를 디플로이한다.

● 전문

상세부(배치 거래의 내부 매핑과 외부 매핑) 입출력 전문 정보 및 코드를 디플로이한다.

● 매핑

상세부 입출력 매핑 정보 및 코드에 대한 디플로이로 전문 디플로이를 포함한다.

참고

거래는 업무 및 종별에 종속되는 개념이므로 업무 및 종별을 먼저 디플로이해야 한다. 업무 및 종별

이 디플로이되지 않은 상태에서 거래를 디플로이하는 경우 디플로이가 실패(TPESVCFAIL)한다는

것에 주의한다.

다운로드

배치 거래를 다운로드 하려면 해당 종별 노드를 선택한 후 컨텍스트 메뉴에서 [다운로드] 메뉴를 선택한

다.

82 AnyLink 스튜디오 안내서

Page 101: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

제6장 전문 정의 및 매핑

본 장에서는 전문 정의 및 매핑에 대해 설명한다.

6.1. 전문 정의스튜디오에서는 다양한 타입의 전문을 정의할 수 있다.

정의된 전문은 ALF 포맷의 파일로 저장되어 재사용이 가능하고 매핑을 위한 전문 코드 생성을 지원한다.

6.1.1. 전문 타입

AnyLink에서 지원하는 전문 타입은 다음과 같다.

설명표시전문 타입

필드별 고정 길이를 갖는 Byte Stream 전문이다.fixed_lengthStream

구분자에 의해 필드값이 구분되는 전문이다.delimiterDelimiter

단, 공통부가 delimiter인 경우 게이트웨이는 전문 타입을 알 수 없으

므로 업무/종별 등에 설정된 고정된 길이로만 자를 수 있다. 즉, 게이

트웨이에서의 파싱이 불가능하므로 공통부가 Stream인 경우에 한

해 상세부에 적용하는 것을 원칙으로 한다.

XML 전문이다.xmlXML

XML 전문은 UI에서 매뉴얼로 정의하지 않고, XSD 변환기를 통해

XSD 파일을 변환함으로써 ALF 파일을 자동 생성한다.

VO(기본 생성자 및 getter/setter를 갖는 Java 클래스) 전문이다.voVO

VO 전문은 UI에서 매뉴얼로 정의하지 않고, VO 변환기를 통해 클래

스 파일을 변환함으로써 ALF 파일을 자동 생성한다.

(Value Object)

이름/값의 쌍(name 배열과 value 배열)으로 정의되는 전문이다.name_valueName/Value

Bitmap 필드의 값에 의해 전문 포맷이 변경되는 전문이다.bitmap_streamBitmap Stream

예를 들어 Bitmap 필드의 값이 101이고 전문이 A, B, C(필드 번호가

각각 1, 2, 3)인 경우 A와 C만 입출력으로 사용하겠다는 의미이다.

변형된 delimiter 타입이다.delimiterDelimiter 2

입력은 hashtable이고 출력은 delimiter 타입 문자열로서 다중 배열

표현이 가능하다. Stored Procedure 연계를 위해 사용된다.

(extended)

제6장 전문 정의 및 매핑 83

Page 102: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

6.1.2. 전문 필드

변환기를 이용해야 하는 XML과 VO 외의 전문은 업무 및 거래의 해당 매핑 탭에서 전문 테이블을 통해 정

의할 수 있다. 전문 테이블은 전문 포맷을 정의하기 위한 것으로 전문 필드 정보의 편집이 가능하다.

전문 필드 정보

다음은 전문 필드 정보 화면이다.

[그림 6.1] 전문 필드 정보

각 컬럼에 대한 설명은 다음과 같다.

설명컬럼

필드명이다.필드명

숫자로 시작할 수 없고 한 전문 내에 동일한 필드명이 있어서도 안 된다.

한글 필드명이다.설명

데이터 타입을 나타낸다. 데이터 타입에 대한 자세한 설명은 "데이터 타입" 표를 참조

한다.

종류

필드 크기를 나타낸다(Stream 전문에만 해당).크기

배열의 길이를 나타낸다.배열크기

array-S 타입에만 적용되며 고정 길이일 때는 상수를 입력하고, 가변 길이일 때는 길

이를 지정하는 필드명에 #ARRY1Array__Count 같이 #을 붙여 입력한다.

배열 크기를 별도로 설정하는 이유는 배열의 길이가 정수값 외에 #<필드명> 형태의

문자열 설정이 가능하여 정수값만 가능한 크기 항목을 이용할 수 없기 때문이다.

키워드 식별자를 나타낸다.식별자

키워드 지정을 통해 필드 단위의 특수 기능을 수행할 수 있다. 예를 들어 암호화를 해

야 할 필드에 대해 해당 암호화 알고리즘으로 암호화하는 미리 정의된 키워드를 지정

해 주면 매핑 과정에서 암호화를 할 수 있다.

numeric 타입에만 적용되며 출력시 부호를 붙일 것인지의 여부를 나타낸다.부호

예를 들어 'true'일 경우 크기가 16인 필드는 첫 자리에 부호('+' 혹은 '-')가 위치하고 나

머지 15자리가 숫자로 채워진다.

numeric 타입에만 적용되며 소수점 아래 자릿수이다.자릿수

예를 들어 크기가 '5', 자릿수가 '2'인 필드에 0.3이라는 값이 들어오면 00030으로 출

력된다.

매핑에 사용할 클래스명를 나타낸다.매핑 클래스명

Bitmap Stream에 적용되는 필드 번호를 나타낸다.비트맵

84 AnyLink 스튜디오 안내서

Page 103: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명컬럼

예를 들어, '비트맵' 필드의 값이 '101'이고 전문이 A, B, C인 경우 A, B, C의 Bitmap이

각각 1, 3, 2라면 A와 B만 입출력으로 사용하겠다는 의미이다.

변환규칙을 나타낸다.변환규칙

자세한 내용은 “8.3. 변환규칙”을 참조한다.

현재 지원되지 않습니다.Validation

데이터 타입

다음은 데이터 타입에 대해 정리한 표이다.

설명Java 언어 타입타입

VOXML스트림

참 혹은 거짓을 나타낸다.booleanbooleanStringboolean

(boolean)(xs:boolean)

Byte(one byte character)를 나타낸다.bytebyteStringbyte

(byte)(xs:byte)

short를 의미한다.shortshortn/ashort

(short)(xs:short)

문자열을 의미한다.charn/aStringchar

(char)

EBCDIC일 때 SOSI를 붙이지 않는 한글

문자열을 의미한다.

n/an/aStringkorean

EBCDIC 전자는 ASCII 반자로 변환된다.

코드 변환(ASCII/EBCDIC 간 변환)을 하지

않는 문자열을 의미한다.

n/an/abyte[ ]binary

char 타입에 대한 것으로서 뒤에 공백을 붙

여 패딩(pa-dding)한다.

int를 의미한다.int (int)int (xs:int)n/aint

float을 의미한다.floatfloatn/afloat

(float)(xs:float)

long을의미한다.longlongn/along

(long)(xs:long)

double을 의미한다.doubledoublen/adouble

제6장 전문 정의 및 매핑 85

Page 104: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명Java 언어 타입타입

VOXML스트림

(double)(xs:double)

숫자를 나타내는 문자열(0 ~ 9, ., +/-)을 의

미한다.

n/an/aStringnumeric

배열의 처음(array-S)과 끝(array-E)을 의

미한다..

array-S

array-E

array-S 다음에는 단 하나의 primitive 타입

혹은 struct-S 타입만 가능하다.struct-S

struct-E

java.math.BigIntegerBigIntegerBigIntegerStringbiginteger

(BigInteger)(xs:integer)

java.math.BigDecimalBigDecimal

(BigDecimal)

BigDecimal

(xs:decimal)

Stringdecimal

문자열을 의미한다.StringStringStringstring

(String)(xs:string)

java.util.CalendarCalendarCalendarStringcalendar

(Calendar)(xs:date,

xs:time,

xs:dateTime)

java.lang.ShortShortn/an/aShort

(Short)

java.lang.IntegerIntegern/an/aInteger

(Integer)

Bitmap Stream의 '비트맵' 필드를 나타낸

다.

n/an/aStringbitmap-char

0 ~ F 사이의 16진수 문자로 나타내며 하

나의 문자로 4개의 필드를 정의한다. 예를

들어, A는 10(10진수), 즉, 1010이라는

Bitmap(2진수)을 나타낸다.

Bitmap Stream의 '비트맵' 필드를 나타낸

다.

n/an/aStringbitmap-binary

1011 따위 숫자값이다.

16진수 문자열을 의미한다.n/an/aStringhex

86 AnyLink 스튜디오 안내서

Page 105: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명Java 언어 타입타입

VOXML스트림

배치 업무에서 사용되는 가변 길이 필드로

CMapper에서만 지원한다.

n/an/an/avarchar

코드 변환(ASCII/EBCDIC간 변환)을 하지

않는 문자열을 의미한다.

n/an/an/avarchar_binary

varchar 타입에 대한 것으로서 뒤에 공백

을 붙여 패딩한다.

코드 변환(ASCII/EBCDIC간 변환)을 하지

않는 문자열을 의미한다.

n/an/an/anumeric_binary

numeric 타입에 대한 것으로서 앞에 '0'을

붙여 패딩한다.

EBCDIC 전자는 ASCII 전자로 변환된다

(반자의 경우는 없음).

n/an/aStringkorean_com

EBCDIC 전자는 ASCII + space로 변환된

다.

n/an/aStringkorean_space

ASCII에서 EBCDIC로 변환할 경우 SOSI

를 삭제하지 않고 그대로 매핑한다.

n/an/aStringkorean_nodel

COMM Area comp(Cobol computational

fields)를 의미한다.

n/an/aStringcomp

10진수 정수형을 2진수로 기억시킬 경우

사용한다.

COMM Area comp-3(Cobol computational-

3 packed fields)를 의미한다.

n/an/aStringcomp-3

10진수 정수형을 2진수로 기억시킬 경우

사용한다.

Bitmap Stream의 '비트맵' 필드를 나타낸

다.

n/an/aStringbitmap-string

16진수 문자나 숫자값이 아닌 문자열 비교

를 통해 해당 필드의 존재 여부를 확인할

경우 사용한다.

ASCII/EBCDIC를 변환할 때 필드 내의 문

자를 무조건 반자 처리하는 char이다.

n/an/aStringchar (single-byte)

comp, comp-3 계열의 일종으로 IBM 호스

트에서 사용한다.

n/an/aStringunpacked decimal

ASCII에서 EBCDIC로 변환할 때 korean

변환을 태우고 앞뒤에 so와 si를 붙인다.

n/an/aString(so)korean(si)

제6장 전문 정의 및 매핑 87

Page 106: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명Java 언어 타입타입

VOXML스트림

EBCDIC에서 ASCII로 변환할 때 so와 si를

분리해서 korean 변환을 태운다.

16진수를 문자 그대로 인식해야 할 때 사

용한다.

n/an/an/aBCD

예 : 0x91 0x20 -> "9120" 로 인식함.

문자열을 의미한다. 기본값 필드에 지정된

기본값을 문자열 뒤에 패딩한다.

n/an/an/achar (default)

숫자를 나타내는 문자열(0 ~ 9, ., +/-)을 의

미한다. 단, 숫자형식에 맞는지에 대한 유

효성 검사를 하지 않는다.

n/an/an/anumeric (no valida

tion)

배열크기 필드에 지정된 길이정보를 참조

하여 BCD 코드를 읽어야 할 때 사용한다.

n/an/an/avarchar_BCD

예 : 변환 전의 전문 데이터가 0x31 0x32

0x33 0x34 0x35 이고 varchar_BCD 형으

로 선언된 필드의 배열크기가 3일 경우

0x31 0x32 0x33 를 읽고 이를 "313233"으

로 인식함.

16진수를 10진수로 인식하여 이 값의 1/2

을 최종값으로 사용한다.

n/an/an/aBCD (type2)

예 : 1자리 BCD(type2)형 데이터가 0x10

일 경우 (0x10의 10진수인 16)%2 == 0 이

므로 16/2 = 8 이 최종값이 됨. 따라서 출력

전문에 BCD(type2)형의 필드를 매핑하게

되면 최종값인 8이 매핑됨.

1자리 BCD코드가 0x11 일 경우 (0x11의

10진수인 17)%2 != 0 이므로 17/2 + 1 = 9

가 최종값이 됨. 따라서 출력전문에

BCD(type2)형의 필드를 매핑하게 되면 최

종값인 9가 매핑됨.

전각 문자열을 의미한다.n/an/an/achar (em)

배열크기 필드에 지정된 길이정보값이 짝

수일 경우 (길이정보/2)byte 만큼, 홀수일

n/an/an/avarchar_BCD2

경우 (길이정보/2 + 1)byte만큼 BCD 코드

를 읽는다.

88 AnyLink 스튜디오 안내서

Page 107: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명Java 언어 타입타입

VOXML스트림

예 : 변환 전의 전문 데이터가 0x31 0x32

0x33 0x34 0x35 이고 varchar_BCD2 형으

로 선언된 필드의 배열크기가 4일 경우 4/2

= 2byte에 해당하는 0x31 0x32를 읽고 이

를 "3132"으로 인식함.

데이터 타입은 다음 사항을 참조한다.

● Stream 전문의 경우 문자열 타입(boolean, byte, char, numeric, korean, binary)에 대해서는 크기를 반

드시 입력해야 한다.

● Stream 전문의 경우 숫자 타입(short, int, float, long, double, Short, Integer)을 지원하지 않으므로 numeric

타입을 사용한다.

● Java 언어 타입은 해당 타입과 대응되는 Java 언어의 타입을 표시한다. 즉, 생성된 코드의 멤버 타입을

나타내는 것으로, Stream 전문일 때는 들어오는 값이 모두 문자열 타입이라고 가정하지만 XML과 VO

전문은 그렇지 않기 때문에 괄호 안에 소스 타입을 적었다.

● varchar 타입에는 경계(해당 필드의 길이)를 나타내는 3가지 방식이 있으며 '크기'가 아닌 '배열크기' 항

목에 설정한다.

각 방식에 대한 설명은 다음과 같다.

설명varchar 타입

해당 필드의 경계가 데이터 끝까지인 경우이다. 따라서 전문의 마지막 필드

에만 적용할 수 있다.

EOD(End of Data)

배열크기 항목에 '__EOD'로 등록한다.

특정 필드에 대해 구분자를 적용하는 경우로 '\n'과 같이 등록하면 해당 구분

자 단위로 필드의 경계를 판단한다. 구분자는 큰따옴표로(" ")로 묶어 표시한

다.

특정 구분자(delimiter)

필드의 경계가 전문 내의 다른 필드의 값으로 결정되는 경우로, 길이를 지정

하는 필드명에 '#'을 붙여 입력한다.

필드명

제6장 전문 정의 및 매핑 89

Page 108: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

데이터 타입에 따른 한글 변환

CMapper의 경우 데이터 타입에 따른 한글 변환 규칙은 다음과 같다.

설명항목

전자(2Byte)한

EBCDIC 완성형 한글한

전자(2Byte)AB

반자(1Byte)ab

0x0e와 0x0f(so) 및 (si)

space^

다음은 각 데이터 타입별 변환 예제이다.

변환 예 (EBCDIC → ASCII)변환 예 (ASCII → EBCDIC)타입

ASCIIEBCDICEBCDICASCII

한ab(so)한(si)ab(so)한(si)ab한abchar

한AB(so)한AB (si)(so)한AB (si)한AB

한ab한AB한AB한abkorean

한AB

– EBCDIC일 경우에는 SOSI 붙이지 않는다.

– EBCDIC 전자는 ASCII 반자로 변환한다.

한AB한AB한AB한ABkorean_com

– EBCDIC 전자는 ASCII 전자로 변환한다.

한a^b^한AB한AB한a^b^korean_space

– EBCDIC 전자는 ASCII + space로 변환한다.

(so)한(si)ab(so)한(si)ab(so)한(si)ab(so)한(si)abkorean_nodel

(so)한 AB(si)(so)한 AB(si)한ab한ab

– ASCII → EBCDIC 변환할 경우 SOSI를 삭제하지 않고 그대로 매핑한다.

(so)korean(si) – ASCII → EBCDIC 변환할 때 korean 변환을 태우고 앞뒤에 so와 si를 붙인다.

– EBCDIC → ASCII 변환할 때 so와 si를 분리해서 korean 변환을 한다.

90 AnyLink 스튜디오 안내서

Page 109: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

6.1.3. 전문 정의 테이블 메뉴

본 절에서는 전문 정의 테이블의 툴바 메뉴와 컨텍스트 메뉴에 대해 설명하고, VO 클래스의 생성 방법에

대해 설명한다.

툴바 메뉴

전문 정의 테이블에서 다음과 같은 입/출력 툴바 메뉴를 사용할 수 있다.

● 입력 툴바 메뉴

[그림 6.2] 전문 정의 툴바 - 입력

● 출력 툴바 메뉴

[그림 6.3] 전문 정의 툴바 – 출력

툴바의 각 메뉴에 대한 설명은 다음과 같다.

●입력( )

전문 정보를 입력하기 위한 메뉴로, 버튼을 클릭하면 다음과 같은 전문 정보 입력 대화상자가 나타나고,

전문 정보를 입력한다. 변환기를 사용하거나 ALF 파일을 로딩한 경우에는 자동으로 입력된다.

전문 및 매핑 파일명을 입력하지 않고 화면을 이동하는 경우 전문 및 매핑 정보가 상실되므로 주의해야

한다.

[그림 6.4] 전문 정보 입력

제6장 전문 정의 및 매핑 91

Page 110: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

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

– 전문 파일명(ALF) (최대 256자리)

전문 포맷을 저장할 ALF 파일명을 입력한다.

– 전문 클래스명 (최대 256자리)

코드 생성을 위한 전문 클래스명을 입력한다. 클래스명은 숫자로 시작할 수 없으며 반드시 하나 이상

의 패키지를 포함하여 전체 패키지로(full qualified name) 입력해야 한다.

– 전문 유형

전문 타입을 선택한다. 각 전문 타입에 대한 설명은 “6.1.1. 전문 타입”을 참조한다.

– 버전명 (최대 10자리)

전문 구분을 위한 정보를 입력한다.

– 매핑정보

다음의 항목을 설정한다.

설명항목

출력전문 정의에서만 표시되는 것으로 매핑 정보를 저장할 매핑 파일명을 입력

한다.

MAP 파일명

업무 및 거래의 일반 정보에서 설정한 매핑 클래스명이 표시된다.매핑 클래스명

사용자 정의 코드.사용자 코드

데이터 유효성 체크Validation Mode

– Bitmap 값

Bitmap Stream 타입 전문에만 적용되는 것으로 입력된 Bitmap에 속하지 않는 필드는 표시하지 않는

기능이다.

'Bitmap 값'에 입력된 값(A)은 각 전문 필드에 대해 해당 필드의 '비트맵' 항목에 설정된 값(B)과 비교

된다.

Bitmap은 여러 필드에 분산될 수 있으나 타입을 혼용해서 사용할 수 없다. 즉, 한 전문 내에 'bitmap-

string', 'bitmap-char', 'bitmap-binary'가 같이 있을 수 없다.

설명필드 타입

A와 B에 대한 문자열 비교가 된다.bitmap-string

A와 B에 대한 연산을 통해 필드의 표시 여부가 결정된다.bitmap-char,

bitmap-binary

92 AnyLink 스튜디오 안내서

Page 111: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

예를 들어, 'Bitmap 값'에 4000을 입력한 경우, 필드 타입에 표시되는 내용은 다음과 같다.

설명필드 타입

필드 중 비트맵 항목의 값이 비어 있거나 4000이 입력된 경우에만 표시된다.bitmap-string

4000은 0100000000000000으로서 16 자리 Bitmap을 나타낸다.bitmap-char,

2번째 비트만 1의 값을 갖기 때문에, 필드 중 '비트맵' 항목의 값이 비어 있거나

2가 입력된 경우에만 표시된다.

bitmap-binary

다음은 Bitmap에 의해 표시되는 필드를 나타낸 그림이다. '비트맵' 항목 컬럼 헤더의 체크박스를 해제

하면 값에 관계없이 모든 필드를 표시할 수 있다.

[그림 6.5] Bitmap에 의한 필드 표시

●추가( )

필드를 추가하는 메뉴로, 버튼을 클릭하면 다음과 같이 추가할 필드의 개수를 입력할 수 있는 대화상자

가 나타난다. 여기에서 입력한 개수만큼의 새로운 필드가 맨 아래에 추가되면 필드 정보를 입력할 수 있

다.

[그림 6.6] 필드 추가

●저장( )

각 정보를 저장하기 위한 메뉴로, 전문 정보 입력 대화상자에서 입력한 '전문 파일명(ALF)' 및 'MAP 파

일명'으로 저장한다.

제6장 전문 정의 및 매핑 93

Page 112: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

●ALF 열기( )

ALF 파일을 열기 위한 메뉴로 버튼을 클릭하면 ALF 파일을 선택할 수 있는 대화상자가 나타나고, 여기

에서 ALF 파일을 선택하면 전문 정보가 로딩되어 테이블에 표시된다.

[그림 6.7] 필드 스타일 변환 확인

1.0 버전의 ALF를 여는 경우에는 2가지 옵션이 존재한다.

– 필드 스타일 변환 확인

XML 필드명에 대한 것으로, 1.0 버전에서 사용된 Castor 대신 3.0 버전에서 사용된 XMLBeans 라이

브러리가 필드명의 '_'을 제거하기 때문이다. [예]를 클릭한 경우 필드명의 '_'을 자동 제거한다.

– 부호 크기 보정 확인

부호를 갖는 필드에 대해 크기를 1만큼 크게 자동 설정하는 기능이다. 예를 들어 필드 크기가 3인데

부호를 갖는 경우 4의 크기로 호스트에 전송되어야 하는 경우에 유용하다.

다른 하나는 부호에 대한 크기 보정 기능으로, 부호를 갖는 필드에 대해 크기를 1 만큼 크게 자동 설

정하는 기능이다. 예를 들어 필드 크기가 3인데 부호를 갖는 경우 4의 크기로 호스트에 전송되어야

하는 경우에 유용하다.

94 AnyLink 스튜디오 안내서

Page 113: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

●이동( , )

전문 필드를 위,아래로 이동한다.

●삭제( )

선택된 전문 필드를 삭제한다.

●MAP 열기( )

MAP 파일을 열기 위한 메뉴로, 버튼을 클릭하면 MAP 파일을 선택할 수 있는 대화상자가 표시되고, 여

기에서 로딩할 MAP 파일을 선택하면 매핑 정보가 로딩되어 테이블의 매핑 컬럼에 표시된다. 단, MAP

파일에 정의된 출력전문 필드명과 일치하는 필드별로 매핑 정보가 로딩됨에 주의한다.

●유효성 검사( )

전문의 유효성 검사(크기 체크, 필수 입력 확인 등)를 수행한다.

●Excel로 저장( )

전문 정의 테이블의 전문 내용(이하 데이터 전문)을 Excel 파일로 저장한다.

옵션으로 저장할 파일에 컬럼 헤더의 포함 여부를 선택할 수 있다. 그리고 저장할 때 AnyLink에서 제공

하는 데이터 전문 방식으로 저장할지 아니면 사용자가 원하는 형식으로 저장할지를 선택하여 저장할

수 있다.

참고

Excel 저장은 Excel 97/2000/XP 버전과 호환 가능한 .xls파일로 저장된다.

– AnyLink 전문 형식(ALF) 저장

라디오 버튼을 선택한 후 [저장] 버튼을 클릭하면 데이터 전문 내용이 그대로 Excel 파일로 저장되고,

'컬럼 헤더 포함' 체크박스를 선택하지 않으면 컬럼의 헤더 부분은 저장될 때 제외된다.

[그림 6.8] Excel로 저장

제6장 전문 정의 및 매핑 95

Page 114: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

– 사용자 지정 형식 저장

사용자 지정 형식으로 저장하는 경우 해당 라디오 버튼을 선택한다. 버튼을 선택하면 화면이 다음과

같이 변한다. '사용자 지정 형식 저장'의 경우 사용자가 불러온 Excel 파일 내용 중 서식은 유지할 수

있지만 그림 파일과 같은 이미지나 매크로는 유지할 수 없다.

[그림 6.9] Excel로 저장 - 사용자 지정형식 저장 창

설정 화면의 각 설정 항목 및 영역에 대한 설명은 다음과 같다.

• 전문 내용을 다음 행에 삽입

데이터 전문 내용을 불러온 파일의 어느 행에 삽입할 것인지를 '전문 내용을 다음 행에 삽입' 항목

에 기입한다. 숫자만 기입할 수 있고 3자리 숫자까지 가능하다. (기본값: 1)

• 데이터 겹치면 자동 밀기

불러온 파일의 내용과 저장할 데이터의 내용이 겹치게 될 경우 자동으로 밀어주는 기능을 제공한

다(기본으로 체크되어 있다). 체크하지 않을 경우에는 전문 내용이 불러온 파일 내용 중 겹친 부분

의 내용을 덮어쓰게 된다.

• 저장될 파일의 열 편집

데이터 전문의 열을 저장할 때 컬럼 매핑 등의 편집이 가능하다.

96 AnyLink 스튜디오 안내서

Page 115: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

저장될 열 리스트 박스에서 편집하고 싶은 열의 이름을 선택한 후 텍스트 필드 안에 바꾸고 싶은 이

름을 기입한 후 [수정] 버튼을 클릭한다.

[Reset] 버튼을 클릭하면 원래의 컬럼이름으로 되돌릴 수 있다. 만약, '컬럼 헤더 포함' 체크박스가

선택되어 있지 않다면 바뀔 열 이름의 텍스트 필드가 비활성화 되어 열 이름은 편집할 수 없다.

열의 위치를 바꾸고 싶을 때는 바꾸고 싶은 열을 저장될 열 리스트 박스에서 선택한 후 나

버튼으로 위치를 조정한다.

• [사용자 파일 불러오기] 버튼

사용자가 원하는 파일 형식으로 미리 저장해 놓은 .xls 파일을 불러온다. 파일을 불러오면 버튼 아

래에 불러온 파일의 이름이 표시된다.

• [미리보기] 버튼

편집한 데이터가 어떻게 저장될 것인지를 다음과 같이 미리 볼 수 있다. 미리보기 시에는 이미지와

서식 모두 유지하여 볼 수 없다.

[그림 6.10] 미리보기 창

• [저장] 버튼

파일의 편집이 모두 완료되었으면 [저장] 버튼을 클릭하여 저장한다.

●자동 매핑( )

출력전문 필드에 대한 매핑을 같은 이름을 갖는 입력 전문 필드로 자동 설정하는 기능이다. 입력과 출력

전문의 필드 순서가 다르거나 배열 구조 등 Copy & Paste를 활용할 수 없는 1:1 매핑의 경우 유용하게

사용할 수 있다.

자동 매핑은 대소문자 구분 없이 다음과 같이 적용된다.

– <입력 필드명>과 <출력 필드명>이 동일한 경우

HDRAGTCODE:HDRAGTCODE

제6장 전문 정의 및 매핑 97

Page 116: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

– 입력 혹은 출력 전문이 XML일 때 <입력 필드명>과 <출력 필드에서 '_'를 제거한 필드명>이 동일한 경

HDRAGTCODE:HDR_AGT_CODE

HDR_AGT_CODE:HDRAGTCODE

– 배열에 속한 필드명인 경우, 필드명만에 의한 비교

BusinessArea.LKACCPEMAIL:LKACCPEMAIL

BusinessArea.LKACCPEMAIL:LK_ACCPE_MAIL

●도구( )

전문 정의 및 매핑 작업에 유용한 기능들을 제공한다.

– 전문 크기 표시

[Count total bytes] 버튼을 클릭하면 전문 필드의 Byte 수를 모두 더한 전문 크기를 표시한다.

XML/VO 전문은 계산되지 않으며, varchar 혹은 varchar_binary 타입의 필드가 포함된 경우에는 '(해

당 필드를 제외한 총 길이)+'로 표시한다.

[그림 6.11] 전문 크기 계산

– VO 클래스 생성

정의된 전문으로부터 VO 클래스(Serializable하며 getter/setter를 갖는 Java 클래스)를 생성하고 VO

변환기(Converter)를 실행하는 기능이다. 자세한 내용은 다음에 설명할 "VO 클래스 생성" [99] 부분

을 참조한다.

●변경이력 보기( )

현재 정의된 해당 전문 매핑을 사용자별로 디플로이한 이력을 조회한다.

설명항목

검색할 등록된 사용자 ID를 표시한다.사용자 ID

현재 매핑 화면에 정의된 전문에 대한 매핑 클래스명을 표시한다.전문 클래스명

98 AnyLink 스튜디오 안내서

Page 117: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

주의

입력( ), 추가( ), 저장( ), ALF 열기( ), Map 열기( ) 아이콘과 관련된 작업은

전문을 정의할 때 반드시 진행해야 하는 필수 작업이므로 누락하지 않도록 주의한다.

VO 클래스 생성

테이블에 정의된 전문으로부터 VO 클래스를 생성하고 VO 변환기(Converter)를 실행하는 기능으로 사용

법은 다음과 같다.

바디 VO 생성 시 헤더 VO까지 생성 가능하며, 헤더 VO의 경우 패키지/클래스명 수정 및 VO 변환기(Con

verter) 수행은 불가능함에 유의한다.

1.전문을 정의한 후 도구( ) 버튼을 클릭한다.

2. 생성할 VO 클래스의 '패키지명' 및 '클래스명' 입력 후 [VO 클래스 생성] 버튼을 클릭한다.

[그림 6.12] VO 클래스 생성 – 실행

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

설명항목

'__Wrapper'를 뗀 형태의 헤더 VO 클래스명을 입력한다.헤더 VO 클래스

바디 VO를 생성할 때 이 체크박스를 선택하면 헤더 VO까지 생성하고 이에 대한

getter/setter를 바디 VO에 생성한다. 위의 그림에서 CommonClassVO라는 헤더

헤더 VO 생성

VO 객체에 대한 멤버 변수 및 getter/setter가 BodyClassVO 소스 내에 생성되었

음을 확인할 수 있다.

get/set 다음의 첫 글자를 대문자로 생성한다. 예) getField()첫 글자 대문자로

제6장 전문 정의 및 매핑 99

Page 118: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

3. files/vo 폴더에 '.java' 및 '.class' 파일이 생성된다.

[그림 6.13] VO 클래스 생성 – VO 및 전문 파일 생성

4. 생성된 VO 클래스로 VO 변환기(Converter)를 실행할지를 선택한다.

5. VO 변환기(Converter)를 실행한다.

6. VO 변환기(Converter) 실행 결과 전문 클래스(Wrapper)가 생성된다.

컨텍스트 메뉴

전문 정의 테이블에서 다음과 같은 컨텍스트 메뉴를 사용할 수 있다.

[그림 6.14] 입력 전문 정의 컨텍스트 메뉴

각 메뉴에 대한 설명은 다음과 같다.

설명메뉴

맨 아래에 입력 개수만큼의 새로운 필드를 추가한다.[필드 추가]

선택된 행 아래에 입력 개수만큼의 새로운 필드를 삽입한다.[필드 삽입]

100 AnyLink 스튜디오 안내서

Page 119: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명메뉴

선택된(복수의) 행을 삭제한다.[필드 삭제]

Excel 등 Grid 형태의 데이터를 복사해서 붙여넣을 수 있는 기능이다.[붙여넣기]

전문 테이블, Excel 파일 등에서 복사(<Ctrl>+C)한 후 붙여 넣을 해당 위치에서 [붙

여넣기](<Ctrl>+V)를 선택한다.

전문 포맷을 Excel 파일로 갖고 있거나 입력 필드를 출력 필드로 매핑(출력 필드의

매핑 컬럼에 붙여넣기)할 때 유용한 기능이다.

테이블에서 저장하고 싶은 부분만 드래그하여 선택한 후 저장할 수 있다. 저장 방

법은 툴바에서의 방법과 동일하다.

[전문 선택 영역을

Excel 파일로 저장]

테이블에 정의된 전문 정보를 디플로이한다.[전문 디플로이]

생성된 클래스를 디플로이한다.[클래스 디플로이]

전문의 유효성 검사(크기 체크, 필수 입력 확인 등)를 수행한다.[유효성 검사]

출력 전문의 경우 매핑과 관련된 작업을 추가적으로 수행할 수 있다.

[그림 6.15] 출력 전문 정의 컨텍스트 메뉴

● 공통부 매핑

공통부(헤더) 입력 전문의 필드명이 30개 단위로 표시(입력 전문의 특정 필드를 선택한 상태라면 컨텍

스트 메뉴 최상단에 해당 필드명 표시)되고 매핑할 필드명을 선택하면 매핑 컬럼에 채워진다.

공통부 필드에서 상세부로 매핑('크로스 매핑')하기 위해서는 상세부의 입력 공통부에 공통부에서 정의

된 ALF 파일을 로딩해야 공통부 매핑 컨텍스트 메뉴에 표시된다. 자세한 내용은 “6.2.8. 기본 매핑 및 크

로스 매핑”을 참조한다.

제6장 전문 정의 및 매핑 101

Page 120: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● 데이터부 매핑

상세부(바디) 입력전문의 필드명이 30개 단위로 표시되고 매핑할 필드명을 선택하면 매핑 컬럼에 채워

진다.

데이터부 필드에서 공통부로 매핑('크로스 매핑')하기 위해서는 상세부의 출력 공통부에 공통부에서 정

의된 ALF 파일을 로딩하고 매핑한다. 자세한 내용은 “6.2.8. 기본 매핑 및 크로스 매핑”을 참조한다.

6.1.4. ALF 및 MAP 파일

본 절에서는 ALF 파일과 MAP 파일에 대해 설명한다.

ALF 및 MAP 파일은 전문 및 매핑의 재사용을 위한 것이다. 즉, 다른 업무라도 전문 포맷이 같다면 ALF 파

일을 공유함으로써 새로 정의하는 수고를 들이지 않고도 바로 전문 정의가 가능하다.

참고

ALF 파일을 수정하면 해당 파일을 사용하는 다른 업무에 영향을 미치게 되므로 주의해야 한다.

ALF 파일

ALF(AnyLink File)는 전문 정의 포맷으로서 alf라는 확장자를 갖는다. 로컬 파일시스템의 alf 디렉터리에

위치하며 UI에서 정의/생성된 전문을 저장하고 재사용을 위해 로딩될 수 있다.

[그림 6.16] ALF 파일의 구조

ALF 파일은 메타 정보 표시부와 전문 정의부로 나뉜다.

설명구분

다음과 같은 정보들이 표시된다.메타 정보 표시부

102 AnyLink 스튜디오 안내서

Page 121: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명구분

– 전문 타입('type')

– 전문 클래스명('class_name')

– XSD 및 VO 변환기(Converter)의 정보

전문을 구성하는 필드 정보가 콤마(',')를 구분자로 다음의 순서대로 저장된

다.

전문 정의부

필드명 > 한글 필드명 > 데이터 타입 > 크기 > 배열 크기 > 키워드 > 부호 >

소수점 자릿수 > 클래스명 > 필드(Bitmap) 번호 > 필수 입력 여부 > 범위체크

표현식 > 기본값

MAP 파일

MAP(MAPping)은 매핑 정의 포맷으로서 map라는 확장자를 갖는다. 로컬 파일 시스템의 map 디렉터리에

위치하며 UI에서 정의된 매핑 및 변환 규칙 정보를 저장하고 재사용을 위해 로딩될 수 있다.

[그림 6.17] MAP 파일의 구조

MAP 파일은 메타 정보 표시부와 매핑 정의부로 나뉜다.

설명구분

버전 및 validation flag 값, 사용자 코드가 표시된다. 자세한 내용은 ??? 을 참

조한다.

메타 정보 표시부

매핑 정보가 콤마(',')를 구분자로 출력 전문 필드명, 매핑, 변환 규칙명 순서

대로 저장된다. 매핑에는 상수값, 입력 전문 필드명, 매핑 표현식이 올 수 있

다. 자세한 내용은 “6.2. 매핑”을 참조한다.

매핑 정의부

6.2. 매핑본 절에서는 각 매핑과 변환 규칙에 대해 설명한다.

제6장 전문 정의 및 매핑 103

Page 122: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

6.2.1. 매핑 및 변환 규칙

본 절에서는 매핑에 대한 기본 내용과 Special Word 처리, 매핑할 때 주의사항 및 변환 규칙에 대해 설명

한다.

매핑

매핑이란 출력전문의 특정 필드에 어떤 값을 설정할 것인지 정의하는과정으로,전문 정의 테이블의 매핑

컬럼을 통해 수행된다.

● 상수값

출력전문 필드에 고정된 상수값을 설정한다. 큰따옴표( " ") 안의 값을 상수로 인식한다.

[그림 6.18] 매핑 및 변환 규칙 - 상수값 설정

● 입력전문 필드

출력 전문 필드에 입력 전문 필드의 값을 설정한다. 직접 입력, 붙여넣기, 컨텍스트 메뉴를 통한 입력이

가능하다.

[그림 6.19] 매핑 및 변환 규칙 - 입력전문 필드 값 설정

● 매핑 표현식

출력 전문 필드에 특정한 기능을 수행하는 표현식(expression)을 입력하면 그 결과값을 설정한다.

[그림 6.20] 매핑 및 변환 규칙 - 매핑 표현식 설정

매핑 표현식은 다음과 같이 2가지의 방식으로 나눠진다.

– 조합 매핑(concatenation)

2개의 필드를 조합하는 것으로 '^' 연산자를 이용한다.

예를 들어, "INFLD1^INFLD2^INFLD3"의 입력은 입력 전문 필드 중 INFLD1, INFLD2, INFLD3의 값을

순서대로 결합하여 출력 전문의 필드에 설정한다. 'PRE_'^INFLD1 혹은 'PRE_'^'_POST'와 같이 상수

와의 조합도 가능하다.

– 부분 매핑(substring)

104 AnyLink 스튜디오 안내서

Page 123: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

입력 전문 필드의 특정 부분을 추출하는 것으로 "<필드명>[<시작위치>:<끝위치>]" 형태로 정의한다.

단, 위치는 0부터 시작한다.

예를 들어, 위 그림처럼 LKACPTTIME[0:4]로 입력한 경우 LKACPTTIME 필드의 값 중 처음(위치 0)

부터 5번째(위치 4)까지의 문자열이 설정된다. 즉, 'abcdefg'의 입력값은 'abcde'로 반환된다.

Special Word 처리

Special word는 매핑할 때 입력 전문에서 값을 채울 수 없고 Mapper에서제공하는 값을 이용해야 할 경우

에 사용되는 기능이다. 예를 들어 시스템 시간이나 난수, 프로세스 ID(pid)를 입력해야 할 경우 사용되며

매핑 컬럼에 '$'를 붙여서 입력하면 된다.

다음은 Special Word를 정리한 표이다.

● 프로세스 ID(Process ID)

– 문법

$PID(길이)

– 예제

다음은 3자리 PID 문자열을 설정한 예이다.

$PID(3)

● 난수(Random Number)

– 문법

$RAND(길이)

– 예제

다음은 5자리 난수를 설정한 예이다.

$RAND(5)

● 시퀀스(Sequence Number)

– 문법

$SEQNO(길이)

각 매핑 라이브러리 단위로 할당되는 번호로, CMapper에서만 지원된다. 라이브러리 변경 혹은 서버

재구동 시점까지 정적으로 유지된다.

데이터베이스를 이용한 영속적인(persist-ent) 채번이 필요한 경우 채번 기능을 이용한다. 자세한 내

용은 "AnyLink 서버 안내서"를 참조한다.

– 예제

다음은 2자리 시퀀스 를 설정한 예이다.

제6장 전문 정의 및 매핑 105

Page 124: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

$SEQNO(2)

● 일자

– 문법

$DATE(YYYY|YY|MM|DD)

설명항목

4자리 년도YYYY

2자리 년도YY

월(1 ~ 12)MM

일(1 ~ 31)DD

– 예제

$DATE(YYYYMMDD) = 20121004

$DATE(YYYY)^'/'^$DATE(MM) = 2012/10

● 시각

– 문법

$TIME(hh|mm|ss|MI|US)

설명항목

시(0 ~ 23)hh

분(0 ~ 59)mm

초(0 ~ 59)ss

milliseconds 3자리MI

microseconds 6자리US

– 예제

$TIME(hhmmssMI) = 230222555

참고

1. 위 설명은 CMapper를 기준으로 한 것이며 JMapper는 일자 및 시각 표현에 약간의 차이가 있다.

2. JMapper의 경우 $DATE와 $TIME의 차이가 없기 때문에 다음의 문서에 기술된 적합한 패턴만 입

력하면 어느 것을 사용해도 무방하다(e.g., $TIME(yyMMddHHmmssZ). 자세한 내용은 http://ja

va.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html을 참고한다.

106 AnyLink 스튜디오 안내서

Page 125: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

매핑할 때 주의사항

매핑할 때 다음과 같은 사항을 주의해야 한다.

● 대응되는 필드의 크기가 다른 경우

입력 전문 필드의 크기가 출력 전문 필드의 크기보다 작은 경우는 문제가 없다. 반대의 경우는 숫자 타

입(numeric)일 때 뒤에서부터 자르고('1234567' → '34567'), 문자열 타입일 때 앞에서부터 자르므로

('abcdefg' → 'abcde') 주의해야 한다. (□는 공백)

예시구분

'abcdefg' → 'abcdef'문자열(7) → 문자열(6)

'abc□□□□' → 'abc□□□'

'1234567' → '234567'문자열(7) → 숫자(6)

'123□□□□' → '000123'

'1234567' → '123456'숫자(7) → 문자열(6)

'0012345' → '001234'

'1234567' → '234567'숫자(7) → 숫자(6)

'0012345' → '012345'

참고

숫자 타입의 입력에 'abcdefg' 같은 값이 들어왔을 때, 출력 타입이 문자열이면 에러가 발생하지 않지

만 숫자일 경우 marshal 과정에서 에러가 발생한다.

● Hexa 코드 입력

char 필드에 Hexa 코드를 매핑하고 싶은 경우 '\' 다음에 8진수 형태로 표현해서 최대 3자리( '\000' (0x00)

~ '\377' (0xFF) )까지 가능하다.

예를 들어 0x01FFAC0B라는 4 Byte 상수를 매핑하는 경우 각 Byte를 8진수로 변환해 '\001\377\254\013'으

로 매핑에 입력하면 된다.

● 기타

매핑 입력이 완료된 후 "<필드명> 필드는 입력 전문에 존재하지 않습니다."라는 메시지가 표시되는 경

우는 입력한 필드명이 입력 전문에 존재하지 않는다는 의미이므로 입력 전문을 확인한 후 재입력한다.

변환 규칙

매핑 후 적용될 변환 규칙을 선택한다.

전문 정의 테이블의 변환 규칙 컬럼을 클릭하면 [도구] > [변환규칙] 메뉴에서 정의한 변환 규칙들(의 코드

명)이 리스트 박스에 표시되는데, 이 중 적용할 코드명을 선택하면 된다. 변환 규칙에 대한 자세한 내용은

“8.3. 변환규칙”을 참고한다.

제6장 전문 정의 및 매핑 107

Page 126: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

[그림 6.21] 변환 규칙 설정

6.2.2. 요청 매핑

Mapper로 요청전문이 들어왔을 때(RequestIn → RequestOut) 적용되는 매핑이다.

설명구분

스튜디오의 거래 - 일반정보에서 요청 클래스 정보의 '헤더 매핑 클래스명'이 설정

된 경우 적용되고, 없으면 업무 - 일반정보에 요청 클래스 정보의 '매핑 클래스명',

즉, 공통부 요청 매핑이 적용된다.

공통부(헤더)

거래 - 일반정보에서 요청 클래스 정보의 '바디 매핑 클래스명'이 적용된다.상세부(바디)

매핑 후 호출되는 사용자 서비스는 거래 - 일반정보에 요청 클래스 정보의 '사용자

클래스명'이 적용된다.

사용자 서비스

6.2.3. 정상응답 매핑

Mapper가 비즈니스 서비스를 호출한 후 정상응답 전문이 들어왔을 때(ResponseIn → ResponseOut) 적

용되는 매핑이다.

설명구분

거래 - 일반정보에서 정상응답 클래스 정보의 '헤더 매핑 클래스명'이 설정된 경우

적용되고, 없으면 업무 - 일반정보에 응답 공통헤더 정보의 '매핑 클래스명', 즉, 공

통부 응답 매핑이 적용된다.

공통부(헤더)

거래 - 일반정보에서 정상응답 클래스 정보의 '바디 매핑 클래스명'이 적용된다.상세부(바디)

매핑 후 호출되는 사용자 서비스는 거래 - 일반정보에 정상응답 클래스 정보의 '사

용자 클래스명'이 적용된다.

사용자 서비스

6.2.4. 응답오류 매핑

응답 전문에 에러 코드가 설정된 경우 전문 상세부 포맷이 다른 경우가 있는데, 이 경우(서비스응답코드에

정상응답코드가 아닌 값으로 설정된 경우) 적용되는 매핑이다.

108 AnyLink 스튜디오 안내서

Page 127: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명구분

업무 - 일반정보에 응답 공통헤더 정보의 '매핑 클래스명', 즉, 공통부 응답 매핑이

적용된다.

공통부(헤더)

거래 - 일반정보에서 응답오류 클래스 정보의 '매핑 클래스명'이 적용되고, 없으면

정상응답 매핑과 같이 적용된다.

상세부(바디)

매핑 후 호출되는 사용자서비스는 거래 - 일반정보에 응답오류 클래스 정보의 '사

용자 클래스명'이 적용되고 없으면 정상응답 매핑과 같이 적용된다.

사용자 서비스

6.2.5. 포맷오류 매핑

요청 매핑 도중 필드 검증할 때 에러가 발생한 경우 적용되는 매핑으로 요청 매핑을 수행하지 않고 응답

전문을 내보낸다.

설명구분

업무 - 일반정보에 오류 공통헤더 정보의 '매핑 클래스명', 즉, 공통부 오류 매핑이

적용된다.

공통부(헤더)

거래 - 일반정보에 포맷오류 클래스 정보의 '매핑 클래스명'이 적용되고 없으면 상

세부를 버린다.

상세부(바디)

매핑 후 호출되는 사용자서비스는 거래 - 일반정보에서 포맷오류 클래스 정보의

'사용자 클래스명'이 적용된다.

사용자 서비스

6.2.6. 시스템오류 매핑

시스템 오류 매핑은 다음의 상황일 경우에 적용된다.

● 요청 매핑 완료 후 서비스 호출 시점에서 에러가 발생한 경우

● 서비스 호출 후 TPESVCFAIL 등 에러가 반환된 경우(수행은 정상적으로 되고 에러 코드가 설정된 경우

와는 다름)

● 응답 매핑할 때 에러가 발생한 경우

● 중복거래 체크할 때 오류 전송인 경우

시스템오류 매핑은 다음과 같이 구성된다.

설명구분

포맷오류 매핑과 같이 업무 - 일반정보에서 오류 공통헤더 정보의 '매핑 클래스명',

즉 공통부 오류 매핑이 적용된다.

공통부(헤더)

거래 - 일반정보에 시스템오류 클래스 정보의 '매핑 클래스명'이 적용되고 없으면

상세부를 버린다.

상세부(바디)

제6장 전문 정의 및 매핑 109

Page 128: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명구분

매핑 후 호출되는 사용자서비스는 거래 - 일반정보에 시스템오류 클래스 정보의

'사용자 클래스명'이 적용된다.

사용자 서비스

6.2.7. 요청/응답포맷오류 매핑

요청포맷오류 매핑은 요청 매핑 완료 후 비즈니스 서비스를 호출할 때 정상응답 전문이 아닌(요청에 대한)

포맷오류 전문이 온 경우 적용되는 매핑이다.

즉, 응답의 한 종류로서 응답 입력을 응답 출력으로 매핑한다.

설명구분

거래 - 일반정보에 요청포맷오류 클래스 정보의 '헤더 매핑 클래스명'이 설정된 경

우 적용되고, 없으면 업무 - 일반정보에서 요청포맷오류 공통헤더 정보의 '매핑 클

래스명', 즉 공통부 요청포맷오류 매핑이 적용된다.

공통부(헤더)

거래 - 일반정보에 요청포맷오류 클래스 정보의 '바디 매핑 클래스명'이 적용된다.상세부(바디)

매핑 후 호출되는 사용자 서비스는 거래 - 일반정보에 요청포맷오류 클래스 정보

의 '사용자 클래스명'이 설정된 경우 적용되고, 없으면 업무 - 일반정보에 요청포맷

오류 공통헤더 정보의 '사용자 클래스명'이 적용된다.

사용자 서비스

대내외 기관으로 응답까지 완료한 후 해당 기관에서 응답 전문의 포맷이 잘못되었음을 알려주는(응답에

대한) 포맷오류 전문이 온 경우 적용되는 매핑이다. 즉, 요청의 한 종류로서 요청 입력을 요청 출력으로 매

핑한다.

설명구분

거래 - 일반정보에 응답포맷오류 클래스 정보의 '헤더 매핑 클래스명'이 설정된 경

우 적용되고 없으면 업무 - 일반정보에 응답포맷오류 공통헤더 정보의 '매핑 클래

스명', 즉, 공통부 응답포맷오류 매핑이 적용된다.

공통부(헤더)

거래 - 일반정보에 응답포맷오류 클래스 정보의 '바디 매핑 클래스명'이 적용된다.상세부(바디)

매핑 후 호출되는 사용자 서비스는 거래 - 일반정보에서 응답포맷오류 클래스 정

보의 '사용자 클래스명'이 설정된 경우 적용되고, 없으면 업무 - 일반정보에 응답포

맷오류 공통헤더 정보의 '사용자 클래스명'이 적용된다

사용자 서비스

공통부와 상세부의 오류 매핑에 따른 Action은 다음 표를 참조한다.

● 응답 오류

공통부구분

매핑정의매핑미정의

바디: 정상응답 매핑(에러코드 설정)매핑미정의상세부

110 AnyLink 스튜디오 안내서

Page 129: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

공통부구분

매핑정의매핑미정의

헤더: 정상응답 매핑(에러코드 설정)

바디: 응답오류 매핑매핑정의

헤더: 정상응답 매핑

● 포맷 오류

공통부구분

매핑정의매핑미정의

상세부 바디: 버림매핑미정의

헤더: 공통부오류 매핑헤더: 버림

바디: 포맷오류 매핑매핑정의

헤더: 공통부오류 매핑헤더: 버림

● 시스템 오류

공통부구분

매핑정의매핑미정의

상세부 바디: 버림바디: 버림매핑미정의

헤더: 공통부오류 매핑헤더: 버림

바디: 시스템오류 매핑바디: 시스템오류 매핑매핑정의

헤더: 공통부오류 매핑헤더: 버림

1) 응답 오류는 AnyLink 입장에서는 정상인 경우이므로 정상응답 매핑이 적용되며 ResponseIn 전문의 바

디 포맷이 정상/오류 여부에 따라 달라질 때만 매핑을 정의한다.

2) 포맷 오류는 요청매핑의 경우에만 적용된다. 응답의 경우에는 호스트로 통지할 수 없기 때문에 시스템

오류로 처리된다.

3) 시스템 오류는(AnyLinkException에 정의된) AnyLink 내부 에러 코드가 대외 에러 코드로 매핑되어 에

러 코드로 설정된다.

4) 헤더와 바디를 모두 버리는 경우(no-reply), 게이트웨이로 TmaxHeader (에러코드 2004 설

정)+AnyLinkHeader만 전송된다.

6.2.8. 기본 매핑 및 크로스 매핑

본 절에서는 기본 매핑과 크로스 매핑에 대해 설명한다.

제6장 전문 정의 및 매핑 111

Page 130: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

기본 매핑(Base Mapping)

기본 매핑은 응답출력 전문의 필드 중 매핑이 정의되지 않은 것을 요청입력 전문의 값으로 채워주는 기능

이다. 스튜디오의 거래 – 일반정보의 '요청 cache 유무'의 설정값에 따라 공통부, 상세부 혹은 공통부/상

세부 전체에 대해 적용할 수 있으며, 요청입력 전문과 응답출력 전문의 포맷이 같아야 한다는 제약이 있

다.

기본 매핑을 적용하지 않은 경우, 매핑되지 않은 출력 전문의 필드는 기본값(char 타입은 공백(space),

numeric 타입은 '0', 숫자 타입은 0x00)으로 패딩(padding; 부족한 길이만큼 채움)된다.

크로스 매핑(Cross Mapping)

일반적으로 공통부는 공통부와, 상세부는 상세부와 매핑하게 되지만 공통부에 상세부를 혹은 상세부에

공통부를 매핑해야 할 경우가 있는데, 이를 크로스 매핑이라 한다.

크로스 매핑은 거래 노드에서만 정의할 수 있으며 입력 전문 필드명이 공통부와 상세부에 모두 있는 경우

공통부 매핑은 공통부에서 먼저 찾고, 상세부 매핑은 상세부에서 먼저 찾는다.

● 공통부-상세부 크로스 매핑 방법

1. 공통부 필드에서 상세부로 매핑하기 위해서는 우선 상세부의 입력 공통부(화면 왼쪽 상단)에 업무 입

력 공통부에서 정의된 ALF 파일을 로딩해야 한다, ALF 파일의 로딩 방법은 입력 공통부에서 ALF 열

기( )를 선택하면 자동으로 업무 입력 공통부에 정의된 ALF 파일을 로딩된다.

2. 이후 상세부의 출력 데이터부(화면 오른쪽 하단)에서 컨텍스트 메뉴의 [공통부 매핑] 메뉴를 통해 입

력 공통부 전문의 필드를 선택한다.

[그림 6.22] 공통부-상세부 크로스 매핑

112 AnyLink 스튜디오 안내서

Page 131: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

3. 스튜디오의 거래 - 일반정보에 요청 클래스 정보의 '헤더 매핑 클래스명'에 매핑 클래스명을 입력한

다.

● 상세부-공통부 크로스 매핑 방법

1. 상세부 필드에서 공통부로 매핑하기 위해서는 우선 상세부의 출력 공통부 매핑(화면 오른쪽 상단)에

업무 출력 공통부에서 정의된 ALF 파일을 로딩해야 한다. ALF 파일 로딩 방법은 출력 공통부 매핑에

서 ALF 열기( )를 선택하면 자동으로 업무 출력 공통부에 정의된 ALF 파일을 로딩할 수 있다.

2. 이후 상세부의 출력 공통부 매핑에서 컨텍스트 메뉴의 [데이터부매핑] 메뉴를 통해 입력 상세부 전문

의 필드를 선택한다.

[그림 6.23] 상세부-공통부 크로스 매핑

3. 스튜디오의 거래 - 일반정보에 요청 클래스 정보의 '헤더 매핑 클래스명'에 매핑 클래스명을 입력한

다.

6.2.9. 배열 매핑

고정 길이 배열과 가변 길이 배열 전문을 정의할 수 있고 필드 간 매핑이 가능하다.

배열 정의

array-S와 array-E 타입으로 정의하며 array-S 다음에는 단 하나의 primitive 타입이나 struct-S 타입이 와

야 한다. 배열에 포함되는 필드는 <배열 필드명>*.<필드명>으로 표시된다.

제6장 전문 정의 및 매핑 113

Page 132: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

배열의 크기는 고정 길이일 경우 array-S의 배열 크기 컬럼에 상수를 입력하고 가변 길이일 경우 길이를

지정하는 필드명에 '#ARRY1Array_ _Count'와 같이 '#'을 붙여 입력한다.

참고

CMapper를 사용할 때는 array-E의 배열 크기 컬럼에도 동일하게 입력해 주어야 한다.

● primitive 타입

● struct-S 타입 (구조체)

● 다중 배열

매핑

배열 매핑은 다음과 같이 필드 간의 매핑을 정의함으로써 이루어진다.

[그림 6.24] 필드 간 매핑 정의

매핑할 때 다음과 같은 사항을 주의해야 한다.

● 배열의 array-S, array-E

타입이 array-S, array-E로 설정되어 있는 필드는 배열의 시작과 끝을 의미하므로 매핑 작업을 하지 않

는다.

114 AnyLink 스튜디오 안내서

Page 133: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● XML 혹은 VO 전문에서 배열의 크기

XML 혹은 VO 전문에 배열이 있는 경우 배열 시작부(array-S) 앞에 배열 크기를 나타내는 필드(<필드명

>Array__Count)가 자동으로 생성되고 '배열크기' 컬럼에 표시된다.

● 배열의 필드 매핑(배열의 특정 인덱스값 참조)

배열 내의 특정 값을 참조해야 하는 경우에는 필드명 중 '*' 문자 대신 '(<인덱스>)'로 설정한다. 즉, <배

열 필드명>(<인덱스>).<필드명>의 형식으로서 인덱스는 0부터 시작한다.

예를 들어 배열 크기가 3인 다음과 같은 입력 전문에서 배열의 첫 번째 필드 값을 얻고 싶은 경우 Ar

ray(0).field1으로 매핑한다. 단, JMapper에서만 지원된다.

6.2.10. Bypass 및 No 매핑

본 절에서는 Bypass 및 No 매핑에 대해 설명한다.

Bypass

Bypass는 입력을 매핑하지 않고 출력으로 그대로 넘기는(bypass) 것이다.

입력과 출력 전문을 동일하게 하고 1:1 매핑시켜도 가능하다 작업이 번거로울 수 있으므로 '__BY_PASS__'라

는 키워드를 통해 간단히 적용할 수 있다. 즉, 매핑 클래스명 부분에 '__BY_PASS__'를 입력하면 Mapper

에서는 매핑 없이 입력을 그대로 출력으로 넘긴다.

참고

입력을 (unmarshal하여 매핑하지 않고) 바로 출력의 unmarshal로 넘기는 것이므로 입출력 전문 타

입이 같아야 한다.

[그림 6.25] Bypass 설정

제6장 전문 정의 및 매핑 115

Page 134: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

No 매핑

매핑 클래스명을 입력하지 않으면 입력 데이터는 모두 버려지게 된다.

응답오류 매핑의 경우는 매핑 클래스명이 입력되지 않으면 정상응답 매핑을 수행하기 때문에 다른 매핑

처럼 데이터를 버리기(No 매핑) 위해서는 별도의 조치가 필요하다. 이를 위해 '__NO_PASS__' 키워드를

입력하거나 체크박스를 선택한다.

[그림 6.26] No 매핑 설정

6.3. 코드 생성생성된 코드는 패키지 구조에 따라 로컬 파일 시스템의 gen 디렉터리에 생성된다.

CMapper를 사용할 때는 서버 플랫폼마다 바이너리가 달라지므로 로컬에서 코드(공유 라이브러리)를 생

성할 수 없다. 따라서 CMapper를 사용하는(기관-업무 정보의 'Mapper 서비스명'과 Mapper 정보의 '서비

스명'으로 판단) 기관-업무의 노드에 대해서는 코드 생성 컨텍스트 메뉴가 제공되지 않고 전문 정보만 디

플로이하면 CMapper가 해당 정보로써 라이브러리를 생성한다.

● 전문코드 생성

전문 코드는 해당 업무 혹은 거래 노드를 선택한 후 컨텍스트 메뉴의 [전문코드생성] 메뉴를 선택하고

전체 혹은 요청/응답/오류전문별로 생성한다.

전문 코드는 전문 정보 입력 대화상자에서 입력된 전문 클래스명으로 생성된다.

● 매핑코드 생성

매핑 코드는 해당 업무 혹은 거래 노드를 선택한 후 컨텍스트 메뉴의 [매핑코드생성] 메뉴를 선택하고

전체 혹은 요청/응답/오류매핑별로 생성한다. 단, 매핑 코드의 경우에는 해당 전문도 같이 생성된다.

116 AnyLink 스튜디오 안내서

Page 135: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

매핑코드는 <업무 패키지명>.< 종별 패키지명>.<거래 패키지명>.<매핑 클래스명>의 패키지 구조를 따

라 업무 - 일반정보 혹은 거래 - 일반정보에 설정된 '매핑 클래스명'으로 생성된다.

참고

XML 및 VO 전문 코드는 변환기를 수행할 때 생성되므로 컨텍스트 메뉴를 선택할 경우 코드 생성은

하지 않는다.

6.4. 디플로이생성된 전문 및 매핑코드는 해당 업무 혹은 거래 노드를 선택한 후 컨텍스트 메뉴에서 [디플로이] 메뉴를

통해 서버로 디플로이할 수 있다.

● 전문 정보 디플로이

전문 정보는 해당 업무 혹은 거래 노드를 선택한 후 컨텍스트 메뉴의 [디플로이] > [전문] 메뉴를 선택하

고 전체 혹은 요청/응답/오류전문별로 디플로이한다.

전문 정보의 디플로이는 전문 정의 테이블에 정의된 전문 내용, 생성된 클래스 파일, XML/VO 전문 관련

정보(XSD 파일, 컴파일 옵션 등)의 디플로이를 포함한다. 단, CMapper를 사용할 때는 로컬에서 공유

라이브러리를 생성할 수 없으므로 전문 정보만 디플로이하면 CMapper가 해당 정보로써 라이브러리를

생성한다.

● 매핑 정보 디플로이

매핑 정보는 해당 업무 혹은 거래 노드를 선택한 후 컨텍스트 메뉴에서 [디플로이] > [매핑] 메뉴를 선택

하고 전체 혹은 요청/응답/오류매핑별로 디플로이한다. 단, 매핑코드의 경우에는 해당 전문도 같이 디플

로이된다.

디플로이가 성공적으로 끝나면 디플로이 정보 대화상자를 통해 디플로이된 정보를 확인할 수 있다. XML

전문 디플로이의 경우에는 생성되는 전문 코드가 많기 때문에 모두 디플로이를 하지는 않고, 해당 XSD 파

일만 올리게 된다. XSD 파일이 디플로이되면 Java 엔진에서는 이를 컴파일하여 필요한 코드를 생성한다.

따라서 다운로드할 경우에도 XSD 파일만 다운로드되고 해당하는 메인 클래스(*Wrapper.class)는 다운로

드되지 않는다.

스튜디오 데이터의 디플로이는 모두 브라우저의 컨텍스트 메뉴를 통해서만 가능하지만, Java 클래스 파

일은 [도구] > [클래스 배치] 메뉴를 통해 개별적인 디플로이도 가능하다.

제6장 전문 정의 및 매핑 117

Page 136: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

[그림 6.27] 디플로이 정보

위의 디플로이 정보 대화상자에서는 XSD 파일의 디플로이 혹은 CMapper를 사용하는 매핑의 디플로이에

대한 결과를 확인할 수 없기 때문에 서버(JMapper 혹은 ADM)에서 수행된 컴파일 결과는 별도의 채널을

통해 통지받는다.

서버로부터 결과를 통지받으면 컴파일에 성공했을 경우 메시지 뷰에 해당 파일이 성공적으로 컴파일되었

음을 표시하고, 실패했을 경우 메시지 뷰에 붉게 표시한다.

● XSD 컴파일 성공

[그림 6.28] XSD 컴파일 성공

118 AnyLink 스튜디오 안내서

Page 137: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● XSD 컴파일 실패

[그림 6.29] XSD 컴파일 실패

컬럼의 아이콘을 클릭하면 메시지 박스로 상세 로그가 표시된다. 에러 로그 중 일부만 표시되므로 서

버 로그를 확인하여 자세한 에러 상황을 파악하고 조치해야 한다.

[그림 6.30] C 라이브러리 컴파일 실패

제6장 전문 정의 및 매핑 119

Page 138: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52
Page 139: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

제7장 변환

본 장에서는 XSD, VO, COMM Area, CSV, Excel 변환 방법에 대해 설명한다.

7.1. XSD 변환XSD 변환기는 XML 스키마 파일(*.xsd)을 alf 형식으로 변환하고 매핑을 위해 Wrapper 클래스를 생성하는

유틸리티이다.

동일한 XSD 파일은 한 번만 변환한다. 즉, 동일한 전문 클래스를 사용할 것을 권장한다.

동일한 XSD 파일에 대해 다른 전문 클래스를 사용하는 경우 XSD가 서버에 디플로이 및 컴파일되는 과정

에서 문제가 발생하여 매핑할 때 ClassCastException이 발생할 수 있다. 따라서 동일한 XSD를 사용하는

전문인 경우에는 변환기를 거치지 않고 이미 생성된 ALF 파일을 열어서 정의한다.

XSD 변환기는 헤더(header)와 바디(body) 클래스에 대해 각각 수행되어야 하며 실제 매핑의 경우에 헤더

객체는 바디 객체로부터 얻어야 하기 때문에 바디에 대해 변환할 때에는 헤더 객체를 얻을 수 있는 정보

(Header Element QName)를 추가적으로 입력해야 한다.

7.1.1. 사용법

다음은 변환기로 변환할 헤더 XSD 파일과 바디 XSD 파일 예이다.

● 헤더 XSD

<BSL_Header.xsd>

<xs:complexType name="HeaderAreaType">

<xs:sequence>

<xs:element ref="HDR_TRX_ID"/>

<xs:element ref="HDR_SYS_ID"/>

● 바디 XSD

<BSL_Body.xsd>

<xs:include schemaLocation="BSL_Header.xsd"/>

<xs:element name="Bancassurance">

<xs:complexType>

<xs:sequence>

<xs:element ref="HeaderArea"/>

<xs:element ref="BusinessArea"/>

</xs:sequence>

</xs:complexType>

제7장 변환 121

Page 140: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

</xs:element>

<xs:element name="HeaderArea" type="HeaderAreaType">

</xs:element>

<xs:element name="BusinessArea">

<xs:complexType>

<xs:sequence>

<xs:element ref="LK_PROD_CD"/>

XSD 변환기는 [변환] > [XSD Converter] 메뉴를 선택하여 실행할 수 있다. 각 항목에 대한 설정을 완료한

후 [Generate] 버튼을 클릭하면 변환이 시작된다.

● XSD 변환기 - 헤더

[그림 7.1] XSD 변환기 - 헤더

● XSD 변환기 - 바디

[그림 7.2] XSD 변환기 - 바디

122 AnyLink 스튜디오 안내서

Page 141: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

각 입력 항목에 대한 설명은 다음과 같다.

● Package Name

변환할 XSD 파일을 xsd 디렉터리로 옮긴 후, 생성할 Wrapper 클래스 파일의 패키지명을 입력한다.

Wrapper 클래스는 gen 디렉터리 아래 패키지 구조에 따라 '[Root Class Name]__Wrapper'란 이름으로

생성된다.

패키지명을 입력할 때는 파일을 생성할 때 클래스 상위 패키지(디렉터리)의 파일들이 모두 삭제된다는

것에 주의해야 한다. 예를 들어 A.xsd 파일을 변환할 때 패키지명을 pkg1.pkg2.pkg3으로 입력하고, 다

음 B.xsd 파일을 변환할 때 pkg1.pkg2로 입력했다면 pkg2의 하위 디렉터리 및 파일은 모두 삭제되므로

A.xsd와 관련해 생성되었던 파일까지 삭제된다.

● Header Element QName

바디 객체에서 헤더 객체를 얻을 수 있도록 헤더 element명(qualified name)을 입력한다.

위 화면의 바디 XSD에서 'HeaderArea', targetNamespace를 갖는 경우는 아래 'Root QName'에 설명된

것과 동일한 형태로 입력한다.

● Root QName

root element명(qualified name)을 입력한다.

위 화면의 헤더 XSD에서 'HeaderAreaType', 바디 XSD에서 'Bancassurance'가 root element명이다.

XSD가 targetNamespace를 갖는 경우는 '{targetNamespace}element명' 형태로 입력한다. 즉, 다음과

같이 targetNamespace가 있는 경우 element명은 '{http://TmaxService}TmaxHeader'로 입력해야 한다.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"

targetNamespace="http://TmaxService">

<xsd:complexType name="TmaxHeader">

● xsd File

xsd 디렉터리의 XSD 파일명을 입력하거나 [찾기] 버튼으로 찾아서 선택한다.

● alf File

변환 후에 생성될 ALF 파일명(확장자 제외)을 입력한다. 변환된 파일은 alf 디렉터리에 생성된다.

● Load

파일 생성 후 스튜디오의 전문 정의 테이블에 로딩할 것인지를 선택한다. 'Input'을 선택하면 입력부에,

'Output'을 선택하면 출력부에 로딩된다.

7.2. VO 변환VO 변환기는 VO(Value Object) 파일(*.class)을 alf 형식으로 변환하고 매핑을 위해 Wrapper 클래스를 생

성하는 유틸리티이다.

VO 변환기는 헤더(header)와 바디(body) 클래스에 대해 각각 수행되어야 한다. 실제로 매핑할 경우에는

헤더 객체는 바디 객체로부터 얻어야 하기 때문에 바디에 대해 변환할 때에는 헤더 객체를 얻을 수 있는

정보(Header Wrapper Class Full Name, Header Prop. Name)를 추가적으로 입력해야 한다.

제7장 변환 123

Page 142: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

7.2.1. 사용법

VO 변환기는 [변환] > [VO Converter] 메뉴를 선택하여 실행할 수 있다. 각 항목에 대한 설정을 완료한 후

[Generate] 버튼을 클릭하면 변환이 시작된다.

● VO 변환기 - 헤더

[그림 7.3] VO 변환기 - 헤더

● VO 변환기 - 바디

[그림 7.4] VO 변환기 - 바디

각 입력 항목에 대한 설명은 다음과 같다.

● Package Name

변환할 VO 클래스 파일을 vo 디렉터리로 옮긴 후 생성할 Wrapper 클래스 파일의 패키지명을 입력한다.

클래스 파일의 패키지가 test.sale이라면, 이에 따라 vo/test/sale 디렉터리 아래 위치해야 함에 주의한다.

Wrapper 클래스는 gen 디렉터리 아래 패키지 구조에 따라 '[Root Class Name]__Wrapper'라는 이름으

로 생성된다.

124 AnyLink 스튜디오 안내서

Page 143: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● Stop Class

해당 클래스가 Wrapper 클래스에 포함될 필요가 없는 Framework 클래스를 상속할 경우, Framework

클래스의 멤버를 Wrapper에 포함하지 않도록 Framework 클래스를 상속한 클래스 이름을 입력한다.

● Root Class Full Name

VO 클래스 파일명을 패키지를 포함해서(full qualified name) 입력한다.

● Header Wrapper Class Full Name

바디 객체에서 헤더 객체를 얻을 수 있도록 헤더 Wrapper 클래스명(full qualified name)을 입력한다.

● Header Prop. Name

VO의 바디 클래스에는 헤더 객체에 대한 get/set 메소드가 구현되어야 한다. 해당 메소드 호출을 위한

프로퍼티명을 입력한다.

예를 들어 다음과 같은 경우 메소드 이름에서 get/set을 제외한 Header가 프로퍼티명이다.

public HeaderArea getHeader() {

return header;

}

public void setHeader(HeaderArea header) {

this.header = header;

}

● alf File

변환 후에 생성될 ALF 파일명(확장자 제외)을 입력한다. 변환된 파일은 alf 디렉터리에 생성된다.

● Load

파일 생성 후 스튜디오의 전문 정의 테이블에 로딩할 것인지를 선택한다. 'Input'을 선택하면 입력부에,

'Output'을 선택하면 출력부에 로딩된다.

7.3. COMM Area 변환COMM Area 변환기는 COBOL 구조체인 COMMAREA 파일(*.cob)을 alf 형식으로 변환하는 유틸리티이

다.

7.3.1. 사용법

COMM Area 변환기는 [변환] > [COMM Area Parser] 메뉴를 선택하여 실행할 수 있다. 각 항목에 대한

설정을 완료한 후 [Generate] 버튼을 클릭하면 변환이 시작된다.

제7장 변환 125

Page 144: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

[그림 7.5] comm 변환기

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

● Input File Name

변환할 COMMAREA 파일을 comm 디렉터리로 옮긴 후 확장자를 포함한 파일명을 입력한다.

● Output File Name

변환 후에 생성될 ALF 파일명(확장자 제외)을 입력한다. 변환된 파일은 alf 디렉터리에 생성된다.

● Sign Bit Count

Sign bit를 필드명 길이에 포함할지 여부를 선택한다.

'Yes'일 경우 sign bit를 1 Byte로 생성한다. 예를 들면, COMMAREA 필드가 S9(15)로 지정되어 있는 경

우 sign bit를 포함하지 않으면('No') 15 Byte로, sign bit를 포함하면('Yes') 16 Byte로 생성된다.

● Load

파일 생성 후 스튜디오의 전문 정의 테이블에 로딩할 것인지를 선택한다. 'Input'을 선택하면 입력부에,

'Output'을 선택하면 출력부에 로딩된다.

7.4. CSV 변환CSV 변환기는 콤마(,)로 값이 구분되는 파일(Comma Separated Value; *.csv)을 alf 형식으로 변환하는 유

틸리티이다.

7.4.1. 사용법

CSV 변환기는 [변환] > [CSV Converter] 메뉴를 선택하여 실행할 수 있다.

126 AnyLink 스튜디오 안내서

Page 145: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

[그림 7.6] CSV 변환기

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

● CSV File

변환할 CSV 파일을 csv 디렉터리로 옮긴 후 확장자를 포함한 파일명을 입력하거나 [찾기] 버튼을 클릭

하여 목록에서 선택한다.

● alf File

변환 후에 생성될 ALF 파일명(확장자 제외)을 입력한다. 변환된 파일은 alf 디렉터리에 생성된다.

● Load

파일 생성 후 스튜디오의 전문 정의 테이블에 로딩할 것인지를 선택한다. 'Input'을 선택하면 입력부에,

'Output'을 선택하면 출력부에 로딩된다.

● CSV Columns

alstudio.properties 파일에 지정한 'csv.columns' 속성값이 기본적으로 표시된다.

CSV 파일을 로딩할 때 읽을 컬럼 순서, 즉 CSV 파일의 각 부분과 alf 파일의 대응 관계를 지정한다.

field_name,kor_name,type,size,array_size,precisioin

설정값이 위와 같고, CSV 파일 내용이 아래와 같다면 콤마(,)로 구분된 순서대로 읽어 'HDB_TRX_ID'는

필드명으로, '방카 거래'는 한글명으로, 'char'은 데이터 타입으로 해석하는 예는 다음과 같다. 설정값으

로 올 수 있는 예약어는 “2.2. 환경설정 파일”을 참조한다.

HDB_TRX_ID,방카 거래,char,9,0,true,0

HDB_SYS_ID,시스템 ID,char,3,0,true,0

alstudio.properties 파일에 지정한 'csv.columns'속성값이 기본적으로 표시된다.

각 항목에 대한 설정을 완료한 후 [Generate] 버튼을 클릭하면 변환이 시작된다. 변환이 완료되면 전문 정

보 입력 화면(???)에서 클래스명 및 전문 유형을 선택하고 [확인] 버튼을 클릭하면 ALF 파일 생성이 완료

된다.

제7장 변환 127

Page 146: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

[그림 7.7] 변환 후 alf 파일 생성

7.5. Excel 변환Excel 변환기는 Excel 파일(*.xls)을 alf 형식으로 변환하는 유틸리티이다.

참고

Excel 97 이후 버전으로 저장된 파일만 지원 가능하다.

7.5.1. 사용법

Excel 변환기는 [변환] > [Excel Converter] 메뉴를 선택하여 실행할 수 있다.

[그림 7.8] Excel 변환기

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

● Excel File

변환할 XLS 파일을 [찾기] 버튼을 클릭하여 목록에서 선택한다.

128 AnyLink 스튜디오 안내서

Page 147: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● alf File

변환 후에 생성될 ALF 파일명을 입력한다. 변환된 파일은 alf 디렉터리에 생성된다.

● Load

파일 생성 후 스튜디오의 전문 정의 테이블에 로딩할 것인지를 선택한다. 'Input'을 선택하면 입력부에,

'Output'을 선택하면 출력부에 로딩된다. 'No'를 선택하면 로딩되지 않는다.

● [컬럼 매핑] 버튼

XLS 파일을 변환하려면 Excel 컬럼들을 저장 할 ALF 파일의 어떤 컬럼으로 매핑할지 결정해야 한다.

컬럼 매핑을 하지 않으면 ALF 파일로 변환할 수 없다. 따라서 [컬럼 매핑] 버튼을 클릭하여 다음의 컬럼

매핑 화면에서 '엑셀 컬럼'들을 매핑한다.

[그림 7.9] 컬럼 매핑 화면

매핑할 '엑셀 컬럼'을 선택한 후 [매핑 변경] 버튼을 클릭하거나, 선택한 컬럼을 더블클릭하면 다음과 같

은 매핑 변경 화면이 나타난다.

[그림 7.10] 매핑 변경 화면

'엑셀 컬럼'을 매핑할 컬럼을 선택한 후 [매핑] 버튼을 클릭하거나, 선택한 컬럼을 더블클릭하면 엑셀 컬

럼이 선택한 컬럼으로 매핑된다.

제7장 변환 129

Page 148: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

예를 들어, 엑셀에서 컬럼 이름이 '2'인 열의 값들은 ALF 파일에서 배열크기 컬럼에 매핑된다. 엑셀에서

의 컬럼 이름이란 1행의 값들을 말한다. Excel 파일에서1행의 값들은 그 열이 어떤 데이터를 가지고 있

는지 가늠할 수 있는 자료로 사용된다. 사용자는 그 값들을 보고 각 열들이 ALF 파일에서 어떤 컬럼에

매핑되어야 할지 결정해야 한다.

위의 그림에서 Excel 파일에서 1행의 값(붉은 하이라이트 부분)들은 컬럼 매핑 화면에서 '엑셀 컬럼'의

값들로 온 것을 아래의 그림에서 볼 수 있다.

[그림 7.11] 컬럼 매핑 후 컬럼 매핑 창

[미리보기] 버튼을 클릭해서 매핑이 잘 되었는지 확인할 수 있다. 컬럼 '2'를 배열크기로 매핑한 모습은

다음의 미리보기 화면의 푸른 하이라이트 부분을 보면 알 수 있다.

[그림 7.12] 미리보기 화면

● Option

다음은 Option 영역에 설정하는 값에 대한 설명이다.

설명항목

Excel 파일 전체를 변환하고 싶은 경우에 선택한다.전체 행 읽기

저장하고 싶은 행만 변환하고 싶은 경우에 선택한다. 오른쪽 입력 박스에 저장하

고 싶은 행들을 입력한다.

선택된 행만

130 AnyLink 스튜디오 안내서

Page 149: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

각 항목에 대한 설정을 완료한 후 [Generate] 버튼을 클릭하면 변환이 시작된다. 변환이 완료되면 전문 정

보 입력 화면(???)에서 클래스명 및 전문 유형을 선택하고 [확인] 버튼을 클릭하면 ALF 파일 생성이 완료

된다.

[그림 7.13] 전문 정보 입력 창

제7장 변환 131

Page 150: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52
Page 151: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

제8장 도구

본 장에서는 AnyLink 스튜디오의 도구 메뉴에 대해 설명한다.

8.1. 개요스튜디오의 [도구] 메뉴는 다음의 하위 메뉴로 구성된다.

● [전문등록]

새로운 전문을 등록한다.

● [변환규칙]

매핑 후 필드의 특정값을 변환할 경우 사용한다.

● [커스텀 로그 DDL 생성]

커스텀 로그의 DDL을 생성한다.

● [클래스 디플로이]

로컬의 Java 클래스 파일을 서버에 디플로이할 수 있다.

● [변경이력 보기]

변경이력 조회 및 디플로이할 때 충돌 여부를 감지한다.

● [Run Simulator]

TCP/IP Stream 전문에 대한 테스트 클라이언트로서 전문 데이터를 게이트웨이에 보내고 응답 결과 및

처리시간을 표시한다.

AnyLink 4.0에서는 지원하지 않는 기능이다.

8.2. 전문등록스튜디오의 [도구] > [전문등록] 메뉴를 통해 새로운 전문을 정의할 수 있다. 여기에서 정의된 전문은 ALF

파일로 저장되어 업무 및 거래에 대한 전문을 정의할 때 재사용될 수 있다. XML/VO 전문은 변환기를 통해

서만이 정의되고, 코드가 생성될 수 있다.

제8장 도구 133

Page 152: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

전문등록 화면은 다음과 같다.

[그림 8.1] 전문등록 화면

각 입력 항목에 대한 설명은 다음과 같다.

설명항목

전문 포맷을 저장할 ALF 파일명을 입력한다. (최대 256자리)전문 파일명(ALF)

코드 생성을 위한 전문 클래스명을 입력한다. (최대 256자리)전문 클래스명

클래스명은 숫자로 시작할 수 없으며 반드시 하나 이상의 패키지를 포함하여 전

체 패키지로(full qualified name) 입력해야 한다.

전문 타입을 선택한다. 전문 타입은 “6.1.1. 전문 타입”의 표를 참조한다.전문 유형

전문 구분을 위한 정보를 입력한다. (최대 10자리)버전명

전문등록 화면 상단에 위치한 툴바의 각 아이콘에 대한 설명은 다음과 같다. 툴바 설명은 “6.1.3. 전문 정

의 테이블 메뉴”를 참조한다.

입력된 전문 클래스명으로 전문 코드(*.java 및 *.class)를 생성하고 디플로이하는 기능이 추가적인 툴바로

서 제공된다.

설명아이콘

필드 추가

저장

전문코드 생성

디플로이

ALF 열기

필드 이동,

134 AnyLink 스튜디오 안내서

Page 153: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명아이콘

필드 삭제

유효성 검사

8.3. 변환규칙매핑 후 필드의 특정값을 변환해야 할 경우 [변환규칙] 메뉴를 이용한다. 필드가 특정한 값 혹은 패턴을 가

질 때(이를 소스 패턴이라 한다) 다른 값으로 변환되기를 원할 때 사용한다. 이를 변환규칙(Data Conversion)

이라 하며 하나의 변환규칙은 여러 개의 소스 패턴과 그에 대응하는 변환값을 갖게 된다.

8.3.1. 툴 변환규칙 정의

툴 변환규칙을 정의하려면 스튜디오에서 [도구] > [변환규칙] 메뉴를 선택한다.

[그림 8.2] 변환규칙

상단의 [추가] 버튼을 클릭해서 변환규칙을 정의할 수 있다.

제8장 도구 135

Page 154: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

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

설명항목

변환규칙명을 설정한다. 필드에 적용할 때 콤보박스에서 입력한 이름을 선택한다.

(최대 32자리)

코드명

필드값이 소스 패턴에서 설정한 값이나 패턴을 가질 때 대상 문자열로 바꾸겠다는

의미이다. (최대 16자리)

소스 패턴

소스 패턴명에는 1* 같은 정규 표현식의 사용도 가능하다.

타입을 설정한다.타입

– RegularExpression : 정규표현식

– WildCard : 와일드카드

변환할(target) 문자열 및 값을 설정한다. (최대 16자리)대상 문자열

코드에 대한 설명으로 코드명을 추가할 경우 입력한다. (최대 128자리)코드 설명

필드에 대한 설명을 입력한다. (최대 128자리)필드 설명

예를 들어 코드명이 'code1', 소스 패턴명이 'rrr', 대상 문자열이 '5ttt' 그리고 전문의 RRR 필드에 code1을

적용했다고 하면, 매핑 후 RRR 필드의 값이 'rrr'일 때 '5ttt'로 변경된다.

하단의 [소스 패턴 추가] 버튼을 통해 소스 패턴을 추가할 수도 있는데, 이 경우 동일한 코드명 내의 패턴

들은 서로 배타적인 값이어야 한다는 것에 주의한다.

예를 들어, code1 내에 (소스 패턴/대상 문자열)=('111'/'222'), (소스 패턴/대상 문자열)=('333'/'222')가 있다

면, 111로 검사해서 있다면 더 검사하지 않고, 없을 경우에만 '333'으로 검사한다. 즉, 동일한 코드명 내에

서는 하나의 패턴만 최종적으로 적용된다.

8.3.2. 변환규칙 적용

매핑 정의의 경우 '변환규칙' 컬럼에서 적용할 규칙을 선택할 수 있다.

변환규칙을 적용할 필드의 '변환규칙' 컬럼을 클릭하면 시스템에 정의된 변환규칙들이 리스트 박스로 표

시되고 이 중에서 선택하면 된다. 변환규칙 적용 후 매핑 코드를 새로 생성하고 디플로이해야 실제로 적용

된다.

[그림 8.3] 변환규칙 컬럼 설정

136 AnyLink 스튜디오 안내서

Page 155: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

8.4. 커스텀 로그 DDL 생성전문의 특정 필드별 검색을 위해 스튜디오 기관-업무 정보의 '헤더 검색항목'에 설정된 전문 공통부 필드

에 한해 데이터베이스에 별도의 로그를 기록하게 되는데, 이를 커스텀 로그(custom log)라고 한다.

커스텀 로그는 기관-업무별로 별도의 테이블에 저장되기 때문에 '헤더 검색항목'에서 설정한 정보에 따라

새로운 테이블이 생성되어야 한다.

DDL 생성은 이 새로운 테이블의 생성 스크립트(DDL : Data Definition Language)를 자동 생성해 주는 것

으로 실제 테이블은 해당 스크립트를 직접 매뉴얼로 수행해야 한다. 기관-업무 정보의 '헤더 검색항목' 설

정을 통해 커스텀 로그를 남길 필드가 지정되어 있어야 한다.

커스텀 로그 DDL 생성을 생성하려면 [도구] > [DDL 생성] 메뉴를 선택한다. DDL 생성 화면에서 생성 조

건을 입력하고 [생성] 버튼을 클릭한다.

[그림 8.4] DDL 생성

DDL 생성 화면의 생성 조건 항목에 대한 설명은 다음과 같다.

설명항목

테이블을 생성할 대상 데이터베이스를 선택한다.DBMS

커스텀 로그를 기록할 기관을 선택한다.기관

커스텀 로그를 기록할 업무를 선택한다.업무

유형을 선택한다.유형

– 대외 : 대외 기관과의 연결 부분 즉, 요청 입력과 응답 출력을 의미한다.

– 대내 : 요청 출력과 응답 입력을 의미한다.

파일명을 입력하여 생성하면 해당 내용이 파일에 기록된다.파일명

파일은 로컬 파일 시스템에 '<파일명>.txt'라는 이름으로 생성된다.

제8장 도구 137

Page 156: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명항목

예를 들어, 스튜디오 로컬 파일 디렉터리가 C:/studio/files /local이라면 위 그림과

같은 경우 'C:/works/files/local/t ab_1111.txt'로 생성된다.

8.5. 클래스 디플로이스튜디오의 [도구] > [클래스 디플로이] 메뉴를 통해 로컬의 Java 클래스 파일을 서버에 디플로이할 수 있

다.

디플로이할 클래스 파일을 선택하고 [열기] 버튼을 클릭하면 디플로이된다.

[그림 8.5] 클래스 디플로이

사용자 클래스나 비즈니스 서비스 클래스 등을 작성하고 서버에 올릴 때 FTP 등을 이용하게 되면, JEUS

서버를 재구동해야 클래스 로딩이 가능하다는 부담이 있지만 클래스 배치 도구를 이용하면 자동으로 클

래스 리로딩이 수행되므로 즉시 사용 및 테스트할 수 있어 유용하다.

서버에 디플로이되는 위치(<서버 클래스패스>)는 Admin의 노드 정보 중 'Classpath (Java)' 항목에 지정

된다. 예를 들어, gen/pkg1/Test.class 파일을 디플로이한다면 <서버 클래스패스>/pkg1/Test.class 파일로

생성된다.

주의

로컬 파일 시스템의 gen 혹은 vo 디렉터리에 있는 클래스 파일만 디플로이 가능하다는 제약이 있고,

해당 디렉터리 아래 패키지 구조에 따라 서버에 생성된다는 것에 주의한다.

138 AnyLink 스튜디오 안내서

Page 157: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

8.6. 변경이력 보기스튜디오나 Admin 사용자가 데이터베이스에 디플로이(추가, 수정 및 삭제)한 이력을 조회할 수 있다. 특

히, 스튜디오의 경우 전문 데이터 등이 로컬에도 보관되어 있으므로 각 사용자별 변경이력이 관리되지 않

으면 이전 사용자의 변경 내용을 덮어쓰는 등 사용자 간의 정보 충돌을 피할 수 없다.

따라서 사용자별 변경이력을 남기고 디플로이할 때 원격 데이터와의 충돌 여부를 감지하는 기능과 조회

기능이 필요하게 되는데, 스튜디오에서는 변경이력의 조회 및 디플로이할 때 충돌 여부 감지 기능을 제공

하고 있다.

변경이력 조회를 위해서는 [도구] > [변경이력 조회] 메뉴를 선택한다. 검색 조건 입력 후 [조회] 버튼을 클

릭하면 다음과 같이 변경 일시, 사용자 ID, Action(추가, 수정 혹은 삭제) 및 변경 테이블 정보를 조회할 수

있다.

[그림 8.6] 변경이력 조회

● 검색 조건

변경이력 보기 화면 상단의 검색 조건 항목에 대한 설명은 다음과 같다.

설명항목

변경이력을 조회할 사용자 ID를 선택한다.사용자 ID

변경이력을 조회할 테이블을 선택한다.테이블(대상)

제8장 도구 139

Page 158: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명항목

변경이력을 조회할 시작 일자(From)와 종료 일자(To)를 설정한다.검색 일자

20050120와 같이 yyyyMMdd 형태로 입력한다.

● 변경이력 정보

검색조건에 따라 조회된 이력 정보의 각 컬럼에 대한 설명은 다음과 같다.

설명컬럼명

데이터가 변경된 일자 및 시각을 나타낸다.일시

데이터를 변경한 사용자 ID를 나타낸다.사용자 ID

데이터의 '추가', '수정' 혹은 '삭제'를 나타낸다.Action

변경된 테이블명을 나타낸다.테이블(대상)

변경된 데이터의 primary key (':'로 구분)를 나타낸다.Primary Key

140 AnyLink 스튜디오 안내서

Page 159: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

제9장 설정

본 장에서는 스튜디오의 환경을 설정하고 다운로드 및 전문 필드 보기 설정이 가능한 설정 메뉴에 대해 설

명한다.

해당 정보는 alstudio.properties 파일에 저장된다.

9.1. 다운로드 설정데이터베이스로부터 다운로드를 할 경우에 옵션을 설정할 수 있다.

스튜디오의 [설정] > [다운로드] 메뉴를 선택하면 다음과 같이 다운로드 설정 화면이 나타난다.

[그림 9.1] 다운로드 설정

각 영역에 대한 설명은 다음과 같다.

● 로컬에 정보가 있을 경우

로컬 파일 시스템에 동일한 정보가 존재할 경우에 대한 옵션을 설정한다.

설명항목

다운로드 대상을 선택한다.다운로드 대상

– 필드 : 필드 정보(*.als, *.err등에 저장되는 데이터)를 다운로드한다.

– 파일 : 파일을(*.alf, *.map) 다운로드한다.

– 모두 : 필드 정보와 파일을 다운로드한다.

제9장 설정 141

Page 160: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

설명항목

– 없음 : 다운로드하지 않는다.

필드 정보를 다운로드할 때 동일한 정보가 로컬 파일 시스템에 존재할 경우, 덮어

쓰기 여부를 설정한다.

필드 덮어쓰기

파일을 다운로드할 때 동일한 파일이 존재할 경우, 덮어쓰기 여부를 설정한다.파일 덮어쓰기

● 로컬에 정보가 없을 경우

로컬 파일 시스템에 동일한 정보가 없을 경우에 대한 옵션을 설정한다.

설명항목

파일 다운로드 여부를 설정한다.파일 다운로드

파일을 다운로드할 때 동일한 파일이 존재할 경우, 덮어쓰기 여부를 설정한다.파일 덮어쓰기

9.2. 전문 필드 보기 설정업무 및 거래의 전문 정의부나 전문등록에 사용되는 전문 정의 테이블의 컬럼에 대한 표시 여부를 설정하

는 기능이다.

전문 필드 정보가 많은 컬럼으로 구성되기 때문에 모든 컬럼을 표시하게 되면 화면 제약으로 인한 불편을

겪을 수 있다. 이 경우 필요한 컬럼만을 화면에 표시하고 나머지는 보이지 않게 설정함으로써 보다 편리한

사용이 가능하다.

[설정] > [전문 필드 보기] 메뉴를 선택한 후 필드 보기 설정 대화상자에서 화면에 표시할 컬럼의 체크박스

를 선택하고 [확인] 버튼을 클릭한다. 각 항목 정보는 “6.1.2. 전문 필드”의 "전문 필드 정보" [84]를 참조한

다.

[그림 9.2] 전문 필드 보기 설정

142 AnyLink 스튜디오 안내서

Page 161: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

참고

필드 보기 설정 내용은 즉시 적용되지 않고, 다음번 스튜디오 구동부터 적용된다.

9.3. 디플로이 기본 언어 설정업무 및 거래 디플로이의 경우에 해당 업무가 Java와 C 중 어느 타입의 Mapper를 사용하는지 알아야 한

다. JMapper의 경우 스튜디오에서 전문 및 매핑 클래스를 컴파일해서 디플로이하지만 CMapper의 경우

서버 플랫폼마다 바이너리 포맷이 달라서 디플로이할 때 서버에서 직접 컴파일해야 하므로 Mapper의 타

입을 넘겨 주어야 한다.

Mapper 타입은 해당 업무의 기관-업무 정보 중 'Mapper 서비스명'에 해당하는 Mapper의 타입으로 결정

되지만, 이런 과정으로 결정되지 못한 경우가 발생할 수 있다.

이 경우에는 [설정] > [디플로이 기본 언어] 메뉴에서 원하는 언어로 사용될 Mapper 타입을 설정한다.

[그림 9.3] 디플로이 기본 언어 설정

제9장 설정 143

Page 162: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52
Page 163: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

Appendix A. 오류 메시지 및 조치 방법

본 부록에서는 AnyLink 스튜디오를 사용할 때 발생할 수 있는 에러 메시지와 그 해결 정보를 설명한다.

일반 에러와 변환기 에러로 나눠서 설명한다.

일반 에러

일반 에러의 각 에러 메시지에 대한 설명과 해결 방법은 다음과 같다.

● <정보> 노드 삭제 실패

업무, 종별, 거래정보 등의 삭제에 실패한 경우에 발생한다.설명

서버의 ADM 로그로부터 데이터베이스 에러를 확인해야 한다.해결 방법

● <정보> 다운로드 실패

업무, 종별, 거래정보 및 파일 등의 다운로드에 실패한 경우에 발생한다.설명

서버의 ADM 로그로부터 데이터베이스 에러를 확인해야 한다.해결 방법

● <정보> 유효크기[<길이>] 초과

업무, 종별, 거래 정보를 추가할 때 코드나 이름이 최대 길이를 벗어난 경우에 발생한

다.

설명

해당 코드나 이름의 길이가 <길이>를 넘지 않도록 다시 입력한다.해결 방법

● DB에 해당 정보(<key>)가 존재하니 다운로드하세요.

업무, 종별, 거래 정보를 추가할 때 동일한 코드나 이름을 갖는 정보가 데이터베이스

에 존재하는 경우에 발생한다.

설명

다른 사용자와의 충돌 방지를 위해 다운로드해서 사용하거나 새로운 코드/이름을 입

력한다.

해결 방법

● 동일한 정보(<코드>,<이름>)를 가지는 배치(온라인)업무가 이미 존재합니다

온라인(배치) 업무를 추가할 때 동일한 코드의 배치(온라인) 업무가 존재하는 경우에

발생한다.

설명

온라인과 배치업무의 코드는 분리되어야 하므로 새로운 코드/이름을 입력한다.해결 방법

Appendix A. 오류 메시지 및 조치 방법 145

Page 164: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

● 전문 유효성검사 오류발생

디플로이 과정 중 전문 유효성 검사할 때 에러가 발생한 경우에 발생한다.설명

스튜디오 콘솔이나 로그 파일을 통해 상세 에러를 확인하고 전문을 수정한다.해결 방법

● 공통부 <요청|응답><입력|출력>전문 크기(<크기>)와 업무 정보의 <요청|응답>헤더 크기(<크기>)가 맞

지 않습니다.

Stream 전문에 대해 업무 정보의 요청 혹은 응답 '헤더 크기'가 전문 공통부의 크기와

일치하지 않는 경우에 발생한다.

설명

요청입력 및 응답출력 전문의 경우 '요청 헤더 크기'와, 요청출력 및 응답입력 전문의

경우 '응답 헤더 크기'와 일치하도록 수정한다.

해결 방법

● 기관-업무 서비스가 존재하지 않습니다.

업무 혹은 거래 디플로이의 경우 해당 기관-업무의 'Mapper 서비스명'이 존재하지 않

는 경우에 발생한다.

설명

해당 기관-업무의 'Mapper 서비스명' 설정 후 디플로이한다.해결 방법

● 해당 서비스명을 갖는 Mapper가 존재하지 않습니다.

기관-업무의 'Mapper 서비스명'을 입력할 때 해당 서비스명을 갖는 Mapper가 데이터

베이스에 존재하지 않는 경우에 발생한다. 온라인 업무에만 해당된다.

설명

Admin을 통해 등록된 Mapper 및 그 서비스명을 확인한 후 유효한 서비스명을 입력한

다.

해결 방법

● Tmax 서버가 다운되었습니다.

디플로이 정보에 대한 WebT 이벤트 연결이 끊어졌습니다.

스튜디오를 재구동해야 디플로이 정보에 대한 통지를 받을 수 있습니다.

스튜디오 구동 중 연결된 Tmax 서버가 다운 혹은 재구동된 경우에 발생한다.설명

서버가 다운되면 스튜디오와 연결된 WebT 연결이 끊어진다. 스튜디오에서 서버로의

디플로이를 위한 연결은 재시도하면 다시 맺어지나, 서버로부터의 이벤트 연결(디플

로이 정보에 대한 통지)은 다시 맺어지지 않으므로 스튜디오를 재구동해야 한다.

해결 방법

● 해당 사용자(<사용자>)가 삭제되었습니다.

스튜디오 재구동 후 유효한 사용자로 로그인하기 전에는 디플로이할 수 없습니다.

스튜디오 로그인 사용자가 Admin에서 삭제된 경우에 발생한다.설명

146 AnyLink 스튜디오 안내서

Page 165: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

스튜디오 사용 중 해당 스튜디오 사용자가 Admin에서 삭제되어 유효하지 않으므로

디플로이 컨텍스트 메뉴가 비활성화된다. 따라서 작업 결과를 디플로이하기 위해서

는 스튜디오 재구동 후 유효 사용자로 재로그인해야 한다.

해결 방법

변환기 에러

변환기 에러의 각 에러 메시지에 대한 설명과 해결 방법은 다음과 같다.

● java.io.FileNotFoundException

XSD 변환의 경우 'xsd File'에 설정한 파일이 해당 경로에 존재하지 않거나 'QName'에

설정된 Element명이 잘못 된 경우에 발생된다.

설명

해결 방법 – 해당 경로에 XSD 파일이 존재하는지 확인한다.

– XSD 파일 내에 'QName'에 설정된 Element명이 정의되어 있는지 확인한다.

● java.lang.ClassNotFoundException

VO 변환의 경우 'Class Full Name'에 설정한 클래스 파일을 찾을 수 없는 경우에 발

생한다.

설명

변환기는 $AL_STUDIO_HOME/files/l ocal/vo 경로를 클래스 패스로 설정하므로 해당

클래스 파일이 위 경로에 위치하는지(패키지 구조에 따라) 확인한다.

해결 방법

Appendix A. 오류 메시지 및 조치 방법 147

Page 166: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52
Page 167: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

Appendix B. 디플로이

본 부록에서는 사용자의 이해를 돕기 위한 전체 디플로이 절차를 설명한다.

디플로이란 스튜디오에서 설정한 기관, 업무, 종별, 거래 등의 정보 및 전문/매핑 클래스를 데이터베이스

및 서버에 반영하는 작업으로, 디플로이된 정보는 다운로드를 통해 다른 사용자와 공유할 수 있다.

정보 간 종속성을 고려한 일반적인 디플로이 순서는 다음과 같다.

1. 기관 디플로이

2. 기관-업무 디플로이

기관-업무 디플로이를 먼저 해야 하는 이유는 업무 혹은 거래의 매핑 디플로이의 경우에 해당 기관-업

무가 어떤 Mapper를 사용하는지 알아야 하기 때문이다. JMapper의 경우 스튜디오에서 Java 클래스를

생성해 서버에 디플로이하지만 CMapper의 경우 플랫폼마다 바이너리가 상이한 관계로 서버(ADM)에

서 직접 동적 라이브러리를 생성해야 한다.

이를 위해 스튜디오에서는 디플로이된 기관-업무의 'Mapper 서비스명'에 따라 해당 Mapper를 인식하

고 C 혹은 Java 여부를 서버에 알려주어야 하기 때문에 먼저 디플로이해야 한다.

3. 업무 디플로이

디플로이를 위한 컨텍스트 메뉴를 선택할 때 메시지 뷰에 "기관-업무 서비스가 존재하지 않습니다" 혹

은 "Mapper가 존재하지 않습니다"라는 메시지가 표시되는 경우는 위에서 설명한 이유로 해당 업무의

Mapper를 찾는 과정에서 문제가 발생했기 때문이다.

해당 기관-업무의 'Mapper 서비스명'이 적절히 설정되어 디플로이되었는지 확인한다.

4. 종별 디플로이

업무에 종속되는 정보이므로 업무를 먼저 디플로이한 후 디플로이해야 한다. 그렇지 않은 경우 디플로

이는 실패(TPESVCFAIL)한다.

5. 거래 디플로이

업무 및 종별에 종속되는 정보이므로 업무 및 종별을 먼저 디플로이한 후 디플로이해야 한다. 그렇지

않은 경우 디플로이는 실패(TPESVCFAIL)한다.

컨텍스트 메뉴를 선택할 때 메시지 뷰에 "기관-업무 서비스가 존재하지 않습니다" 혹은 "Mapper가 존

재하지 않습니다"라는 메시지가 표시되는 경우에는 거래가 속한 해당 기관-업무의 'Mapper 서비스명'이

적절히 설정되어 디플로이되었는지 확인한다.

Appendix B. 디플로이 149

Page 168: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52
Page 169: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

색인

AALF 파일, 102

alstudio.properties, 4

csv.columns, 4

deploy.conflictWarning, 5

deploy.lang, 5

download.<항목>, 4

msgField.view.<항목>, 4

AnyLink 구성요소

Mapper, 2

게이트웨이(Gateway), 1

서비스(Service), 1

툴(Tools), 2

AnyLink 스튜디오, 2

AnyLink 스튜디오 구성요소

Cache, 9

Data Manager, 9

Event Listener, 10

File Manager, 9

User Interface, 9

BBypass, 115

CCache, 9

DData Manager, 9

EECI(Extended Call Interface), 62

Event Listener, 10

FFile Manager, 9

MMAP 파일, 103

NNo 매핑, 116

SSpecial word, 105

Special Word

난수, 105

시각, 106

시퀀스, 105

일자, 106

프로세스 ID, 105

UUser Interface, 9

거래 일반 정보 설정

ebXML Action 정보, 58

SOAP Action 정보, 58

XML 인코딩 정보, 59

거래 유형, 54

거래명, 53

거래코드, 53

거래코드 키값 정보, 58

로그 정보, 54

메시지 변환유형, 54

모니터링 시간, 53

시스템오류 클래스 정보, 57

에러 메시지 정보, 56

에러 코드 정보, 56

요청 cache 유무, 56

요청 공통헤더 크기, 58

요청 데이터 패킷단위, 58

요청 클래스 정보, 56

요청포맷오류 클래스 정보, 58

색인 151

Page 170: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

응답 공통헤더 크기, 58

응답 대기시간, 53

응답 데이터 패킷단위, 58

응답 유무, 54

응답오류 클래스 정보, 57

응답포맷오류 클래스 정보, 58

전문 고유번호 정보, 55

전문 추적번호 정보, 55

정상응답 클래스 정보, 57

지연응답서비스명, 54

패키지명, 53

포맷오류 클래스 정보, 57

호출 방식, 54

거래 파라미터 정보 설정

AnyLink G/W External, 60

AnyLink G/W Internal, 60

BizMaster, 67

Direct Return, 60

ebXML / SOAP / HTTP, 65

ebXML with CPA, 69

HOST(LU0), 61

HOST(LU6.2) / HOST(ECI), 62

Java Class, 63

Service Coordinator, 69

Servlet, 64

TP-Monitor, 60

Tuxedo, 66

Tuxedo with JOLT, 68

기본 매핑, Base Mapping, 112

기본 종별코드 정보

요청에러 종별코드, 48

응답에러 종별코드, 48

정상응답 종별코드, 48

대표 파일, 31

데이터 타입

(so)korean(si), 87

array-E, 86

array-S, 86

BCD, 88

BCD (type2), 88

biginteger, 86

binary, 85

bitmap-binary, 86

bitmap-char, 86

bitmap-string, 87

boolean, 85

byte, 85

calendar, 86

char, 85

char (default), 88

char (single-byte), 87

char(em), 88

comp, 87

comp-3, 87

decimal, 86

double, 85

float, 85

hex, 86

int, 85

Integer, 86

korean, 85

korean_com, 87

korean_nodel, 87

korean_space, 87

long, 85

numeric, 86

numeric (no validation), 88

numeric_binary, 87

short, 85

Short, 86

string, 86

struct-E, 86

struct-S, 86

unpacked decimal, 87

varchar, 87

varchar_BCD, 88

varchar_BCD2, 88

varchar_binary, 87

디플로이, 12

매핑, 104

152 AnyLink 스튜디오 안내서

Page 171: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

메시지 뷰(Message View), 8

배치 거래 일반 정보 설정

거래 유형, 80

거래명, 80

거래코드, 80

내부매핑 클래스명, 80

외부매핑 클래스명, 81

응답 대기시간, 81

재시도 횟수, 81

패키지명, 80

배치 거래(Batch transaction), 79

배치 업무, 71

배치 업무 일반 정보 설정

Split 서비스명, 73

개별업무 개시코드 정보, 74

개별업무 종료코드 정보, 74

개시코드 정보, 74

결번 검증 건수, 73

결번확인 코드 정보, 75

결번확인문자 정보, 74

데이터 패킷 크기, 73

데이터코드 정보, 75

메시지 변환유형, 72

배치 스타일, 72

송수신 플래그 정보, 74

암호화 유형, 73

업무명, 72

업무코드, 72

응답코드 정보, 74

이어받기코드 정보, 75

종료코드 정보, 74

종별코드 정보, 73

테스트코드 정보, 75

통신헤더 매핑 클래스명, 73

트레일러코드 정보, 75

파일계속코드 정보, 75

파일코드 정보, 73

패키지명, 73

헤더 크기, 73

헤더코드 정보, 75

변환규칙(Data Conversion), 135

변환기 에러, 147

java.io.FileNotFoundException, 147

java.lang.ClassNotFoundException, 147

브라우저(Browser), 7

상태 바, 8

소스 패턴, 135

업무 일반 정보 설정

Delimiter, 38

SAF 거래 대기시간, 37

거래코드 길이, 36

거래코드 키 정보, 41

매퍼 Cache, 41

메시지 변환 유형, 37

모니터링 시간, 37

서비스 응답코드 정보, 38

업무명, 36

업무코드, 36

에러 메시지 길이, 37

에러코드 길이, 37

오류 공통헤더 정보, 40

요청 공통헤더 정보, 39

요청 데이터 패킷 단위, 37

요청 포맷오류 공통헤더 정보, 40

응답 공통헤더 정보, 40

응답 대기시간, 37

응답 데이터 패킷 단위, 37

응답 포맷오류 공통헤더 정보, 40

전문고유번호 정보, 38

전문추적번호 길이, 36

종별코드 정보, 41

지연응답 서비스명, 37

패키지명, 37

워크 스페이스(Workspace), 7

일반 에러, 145

전문 타입

색인 153

Page 172: 스튜디오 안내서 - TmaxSoft · [그림 4.17] 거래 추가..... 52

Bitmap Stream, 83

Delimiter, 83

Delimiter 2, 83

Name/Value, 83

Stream, 83

VO, 83

XML, 83

종별 일반 정보 설정

거래 유형, 49

거래코드 정보, 49

거래코드 키 정보, 49

기본 종별코드 정보, 48

대표 종별코드, 48

등가 종별코드 정보, 49

종별명, 48

패키지명, 49

커스텀 로그(custom log), 137

크로스 매핑, Cross Mapping, 112

타이틀 바, 8

툴바(Toolbar), 8

환경변수

AL_STUDIO_HOME, 3

ALBACKUP_IP, 3

ALBACKUP_PORT, 3

ALSERVER_HOSTNAME, 3

ALSERVER_IP, 3

ALSERVER_PORT, 3

JAVA_HOME, 3

154 AnyLink 스튜디오 안내서