대상과 IBM MQ 큐, 토픽 및 대상 사이의 맵핑
서비스 통합 메시지와 IBM MQ 메시지는 둘 다 헤더 필드와 특성을 포함합니다. 이들 헤더 필드 및 특성의 일부는 전송처 및 응답처 대상과 버스 정방향 및 역방향 경로 지정 경로의 대상에 관한 정보를 제공하는 대상 또는 대상 특성을 포함합니다. 서비스 통합과 IBM MQ가 대상에 대해 서로 다른 정의를 갖기 때문에, 맵핑은 메시지가 서비스 통합 형식과 IBM MQ 형식 사이에서 변환될 때 대상 및 대상 특성을 처리하는 데 사용됩니다.
IBM MQ 형식 메시지의 대상 및 대상 특성
- MQXQH RemoteQName
- MQXQH RemoteQMgrName
이들 필드는 MQXQH(IBM MQ 전송 큐 헤더)에 존재합니다. MQXQH는 IBM MQ 큐 관리자 사이에서 또는 WebSphere® MQ 링크를 통해 IBM MQ 큐 관리자와 서비스 통합 버스 사이에서 이동하는 동안에만 메시지에 첨부됩니다. 전송 및 수신 애플리케이션은 이들 필드에 액세스할 수 없습니다.
RemoteQName 필드는 전송처 큐(IBM MQ) 또는 전송처 대상(서비스 통합)의 이름을 포함합니다. RemoteQMgrName 필드는 전송처 큐 또는 대상이 위치하는 큐 관리자 또는 큐 공유 그룹(IBM MQ) 또는 서비스 통합 버스(서비스 통합)를 식별합니다. 대개 RemoteQMgrName 필드에는 원격 큐 관리자, 큐 공유 그룹 또는 서비스 통합 버스의 이름이 들어 있지만, IBM MQ 큐 관리자 별명 또는 서비스 통합 큐 관리자 이름을 포함할 수 있습니다. 이들 필드는 토픽에 사용되지 않음을 참고하십시오.
RemoteQName 및 RemoteQMgrName 값은 48문자의 최대 길이까지 가능하며, IBM MQ 이름 지정 제한을 준수해야 합니다.
- MQRFH2 jms.Dst(JMSDestination)
이 필드는 MQRFH2 헤더를 포함하는 IBM MQ 형식 JMS 메시지에 존재합니다.
jms.Dst 필드에는 애플리케이션이 메시지에 대해 send를 발행할 때 설정된 전송처 JMS 대상의 직렬화된 표시(IBM MQ URI)가 들어 있습니다. JMS 대상의 IBM MQ URI 형식에 대한 자세한 정보는 IBM MQ 라이브러리를 참조하십시오.
서비스 통합이 IBM MQ로의 정방향 경로 지정 경로를 갖는 메시지를 전송할 때, ibmRoutingPath 속성을 이 URI에 추가합니다. ibmRoutingPath 값은 서비스 통합 메시지로부터 정방향 경로 지정 경로를 식별합니다. IBM MQ는 정방향 경로 지정 경로를 사용하지 않지만, 전송처 대상이 정방향 경로 지정 경로를 사용할 수 있는 원격 서비스 통합 버스에 있을 수 있습니다.
- MQMD ReplyToQ
- MQMD ReplyToQMgr
이들 필드는 모든 IBM MQ 형식 메시지에 존재합니다.
전송 애플리케이션이 응답처 큐를 지정하는 경우, ReplyToQ 필드는 응답처 큐(IBM MQ) 또는 응답처 대상(서비스 통합)의 이름을 포함하고, ReplyToQMgr 필드는 해당 큐가 위치하는 큐 관리자 또는 큐 공유 그룹(IBM MQ) 또는 서비스 통합 버스(서비스 통합)를 식별합니다. 대개 ReplyToQMgr 필드에는 큐 관리자, 큐 공유 그룹 또는 서비스 통합 버스의 이름이 들어 있지만, IBM MQ 큐 관리자 별명 또는 서비스 통합 큐 관리자 이름을 포함할 수 있습니다. 전송 애플리케이션이 응답처 토픽을 지정하는 경우 또는 응답처 대상을 지정하지 않는 경우 이들 필드는 널값을 포함합니다.
ReplyToQ 및 ReplyToQMgr 값은 48문자의 최대 길이까지 가능하며, IBM MQ 이름 지정 제한을 준수해야 합니다.
- MQRFH2 jms.Rto(JMSReplyTo)
이 필드는 MQRFH2 헤더를 포함하고 응답처 대상을 지정하는 IBM MQ 형식 JMS 메시지에 존재합니다. IBM MQ JMS 애플리케이션은 대개 이 메시지 속성을 응답 메시지를 위한 대상으로 사용하지만, 기타(비JMS) IBM MQ 애플리케이션은 대개 이를 사용하지 않습니다. 대신 MQMD 응답처 필드를 사용합니다.
jms.Rto 필드에는 전송하는 JMS 애플리케이션이 설정하는 응답처 JMS 대상의 직렬화된 표시(IBM MQ URI)가 들어 있습니다. JMS 대상의 IBM MQ URI 형식에 대한 자세한 정보는 IBM MQ 라이브러리를 참조하십시오.
서비스 통합이 IBM MQ로의 역방향 경로 지정 경로를 갖는 메시지를 전송할 때, 서비스 통합이 이 URI에 ibmRoutingPath 속성을 추가합니다. ibmRoutingPath 값은 서비스 통합 메시지의 역방향 경로 지정 경로를 식별합니다. 수신하는 JMS 애플리케이션이 응답을 전송할 때, IBM MQ는 응답처 URI의 경로 지정 경로 정보를 응답 메시지의 전송처 URI에 포함시켜서 서비스 통합이 응답 메시지 경로 지정에 해당 정보를 사용할 수 있게 합니다.
- 전송 애플리케이션이 메시지에 대한 응답처 큐를 지정할 때, 해당 큐는 대개 전송 애플리케이션이 연결하는 버스, 큐 관리자 또는 큐 공유 그룹에 위치합니다. 이것은 전송 애플리케이션이 응답처 큐로부터 응답 메시지를 수신하도록 허용합니다. IBM MQ로 메시지를 전송하는 서비스 통합 애플리케이션은 다른 버스, 큐 관리자 또는 큐 공유 그룹의 응답처 큐를 지정하지 않아야 합니다.
- 메시지에서 응답처 대상을 사용하는 것은 수신하는 애플리케이션임을 이해하는 것이 중요합니다. 수신 애플리케이션이 연결하는 버스, 큐 관리자 또는 큐 공유 그룹은 응답처 대상으로의 경로 지정을 허용하는 정보로 구성되어야 합니다.
서비스 통합이 메시지를 IBM MQ 형식으로 변환할 때의 대상 변환
- MQXQH RemoteQName
- MQXQH RemoteQMgrName
이들 필드는 서비스 통합이 IBM MQ 링크 링크를 통해 메시지를 전송 중일 때와 대상이 큐일 때만 적용됩니다.
서비스 통합은 메시지의 해석된 전송처 대상을 기반으로 이들 필드를 설정합니다. 즉, 전송처 대상이 별명인 경우 서비스 통합은 대상 버스 및 대상 ID를 사용합니다. 그러면 처리는 다음과 같습니다.- 전송처 대상이 간접적으로 연결된 버스에 있는 경우 대상 이름(ID)을 RemoteQName로서 저장하고 버스 이름을 RemoteQMgrName으로 저장합니다.
- 전송처 대상이 직접 연결된 버스에 있고 대상 이름(ID)이 queue@queueManager 양식인 경우, 큐 이름(queue)을 RemoteQName으로 저장하고 큐 관리자 이름(queueManager)을 RemoteQMgrName으로 저장합니다.
- 전송처 대상이 직접 연결된 버스에 있고 대상 이름(ID)이 queue@queueManager 양식이 아닌 경우, 대상 이름을 RemoteQName으로 저장하고 버스 이름을 RemoteQMgrName으로 저장합니다.
전송처 대상이 간접적으로 연결된 서비스 통합 버스에 있고 대상 이름이 IBM MQ 이름 지정 제한을 준수하지 않는 경우, 준수하는 이름을 갖는 별명 대상을 정의해야 합니다. 전송 애플리케이션이 준수하는 (별명) 이름을 사용해야 합니다. 이 경우에 로컬 버스가 아니라 원격(간접적으로 연결된) 버스에서 별명 대상을 정의해야 합니다.
전송처 대상이 간접적으로 연결된 서비스 통합 버스에 있고 버스 이름이 IBM MQ 이름 지정 제한을 준수하지 않는 경우, 간접적으로 연결된 버스에 대한 가상 큐 관리자 이름이어야 합니다. 이 경우에 로컬 버스는 버스 이름이 아니라 가상 큐 관리자 이름으로 간접 연결된 버스를 정의해야 합니다.
IBM MQ 이름 지정 제한을 준수하지 않는 서비스 통합 버스 이름 맵핑에 대한 자세한 정보는 버스 대상 및 IBM MQ 큐 주소 지정 방법의 내용을 참조하십시오.
- MQRFH2 jms.Dst(JMSDestination)
IBM MQ 형식 메시지가 MQRFH2 헤더를 포함하는 경우, 서비스 통합은 JMSDestination 헤더 필드를 IBM MQ URI로 직렬화하고 이를 IBM MQ 메시지의 JMSDestination 필드에 저장합니다. 메시지가 정방향 경로 지정 경로를 갖는 경우, 서비스 통합은 URI의 그것을 ibmRoutingPath 속성으로 포함합니다.
- MQMD ReplyToQ
- MQMD ReplyToQMgr
전송 JMS 애플리케이션은 제공자 특정 JMS 메시지 특성 JMS_IBM_MQMD_ReplyToQ 및 JMS_IBM_MQMD_ReplyToQMgr을 사용하여 이들 필드를 직접 설정할 수 있습니다. 전송 애플리케이션이 이를 수행하지 않는 경우, 메시지가 응답처 대상을 갖고 해당 대상이 큐인 경우에만 서비스 통합이 특성을 설정합니다.
서비스 통합은 메시지에 대한 분석되지 않은 응답처 대상을 기반으로 이들 필드를 설정합니다. 즉, 응답처 대상이 별명인 경우 서비스 통합은 대상 버스 및 ID가 아니라 별명 버스 및 ID를 사용합니다. 서비스 통합 애플리케이션은 외부 대상이거나 @ 문자를 포함하는 이름을 갖는 응답처 대상을 제공하지 않아야 합니다. 제공되는 애플리케이션은 이를 수행하지 않으며, 처리는 다음과 같습니다.- 응답처 대상 이름(ID)이 ReplyToQ 필드 및 ReplyToQMgr 필드의 응답처 대상 버스 이름(즉, 로컬 버스 이름)에 저장됩니다.
- 가상 큐 관리자 이름이 로컬 버스 이름과 다른 경우, 가상 큐 관리자 이름이 로컬 버스 이름 대신 ReplyToQMgr 필드에 저장됩니다.
응답처 대상의 실제 이름이 IBM MQ 이름 지정 제한(이름이 @ 문자를 포함하는 경우 포함)을 준수하지 않는 경우, 준수하는 이름을 갖는 별명 대상을 정의해야 하며 전송 애플리케이션이 준수(별명) 이름을 사용해야 합니다. 이 경우 사용자는 원격(간접 연결된) 버스가 아니라 로컬 버스에서 별명 대상을 정의해야 합니다.
- MQRFH2 jms.Rto(JMSReplyTo)
메시지가 응답처 대상을 갖고 IBM MQ 형식 메시지가 MQRFH2 헤더를 포함하는 경우, 서비스 통합은 IBM MQ URI를 구성하여 해당 응답처 대상을 나타내고 URI를 IBM MQ 메시지의 JMSReplyTo 특성에 저장합니다. 응답처 대상이 큐인 경우 URI는 응답처 대상 버스 이름(로컬 버스) 또는 가상 큐 관리자 이름(다른 경우)을 포함합니다. 메시지가 역방향 경로 지정 경로를 갖는 경우, 서비스 통합은 해당 경로를 ibmRoutingPath 속성의 URI에 포함시킵니다.
서비스 통합이 메시지를 IBM MQ 형식으로부터 변환 시 대상 변환
- MQXQH RemoteQName
- MQXQH RemoteQMgrName
이들 필드는 서비스 통합이 IBM MQ 링크를 통해 메시지를 수신 중일 때와 대상이 큐일 때만 적용할 수 있습니다.
서비스 통합은 RemoteQName 필드를 메시지에 대한 ID(항상 큐)로서 해석하고 RemoteQMgrName 필드를 메시지에 대한 대상 버스의 이름으로 해석합니다. RemoteQMgrName 필드가 로컬 버스의 가상 큐 관리자 이름을 포함하는 경우, 서비스 통합은 이를 로컬 버스의 이름으로 해석합니다. 그런 다음 서비스 통합은 결과 버스 및 대상 ID 조합(로컬 버스의 별명 대상일 수 있음)을 사용하여 일반적인 방법으로 메시지를 전달합니다. 대상 버스가 외부 버스인 경우 여기에 해당 외부 버스로의 메시지 전달이 포함됩니다.
- MQRFH2 jms.Dst(JMSDestination)
이 필드가 사용 가능한 경우, 서비스 통합은 이를 사용하여 메시지에 대한 JMSDestination 헤더 필드를 작성합니다. URI가 ibmRoutingPath 속성을 포함하는 경우, 서비스 통합은 그것을 사용하여 메시지의 정방향 경로 지정 경로를 작성합니다.
이 특성을 사용할 수 없는 경우(예를 들어, IBM MQ 메시지에 MQRFH2 헤더가 없는 경우), 서비스 통합은 메시지가 전달되는 서비스 통합 대상으로부터 JMSDestination 헤더 필드를 작성할 수 있습니다.
- MQMD ReplyToQ
- MQMD ReplyToQMgr
- 이들 필드가 널이 아닌 값을 포함하는 경우, 서비스 통합은 이들을 사용하여 다음과 같이 서비스 통합 메시지에 대한 역방향 경로 지정 경로의 첫 번째 요소를 구성합니다.
- ReplyToQMgr이 로컬 버스 이름이나 가상 큐 관리자 이름인 경우, 서비스 통합은 해당 버스를 로컬 버스로 설정하고 대상 이름(ID)을 ReplyToQ로 설정합니다.
- ReplyToQMgr이 로컬 버스에 정의된 외부 버스인 경우, 서비스 통합은 버스를 ReplyToQMgr로 설정하고 대상 이름(ID)을 ReplyToQ로 설정합니다.
- ReplyToQMgr이 로컬 버스 이름, 가상 큐 관리자 이름 또는 로컬 버스에 정의된 외부 버스가 아닌 경우, 서비스 통합은 해당 버스를 직접 접속된 IBM MQ 버스로 설정하고 대상 이름(ID)을 queue@queueManager로 설정합니다. 여기서 queue는 ReplyToQ이고 queueManager는 ReplyToQMgr입니다.
- MQRFH2 jms.Rto(JMSReplyTo)
이 필드가 사용 가능한 경우, 서비스 통합은 MQMD ReplyToQ 및 ReplyToQMgr 필드와 함께 해당 필드를 사용하여 서비스 통합 메시지에 대한 역방향 경로 지정 경로 및 JMSReplyTo 헤더 필드를 구성합니다. IBM MQ 메시지에 있는 JMSReplyTo URI의 ibmRoutingPath 속성(하나가 있는 경우)으로부터 얻는 첫 번째 요소(MQMD ReplyToQ 및 ReplyToQMgr 필드로부터 구성함) 및 나머지 모든 요소로부터 역방향 경로 지정 경로를 구성합니다. IBM MQ 메시지의 JMSReplyTo URI의 대상 속성과 함께 역방향 경로 지정 경로의 첫 번째 요소로부터 JMSReplyTo 헤더 필드를 구성합니다.