예제
본 장에서는 AnyLink HTTP 어댑터를 사용한 예제를 설명한다.
1. 개요
다음은 HTTP 기본 거래 구성이다.
다음은 거래 순서를 수행하는 과정에 대한 설명이다.
-
Sample HTTP Client를 통해 요청 입력 전문을 전송한다.
-
인바운드 어댑터로 전문 수신 후 서비스 플로우 수행한다.
-
서비스 플로우에서 요청 입력 전문을 요청 출력 전문으로 매핑한다.
-
아웃바운드 어댑터를 통해 요청 출력 전문을 Sample HTTP Server로 전송한다.
-
Sample HTTP Server에서 응답 입력 전문을 전송한다.
-
서비스 플로우에서 응답 입력 전문을 응답 출력 전문으로 매핑한다.
-
인바운드 어댑터로 응답 출력 전문을 Sample HTTP Client로 전송한다.
사용된 전문은 모두 JSON 형식의 메시지를 사용한다.
2. 어댑터 생성
AnyLink WebAdmin에 로그인한 후 초기 화면에서 [구성관리] > [어댑터]를 선택한 후 어댑터 목록 화면의 [Add] 버튼을 클릭하면 어댑터 등록 화면이 나타난다. 어댑터 생성에 대한 자세한 내용은 어댑터 설정을 참고한다.
AnyLink WebAdmin의 접속 및 사용법에 관한 자세한 내용은 AnyLink WebAdmin 안내서를 참고한다. |
3. 엔드포인트 생성
어댑터 생성이 완료되면 [어댑터] 탭에서 등록된 어댑터를 조회하고, 조회된 어댑터를 클릭하면 어댑터 상세정보 화면으로 이동한다.
[엔드포인트 목록] 탭 아래 [Add] 버튼을 클릭하면 엔드포인트 등록 화면이 나타난다. 엔드포인트 생성에 대한 자세한 설명은 엔드포인트 설정을 참고한다.
3.1. 인바운드 엔드포인트 생성
다음은 HTTP 인바운드 엔드포인트를 등록하는 예제이다.
-
기본정보
인바운드 엔드포인트 등록 화면 - 기본정보항목 설정값 엔드포인트 아이디
HTTP_EP_IN
엔드포인트 이름
HTTP_EP_IN
엔드포인트 상태
Running
부팅 초기값
Running
통신 방향
Inbound
-
[연결정보] 탭
인바운드 엔드포인트 등록 화면 - [연결정보]항목 설정값 Path
/http/tc/HTTP_EP_IN_Tutorial
-
[상세설정] 탭
인바운드 엔드포인트 등록 화면 - [상세설정]항목 설정값 거래그룹/거래
com.tmax.tutorial.httpTutorial
(거래그룹/거래 항목은 직접 입력해도 되고 스튜디오에서 거래그룹/거래 생성 후 배포한 리소스를 거래그룹/거래 선택 화면에서 선택하여도 무방하다.)
4. 스튜디오 리소스 생성
본 절에서는 스튜디오에서 리소스를 생성하는 방법에 대해서 설명한다.
AnyLink 스튜디오 사용법에 대한 자세한 내용은 AnyLink 스튜디오 안내서를 참고한다. |
AnyLink 스튜디오를 이용하여 다음과 같이 거래 리소스를 생성한다.
4.1. 거래그룹 생성
거래그룹 네비게이터에서 프로젝트를 선택한 다음 컨텍스트 메뉴에서 [새로만들기] > [거래 / 거래그룹]을 선택한다.
항목 | 설정값 |
---|---|
패키지 이름 |
com.tmax.tutorial |
거래 ID |
httpTutorial |
거래 이름 |
HTTP예제 |
4.2. 거래 생성
거래그룹 네비게이터에서 거래그룹을 선택한 다음 컨텍스트 메뉴에서 [새로만들기] > [거래 / 거래그룹]을 선택한다.
항목 | 설정값 |
---|---|
노드 타입 |
거래 |
거래 ID |
biz_in |
거래 이름 |
HTTP거래 |
4.3. 메시지 생성
거래그룹 네비게이터에서 거래그룹을 선택한 다음 컨텍스트 메뉴에서 [새로만들기] > [메시지]를 선택한다.
항목 | 설정값 |
---|---|
메시지 아이디 |
JsonMsg |
메시지 이름 |
Json메시지 |
5. 스튜디오 리소스 설정
본 절에서는 생성한 리소스를 설정하는 방법에 대해서 설명한다.
AnyLink 스튜디오 사용법에 대한 자세한 내용은 AnyLink 스튜디오 안내서를 참고한다. |
5.1. 거래그룹 설정
다음은 거래그룹을 설정하는 예제이다. [파싱정보] 탭과 [파싱 옵션] 탭은 설정하지 않는다.
-
[거래그룹 정보] 탭
거래그룹 설정 - [거래그룹 정보]항목 설정값 XA 설정
NO
요청 메시지
사용 안함
정상 응답 메시지
사용 안함
Bypass 설정
NO
오류 응답 방식
NONE
-
[거래그룹 옵션] 탭
거래그룹 설정 - [거래그룹 옵션]항목 설정값 거래 플로우 타임아웃(ms)
60000
응답 유무
REQUEST_RESPONSE
거래 우선순위
MEDIUM
5.2. 거래 설정
다음은 거래를 설정하는 예제이다. [파싱정보] 탭과 [파싱 옵션] 탭은 설정하지 않는다.
-
[거래정보] 탭
거래 설정 - [거래정보]항목 설정값 Bypass 설정
NO
XA 설정
NO
오류 응답 방식
PARENT
서비스 타입
FLOW
서비스 이름
HTTP_IN_FLOW_Message_START_Event_BE815D(랜덤으로 생성됨)
요청 메시지
Json메시지(JsonMsg)
정상 응답 메시지
Json메시지(JsonMsg)
-
[거래 옵션] 탭
거래 설정 - [거래 옵션]항목 설정값 거래 플로우 타임아웃(ms)
미설정
타임아웃 설정 안함
체크
응답 유무
PARENT
거래 우선순위
MEDIUM
5.3. 메시지 설정
AnyLink 스튜디오를 이용해서 메시지를 설정한다. 메시지 설정 화면에 대한 자세한 내용은 AnyLink 스튜디오 안내서를 참고한다.
항목 | 설정값 |
---|---|
메시지 타입 |
JSON |
필드1 |
Header |
필드2 |
Body |
5.4. 아웃바운드 룰 설정
다음은 HTTP 아웃바운드 룰 설정 예제이다.
항목 | 설정값 |
---|---|
요청처리 타임아웃(ms) |
10000 |
응답 수신 방식 |
Sync |
HTTP Method |
POST |
Endpoint |
HTTP_EP_OUT |
요청 메시지 |
Json메시지(JsonMsg) |
정상 응답 메시지 |
Json메시지(JsonMsg) |
5.5. 플로우 설정
다음의 과정으로 플로우를 설정한다.
-
플로우 그리기
-
변수 설정
-
메시지 이벤트 설정
-
아웃바운드 호출 설정
-
응답 호출 설정
플로우 그리기
다음은 예제에 대한 서비스 플로우이다.
변수 설정
변수 설정을 하기 위해 플로우 에디터 바탕의 컨텍스트 메뉴에서 [Property]를 선택한다.
메시지 이벤트 설정
플로우 에디터의 [메시지 이벤트] 컨텍스트 메뉴에서 [Property]를 선택한다. Event Preference 화면에서 [파라미터 설정]을 선택한다.
아웃바운드 호출 설정
다음의 과정으로 아웃바운드 호출을 설정한다.
-
플로우 에디터의 [아웃바운드 호출] > [아웃바운드 룰]의 컨텍스트 메뉴에서 [Property]를 선택한다. Activity Preference 화면에서 [파라미터 설정]을 선택한다.
아웃바운드 호출 - 파라미터 설정 -
Activity Preference 화면에서 [아웃바운드 룰(서비스) 설정]을 선택한다.
아웃바운드 호출 - 아웃바운드 룰(서비스) 설정 -
Activity Preference 화면에서 '요청 매핑 사용'과 '응답 매핑 사용'을 체크하고 [Mapping] 버튼을 클릭해서 각 매핑정보를 설정한다.
아웃바운드 호출 - 아웃바운드 룰(서비스) 설정 - 요청 매핑아웃바운드 호출 - 아웃바운드 룰(서비스) 설정 - 응답 매핑
응답 호출 설정
다음의 과정으로 응답 호출 설정을 설정한다.
-
플로우 에디터의 [응답 송신] > [Reply 메시지]의 컨텍스트 메뉴에서 [Property]를 선택한다. Activity Preference 화면에서 [Reply Message]를 선택한다.
응답 호출 - Reply Message -
Activity Preference 화면에서 'Use Mapping'을 체크하고 [Reply Mapping] 버튼을 클릭해서 각 매핑정보를 설정한다. Mapping 화면의 Source 영역의 컨텍스트 메뉴에서 [Add source]를 선택하여 JsonMsg를 선택한 후 매핑한다.
응답 호출 - Reply Message - 서비스 매핑 - Reply Mapping