WebSphere MQ ist eine Nachrichtenübertragungssoftware, die die Kommunikation zwischen InterChange Server und den Connectors ermöglicht.
Dieser Abschnitt beschreibt die Installation und Konfiguration von WebSphere MQ zur nativen Verwendung oder als JMS-Provider (Java Messaging Service) für die Verwendung in einer InterChange Server-Umgebung. Angaben zur Konfiguration von WebSphere MQ als JMS-Provider finden Sie unter "WebSphere MQ für JMS konfigurieren".
Wenn die folgenden Bedingungen für Ihre Umgebung zutreffen, sollten Sie JMS verwenden:
Unter den beschriebenen Bedingungen sollten Sie WebSphere MQ nicht nativ, sondern als JMS-Provider verwenden, da das native MQ sich zur Verwaltung und für andere Komponenten auf CORBA stützt. Bei einer Verwendung als JMS-Provider gibt es keine Abhängigkeit von CORBA mehr. Außerdem behält das native MQ nur eingehende Ereignisse auf dem Server permanent bei.
Installieren Sie WebSphere MQ im gleichen Netz wie InterChange Server. Die Installation umfasst die folgenden Schritte:
Alle Schritte werden in den nachfolgenden Abschnitten ausführlicher erläutert.
Die WebSphere MQ-Software wird im Unterverzeichnis mqm der Verzeichnisse /ausgangsverzeichnis_der_mq-installation (Komponenten von WebSphere MQ) und /var (Arbeitsdaten) installiert. Daher müssen diese Verzeichnisse (oder Dateisysteme) über genügend Speicherplatz für WebSphere MQ verfügen.
Es wird empfohlen, die folgenden Verzeichnisse zu erstellen und als Dateisysteme anzuhängen: /var/mqm, /var/mqm/log, /var/mqm/errors. Außerdem empfiehlt es sich, für die Protokolle ein anderes physisches Laufwerk als für die Warteschlangen (/var/mqm) zu verwenden. In Tabelle 9 ist der Platzbedarf für die WebSphere MQ-Komponenten angegeben.
Damit WebSphere MQ ausgeführt werden kann, wird ein spezieller Benutzereintrag namens mqm benötigt.
AIX |
---|
|
Solaris |
---|
HP-UX |
---|
|
Linux (Red Hat und SuSE) |
---|
|
Auf vielen UNIX-Systemen wird der Benutzereintrag inaktiviert, wenn als zweites Feld im Eintrag für mqm in der Datei /etc/passwd ein Stern (*) verwendet wird. Falls Sie andere Prüfmethoden für die Anmeldung verwenden, ziehen Sie Ihr Systemhandbuch hinzu.
Stellen Sie sicher, dass die Gruppe mqm die Standardgruppe des Administrators für WebSphere Business Integration (standardmäßig admin) ist.
Die Standardgruppe für einen Benutzereintrag ist das vierte Feld im Eintrag für den Benutzereintrag des Administrators für WebSphere Business Integration. Dieses Feld muss die Gruppennummer der Gruppe mqm enthalten. Um die Gruppennummer zu ermitteln, können Sie den folgenden Befehl über die Shelleingabeaufforderung ausführen:
grep mqm /etc/group
Die Gruppennummer ist das dritte Feld in der resultierenden Ausgabezeile. Fügen Sie diese Gruppennummer im Standardgruppenfeld für den Eintrag des Administrators für WebSphere Business Integration in /etc/passwd ein.
Sofern Sie als Root angemeldet sind, können Sie mit dem Befehl groups prüfen, ob die Gruppe mqm in der Ausgabe der Gruppen aufgeführt ist, deren Mitglied root ist. Informationen zum Administrator für WebSphere Business Integration finden Sie unter Benutzereintrag des Administrators für IBM WebSphere Business Integration erstellen.
Unter Red Hat Linux empfiehlt es sich, die Umgebungsvariable LD_ASSUME_KERNEL zu ändern und die folgende Zeile zur Datei .bash_profile des Benutzers hinzuzufügen, der WebSphere MQ installieren soll (mqm):
export LD_ASSUME_KERNEL=2.4.19
Anschließend sollten Sie die Datei .bash_profile mit dem folgenden Befehl ausführen:
. .bash_profile
Geben Sie den Befehl an einer Eingabeaufforderung ein.
Es empfiehlt sich, für die WebSphere MQ-Software die folgende Installationsposition zu verwenden:
Ist in den Dateisystemen /ausgangsverzeichnis_der_websphere_mq-installation und /var nicht genügend Speicherplatz verfügbar, können Sie ein Extraktionsverzeichnis für die WebSphere MQ-Software (z. B. /ausgangsverzeichnis/mqm) erstellen und in dieses Verzeichnis versetzen. Sie müssen symbolische Verbindungen von den Verzeichnissen /ausgangsverzeichnis_der_websphere_mq-installation/mqm und /var/mqm zu diesem Extraktionsverzeichnis erstellen.
Weitere Informationen finden Sie unter Benötigten Speicherplatz ermitteln.
IBM liefert die unterstützte Version der WebSphere MQ-Software auf separaten CD-ROMs. Diese CDs enthalten mehrere Verzeichnisse mit Software, die auf Ihrem System installiert werden muss.
Um die Version von WebSphere MQ in Ihrer aktuellen Umgebung zu prüfen, geben Sie den Befehl mqver an der Eingabeaufforderung /ausgangsverzeichnis_der_websphere_mq-installation/mqm/bin ein.
Die folgenden Schritte bieten Ihnen einen kurzen Überblick über den Installationsprozess von WebSphere MQ:
So installieren Sie unter Solaris WebSphere MQ in den Verzeichnissen /ausgangsverzeichnis_der_websphere_mq-installation und /var:
pkgadd -d /mq-cd/mq_solaris
Hierbei steht mq-cd für den Mountpunkt der WebSphere MQ-CD.
# Default conversions are enabled by creating two lines similar to the # two following, but removing the # character which indicates a comment. default 0 500 1 1 0 default 0 850 1 2 0
Für das Business Integration-System müssen Sie die Warteschlangen mit den unten aufgeführten Eigenschaften konfigurieren. Geben Sie den Namen jeder Warteschlange als Standardeigenschaft in der Konfigurationsdatei des Connectors an.
Fahren Sie mit InterChange Server erstmalig starten fort.
Programme werden aufgerufen, wenn an einem bestimmten Port eine Verbindung hergestellt wird. Der WebSphere MQ-Listener verwendet Port 1414. Daher müssen Sie die unter Ports konfigurieren aufgeführten Systemdateien bearbeiten, damit Port 1414 zum Starten des WebSphere MQ-Listeners konfiguriert ist.
WebSphere MQ-Listener für einzelne Instanz von InterChange Server konfigurieren: 1 Instanz von InterChange Server auf einer UNIX-Maschine verwendet den Warteschlangenmanager von WebSphere MQ. Der WebSphere MQ-Listener verwendet den Standardport 1414. Daher müssen Sie die unter Ports konfigurieren aufgeführten Systemdateien bearbeiten, damit Port 1414 zum Starten des WebSphere MQ-Listeners konfiguriert ist.
So konfigurieren Sie Port 1414 für den WebSphere MQ-Listener:
WebSphereMQ 1414/tcp # WebSphere MQ channel listener
Verwenden Sie zwischen den Informationsspalten Tabulatorschritte, damit diese an den vorhandenen Einträgen der Datei /etc/services ausgerichtet sind.
WebSphereMQ stream tcp nowait mqm /ausgangsverzeichnis_der_websphere_mq-installation/mqm/bin/amqcrsta amqcrsta -m ihr_warteschlangenname.queue.manager
Hierbei steht ihr_warteschlangenname für den Namen Ihres Warteschlangenmanagers vonWebSphere MQ.
Der gesamte Befehl ist eine einzige Zeile in der Datei /etc/inetd.conf. Verwenden Sie zwischen den Feldern Tabulatorschritte, damit sie an den vorhandenen Einträgen in der Datei ausgerichtet sind. Geben Sie diese Zeile exakt so ein, wie sie hier dargestellt ist. Der Inhalt dieser Datei beachtet die Groß-/Kleinschreibung.
ps -ef | grep inetd
Verwenden Sie nicht die Prozess-ID der Ausgabezeile, für die in der letzten Spalte die Angabe grep inetd enthalten ist.
kill -HUP prozess-id
Beispiel: Angenommen, der Befehl ps aus Schritt 3 generiert die folgende Ausgabe für den Prozess inetd:
root 144 1 0 17:01:40 ? 0:00 /usr/sbin/inetd -s
Da die zweite Spalte die Prozess-ID enthält, lautet der Befehl kill folgendermaßen:
kill -HUP 144
Alternativ können Sie auch einen Warmstart des Systems ausführen, damit der Dämon inetd die Datei /etc/inetd.conf erneut liest.
WebSphere MQ-Listener für mehrere Instanzen von InterChange Server konfigurieren : Mehrere Instanzen von InterChange Server können den gleichen Warteschlangenmanager von WebSphere MQ gemeinsam nutzen. Wenn eine dieser Instanzen jedoch den Warteschlangenmanager stoppen muss, verlieren alle anderen Instanzen den Zugriff auf den Warteschlangenmanager. Falls sich beispielsweise die InterChange Server-Instanzen für die Entwicklung und die Qualitätskontrolle auf derselben Maschine befinden, ist es unter Umständen sinnvoll, diese Instanzen so zu konfigurieren, dass der Warteschlangenmanager für eine der Instanzen ohne Auswirkungen auf die andere Instanz gestoppt und gestartet werden kann.
Der WebSphere MQ-Listener ist an einem TCP/IP-Port für die Warteschlangenmanager von WebSphere MQ empfangsbereit. Sie können jedoch nur einen einzigen Warteschlangenmanager pro TCP/IP-Port verwenden. Wenn Sie auf einem Computer mehrere Warteschlangenmanager einsetzen wollen, müssen Sie daher jeden Warteschlangenmanager auf einem separaten Port konfigurieren. Für jeden Port müssen Sie die unter Ports konfigurieren aufgeführten Systemdateien bearbeiten, damit die Ports zum Starten der WebSphere MQ-Listener konfiguriert sind.
So konfigurieren Sie mehrere WebSphere MQ-Listener:
Um beispielsweise die Ports 1414 und 1415 für zweiWebSphere MQ-Listener zu konfigurieren, fügen Sie die folgenden Zeilen zur Datei /etc/services hinzu:
WebSphereMQ1 1414/tcp # WebSphere MQ listener for q1.queue.manager WebSphereMQ2 1415/tcp # WebSphere MQ listener for q2.queue.manager
Verwenden Sie zwischen den Informationsspalten Tabulatorschritte, damit diese an den vorhandenen Einträgen der Datei /etc/services ausgerichtet sind.
Um beispielsweise zwei Warteschlangenmanager (q1.queue.manager und q2.queue.manager) zu starten, fügen Sie die folgenden Zeilen zur Datei /etc/inetd.conf hinzu:
WebSphereMQ1 stream tcp nowait mqm /ausgangsverzeichnis_der_mq-installation/mqm/bin/amqcrsta amqcrsta -m q1.queue.manager
WebSphereMQ2 stream tcp nowait mqm /ausgangsverzeichnis_der_websphere_mq-installation/mqm/bin/amqcrsta amqcrsta -m q2.queue.manager
Verwenden Sie zwischen den Feldern Tabulatorschritte, damit sie an den vorhandenen Einträgen in der Datei ausgerichtet sind. Geben Sie diese Zeile exakt so ein, wie sie hier dargestellt ist. Der Inhalt dieser Datei beachtet die Groß-/Kleinschreibung.
Das Installationsprogramm geht davon aus, dass der Warteschlangenmanager den Namen der lokalen Instanz von InterChange Server enthält. Falls Sie einen Warteschlangenmanager mit einem anderen Warteschlangennamen erstellt haben, muss der Administrator für WebSphere Business Integration diesen Namen im Rahmen des Installationsprozesses eingeben.
InterChange Server geht davon aus, dass die Kommunikation mit einem Warteschlangenmanager von WebSphere MQ an Port 1414 erfolgt. Falls InterChange Server mit einem Warteschlangenmanager an einem anderen Port als 1414 kommunizieren soll, muss der Administrator für WebSphere Business Integration den Konfigurationsparameter PORT im Rahmen der Installation von InterChange Server zum Abschnitt MESSAGING der Datei InterchangeSystem.cfg hinzufügen. Um diesen Parameter PORT festlegen zu können, muss der Administrator für WebSphere Business Integration die Portnummer kennen, die Sie zugeordnet haben.
Sie können die für Ihren Adapter benötigten WebSphere MQ-Warteschlangen mit einer der folgenden Methoden konfigurieren:
WebSphere Business Integration Adapters bietet eine Reihe von Scriptdateien, die Sie zur Konfiguration der WebSphere MQ-Warteschlangen, die für die implementierten Adapter benötigt werden, ausführen können.
Die folgenden Scriptdateien befinden sich im Verzeichnis PRODUKTVERZ/mqseries:
Der Inhalt der Datei crossworlds_mq.tst ist unten dargestellt. Diese Datei muss manuell bearbeitet werden. Der obere Teil der Datei enthält die nativen MQ-Informationen, und der untere Teil enthält JMS-spezifische Informationen. Mit dieser einen Datei können Sie die Warteschlangen angeben, die von den konfigurierten Adaptern benötigt werden. So bearbeiten Sie die Datei:
DEFINE QLOCAL(IC/SERVER_NAME/DestinationAdapter) DEFINE QLOCAL(AP/DestinationAdapter/SERVER_NAME)
Dies gilt nur bei Business Integration-Systemen, die WebSphere InterChange Server verwenden.
*******************************************************************/ * */ * Define the local queues for all Server/Adapter pairs. */ * For MQ queues, they must have the following definition: */ * Application = DEFINE QLOCAL (AP/AdapterName/ServerName) */ * */ * Example: */ * DEFINE QLOCAL(AP/ClarifyConnector/CrossWorlds) */ * */ * DEFINE QLOCAL(AP/SAPConnector/CrossWorlds) */ * */ * If your server is named something different than 'CrossWorlds' */ * make sure to change the entries to reflect that. */ ********************************************************************/ DEFINE QLOCAL(IC/SERVER_NAME/DestinationAdapter) DEFINE QLOCAL(AP/DestinationAdapter/SERVER_NAME) ********************************************************************/ * For each JMS queue (delivery Transport is JMS), * default values follow the convention: * AdapterName/QueueName ********************************************************************/ DEFINE QLOCAL(AdapterName/AdminInQueue) DEFINE QLOCAL(AdapterName/AdminOutQueue) DEFINE QLOCAL(AdapterName/DeliveryQueue) DEFINE QLOCAL(AdapterName/RequestQueue) DEFINE QLOCAL(AdapterName/ResponseQueue) DEFINE QLOCAL(AdapterName/FaultQueue) DEFINE QLOCAL(AdapterName/SynchronousRequestQueue) DEFINE QLOCAL(AdapterName/SynchronousResponseQueue) ********************************************************************/ * Define the default CrossWorlds channel type */ ********************************************************************/ DEFINE CHANNEL(CHANNEL1) CHLTYPE(SVRCONN) TRPTYPE(TCP) ********************************************************************/ * End of CrossWorlds MQSeries Object Definitions */ ********************************************************************/
Informationen zur Konfiguration von Warteschlangen mit WebSphere MQ-Befehlen enthalten die Handbücher WebSphere MQ: System Administration Guide und WebSphere MQ: Script (MQSC) Command Reference.
Fahren Sie mit InterChange Server erstmalig starten fort.
WebSphere MQ verwendet Semaphore und gemeinsam genutzten Speicher. Höchstwahrscheinlich ist die Standardkernelkonfiguration von Solaris oder HP-UX für die Unterstützung dieser Funktionen nicht geeignet. Daher müssen Sie die Kernelkonfigurationsdatei /etc/system bearbeiten, damit WebSphere MQ korrekt ausgeführt werden kann.
Tabelle 17 gibt Aufschluss über die Kernelkonfigurationsparameter von
Solaris. Tabelle 18 enthält die Kernelkonfigurationsparameter von HP-UX.
Diese Parameter werden zum unteren Abschnitt der Datei /etc/system
hinzugefügt.
Tabelle 17. Einstellungen der Kernelkonfiguration für WebSphere MQ unter Solaris
set msgsys:msginfo_msgmap=1026 set msgsys:msginfo_msgmax=4096 set msgsys:msginfo_msgmnb=4096 set msgsys:msginfo_msgmni=50 set semsys:seminfo_semaem = 16384 set semsys:seminfo_semmap = 1026 set semsys:seminfo_semmni = 1024 set semsys:seminfo_semmns = 16384 set semsys:seminfo_semmnu=2048 set semsys:seminfo_semmsl = 100 set semsys:seminfo_semopm = 100 set semsys:seminfo_semume = 256 set shmsys:shminfo_shmmax = 209715200 set shmsys:shminfo_shmmin = 1 set shmsys:shminfo_shmmni=1024 set shmsys:shminfo_shmseg = 1024 |
Tabelle 18. Einstellungen der Kernelkonfiguration fürWebSphere MQ unter HP-UX
set Shmmax=0x3908b100 set Shmseg=1024 set Shmmni=1024 set Shmem=1 set Sema=1 set Semaem=16384 set Semvmx=32767 set Semmns=16384 set Semmni=2048 set Semmap=2050 set Semmnu=2048 set Semume=256 set Msgmni=1025 set Msgtql=2048 set Msgmap=2050 set Msgmax=65535 set Msgmnb=65535 set Msgssz=16 set Msgseg=32767 set Maxusers=400 set Max_thread_proc=4096 set maxfiles=2048 set nfile=10000 |
Falls Sie einen Kernelkonfigurationsparameter in der Datei /etc/system falsch eingegeben haben, wird beim Warmstart des Systems eine Fehlernachricht ausgegeben. In diesem Fall berichtigen Sie den Fehler in der Datei /etc/system, und führen Sie den Warmstart des Systems erneut aus.
Für jeden Connector, der für die Verwendung mit dem JMS-Transport von WebSphere MQ konfiguriert ist, müssen Sie die Konfigurationsdatei des lokalen Connectors mit dem Tool "Connector Configurator" bearbeiten.
Geben Sie einen Warteschlangenmanager an, und konfigurieren Sie die
Eigenschaftswerte wie in Tabelle 19 angegeben. In diesem Beispiel wird der Connector
JmsConnector konfiguriert.
Tabelle 19. Eigenschaftswerte für JMS-Transport
Eigenschaft | Wert |
---|---|
AdminInQueue | JMSCONNECTOR\ADMININQUEUE |
AdminOutQueue | JMSCONNECTOR\ADMINOUTQUEUE |
DeliveryQueue | JMSCONNECTOR\DELIVERYQUEUE |
FaultQueue | JMSCONNECTOR\FAULTQUEUE |
RequestQueue | JMSCONNECTOR\REQUESTQUEUE |
ResponseQueue | JMSCONNECTOR\RESPONSEQUEUE |
SynchronousRequestQueue | JMSCONNECTOR\SYNCHRONOUSREQUESTQUEUE |
SynchronousResponseQueue | JMSCONNECTOR\SYNCHRONOUSRESPONSEQUEUE |
Sie müssen nur dann einen Wert für die Eigenschaften UserName und Password angeben, wenn Sie im Clientmodus auf den Warteschlangenmanager zugreifen.
Nachdem Sie diese Änderungen vorgenommen haben, müssen Sie das Repository erneut laden und InterChange Server sowie den Connector erneut starten.
Möglicherweise müssen Sie die Standardkonfiguration der WebSphere MQ-Nachrichtenwarteschlangen überarbeiten, damit große Objekte oder viele Nachrichten verarbeitet werden können.
Um die maximal zulässige Länge der Nachrichtenwarteschlange und die maximal zulässige Nachrichtenlänge zu überarbeiten, legen Sie die Werte für die Eigenschaften MAXDEPTH und MAXMSGL in der entsprechenden Datei .tst wie in der folgenden Prozedur beschrieben fest.
WebSphere MQ-Nachrichtenwarteschlangen sind standardmäßig für die Aufnahme von bis zu 5.000 Nachrichten konfiguriert. Während Zeiten mit hohem Datenverkehr oder einer erstmaligen Konvertierung auf InterChange Server kann dieser Standardwert überschritten werden. Dies führt zu Fehlern und verhindert, dass die Connectors Nachrichten an ICS senden können. Um dies zu vermeiden, können Sie die maximale Anzahl der zulässigen Nachrichten in einer Warteschlange und die maximale Anzahl nicht festgeschriebener Nachrichten in allen Warteschlangen heraufsetzen. Die optimalen Werte für diese Einstellungen können je nach den gegebenen Umständen variieren. Wenn Sie beispielsweise eine erstmalige Konvertierung auf InterChange Server vornehmen, empfiehlt es sich, die maximale Warteschlangenlänge mit mindestens 20.000 Nachrichten festzulegen.
Um die Einstellung für MAXDEPTH zu ändern, fügen Sie nach jeder Warteschlangendefinition die folgenden Optionen hinzu:
ALTER QLOCAL (name_der_warteschlange) MAXDEPTH (gewünschte_länge)
Beispiel:
DEFINE QLOCAL(AP/EMailConnector/servername) ALTER QLOCAL(AP/EMailConnector/servername) MAXDEPTH(20000)
Sie können auch den Warteschlangenmanager so ändern, dass in allen Warteschlangen insgesamt mehr nicht festgeschriebene Nachrichten zulässig sind, als im Standardwert definiert ist. Die Anzahl der zulässigen nicht festgeschriebenen Nachrichten sollte die Summe der maximalen Warteschlangenlängen (MAXDEPTH) aller Warteschlangen sein. Der von InterChange Server belegte Speicher sollte nur dann zunehmen, wenn die Anzahl der nicht festgeschriebenen Nachrichten zunimmt.
Zum Ändern der Einstellung für MAXUMSGS fügen Sie die folgende Zeile hinzu:
ALTER QMGR MAXUMSGS (anzahl)
Beispiel:
ALTER QMGR MAXUMSGS (400000)
Ändern Sie diesen Wert nur dann, wenn Sie Geschäftsobjekte verwenden, deren Größe den Standardwert für MAXMSGL von 4 MB übersteigt. Zum Ändern des Werts für MAXMSGL fügen Sie nach jeder Warteschlangendefinition den folgenden Befehl hinzu:
ALTER QLOCAL (name_der_warteschlange) MAXMSGL (maximal_zulässige_anzahl_byte_pro_nachricht)