예제

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

1. 개요

다음은 Redis 기본 거래 구성입니다.

figure redis tutorial info
기본 거래 구성도

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

  1. HTTP 엔드포인트로 요청이 들어와 거래가 시작됩니다.

  2. HTTP 요청 메시지를 Redis 요청 메시지에 매핑합니다.

  3. Redis 요청 메시지에서 쿼리문에 사용될 파라미터를 매핑합니다.

  4. Redis 아웃바운드 룰을 통해 Redis 서버에 쿼리문을 요청합니다.

  5. Redis로부터 쿼리 결과를 받아 Redis 응답 메시지에 매핑합니다.

  6. Redis 응답 메시지를 HTTP 응답 메시지에 매핑합니다.

  7. HTTP 엔드포인트로 응답이 전송되고 거래가 종료됩니다.

2. 어댑터 생성

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

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

2.1. Redis 어댑터 생성

다음은 Redis 어댑터를 생성하는 예제입니다.

figure tutorial redis adapter
어댑터 등록 화면
  • 기본정보

    항목 설정값

    어댑터 아이디

    REDIS_ADT

    어댑터 이름

    REDIS어댑터

    어댑터 종류

    Redis

    설명

    REDIS 어댑터

    업무시스템 이름

    SINGLE

    배포 사유

    최초생성

  • [상세설정] 탭

    항목 설정값

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

    미사용

2.2. HTTP 어댑터 생성

다음은 HTTP 어댑터를 생성하는 예제입니다.

figure tutorial http adapter
어댑터 등록 화면
  • 기본정보

    항목 설정값

    어댑터 아이디

    HTTP_ADT

    어댑터 이름

    HTTP어댑터

    어댑터 종류

    HTTP

    설명

    HTTP 어댑터

    업무시스템 이름

    SINGLE

    배포 사유

    최초생성

  • [상세설정] 탭

    항목 설정값

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

    미사용

3. 엔드포인트 생성

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

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

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

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

  • 기본정보

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

    엔드포인트 아이디

    REDIS_OUT_EP

    엔드포인트 이름

    REDIS_아웃바운드_엔드포인트

    엔드포인트 상태

    Running

    부팅 초기값

    Running

    통신 방향

    Outbound

    설명

    Redis 아웃바운드 엔드포인트

  • [연결정보] 탭

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

    IP/호스트

    127.0.0.1

    포트

    6379

    패스워드

    (없음)

3.2. HTTP 인바운드 엔드포인트 생성

다음은 HTTP 인바운드 엔드포인트를 등록하는 예제입니다.

  • 기본정보

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

    엔드포인트 아이디

    HTTP_IN_EP

    엔드포인트 이름

    HTTP_인바운드_엔드포인트

    엔드포인트 상태

    Running

    부팅 초기값

    Running

    통신 방향

    Inbound

    설명

    HTTP 인바운드 엔드포인트

  • [연결정보] 탭

    figure tutorial http ep connection
    HTTP 인바운드 엔드포인트 등록 화면 - [연결정보]
    항목 설정값

    Path

    /http/redis

    Inbound 포트 지정

    inbound로 사용할 포트를 입력한다. 지정하지 않을 경우 기본 http 포트를 사용한다.

4. 스튜디오 리소스 생성

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

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

4.1. 거래그룹 생성

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

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

패키지 이름

manual.redis

거래 ID

redisTest

거래 이름

redisTest

4.2. 거래 생성

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

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

노드 타입

거래

거래 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 스튜디오 안내서를 참고합니다.

4.4. 아웃바운드 룰 생성

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

figure tutorial redis outboundrule create
아웃바운드 룰 생성
항목 설정값

아웃바운드 아이디

Redis_Outbound_Rule

아웃바운드 이름

Redis아웃바운드룰

4.5. 플로우 생성

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

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

플로우 아이디

RedisFlow

플로우 이름

Redis플로우

5. 스튜디오 리소스 설정

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

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

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

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

5.1. 거래그룹 설정

다음은 거래그룹을 설정하는 예제입니다. [파싱정보] 탭과 [파싱 옵션] 탭은 설정하지 않습니다.

  • [거래그룹 정보] 탭

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

    Bypass 설정

    NO

    XA 설정

    NO

    오류 응답 방식

    NONE

  • [거래그룹 옵션] 탭

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

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

    60000

    응답 유무

    REQUEST_RESPONSE

    거래 우선순위

    MEDIUM

5.2. 거래 설정

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

  • [거래정보] 탭

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

    요청 메시지

    HttpReqGET

    정상 응답 메세지

    HttpResGET

    Bypass 설정

    NO

    XA 설정

    NO

    오류 응답 방식

    PARENT

    서비스 타입

    FLOW

    서비스 이름

    RedisFlow_Message_START_Event_XXXXXX(랜덤으로 생성됨)

  • [거래 옵션] 탭

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

    타임아웃 설정 안함

    체크

    응답 유무

    PARENT

    거래 우선순위

    MEDIUM

5.3. 아웃바운드 룰 설정

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

figure tutorial redis outboundrule edit
아웃바운드 룰 설정
항목 설정값

요청처리 타임아웃(ms)

10000

Endpoint

REDIS_OUT_EP

Redis 명령어

GET

요청 메시지

RedisReqGET

정상 응답 메시지

RedisResGET

5.3.1. 쿼리 파라미터 매핑

figure tutorial redis outboundrule request mapping
쿼리 파라미터 매핑

5.3.2. 쿼리 결과 매핑

figure tutorial redis outboundrule response mapping
쿼리 결과 매핑

5.4. 플로우 설정

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

  1. 플로우 그리기

  2. 변수 설정

  3. 메시지 이벤트 설정

  4. 아웃바운드 호출 설정

  5. 응답 호출 설정

플로우 그리기

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

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

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

figure tutorial flow add variable
Property Preference - 변수 설정
메시지 이벤트 설정

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

figure tutorial flow event param
Event Preference - 파라미터 설정
아웃바운드 호출 설정

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

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

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

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

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

다음의 과정으로 응답 호출 설정을 설정합니다.

  1. 플로우 에디터의 [응답 송신] > [Reply 메시지]의 컨텍스트 메뉴에서 [Property]를 선택합니다. Activity Preference 화면에서 [Reply Message]를 선택합니다. MessageEvent ID를 RedisFlow_Message_Start_Event_XXXXXX 로 설정합니다.

    figure tutorial flow reply reply message
    응답 호출 - Reply Message

6. 배포

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

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

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

7. 거래 할당

배포된 거래를 기존에 생성한 HTTP 인바운드 엔드포인트에 설정합니다. WebAdmin의 [HTTP어댑터] > [HTTP_인바운드_엔드포인트] > [상세설정] > [거래그룹/거래 선택] 을 눌러 실행될 거래를 할당합니다.

figure tutorial http endpoint opt tx
거래그룹 / 거래 선택

8. 거래 테스트

본 절에서는 잡 스케줄을 생성하고 테스트 수행하는 방법을 설명합니다.

본 거래는 Redis 서버가 기동중이며, anylink 키에 redis 값이 저장되어 있다 가정합니다.

8.1. 잡 스케줄 생성

본 예제를 구동하기 위해서 WebAdmin에서 [운영관리] > [잡 스케줄] > [Add] 로 등록합니다.

figure create job
잡 등록
항목 설정값

잡 아이디

redis_get_test

잡 이름

redis_get_test

거래 아이디

manual.redis.redisTest.getTest

실행 모드

동기

중복처리 방식

이전 잡 종료 후

거래 응답 대기시간

1000

잡 응답 대기시간

1000

잡 설정 값 필드

anylink

잡 목록 화면에서 등록한 잡 스케줄을 선택한 후 '즉시발송' 항목에 [발송] 버튼을 클릭합니다.

8.2. 테스트 결과

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

figure tutorial result transaction
거래 테스트 - 트레이스 로그
figure tutorial result fep1
거래 테스트 - 요청 수신 & 응답 송신
figure tutorial result fep2
거래 테스트 - 요청 송신 & 응답 수신