Sun GlassFish Message Queue 4.4 릴리스 노트

Universal Message Service(UMS)

Message Queue 4.3에는 http 지원 장치에서 Message Queue에 대한 액세스를 제공하는 새로운 UMS(universal messaging service) 및 메시징 API가 도입되었습니다. 따라서 거의 모든 응용 프로그램이 다른 응용 프로그램과 통신할 수 있으며 JMS 메시징의 안정성과 확실한 전달 기능을 유용하게 사용할 수 있습니다. 또한 UMS에서는 JMS 메시징에 대한 향상된 확장성을 제공하므로 메시징 클라이언트 수가 인터넷 규모 비율에 도달할 수 있습니다.

구조

기본 UMS 구조는 다음 그림과 같습니다.

그림 1–1 UMS 구조

JMS가 아닌 클라이언트와 JMS 공급자 간 게이트웨이로서 UMS를 나타내는 그림.

웹 서버에서 실행되는 UMS는 언어 중립적이며 플랫폼 독립적입니다. UMS는 JMS가 아닌 클라이언트 응용 프로그램과 JMS 공급자 간 게이트웨이로 사용됩니다. UMS는 UMS API를 사용하여 보낸 메시지를 받고, 해당 메시지를 JMS 메시지로 변환하여, 공급자의 기본 프로토콜을 통해 JMS 공급자의 대상에 생성합니다. 마찬가지로 JMS 공급자의 대상에서 메시지를 검색하고, 해당 메시지를 텍스트 또는 SOAP 메시지로 변환하여, UMS API를 통해 클라이언트에서 요청된 대로 메시지를 JMS가 아닌 클라이언트에 보냅니다.

단순하고 언어 독립적인 프로토콜 기반 UMS API는 웹 기반 및 웹 기반이 아닌 응용 프로그램을 지원하며 스크립팅 및 프로그래밍 언어와 함께 사용될 수 있습니다. API는 REST(Representational State Transfer) 스타일 프로토콜을 사용하는 단순 메시징 API 및 SOAP 메시지 헤더에 프로토콜을 포함하는 XML 메시징 API의 두 가지 스타일로 제공됩니다. 그러나 두 경우 모두 메시지를 보내거나 받으려면 API에 단일 http 요청이 필요합니다.

UMS API의 단순성과 유연성으로 인해 AJAX, .NET, Python, C, Java 및 다른 여러 응용 프로그램에서 텍스트 메시지 및/또는 SOAP(첨부 파일 포함) 메시지를 JMS 대상으로 보내거나 JMS 대상에서 메시지를 받을 수 있습니다. 예를 들어, Python 응용 프로그램은 .NET 응용 프로그램과 통신할 수 있고, iPhone은 Java 응용 프로그램과 통신할 수 있습니다.

Message Queue 4.3의 경우 UMS에서는 Message Queue만 JMS 공급자로 지원합니다.

추가 기능

UMS는 위에서 설명된 단순 게이트웨이 이상으로 사용됩니다. UMS는 상태 있는 클라이언트 세션과 상태 없는 클라이언트 세션을 지원합니다. 클라이언트에서 요청한 경우 UMS는 여러 서비스 요청에 걸쳐 클라이언트 응용 프로그램의 세션 상태를 유지합니다. UMS는 컨테이너에서 관리되는 인증을 사용하거나 Message Queue 브로커를 통해 클라이언트를 인증하도록 구성하거나 두 방법을 모두 사용할 수 있습니다. UMS는 트랜잭션을 지원하므로 클라이언트 응용 프로그램이 여러 서비스 요청을 단일 기본 단위로 완결하거나 롤백할 수 있습니다.

UMS는 Message Queue 브로커에 대한 단일 연결에서 다수의 클라이언트를 지원할 수 있으므로 브로커의 연결 서비스에 쉽게 로드할 수 있도록 해주어 최대 확장성을 제공합니다. 또한 수평 확장으로 UMS 용량을 늘릴 수 있어 인터넷 규모의 메시징 로드가 가능합니다.

클라이언트측에서는 프로토콜 기반 UMS API의 단순성으로 인해 클라이언트 라이브러리가 필요하지 않습니다. 따라서 나중에 API를 확장하여 클라이언트 응용 프로그램을 업그레이드할 필요 없이 추가 JMS 기능을 구현할 수 있습니다.

UMS 사용

UMS를 사용하려면 UMS를 서블릿 2.4 이상 사양을 지원하는 웹 컨테이너에 배포하고 Message Queue 브로커를 시작한 다음 해당 대상을 생성하고 UMS API를 사용하여 메시지를 보내거나 받는 메시징 응용 프로그램을 작성합니다.

Message Queue 4.3 배포에 포함된 UMS imqums.war 파일은 플랫폼에 따라 다음 위치에 설치됩니다.

.war 파일 이름을 적절하게 바꿀 수 있습니다.

표 1–5 imqums.war 파일 위치

플랫폼 

imqums.war 위치

Solaris 

/usr/share/lib/imq

Linux 

/opt/sun/mq/share/lib

AIX 

IMQ_HOME/lib

Windows 

IMQ_HOME\lib

imqums.warlocalhost:port에 있는 웹 컨테이너에 배포한 후에는 다음 위치에서 UMS 설명서를 찾을 수 있습니다.

http://localhost:port/imqums

그렇지 않으면 다음과 같이 UMS 설명서를 찾을 수 있습니다.

지원되는 웹 컨테이너

UMS는 현재 다음 웹 컨테이너에서 지원됩니다.