서비스 통합과 IBM MQ 네트워크 간의 차이점
애플리케이션이 서비스 통합 및 IBM MQ를 모두 사용하여 메시지를 전달할 수 있습니다. 서비스 통합 메시징에서는 메시징 엔진을 사용하지만 IBM MQ에서는 큐 관리자를 사용합니다.
IBM MQ는 독립형 메시징 및 큐 시스템으로, 애플리케이션 서버의 일부가 아닙니다. IBM MQ에서는 큐 관리자가 메시징 및 큐 서비스를 제공합니다. 애플리케이션은 큐 관리자에 접속하며 API(Application Programming Interface)를 사용하여 메시지를 받습니다. 이 애플리케이션 인터페이스 중 하나는 JMS(Java Messaging Service) API입니다. 애플리케이션은 호출 인터페이스를 사용하여 직접적으로 또는 TCP/IP 소켓 연결을 사용하여 간접적으로 큐 관리자에 접속할 수 있습니다. 애플리케이션이 큐 관리자에 접속하는 데 사용하는 TCP/IP 소켓 연결을 MQI 채널이라 합니다. 애플리케이션은 직접(바인딩 모드) 및 간접(클라이언트 모드) 접속 모두에 동일한 프로그래밍 인터페이스를 사용합니다.
서비스 통합은 WebSphere® Application Server의 일부입니다. 서비스 통합에서는 메시징 엔진(ME)에서 메시징 및 큐 서비스가 제공됩니다. 서비스 통합 메시징 엔진은 WebSphere Application Server 서버에서 실행됩니다. 서비스 통합 메시징 엔진은 한 큐 관리자에서 다른 큐 관리자로 메시지를 이동시키는 데 사용되는 IBM MQ 큐 관리자 및 연관된 메시지 채널 에이전트(MCA)와 유사합니다. 하지만 큐 관리자와 다르게, 메시징 엔진에는 변환 및 라우팅 기능도 포함되어 있습니다.
WebSphere Application Server 애플리케이션은 JMS 서비스를 사용하여 메시징 엔진에 연결하고 JMS API(Application Programming Interface)를 사용하여 대상으로부터 메시지를 전송 및 수신합니다. JMS 대상은 IBM MQ 큐 또는 토픽과 유사합니다. 서비스 통합 메시징 엔진은 WebSphere Application Server 통신 기능을 사용하여 실행하는 WAS 서버 외부의 클라이언트와 연결하고 기타 메시징 엔진과 통신합니다. 서비스 통합 메시징 엔진은 변환, 라우팅 및 공개-등록 메시징 지원을 위한 서비스를 제공합니다. 별도의 메시지 브로커는 필요하지 않습니다.
IBM MQ 애플리케이션은 큐 관리자 또는 (z/OS®용 IBM MQ의 경우) 큐 공유 그룹에 로컬로 정의되는 큐에서 오는 메시지를 이용합니다. 서비스 통합에서 IBM MQ 로컬 정의 큐에 해당하는 컴포넌트는 로컬 메시징 엔진의 큐 위치입니다. 서비스 통합에서는 큐 위치 및 이용 애플리케이션이 연결되는 버스의 위치에 대해 부과되는 비슷한 제한사항이 없습니다.
JMS API는 WebSphere Application Server 및 IBM MQ에서 메시징 애플리케이션에 사용할 수 있습니다. IBM MQ에는 MQI(Message Queue Interface)라는 기본 API도 있습니다. JMS 전송 및 수신 인터페이스는 MQI put 및 get 인터페이스와 유사합니다.
각 IBM MQ 큐 관리자에는 일반적으로 배달 불능 큐(전달되지 않는 메시지 큐)가 정의되어 있습니다. 메시지가 의도한 대상으로 전달될 수 없는 경우에 이 큐에 놓입니다. WebSphere Application Server 서비스 통합에서 데드 레터 큐에 동등한 것이 예외 대상입니다. 기본 예외 대상이 각 메시징 엔진에 대해 자동으로 작성됩니다. 메시지를 전달할 수 없는 경우, 큐에 대한 특정 예외 대상(존재하는 경우) 또는 기본 예외 대상에 놓입니다.