소개

본 장에서는 AnyLink MQ 어댑터의 기본적인 동작방식에 대해서 설명합니다.

1. 개요

MQ 어댑터는 IBM Websphere MQ(이하 MQ)와의 연계를 지원합니다. MQ 버전 8을 기반으로 만들어졌으며, 하위 버전 호환성에 대해서는 MQ 라이브러리의 그것을 따릅니다.

2. 환경 구성

AnyLink에서 MQ 어댑터를 사용하기 위해서는 다음과 같은 환경 구성이 필요합니다.

  • Java 버전

    Java 17(JDK 17.0)

  • MQ 라이브러리

    라이브러리 배치 경로

    com.ibm.mq.allclient-9.4.4.0.jar

    ${DOMAIN_HOME}/lib/application/

    해당 라이브러리는 MQ 서버 설치 패키지와 함께 제공되며, AnyLink 배포판에 포함되지 않습니다.

3. 어댑터 동작방식

MQ 어댑터는 MQ 엔드포인트를 등록할 수 있으며, MQ 엔드포인트는 인바운드 엔드포인트와 아웃바운드 엔드포인트로 나뉩니다.

각 엔드포인트의 동작 방식은 다음과 같습니다.

  • 인바운드 엔드포인트

    구분 설명

    oneway

    지정된 큐에 접근하여, 일정 간격으로 MQMessage를 polling합니다. 이때 해당 MQMessage의 byte[] 영역이 입력 전문의 내용을 담고 있습니다. 해당 요청 전문은 엔드포인트에 지정된 거래의 요청 메시지로 사용됩니다.

    request-response

    기본 동작 방식은 oneway와 동일하나, 지정된 거래에 응답 메시지가 있을 경우 request-response 모드를 사용할 수 있습니다.

    해당 기능을 사용하기 위해서는 별도의 응답 큐를 설정해야 하며, 거래의 응답 메시지로 나가는 MQMessage의 correlation id는 요청으로 사용된 MQMessage의 correlation id와 동일합니다.

  • 아웃바운드 엔드포인트

    구분 설명

    oneway

    거래에서 MQ 아웃바운드 룰이 호출될 때 해당 요청 메시지를 지정된 큐에 입력합니다. 이때 입력되는 MQMessage의 correlation id는 거래의 GUID와 동일합니다.

    request-response

    기본 동작 방식은 oneway와 동일하나 요청 메시지에 대한 응답 메시지를 받아야 할 경우에 request-response 모드를 사용합니다.

    request-response 모드로 동작할 경우 별도의 응답 큐를 설정해야 하며, 요청을 보낸 뒤 지속적으로 응답 큐에서 거래의 GUID를 메시지 아이디로 가지는 MQMessage를 일정 간격으로 polling합니다.