Versionshinweise zu Sun GlassFish Message Queue 4.4

Neue Funktionen in Message Queue 4.3

Message Queue 4.3 war eine Unterversion, die eine Reihe von Funktionserweiterungen und Fehlerkorrekturen enthielt. Dieser Abschnitt enthält eine Beschreibung neuer Funktionen in dieser Version:

Universal Message Service (UMS)

Mit Message Queue 4.3 wird ein neuer Universal Messaging Service (UMS) und eine Messaging-API eingeführt, die den Zugriff auf Message Queue über ein beliebiges HTTP-fähiges Gerät ermöglicht. Auf diese Art können fast alle Anwendungen miteinander kommunizieren und von der Zuverlässigkeit und garantierten Zustellung durch JMS-Messaging profitieren. Außerdem bietet UMS eine erweiterte Skalierbarkeit für JMS-Messaging, wodurch die Anzahl der Messaging-Clients internetähnliche Ausmaße erreichen kann.

Architektur

Die grundlegende UMS-Architektur wird in der folgenden Abbildung gezeigt:

Abbildung 1–1 UMS-Architektur

Abbildung, die den UMS als Schnittstelle zwischen Clients ohne JMS und einem JMS-Provider zeigt.

Der UMS, der auf einem Webserver ausgeführt wird, ist sprachneutral und plattformunabhängig. Der UMS dient als Schnittstelle zwischen einer Client-Anwendung ohne JMS und einem JMS-Provider. Er empfängt Meldungen, die mithilfe der UMS-API versendet werden, wandelt sie in JMS-Meldungen um und erzeugt sie am Ziel im JMS-Provider mithilfe des nativen Protokolls des Providers. Ebenso empfängt er Nachrichten von den Zielen im JMS-Provider, wandelt sie in Text oder SOAP-Nachrichten um und sendet sie entsprechend den über die UMS-API angegebenen Anforderungen an Clients ohne JMS.

Die einfache, sprachunabhängige, protokollbasierte UMS-API unterstützt sowohl webbasierte als auch nicht webbasierte Anwendungen und kann mit Skript- und Programmiersprachen verwendet werden. Die API wird in zwei Stilen angeboten: als einfache Messaging-API, die ein Protokoll des Typs Representational State Transfer (REST) verwendet, und als XML-Messaging-API, die das Protokoll in einen SOAP-Nachrichten-Header einbettet. In beiden Fällen erfordert jedoch die API nur eine einfache HTTP-Anforderung zum Senden oder Empfangen einer Nachricht.

Die Einfachheit und Flexibilität der UMS-API bedeutet, dass AJAX, .NET, Python, C, Java und viele andere Anwendungen Textnachrichten und/oder SOAP-Nachrichten (mit Anhang) an JMS-Ziele senden oder von JMS-Zielen empfangen können. Beispielsweise können Python-Anwendungen mit .NET-Anwendungen, das iPhone mit Java-Anwendungen usw. kommunizieren.

Für Message Queue 4.3 unterstützt der UMS nur Message Queue als JMS-Provider.

Weitere Funktionen

Der UMS kann nicht nur wie oben beschrieben als einfache Schnittstelle verwendet werden. Er unterstützt Client-Sitzungen mit und ohne Status. Der UMS behält den Sitzungsstatus für die Client-Anwendung über mehrere Dienstanforderungen hinweg bei, wenn dies vom Client gefordert wird. Der UMS kann eine Container-verwaltete Authentifizierung nutzen und/oder zur Authentifizierung von Clients mithilfe des Message Queue-Brokers konfiguriert werden. Der UMS unterstützt außerdem Transaktionen und ermöglicht Client-Anwendungen das Übernehmen und Zurücksetzen von mehreren Dienstanforderungen als einzelne atomare Einheit.

Da der UMS eine große Anzahl von Clients über eine einzelne Verbindung mit dem Message Queue-Broker unterstützen kann, entlastet er die Verbindungsdienste des Brokers und ermöglicht maximale Skalierbarkeit. Außerdem kann die UMS-Kapazität durch horizontale Skalierung erhöht werden und ermöglicht so ein internetähnliches Messaging-Aufkommen.

Aufgrund der Einfachheit der protokollbasierten UMS-API sind auf der Client-Seite keine Client-Bibliotheken erforderlich. Dadurch kann die API zukünftig für zusätzliche JMS-Funktionen ohne Upgrade der Client-Anwendungen erweitert werden.

Verwenden von UMS

Um den UMS zu verwenden, stellen Sie ihn in einem Webcontainer bereit, der Servlet 2.4 oder höhere Spezifikationen unterstützt. Starten Sie den Message Queue-Broker, erstellen Sie die gewünschten Ziele und schreiben Sie eine Messaging-Anwendung, die die UMS-API zum Senden oder Empfangen von Nachrichten verwendet.

Die im Rahmen von Message Queue 4.3 bereitgestellte UMS-Datei imqums.war wird, abhängig von der Plattform, an einem der folgenden Speicherorte installiert:

Sie können die .war-Datei bei Bedarf umbenennen.

Tabelle 1–5 Speicherort der Datei imqums.war

Plattform 

Speicherort von imqums.war

Solaris 

/usr/share/lib/imq

Linux 

/opt/sun/mq/share/lib

AIX 

IMQ_HOME/lib

Windows 

IMQ_HOME\lib

Nachdem Sie die Datei imqums.war in einem Webcontainer unter localhost:port bereitgestellt haben, finden Sie die UMS-Dokumentation unter:

http://localhost:port/imqums

Andernfalls steht Ihnen folgende UMS-Dokumentation zur Verfügung:

Unterstützte Webcontainer

UMS wird gegenwärtig auf folgenden Webcontainern unterstützt:

Unterstützung der AIX-Plattform

Message Queue 4.3 bietet Pakete für die AIX-Plattform und ein entsprechendes Installationsprogramm.

Die AIX-Implementierung von Message Queue unterstützt folgende Software:

Installationsanweisungen finden Sie in Kapitel 4, AIX Installation in Sun GlassFish Message Queue 4.4 Installation Guide.

Auf der AIX-Plattform werden Message Queue-Dateien in einem einzigen Message Queue-Ausgangsverzeichnis, IMQ_HOME, installiert. IMQ_HOME gibt das Verzeichnis mqInstallHome/mq an, wobei mqInstallHome dem Ausgangsverzeichnis der Installation entspricht, das Sie bei der Installation des Produkts angeben (standardmäßig home-directory /MessageQueue).

Daraus ergibt sich die gleiche Message Queue-Verzeichnisstruktur wie bei der Windows-Plattform (siehe Abschnitt zu Windows in Anhang A, Platform-Specific Locations of Message Queue Data in Sun GlassFish Message Queue 4.4 Administration Guide).

Die Message Queue-Unterstützung für die AIX-Plattform schließt die Unterstützung der Message Queue C-API ein. Anweisungen zum Erstellen und Kompilieren von C-Anwendungen auf der AIX-Plattform finden Sie unter XREF.

Neues Zip-basiertes Installationsprogramm

Mit Message Queue 4.3 wird ein neues Installationsprogramm eingeführt, das eine Zip-basierte Verteilung im Gegensatz zur Verteilung in Form von nativen Paketen ermöglicht. Das Programm installiert die .zip-Pakete für Message Queue auf der AIX-Plattform.

Das neue Installationsprogramm extrahiert die .zip-Dateien für Message Queue in alle Verzeichnisse, auf die Sie Schreibzugriff besitzen. (Sie benötigen keine root-Berechtigung.) Es ermöglicht außerdem das Registrieren Ihrer Message Queue-Installation bei Sun Connection.

Um die Größe der Download-Bundles zu reduzieren, ist die Java Runtime nicht mehr in der zip-basierten Verteilung enthalten (auf den meisten Sites ist sie bereits vorhanden). Deshalb muss für den Befehl installer ein JDK oder eine JRE angegeben werden, entweder über die Umgebungsvariable JAVA_HOME oder über die Befehlszeile mithilfe der Option -j. Beispiel:

$ installer -j JDK/JRE-Pfad

Dabei entspricht JDK/JRE-Pfad dem Pfad des JDK oder der JRE.

Erweiterte Plattformunterstützung

Die folgende aktualisierte Plattformunterstützung wird für Message Queue 4.3 zertifiziert:

Zusätzliche Erweiterungen

Message Queue 4.3 bietet außerdem die folgenden zusätzlichen Erweiterungen:

Neue Verzeichnisstruktur für Windows-Plattform

Die installierte Verzeichnisstruktur für Message Queue auf der Windows-Plattform wurde im Vergleich zu früheren Versionen geändert und an diejenige der AIX-Plattform angepasst. Diese Verzeichnisstruktur wird zukünftig auch für die Solaris- und Linux-Plattformen verwendet. Dies ermöglicht mehrere Installationen auf einem einzelnen Computer und die automatische Aktualisierung von Message Queue über Sun Connection, einem von Sun gehosteten Dienst, mit dem Sie Sun-Hardware und -Software aufzeichnen, organisieren und warten können (siehe Unterstützung des Installationsprogramms für Sun Connection-Registrierung).

Neue Broker-Eigenschaften

Die nachfolgend beschriebenen neuen Eigenschaften sind bei der Konfiguration eines Brokers verfügbar:

Tabelle 1–6 Broker-Weiterleitungs- und Zustellungseigenschaften

Eigenschaft 

Typ 

Standardwert 

Beschreibung 

imq.transaction.producer.maxNumMsgs

Integer 

1000

Die maximale Anzahl von Nachrichten, die der Produzent in einer einzelnen Transaktion verarbeiten kann. Es wird empfohlen, einen Wert unter 5000 festzulegen, um eine Überlastung der Ressourcen zu verhindern. 

imq.transaction.consumer.maxNumMsgs

Integer 

100

Die maximale Anzahl von Nachrichten, die der Konsument in einer einzelnen Transaktion verarbeiten kann. Es wird empfohlen, einen Wert unter 1000 festzulegen, um eine Überlastung der Ressourcen zu verhindern. 

imq.persist.jdbc.connection.limit

Integer 

5

Die maximale Anzahl von Verbindungen zur Datenbank, die geöffnet werden können. 

Verbesserungen der JMX Administration-API

Der JMX-API wurden ein neues Attribut und neue Schlüssel für zusammengesetzte Datumsangaben hinzugefügt:

Weitere Informationen finden Sie in Kapitel 3, Message Queue MBean Reference in Sun GlassFish Message Queue 4.4 Developer’s Guide for JMX Clients.

Auflisten dauerhafter Abonnements für Platzhalter-Abonnenten

Der Befehl zum Auflisten dauerhafter Abonnements:

list dur [-d Themenname]

wurde erweitert, sodass die Angabe des Themennamens optional ist. Wenn kein Thema angegeben wird, listet der Befehl die dauerhaften Abonnements für alle Themen auf (auch diejenigen, für die Platzhalter-Namenskonventionen verwendet wurden).