환경설정

본 장에서는AnyLink HTTP 어댑터의 환경설정 방법과 아웃바운드 룰을 설정하는 방법에 대해서 설명한다.

1. 어댑터 설정

HTTP 어댑터는 WebAdmin을 이용하여 설정한다.

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

웹 브라우저를 이용해 AnyLink WebAdmin에 로그인한 후 초기 화면에서 [구성관리] > [어댑터]를 선택하면 다음과 같이 어댑터 목록이 나타난다.

figure adapter list
어댑터 목록 화면

어댑터 목록 화면[Add] 버튼을 클릭하면 어댑터를 등록할 수 있다. 어댑터 등록 화면에서 생성할 HTTP 어댑터에 대한 정보를 입력하고 [저장] 버튼을 클릭한다. 정상적으로 등록되었을 경우 “저장되었습니다.”라는 결과 메시지가 나타난다.

figure create adapter
어댑터 등록 화면
  • 기본정보 (* : 필수 입력항목)

    항목 설명

    어댑터 아이디 *

    생성할 리소스 어댑터의 아이디를 입력한다.

    3~30자리 영문자 또는 숫자 조합, 특수문자(-, _) 입력이 가능하다. 해당 값은 동일 업무시스템에서 유일한 값이다.

    어댑터 이름 *

    생성할 리소스 어댑터의 이름을 입력한다.

    3~30자리 영문자, 한글 또는 숫자 조합, 특수문자(-, _) 입력이 가능하다.

    어댑터 종류 *

    어댑터의 종류를 선택한다. 리스트에서 HTTP를 선택한다.

    • TCP

    • HTTP

    • Tmax

    • WebService

    • DB

    • FILE

    • FTP

    • MQ

    • SAP

    • UDP

    • SMTP

    • WEBDAV

    • Tuxedo

    • JMS

    • ebXML

    • ISO8583

    • ProObject

    설명

    생성하는 어댑터에 대한 설명을 입력한다. 입력하지 않아도 무관하다.

    업무시스템 이름 *

    어댑터가 포함될 업무시스템을 리스트에서 선택한다.

    배포 사유

    배포 사유를 작성한다. 작성한 사유는 [배포관리] > [배포이력] 메뉴에서 조회하면 확인할 수 있다.

  • [상세설정] 탭

    항목 설명

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

    아웃바운드 시에 사용될 스레드 풀 아이디를 설정한다. 엔진에서 수행된 스레드 풀과 다른 아이디가 지정될 경우 아웃바운드 시에 해당 스레드 풀로 스레드를 변경한다.

    어댑터별로 스레드 풀을 분리하여 서로 다른 어댑터 간에 영향이 없게 하려는 경우에 설정한다.

2. 엔드포인트 설정

WebAdmin의 [구성관리] > [어댑터] 메뉴를 선택하면 왼쪽에 등록된 어댑터 트리가 조회된다. 트리에서 엔드포인트를 추가할 어댑터를 클릭하면 오른쪽에 어댑터 상세정보를 조회할 수 있다.

어댑터 상세정보 화면[엔드포인트 목록] 탭을 클릭하면 해당 어댑터 하위에 있는 엔드포인트 목록이 조회된다.

figure endpoint list
어댑터 상세정보 - [엔드포인트 목록]

[엔드포인트 목록] 탭 아래 [Add] 버튼을 클릭하면 엔드포인트 등록 화면이 나타난다. 각 항목의 정보를 입력하고 [저장] 버튼을 클릭하여 엔드포인트를 등록한다. 엔드포인트가 등록되면 WebAdmin의 왼쪽 트리에서 등록된 어댑터와 엔드포인트를 확인할 수 있다.

엔드포인트 등록 화면기본 정보[연결정보], [상세설정], [메시지 변경 옵션] 탭으로 구성된다. 기본 정보의 '통신 방향' 항목에 선택한 값에 따라서 탭 화면이 다르게 구성된다. 각 통신 방향에 대한 탭 화면에 대한 설명은 해당 절을 참고한다.

figure endpoint common
엔드포인트 등록 화면
  • 기본정보

    다음은 엔드포인트 등록 화면의 기본정보 영역에 대한 설명이다. (* : 필수 입력항목)

    항목 설명

    엔드포인트 아이디 *

    엔드포인트 아이디를 입력한다.

    3~30자리 영문자 또는 숫자 조합, 특수문자(-, _) 입력이 가능하다. 해당 값은 동일 어댑터 또는 엔드포인트 그룹에서 유일한 값이다.

    엔드포인트 이름 *

    엔드포인트 이름을 입력한다.

    3~30자리 영문자, 한글 또는 숫자 조합, 특수문자(-, _) 입력이 가능하다.

    엔드포인트 그룹 이름

    엔드포인트의 그룹 이름이다.

    엔드포인트 상태

    생성할 때 상태 초기값을 선택한다.

    • Running : Running 상태이면 엔드포인트가 시작된 상태가 된다.

    • Stopped : Stopped 상태이면 엔드포인트가 중지된 상태가 된다.

    부팅 초기값

    부팅할 때 상태 초기값을 선택한다.

    • Running : 부팅할 때 엔드포인트가 시작(Running)된 상태가 된다.

    • Stopped : 부팅할 때 엔드포인트가 중지(Stopped)된 상태가 된다.

    통신 방향

    엔드포인트의 통신 방향을 설정한다.

    • Inbound : 외부로부터 메시지를 받기위한 엔드포인트이다.

    • Outbound : 외부로 메시지를 전달하기 위한 엔드포인트이다.

    설명

    생성하는 어댑터에 대한 설명을 입력한다. 입력하지 않아도 무관하다.

    배포 사유

    배포 사유를 작성한다. 작성한 사유는 [배포관리] > [배포이력] 메뉴에서 조회하면 확인할 수 있다.

2.1. 인바운드 엔드포인트

HTTP 인바운드 엔드포인트는 외부에서 AnyLink로 들어오는 HTTP 전문을 처리하는 엔드포인트이다.

다음은 엔드포인트 등록 화면기본정보 영역에 '통신 방향' 항목을 'Inbound’로 선택한 경우 각 탭 화면에 대한 설명이다.

  • [연결정보] 탭 (* : 필수 입력항목)

    figure endpoint inbound connection
    엔드포인트 등록 화면 - [연결정보] - 인바운드
    항목 설명

    Path *

    엔드포인트 호출에 사용할 Path를 설정한다.

    Path는 Servlet의 path와 AnyLink의 거래 path로 이루어져 있다.

    위의 예제에서는 /http가 Servlet-path이고, /txGrp_HTTP_01이 AnyLink의 거래path이다(Servlet의 default contextpath는 /http로 배포된다).

    기본 인코딩

    엔드포인트에서 사용할 기본 인코딩을 설정한다.

    메시지에 설정된 인코딩이 우선 적용되고 메시지에 설정되지 않았을 경우에 적용된다. 메시지와 엔드포인트 모두 설정이 되지 않은 경우에는 시스템 기본 인코딩으로 적용된다.

    Inbound 포트 지정

    엔드포인트의 포트를 지정한다. 지정하지 않을 경우 JEUS에 등록되어 있는 모든 포트를 대상으로 한다.

    POST URLDecode

    POST 요청 전문에 대해 URLDecode의 동작 여부를 설정한다(GET에서는 항상 URLDecode를 수행한다).

    응답 URLEncode

    POST 응답 전문에 대해 URLEncode의 동작 여부를 설정한다(GET에서는 항상 URLEncode를 수행한다).

    SOAP 사용

    SOAP 메시지 형식을 만들어 통신한다.

    멀티파트 바이트 사용

    인바운드시 사용할 수 있다. 수신한 멀티파트 요청을 임시파일에 저장하지 않고 바이트로 저장한다.

    응답 Content-Length 사용

    HTTP 응답 헤더에 Content-Length 값을 body 데이터 길이로 동적 변경한다. (기본값: 미사용)

    • 옵션 미사용: 응답 헤더 'Transfer-Encoding: chunked’로 응답 전송

    • 옵션 사용: 응답 헤더 'Content-Length: body 길이' 로 응답 전송

  • [상세설정] 탭

    figure endpoint inbound detail
    엔드포인트 등록 화면 - [상세설정] - 인바운드
    항목 설명

    메시지 핸들러

    요청 메시지에 대한 사용자 메시지 핸들러를 설정한다.

    메시지 파라미터 명

    GET 파라미터를 파싱하여 해당 파라미터를 key로 사용하고 있는 value 값을 전문으로 사용한다. GET 방식만 지원한다.

    멀티파트 파라미터 명

    멀티파트 메시지를 수신했을 때 요청 메시지의 파트 이름을 설정한다.

    거래그룹/거래

    엔드포인트로 들어온 요청이 수행할 거래그룹/거래를 선택한다.

  • [메시지 변경 옵션] 탭

    메시지를 변환하여 수신한다. 메시지 변경 옵션은 '메시지 핸들러' 전에 적용된다.

    figure endpoint inbound change option
    엔드포인트 등록 화면 - [메시지 변경 옵션] - 인바운드
    항목 설명

    치환 이전 문자

    메시지에서 변환할 문자를 설정한다.

    개행문자(\n)나 탭(\r), 특수문자(\u) 또한 설정할 수 있다.

    치환 이후 문자

    치환 이전 문자를 변환할 문자를 설정한다.

2.2. 아웃바운드 엔드포인트

HTTP 아웃바운드 엔드포인트는 AnyLink에서 외부로 HTTP 전문을 전송할 수 있는 엔드포인트이다.

다음은 엔드포인트 등록 화면기본정보 영역에 '통신 방향' 항목을 'Outbound’로 선택한 경우 각 탭 화면에 대한 설명이다.

  • [연결정보] 탭 (* : 필수 입력항목)

    figure endpoint outbound connection
    엔드포인트 등록 화면 - [연결정보] - 아웃바운드
    항목 설명

    Split 사용 유무

    항목을 선택하면 URL을 프로토콜, IP/호스트, Path, 포트의 구성요소별로 나누어 작성할 수 있다.

    URL *

    아웃바운드 엔드포인트를 통해 연결할 목적지의 URL을 입력한다.

    기본 인코딩

    엔드포인트에서 사용할 기본 인코딩을 설정한다.

    메시지에 설정된 인코딩이 우선 적용되고 메시지에 설정되지 않았을 경우에 적용된다. 메시지와 엔드포인트 모두 설정이 되지 않은 경우에는 시스템 기본 인코딩으로 적용된다.

    연결 타임아웃 *

    연결 타임아웃(Connect timeout)을 설정한다. 연결을 요청해서 연결될 때까지의 타임아웃이다. (기본값: 3000)

    응답대기 타임아웃

    응답대기 타임아웃을 설정한다. 엔드포인트 상태가 stop이 되기 전에 응답대기를 위한 타임아웃이다.

    소켓 타임아웃 *

    소켓 타임아웃을 설정한다. 소켓으로부터 데이터를 읽어 올 때 발생하는 타임아웃이다. (기본값: 30000)

    최대 연결 수

    최대 연결 수를 설정한다. 외부와 엔드포인트간의 최대 연결수이다.

    KeepAlive 사용

    HTTP 헤더의 커넥션을 Keep-Alive로 사용할 때 설정한다.

    SOAP 사용

    SOAP 메시지 형식을 만들어 통신한다.

    Agent 사용여부

    엔드포인트를 Agent로 사용할 경우 설정한다.

    '사용’을 선택하는 경우 Agent 아이디를 설정한다.

    Agent 엔드포인트로 사용하는 경우 아래 목록의 라이브러리를 서버의 ${Agent 설치 폴더}/lib/common 경로에 추가해야 한다.

    • httpclient-4.3.2.jar

    • httpcore-4.3.2.jar

    • httpasyncclient-4.0.1.jar

    • commons-logging-1.1.3.jar

    • httpcore-nio-4.3.2.jar

    메시지 헤더

    HTTP 헤더에 설정 값을 key - value 페어로 입력한다.

    변수 값 암호화 사용 유무를 체크할 경우 업무시스템에 설정된 암호화 알고리즘으로 암호화한다.

  • [상세설정] 탭

    figure endpoint outbound detail
    엔드포인트 등록 화면 - [상세설정] - 아웃바운드
    항목 설명

    메시지 핸들러

    응답 메시지에 대한 사용자 메시지 핸들러를 설정한다.

    메시지 파라미터 명

    해당 파라미터를 key로 하여 value에 전문을 설정한다. GET 방식만 지원한다.

  • [메시지 변경 옵션] 탭

    메시지를 변환하여 송신한다. 메시지 변경 옵션은 '메시지 핸들러' 전에 적용된다. 화면에 대한 자세한 설명은 인바운드 엔드포인트를 참고한다.

  • [SSL] 탭

    다음은 아웃바운드 엔드포인트 등록 화면의 [SSL] 탭 화면이다.

    figure endpoint outbound ssl
    엔드포인트 등록 화면 - [SSL] - 아웃바운드
    • SSL

      항목 설명

      SSL 사용 설정

      SSL 인증의 사용 여부를 선택한다.

      'SSL인증서 없이 사용'은 SSL은 사용하지만 인증서 없이 통신할 때 설정한다.

    • Trust Store 설정

      SSL 관련 Trust Store정보를 설정한다. 해당 영역은 SSL 인증에 사용될 Trust Store(공개키, 인증서) 파일 설정과 관련된다.

      항목 설명

      스토어 위치

      해당 Trust Store의 저장 위치를 설정한다.

      스토어 타입

      해당 Trust Store의 저장 형식을 설정한다. (기본값: jks)

      클라이언트 인증

      클라이언트 인증 여부를 선택한다.

      '예’로 설정하면 Key Store를 설정할 수 있다.

      스토어 패스워드

      해당 Trust Store를 접근하기 위한 암호를 설정한다.

    • Key Store 설정

      항목 설명

      스토어 위치

      Key store의 저장 위치를 설정한다.

      스토어 타입

      Key store의 저장 형식을 설정한다. (기본값: jks)

      Private Key 패스워드

      개인 키를 접근하기 위한 암호를 설정한다.

      스토어 패스워드

      Key store를 접근하기 위한 암호를 설정한다.

3. 아웃바운드 룰 설정

본 절에서는 아웃바운드 룰 설정방법에 대해서 설명한다. HTTP 아웃바운드 룰은 AnyLink 스튜디오를 이용하여 설정한다.

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

AnyLink 스튜디오 거래그룹 네비게이터의 거래/거래그룹 항목의 컨텍스트 메뉴에서 [새로만들기] > [아웃바운드 룰] > [HTTP 아웃바운드 룰]를 선택하면 다음과 같이 HTTP 아웃바운드 룰 생성 화면이 나타난다. 각 항목을 입력하고 [Finish] 버튼을 클릭한다.

figure create outboundrule info
HTTP 아웃바운드 룰 생성 화면
항목 설명

아웃바운드 아이디

아웃바운드 룰의 아이디를 입력한다.

영어, 숫자, 특수문자(_) 입력이 가능하며 첫 글자는 영어만 가능하다. 해당 값은 동일 거래 노드에 유일한 값이다.

아웃바운드 이름

아웃바운드 룰의 이름을 입력한다.

한글, 영어, 숫자, 특수문자(-, _) 입력이 가능하다. 아웃바운드 룰 이름은 XML Naming Conversion을 따른다.

HTTP 아웃바운드 룰을 생성하면 다음과 같은 설정 화면이 나타난다.

figure outboundRule definition
HTTP 아웃바운드 룰 정의 화면
  • HTTP 아웃바운드 룰 정의 (* : 필수 입력항목)

    항목 설명

    아웃바운드 룰 ID *

    아웃바운드 룰 아이디를 입력한다.

    영어와 숫자, 특수문자(_) 입력이 가능하다. 해당 값은 동일 거래 노드에 유일한 값이다.

    아웃바운드 룰 이름 *

    아웃바운드 룰 이름을 입력한다.

    한글, 영어, 숫자, 특수문자(-, _) 입력이 가능하다.

    요청처리 타임아웃(ms)

    요청처리 타임아웃을 입력한다.

    요청처리 타임아웃은 아웃바운드 룰이 호출된 시점에서부터 타임아웃 시간 동안 연결을 할당받지 못하거나 외부로 요청을 보냈지만 응답을 받지 못했을 경우 발생한다.

    Endpoint(Group) *

    아웃바운드 룰이 등록될 엔드포인트 또는 엔드포인트 그룹을 선택한다.

    해당 프로젝트가 업무시스템에 할당되고 서버에 접속한 상태여야만 선택이 가능하다.

    설명

    아웃바운드 룰의 설명을 입력한다. 설명은 입력하지 않아도 무방하다.

    응답 수신 방식

    메시지에 대한 응답 수신 방식을 선택한다.

    • SYNC : 외부로 요청을 보냈던 엔드포인트로 응답이 들어온다.

    • ONEWAY : 응답이 없는 ONEWAY이다.

    HTTP Method

    HTTP의 요청방법을 설정한다.

    • GET : URL에 해당하는 자료의 전송을 요청한다.

    • POST : 서버가 처리할 수 있는 자료를 전송한다.

    • PUT : 해당 URL에 자료를 저장한다.

    • DELETE : 해당 URL의 자료를 삭제한다.

    • INBOUND : 거래가 Inbound 요청일 경우에만 사용 가능하며, Inbound 요청으로 수신한 Method로 HTTP 요청방법을 설정한다.

    URL 인코딩

    엔드포인트에 설정된 URL로 요청을 보낼 때 URL 인코딩을 할 것인지 여부를 설정한다. POST 방식일 때만 설정이 가능하다.

    URL 디코딩

    엔드포인트에 설정된 URL에서 응답이 올 때 URL 디코딩을 할 것인지 여부를 설정한다. POST 방식일 때만 설정이 가능하다.

    Content Type

    HTTP header에 명시될 Content-Type을 설정한다. 일반적으로는 메시지의 Type에 맞는 Content-Type을 설정하거나 설정하지 않아도 무방하다. 설정하지 않은 경우 text/plain을 default로 설정한다.

    Key-Value 형식 메시지를 사용할 경우 "application/x-www-form-urlencoded" Content-Type을 사용하면 수신쪽 서블릿에서 getParameter(Key)를 통해 Value를 가져 올 수 있다.

    XML Tag 이전 데이터 Trim

    XML Tag의 앞에 공백문자가 들어가면 파싱오류가 일어나게 된다. 이 옵션을 설정하면 오류를 막기 위하여 공백문자를 제거한다.

    XML Self-Close Flag

    빈 요소의 XML TAG를 설정한다.

    • FALSE : '<ELEM></ELEM>' 형태로 설정된다.

    • TRUE : '<ELEM/>' 형태로 설정된다.

    ByPass

    ByPass 거래에서 해당 아웃바운드 룰을 호출할 수 있도록 설정한다. 체크할 경우 요청 및 응답 메시지가 비활성화된다.

    DynamiclnetAddress 사용

    요청 메시지의 필드 값으로 송신할 Host와 Port를 설정한다.

    [검색] 버튼을 클릭하면 메시지 ID와 필드 ID를 선택할 수 있다.

  • HTTP 아웃바운드 룰 메시지 정의

    HTTP 아웃바운드 룰에서는 요청 메시지, 정상 응답 메시지를 설정할 수 있다.

    항목 설명

    요청 메시지

    아웃바운드 룰에서 사용될 요청 메시지를 선택한다.

    요청 메시지는 멀티 메시지 설정이 가능하다. 멀티 메시지는 XML 전문을 사용하는 경우 사용되는 기능으로, 각각의 전문에 네임스페이스 URI와 Local Part를 별도로 설정하고자 하는 경우에 사용한다.

    '멀티 메시지 사용'을 선택한 경우 HTTP Multi Part 정보를 설정할 수 있다(HTTP 아웃바운드 룰 멀티파트 화면 참고).

    정상 응답 메시지

    아웃바운드 룰에서 사용될 응답 메시지를 선택한다.

    응답 헤더 메시지

    응답 헤더 메시지를 선택한다.

    응답 헤더 메시지는 응답 메시지가 정상과 업무 오류로 나누어져 있을 경우 사용된다(일반적인 에러가 아닌 정상 메시지 형태로 업무 오류 메시지를 수신할 경우 사용).

    • 응답 종류 확인 : 응답 헤더 메시지를 사용할 경우에 정상 응답 메시지와 업무 오류 응답 메시지를 구분하가 위한 메시지 필드와 해당 값에 따른 정상 또는 업무 오류를 입력한다.

  • HTTP Multi Part 설정

    HTTP 아웃바운드 룰에서 멀티파트를 설정할 수 있다.

    figure outboundrule multipart
    HTTP 아웃바운드 룰 멀티파트 화면
    항목 설명

    멀티파트 사용

    메시지를 송신의 경우 멀티파트를 사용할지에 대해 설정한다.

    SOAP 배치 사용

    SOAP 배치용 헤더로 송신한다.

    설정할 경우 '메시지 파트 이름', '파일 매핑'을 선택한 경우 '파트 이름', '바이트 매핑'을 선택한 경우 '파트 이름', '파일 이름' 항목은 설정할 수 없다.

    메시지 파트 이름

    요청 메시지의 첫 번째 파트 이름(name)을 설정한다.

    매핑 유형

    다음 중에 선택한다.

    • 파일 매핑 : 임시파일로 저장한다.

    • 바이트 매핑 : 임시파일이 아닌 바이트로 저장한다.

    임시 파일 경로

    '매핑 유형' 항목을 '파일 매핑’으로 선택한 경우 송신할 파일의 경로를 설정한다.

    파트 이름

    송신할 파일에 대한 파트 이름을 설정한다.

    파일 내용

    '매핑 유형' 항목을 '바이트 매핑’으로 선택한 경우 바이트로 저장한 파일 내용을 설정한다.

    파일 이름

    '매핑 유형' 항목을 '바이트 매핑’으로 선택한 경우 바이트로 저장한 파일의 이름을 설정한다.