예제
본 장에서는 AnyLink Redis 어댑터를 사용한 예제를 설명합니다.
1. 개요
다음은 Redis 기본 거래 구성입니다.
다음은 거래 순서를 수행하는 과정에 대한 설명입니다.
-
HTTP 엔드포인트로 요청이 들어와 거래가 시작됩니다.
-
HTTP 요청 메시지를 Redis 요청 메시지에 매핑합니다.
-
Redis 요청 메시지에서 쿼리문에 사용될 파라미터를 매핑합니다.
-
Redis 아웃바운드 룰을 통해 Redis 서버에 쿼리문을 요청합니다.
-
Redis로부터 쿼리 결과를 받아 Redis 응답 메시지에 매핑합니다.
-
Redis 응답 메시지를 HTTP 응답 메시지에 매핑합니다.
-
HTTP 엔드포인트로 응답이 전송되고 거래가 종료됩니다.
2. 어댑터 생성
AnyLink WebAdmin에 로그인한 후 초기 화면에서 [구성관리] > [어댑터]를 선택한 후 어댑터 목록 화면의 [Add] 버튼을 클릭하면 어댑터 등록 화면이 나타납니다. 어댑터 생성에 대한 자세한 내용은 어댑터 설정을 참고합니다.
|
AnyLink WebAdmin의 접속 및 사용법에 관한 자세한 내용은 AnyLink WebAdmin 안내서를 참고합니다. |
3. 엔드포인트 생성
어댑터 생성이 완료되면 [어댑터] 탭에서 등록된 어댑터를 조회하고, 조회된 어댑터를 클릭하면 어댑터 상세정보 화면으로 이동합니다.
[엔드포인트 목록] 탭 아래 [Add] 버튼을 클릭하면 엔드포인트 등록 화면이 나타납니다. 엔드포인트 생성에 대한 자세한 설명은 엔드포인트 설정을 참고합니다.
3.1. Redis 아웃바운드 엔드포인트 생성
다음은 Redis 아웃바운드 엔드포인트를 등록하는 예제입니다.
-
기본정보
Redis 아웃바운드 엔드포인트 등록 화면 - 기본정보항목 설정값 엔드포인트 아이디
REDIS_OUT_EP
엔드포인트 이름
REDIS_아웃바운드_엔드포인트
엔드포인트 상태
Running
부팅 초기값
Running
통신 방향
Outbound
설명
Redis 아웃바운드 엔드포인트
-
[연결정보] 탭
Redis 아웃바운드 엔드포인트 등록 화면 - [연결정보]항목 설정값 IP/호스트
127.0.0.1
포트
6379
패스워드
(없음)
3.2. HTTP 인바운드 엔드포인트 생성
다음은 HTTP 인바운드 엔드포인트를 등록하는 예제입니다.
-
기본정보
HTTP 인바운드 엔드포인트 등록 화면 - 기본정보항목 설정값 엔드포인트 아이디
HTTP_IN_EP
엔드포인트 이름
HTTP_인바운드_엔드포인트
엔드포인트 상태
Running
부팅 초기값
Running
통신 방향
Inbound
설명
HTTP 인바운드 엔드포인트
-
[연결정보] 탭
HTTP 인바운드 엔드포인트 등록 화면 - [연결정보]항목 설정값 Path
/http/redis
Inbound 포트 지정
inbound로 사용할 포트를 입력한다. 지정하지 않을 경우 기본 http 포트를 사용한다.
4. 스튜디오 리소스 생성
본 절에서는 스튜디오에서 리소스를 생성하는 방법에 대해서 설명합니다.
|
AnyLink 스튜디오 사용법에 대한 자세한 내용은 AnyLink 스튜디오 안내서를 참고합니다. |
4.1. 거래그룹 생성
거래그룹 네비게이터에서 프로젝트를 선택한 다음 컨텍스트 메뉴에서 [새로만들기] > [거래 / 거래그룹]을 선택합니다.
| 항목 | 설정값 |
|---|---|
패키지 이름 |
manual.redis |
거래 ID |
redisTest |
거래 이름 |
redisTest |
4.2. 거래 생성
거래그룹 네비게이터에서 거래그룹을 선택한 다음 컨텍스트 메뉴에서 [새로만들기] > [거래 / 거래그룹]을 선택합니다.
| 항목 | 설정값 |
|---|---|
노드 타입 |
거래 |
거래 ID |
getTest |
거래 이름 |
getTest |
4.3. 메시지 생성
요청 메시지, 응답 메시지를 생성합니다.
-
HTTP 요청 메시지
메시지명: HttpReqGET / 메시지 타입: JSON
Physical Name Logical Name Field Type getReq_key
getReq_key
string
-
Redis 요청 메시지
메시지명: RedisReqGET / 메시지 타입: JSON
Physical Name Logical Name Field Type getReq_key
getReq_key
string
-
Redis 응답 메시지
메시지명: RedisResGET / 메시지 타입: JSON
Physical Name Logical Name Field Type getRes_value
getRes_value
string
-
HTTP 응답 메시지
메시지명: HttpResGET / 메시지 타입: JSON
Physical Name Logical Name Field Type getRes_value
getRes_value
string
|
메시지 생성에 관한 자세한 내용은 AnyLink 스튜디오 안내서를 참고합니다. |
5. 스튜디오 리소스 설정
본 절에서는 생성한 리소스를 설정하는 방법에 대해서 설명합니다.
|
AnyLink 스튜디오 사용법에 대한 자세한 내용은 AnyLink 스튜디오 안내서를 참고합니다. |
다음은 리소스를 모두 설정한 후 조회되는 거래그룹 네비게이터입니다.
5.1. 거래그룹 설정
다음은 거래그룹을 설정하는 예제입니다. [파싱정보] 탭과 [파싱 옵션] 탭은 설정하지 않습니다.
-
[거래그룹 정보] 탭
거래그룹 설정 - [거래그룹 정보]항목 설정값 Bypass 설정
NO
XA 설정
NO
오류 응답 방식
NONE
-
[거래그룹 옵션] 탭
거래그룹 설정 - [거래그룹 옵션]항목 설정값 거래 플로우 타임아웃(ms)
60000
응답 유무
REQUEST_RESPONSE
거래 우선순위
MEDIUM
5.2. 거래 설정
다음은 거래를 설정하는 예제입니다. [파싱정보] 탭과 [파싱 옵션] 탭은 설정하지 않습니다.
-
[거래정보] 탭
거래 설정 - [거래정보]항목 설정값 요청 메시지
HttpReqGET
정상 응답 메세지
HttpResGET
Bypass 설정
NO
XA 설정
NO
오류 응답 방식
PARENT
서비스 타입
FLOW
서비스 이름
RedisFlow_Message_START_Event_XXXXXX(랜덤으로 생성됨)
-
[거래 옵션] 탭
거래 설정 - [거래 옵션]항목 설정값 타임아웃 설정 안함
체크
응답 유무
PARENT
거래 우선순위
MEDIUM
5.3. 아웃바운드 룰 설정
다음은 아웃바운드 룰을 설정하는 예제입니다.
| 항목 | 설정값 |
|---|---|
요청처리 타임아웃(ms) |
10000 |
Endpoint |
REDIS_OUT_EP |
Redis 명령어 |
GET |
요청 메시지 |
RedisReqGET |
정상 응답 메시지 |
RedisResGET |
5.4. 플로우 설정
다음의 과정으로 플로우를 설정합니다.
-
플로우 그리기
-
변수 설정
-
메시지 이벤트 설정
-
아웃바운드 호출 설정
-
응답 호출 설정
플로우 그리기
다음은 예제에 대한 서비스 플로우입니다.
변수 설정
변수 설정을 하기 위해 플로우 에디터 바탕의 컨텍스트 메뉴에서 [Property]를 선택합니다.
메시지 이벤트 설정
플로우 에디터의 [메시지 이벤트]의 컨텍스트 메뉴에서 [Property]를 선택합니다. Event Preference 화면에서 [파라미터 설정]을 선택합니다.
아웃바운드 호출 설정
다음의 과정으로 아웃바운드 호출을 설정합니다.
-
플로우 에디터의 [아웃바운드 호출] > [아웃바운드 룰] 컨텍스트 메뉴에서 [Property]를 선택합니다. Activity Preference 화면에서 [파라미터 설정]을 선택합니다.
아웃바운드 호출 - 파라미터 설정 -
Activity Preference 화면에서 [아웃바운드 룰(서비스) 설정]을 선택합니다.
아웃바운드 호출 - 아웃바운드 룰(서비스) 설정 -
Activity Preference 화면에서 '요청 매핑 사용'과 '응답 매핑 사용'을 체크하고 [Mapping] 버튼을 클릭해서 각 매핑정보를 설정합니다.
아웃바운드 호출 - 아웃바운드 룰(서비스) 설정 - 요청 매핑
아웃바운드 호출 - 아웃바운드 룰(서비스) 설정 - 응답 매핑
응답 호출 설정
다음의 과정으로 응답 호출 설정을 설정합니다.
-
플로우 에디터의 [응답 송신] > [Reply 메시지]의 컨텍스트 메뉴에서 [Property]를 선택합니다. Activity Preference 화면에서 [Reply Message]를 선택합니다. MessageEvent ID를 RedisFlow_Message_Start_Event_XXXXXX 로 설정합니다.
응답 호출 - Reply Message
7. 거래 할당
배포된 거래를 기존에 생성한 HTTP 인바운드 엔드포인트에 설정합니다. WebAdmin의 [HTTP어댑터] > [HTTP_인바운드_엔드포인트] > [상세설정] > [거래그룹/거래 선택] 을 눌러 실행될 거래를 할당합니다.
8. 거래 테스트
본 절에서는 잡 스케줄을 생성하고 테스트 수행하는 방법을 설명합니다.
본 거래는 Redis 서버가 기동중이며, anylink 키에 redis 값이 저장되어 있다 가정합니다.