JMS 대상이 서비스 통합 대상과 관련되는 방법
대부분의 WebSphere® Application Server 애플리케이션은 JMS API를 사용하여 서비스 통합 버스에서 제공하는 서비스에 액세스합니다. JMS는 JMS 애플리케이션이 메시지를 전송하고 수신하는 Java 오브젝트인 JMS 대상을 정의합니다. JMS 대상의 속성에는 메시징 제공자가 사용하는 대상의 주소가 포함됩니다. 서비스 통합 메시징 제공자의 경우 이 주소는 서비스 통합 대상 이름(큐 이름 또는 토픽 영역 이름) 및 버스 이름입니다. 이러한 방식으로 JMS 대상은 서비스 통합 버스 대상을 식별할 수 있습니다.
일반적으로 JMS 애플리케이션은 대상 JNDI 이름에 대한 JNDI 검색을 통해 JMS 대상을 확보합니다. 그러나 JMS 애플리케이션은 다른 방식으로도 JMS 대상을 확보할 수 있습니다. 예를 들어, JMS 메시지의 JMSReplyTo 특성을 통해 확보할 수 있습니다.
JMS 대상 - 큐 및 토픽
- JMS 큐 대상
- 생성 애플리케이션(생성자)이 큐로 메시지를 전송하는 지점간
메시징에 사용됩니다. 메시징 제공자는 이용 애플리케이션(이용자)에서
메시지를 수신할 때까지 각 메시지의 사본을 하나씩만
저장합니다. 여러 이용자가 있는 경우 하나의 이용자만 메시지 복사본을
수신합니다. 이용자가 없는 경우에는 메시지는 큐에 들어갑니다.
서비스 통합의 JMS 큐 대상 오브젝트에는 큐 이름 특성 및 버스 이름 특성이 있습니다(다른 특성도 있음).
- JMS 주제 대상
- 생성 애플리케이션(공개자)이 토픽에 메시지(공개)를 전송하는 공개/등록
메시징에 사용됩니다. 메시징 제공자는
각 이용 애플리케이션(등록자)에 각 공개 사본을 전달합니다.
등록자가 없으면 서비스 통합에서 해당 공개를 버립니다.
지점간 메시지의 다른 차이점은 토픽 이름에 와일드카드를 사용하여 등록자가 여러 개의 유사한 토픽의 메시지를 사용할 수 있다는 점입니다.
서비스 통합의 JMS 주제 대상 오브젝트에는 토픽 이름, 토픽 영역 이름 및 버스 이름 특성이 있습니다(다른 특성도 있음).
JMS 대상 - 서비스 통합 대상과의 관계
서비스 통합에서 JMS 대상은 서비스 통합 대상을 식별합니다. 큐 이름 또는 토픽 영역 이름 특성이 서비스 통합 대상의 이름입니다. 버스 이름 특성은 대상을 포함하는 서비스 통합 버스의 이름입니다.
JMS 대상을 정의하는 경우 버스 이름 특성을 생략할 수 있습니다. 이렇게 하면 JMS 대상이 로컬 버스에서 서비스 통합 대상 즉, JMS 애플리케이션이 연결할 버스를 식별합니다. 서비스 통합 버스가 하나만 있거나 모든 버스에 이름이 동일한 대상이 포함되어 있는 경우 편리할 수 있습니다.
- 서비스 통합 큐 대상
- 큐 대상은 메시지 큐를 나타내며 지점간 메시징에 사용됩니다. 서비스 통합 큐 대상은 특성 버스 멤버(애플리케이션 서버 또는 애플리케이션 서버 클러스터)에서 로컬화됩니다. 생성자가 큐 대상으로 메시지를 전송하면 서비스 통합 버스는 해당 메시지를 해당 버스 멤버의 메시징 엔진으로 전달합니다. 그러면 메시징 엔진이 해당 메시지를 이용자에게 전달합니다. 필요한 경우 메시징 엔진은 이용자가 메시지를 수신할 준비가 될 때까지 메시지를 큐에 넣습니다.
일반적으로 JMS 큐 대상은 서비스 통합 큐 대상을 식별합니다. 즉, JMS 큐 대상의 버스 이름 특성이 로컬 버스 이름과 일치하고 큐 이름 특성은 로컬 버스의 서비스 통합 큐 대상 이름과 일치합니다.
- 서비스 통합 토픽 영역 대상
- 토픽 영역 대상은 "공개 및 등록" 토픽 세트를 나타내며 공개/등록 메시징에 사용됩니다. 특정 메시지(공개)에 대한 주제는 메시지 특성입니다. 서비스 통합 주제 영역 대상은 특정 버스 멤버에서 로컬화되지 않습니다. 서비스 통합은 주제 영역에서 등록 목록을 유지보수하고 해당 목록을 기준으로 각 공개를 일치시킵니다. 새 공개가 주제 영역에서 하나 이상의 등록과 일치하는 경우 서비스 통합은 해당 공개 사본을 각 등록자에게 전달합니다. 필요한 경우 서비스 통합에서는 등록자가 공개 메시지를 수신할 준비가 될 때까지 해당 메시지를 큐에 넣을 수 있습니다. 새 공개가 등록과 일치하지 않으면 서비스 통합에서는 해당 공개를 버립니다.
일반적으로 JMS 주제 대상은 서비스 통합 토픽 영역 대상을 식별합니다. 즉, JMS 주제 대상의 버스 이름 특성이 로컬 버스 이름과 일치하고 토픽 영역 이름 특성은 로컬 버스의 서비스 통합 토픽 영역 대상 이름과 일치합니다. JMS 애플리케이션이 JMS 주제 대상으로 메시지를 전송하면 서비스 통합에서 해당 메시지의 대상 토픽 특성을 JMS 주제 대상의 토픽 이름 특성으로 설정한 다음 서비스 통합 토픽 영역 대상으로 해당 서비스를 전송합니다.
- 서비스 통합 외부 대상
- 외부 대상은 다른 버스(외부 버스)에 정의된 대상을 나타냅니다. 지점간 메시징에 외부 대상을 사용할 수 있습니다. 보안 설정을 대체해야 하는 경우 또는 외부 버스의 개별 대상인 경우 메시징 기본값을 대체해야 하는 경우 외부 대상을 사용합니다. 외부 버스는 다른 서비스 통합 버스 또는
IBM MQ 네트워크(즉, 하나 이상의 상호 연결된 IBM MQ 큐 관리자 또는 큐 공유 그룹)일 수 있습니다. 생성자가 외부 대상으로 메시지를 전송하면 서비스 통합은 해당 메시지를 외부 버스로 전달합니다. 그러면 외부 버스는 대상 정의를 기준으로 메시지를 적절하게 큐에 넣어야 합니다.
JMS 대상은 서비스 통합 외부 대상을 식별할 수 있습니다. 즉, JMS 대상의 버스 이름과 큐 또는 토픽 영역 이름 특성이 외부 대상의 외부 버스 이름과 큐 또는 토픽 영역 이름과 일치할 수 있습니다. 그러나 그렇지 않은 경우도 있습니다. 일치하는 외부 버스 이름 및 대상(큐 또는 토픽 영역) 이름이 있는 서비스 통합 외부 대상이 없는 경우 서비스 통합에서는 지정한 외부 버스로 메시지를 전송합니다.