+ All Categories
Home > Documents > Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über...

Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über...

Date post: 21-Apr-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
39
Tutorial MQ3 Tutorial MQ3 CICS-Zugriff mit Hilfe von WebSphere MQ und einem Java-Klienten Die Bearbeitung des Tutorials MQ1 ist keine Voraussetzung für dieses Tutorial, wird jedoch empfohlen. Die Bearbeitung des Tutorials MQ2 wird hingegen vorausgesetzt. Hinweis: Dieses Tutorial wurde unter Verwendung der Benutzer-ID "PRAK222" erstellt. In allen Dateinamen müssen Sie "PRAK222" durch Ihre eigene Benutzer-ID ersetzen. Außerdem wird oft in den Erklärungen PRAKxxx verwendet, wobei xxx Ihre Praktikumsnummer sein soll. Bei Anweisungen, die sich auf Eingaben beziehen, sind die Anführungs- zeichen nicht mit einzugeben. WebSphere MQ In Tutorial MQ1 haben wir bereits einen Queue Manager und eine lokale Queue kennen- gelernt. In diesem Tutorial werden wir nun zwei Queue Manager auf unterschiedlichen Plattformen miteinander verbinden und Nachrichten zwischen diesen tauschen. Clientseitig kommt hierzu noch eine Java-Anwendung zum Einsatz, serverseitig wird auf eine CICS-Transaktion zugegriffen. Es gibt zwei Arten, wie wir die lokale MQ-Installation administrieren können. Einerseits können wir den WebSphere MQ Explorer mit seiner graphischen, auf Eclipse basierenden, Oberfläche benutzen, andererseits jedoch auf Kommandozeilen-Befehle zurückgreifen. In diesem Tutorial werden wir beide Möglichkeiten kennenlernen. Es ist unbedingt erforderlich, dass wir zunächst das Tutorial MQ2 bearbeiten, da wir uns dort unter anderem mit der CICS-Transaktion beschäftigen, auf die im Laufe dieses Tutorials zugegriffen werden soll. Sollte dies bisher nicht der Fall gewesen sein, so holen wir das jetzt nach. 1
Transcript
Page 1: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Tutorial MQ3

CICS-Zugriff mit Hilfe von WebSphere MQ und einem Java-Klienten

Die Bearbeitung des Tutorials MQ1 ist keine Voraussetzung für dieses Tutorial, wird jedochempfohlen. Die Bearbeitung des Tutorials MQ2 wird hingegen vorausgesetzt.

Hinweis: Dieses Tutorial wurde unter Verwendung der Benutzer-ID "PRAK222" erstellt. In allen Dateinamen müssen Sie "PRAK222" durch Ihre eigene Benutzer-ID ersetzen. Außerdem wird oft in den Erklärungen PRAKxxx verwendet, wobei xxx Ihre Praktikumsnummer sein soll.Bei Anweisungen, die sich auf Eingaben beziehen, sind die Anführungs-zeichen nicht mit einzugeben.

WebSphere MQ

In Tutorial MQ1 haben wir bereits einen Queue Manager und eine lokale Queue kennen-gelernt. In diesem Tutorial werden wir nun zwei Queue Manager auf unterschiedlichen Plattformen miteinander verbinden und Nachrichten zwischen diesen tauschen.Clientseitig kommt hierzu noch eine Java-Anwendung zum Einsatz, serverseitig wird auf eine CICS-Transaktion zugegriffen.

Es gibt zwei Arten, wie wir die lokale MQ-Installation administrieren können. Einerseits können wir den WebSphere MQ Explorer mit seiner graphischen, auf Eclipse basierenden, Oberfläche benutzen, andererseits jedoch auf Kommandozeilen-Befehle zurückgreifen.

In diesem Tutorial werden wir beide Möglichkeiten kennenlernen.

Es ist unbedingt erforderlich, dass wir zunächst das Tutorial MQ2 bearbeiten, da wir uns dort unter anderem mit der CICS-Transaktion beschäftigen, auf die im Laufe dieses Tutorials zugegriffen werden soll.Sollte dies bisher nicht der Fall gewesen sein, so holen wir das jetzt nach.

1

Page 2: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Zu diesem Tutorial

Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1).

Wir haben in unserem Tutorial wie in der Abbildung zwei Queue Manager, welche jeweils auf eine Anwendung zugreifen (Client: die Java-Anwendung MQClient, Server: die CICS-Transaktion NACT).

Die beiden Queue Manager werden über Channels miteinander kommunizieren. Die Kommunikation wird über “das Internet” abgewickelt, die Verbindung über TCP/IP hergestellt werden.

Werfen wir nun einen Blick auf die Konstellation in unserem Tutorial (Abbildung 2).

Der Name unseres lokalen Queue Managers ist PRAK222.NACT (“222” ist wie üblich durch unsere Prakikumsnummer zu ersetzen). Der Name des Queue Managers auf z/OS-Seite ist CSQ6.

Für die Kommunikation werden wir jeweils einen Sende- und einen Empfangskanal anlegen. Diese werden mit CSQ6.TO.PRAK222.NACT und PRAK222.NACT.TO.CSQ6 bezeichnet, entsprechend der Richtung, in die sie weisen.

2

Abbildung 1: WebSphere MQ

Page 3: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Arbeitsschritte

Wir beginnen damit, unsere MQ-Objekte auf dem Client zu erstellen.Das sind neben dem Queue Manager (PRAKxxx.NACT) noch drei Queues (Achtung, in der Abbildung ist nur eine dargestellt), sowie drei Channels.

Als nächstes werden auf dem Server noch zwei Queues und zwei Channels erstellt, der Queue Manager CSQ6 sollte hier schon laufen, wenn nicht sollte umgehend der Betreuer informiert werden.

Wenn wir alle Objekte erfolgreich erstellt haben, werden wir sie noch starten müssen. Zu starten sind der Queue Manager auf unserem Client, sowie die beiden Sendekanäle auf Client und Server.

Im Anschluss daran können wir mit unserer Java-Anwendung, die als Presentation Logic für die CICS-Transaktion NACT dient, Nachrichten versenden, die dann der Server an die Transaktion über die MQ-CICS-Bridge weiterleitet.

Zu diesem Tutorial gehört auch ein sauberes Herunterfahren der einzelnen Komponenten.Dies wollen wir im letzten Arbeitsschritt erledigen.

3

Abbildung 2: Unser Tutorial

Page 4: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Lokale MQ-Objekte erstellen

Zunächst starten wir die WebSphere MQ Explorer-Installation aus Tutorial 12.

Der WebSphere MQ Explorer basiert, wie mittlerweile viele andere IBM-Administrations- und Entwicklungsprodukte, auf dem Eclipse-Framework. Der Anblick sollte uns also vertraut sein.

Nach dem Programmstart sollten wir ein Fenster entsprechend dem Screenshot in Abbildung 3 sehen.

Auf der linken Seite (der rote Kasten) sehen wir den MQ Explorer – Navigator. Hier können zum Beispiel neue Objekte angelegt werden. Der Navigator ist vergleichbar mit dem Eclipse-Package Explorer.

Im grünen Kasten rechts in der Abbildung befindet sich das Fenster „MQ Explorer – Inhalt“ (sollte dies nicht der Fall sein, gehen wir auf „Fenster“ → „Perspektive zurücksetzen“ und bestätigen das Zurücksetzen auf die Standardeinstellungen).

Wir werden jetzt im Navigator einen lokalen Queue Manager erstellen.

Lokalen Queue Manager anlegen

Einen Queue Manager, in der deutschen Version „Warteschlangen-Manager“, WS-Manager, erstellen wir durch einen Rechtsklick auf den Unterpunkt „WS-Manager“ im Navigator (s. Abbildungen 4 und 5). Wir wählen im Kontextmenü „Neu“ und „WS-Manager...“

4

Abbildung 3: WebSphere MQ Explorer

Page 5: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Im nun folgenden Fenster (Abbildung 6) geben wir als Namen unseres Queue Managers (WS-Manager) PRAKxxx.NACT ein. Außerdem aktivieren wir die Checkbox bei „Als Standard-WS-Manager verwenden“.

5

Abbildung 4: MQ Explorer - Navigator

Abbildung 5: Neuen Queue Manager erstellen

Page 6: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Hinweis: Erscheint nach der Eingabe des Namens unseres Queue Managers die Meldung “Der Name des WS-Manager wird bereits verwendet“, so bedeutet dies, dass bereits ein QM angelegt ist.Diesen löschen wir nun, in dem wir im Navigator die Anzeige „WS-Manager“ ausklappen (auf das „+“ klicken) und auf den Eintrag PRAKxxx.NACT mit der rechten Maustaste klicken. Ist der Queue Manager aktiv, so müssen wir ihn zunächst anhalten. Hierzu klicken wir auf „Stoppen...“, wählen im nächsten Fenster „Gesteuert“ und bestätigen mit einem Klick auf „Ok“. Der Beendigungsprozess kann etwas dauern, danach ist der Queue Manager inaktiv.Ist er inaktiv, erscheint im Kontextmenü die Option „Löschen...“. Diese wählen wir aus und bestätigen mit „Ja“. Der alte Queue Manager wird jetzt entfernt und wir können fortfahren.

Wir klicken zweimal auf „Weiter“ (in den jeweiligen Fenstern sind keine Änderungen vorzunehmen) bis wir beim Fenster „Optionen für Empfangsprogramm eingeben“ (Abbildung 7) sind.

6

Abbildung 6: Queue Manager erstellen

Page 7: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Hier geben wir als Portnummer für den Empfang den Port „1416“ an und bestätigen mit „Fertig stellen“.

Unser Queue Manager PRAKxxx.NACT wird jetzt erstellt und anschließend gestartet.

Aufgabe: Legen Sie einen Queue Manager PRAKxxx.NACT an.

7

Abbildung 7: Empfangsprogramm-Optionen

Abbildung 8: Erstellung eines Queue Managers

Page 8: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Wir können uns jetzt anschauen, was sich im Navigator getan hat (in Abbildung 9 sehen wir die Ansicht voll ausgeklappt).

Für uns sind hier vor allem „Warteschlangen“ und „Kanäle“ von Bedeutung. Ein Klick auf einen der Unterpunkte zeigt uns im MQ Explorer-Hauptfenster (MQ Explorer – Inhalt) die erstellten Objekte. Warteschlangen und Kanäle sind noch leer. Dies werden wir jetzt ändern.

Wir werden exemplarisch eine lokale Warteschlange mit Hilfe des Explorers erstellen. Zwei weitere Warteschlangen, sowie unsere drei Kanäle, werden wir in der Kommandozeile mit Hilfe einer Definitions-Datei erzeugen.

Lokale Queue mit dem WebSphere MQ Explorer erstellen

Zuerst legen wir unsere lokale Queue CSQ6 an. Hierzu führen wir einen Rechtsklick im Navigator auf „Warteschlangen“ aus und wählen im Kontextmenü „Neu“ und „Lokale Warteschlange“ (Abbildung 10).

8

Abbildung 9: Queue Manager im Navigator

Page 9: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Im folgenden Fenster geben wir als Name CSQ6 ein und klicken auf „Weiter“.Wir haben jetzt die Möglichkeit, die Eigenschaften der Warteschlange zu ändern. Beginnen wir mit dem Abschnitt „Allgemein“ (Abbildung 11). Hier wählen wir als „Verwendung“ „Übertragung“ aus.

9

Abbildung 10: Neue lokale Queue

Abbildung 11: Eigenschaften ändern - Allgemein

Page 10: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Als nächstes müssen wir noch den Trigger (Auslöser) und die Initialisierungswarteschlange für unsere Queue angeben. Hierzu wählen wir (im linken Teil des Fensters) „Auslösefunktion“ und tragen dort (Abbildung 12) als „Daten des Auslösers“ PRAKxxx.NACT.TO.CSQ6 und als „Initialisierungswarteschlange“ SYSTEM.CHANNEL.INITQ ein. Die Initialisierungswarteschlange können wir auch mit der Option „Auswählen...“ aus einer Reihe von Vorgaben wählen.PRAKxxx.NACT.TO.CSQ6 ist der Sender-Kanal, den wir gleich anlegen werden.

Weitere Anpassungen sind nicht nötig, daher bestätigen wir mit „Fertig stellen“ und sollten eine Bestätigung („Das Objekt wurde erfolgreich erstellt.“) erhalten, die wir mit „Ok“ bestätigen.

Die restlichen Queues und Kanäle erstellen

Wie angekündigt, werden wir die restlichen Objekte in der Kommandozeile erstellen.Hierfür legen wir eine Datei namens MQadmvs.def an. Diese Datei enthält die Definitionen, die erforderlich sind, um die Objekte zu erzeugen.Den Inhalt der Datei sehen wir in Abbildung 13. PRAK222 ist hier wieder durch unsere Praktikums-ID zu ersetzen.

10

Abbildung 12: Eigenschaften ändern - Auslösefunktion

Page 11: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

DEFINE QLOCAL('PRAK222.NACT.REPLYQ') REPLACE + DEFPSIST(YES) + SHARE

DEFINE QREMOTE('PRAK222.NACT.REMOTEQ') REPLACE + RNAME('SYSTEM.CICS.BRIDGE.QUEUE') + RQMNAME('CSQ6')

DEFINE CHANNEL('PRAK222.CLIENT') CHLTYPE(SVRCONN) TRPTYPE(TCP) + MCAUSER(' ') REPLACE

DEFINE CHANNEL('PRAK222.NACT.TO.CSQ6') CHLTYPE(SDR) TRPTYPE(TCP) + XMITQ('CSQ6') + CONNAME('134.2.205.54(1416)') + MCAUSER(' ') REPLACE

DEFINE CHANNEL('CSQ6.TO.PRAK222.NACT') + CHLTYPE(RCVR) + TRPTYPE(TCP) + SEQWRAP(999999999) + MCAUSER(' ') REPLACE

Abbildung 13: MQadmvs.def

Nachdem wir die Datei erstellt haben (und den Inhalt entsprechend angepasst) können wir die Definitionen nun zu unserem Queue Manager hinzufügen.

Hierfür gehen wir in der (Betriebssystem-)Kommandozeile in das Verzeichnis, in welchem wir die Datei MQadmvs.def abgelegt haben. Zunächst überzeugen wir uns davon, dass unser Queue Manager läuft. Hierzu führen wir erst das Start-Queue-Manager-Kommando strmqm aus:

strmqm PRAK222.NACT

Sollte er nicht gestartet worden sein, so wird dies damit nachgeholt.Als nächstes führen wir die Definitionen aus. Dies übernimmt der Befehl runmqsc (führt MQSC Befehle aus):

runmqsc < MQadmvs.def > MQadmvs.out

Die Ergebnisse dieser Aktion sehen wir uns jetzt im WebSphere MQ Explorer an.Wir klicken hierzu im Navigator (Abbildung 9) auf „Warteschlangen“ und sehen im Hauptfenster (MQ Explorer – Inhalt) unsere drei erstellten Queues (Abbildung 14). Ein Klick auf Kanäle zeigt uns die drei erzeugten Kanäle an (Abbildung 15).

11

Abbildung 14: Inhalt Warteschlangen

Page 12: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

An dieser Stelle verlassen wir zunächst den WebSphere MQ Explorer und loggen uns mit einem 3270-Emulator auf unserem Server ein.

12

Abbildung 15: Inhalt Kanäle

Page 13: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Erstellen der serverseitigen Objekte

Nach dem erfolgreichen Login auf der z/OS-Maschine rufen wir mit der Eingabe „ispf“ das „ISPF Primary Option Menu“ auf. Von dort aus gelangen wir mit der Eingabe „m;15“, also dem sequentiellen Ausführen der Befehle „m“ und „15“, zum „IBM WebSphere MQ for z/OS - Main Menu“ (Abbildung 16).

IBM WebSphere MQ for z/OS - Main Menu

Complete fields. Then press Enter.

Action . . . . . . . . . . 1 0. List with filter 4. Manage 1. List or Display 5. Perform 2. Define like 6. Start 3. Alter 7. Stop Object type . . . . . . . . SYSTEM + Name . . . . . . . . . . . * Disposition . . . . . . . . Q=Qmgr, C=Copy, P=Private, G=Group, S=Shared, A=All

Connect name . . . . . . . CSQ6 - local queue manager or group Target queue manager . . . CSQ6 - connected or remote queue manager for command input Action queue manager . . . CSQ6 - command scope in group Response wait time . . . . 30 5 - 999 seconds

(C) Copyright IBM Corporation 1993,2005. All rights reserved.

Command ===> F1=Help F2=Split F3=Exit F4=Prompt F9=SwapNext F10=Messages F12=Cancel

Abbildung 16: IBM WebSphere MQ for z/OS - Main Menu

Wir sehen uns zunächst einmal die Systemeinstellungen an.

Zu diesem Zweck geben wir entsprechend Abbildung 16 als Action „1“ (für List or Display), als Object type „SYSTEM“ und für Name die Wildcard „*“ ein.

Durch bestätigen mit der Eingabetaste gelangen wir zum Bildschirm „Display a System Function“ (Abbildung 17).

Hier wählen wir die Option „Distributed queuing“, geben also eine „1“ ein und bestätigen wieder mit der Eingabetaste.

Es erscheint eine Übersicht entsprechend Abbildung 18.

13

Page 14: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Display a System Function

Select function type, then press Enter to display details.

Function type . . . . . . . . 1 1. Distributed queueing 2. Page set usage 3. Queue-sharing group 4. Data set usage Action queue manager . . . : CSQ6

Command ===> F1=Help F2=Split F3=Exit F9=SwapNext F10=Messages F12=Cancel

Abbildung 17: Display a System Function

Display a System Function ┌───────────────────────────────────────────────────────────────────────────┐ S │ Display messages Row 1 of 17 │ │ │ │ │ F │ CSQX830I %CSQ6 CSQXRDQM Channel initiator active │ │ CSQX831I %CSQ6 CSQXRDQM 8 adapter subtasks started, 8 requested │ │ CSQX832I %CSQ6 CSQXRDQM 5 dispatchers started, 5 requested │ │ CSQX833I %CSQ6 CSQXRDQM 0 SSL server subtasks started, 0 requested │ A │ CSQX840I %CSQ6 CSQXRDQM 2 channels current, maximum 200 │ │ CSQX841I %CSQ6 CSQXRDQM 0 channels active, maximum 200, │ │ including 0 paused │ │ CSQX842I %CSQ6 CSQXRDQM 0 channels starting, │ │ 1 stopped, 1 retrying │ │ CSQX836I %CSQ6 CSQXRDQM Maximum channels - TCP/IP 200, LU 6.2 200 │ │ CSQX845I %CSQ6 CSQXRDQM TCP/IP system name is TCPIP │ │ CSQX846I %CSQ6 CSQXRDQM TCP/IP listener INDISP=QMGR started, │ │ for port 1414 address * │ │ CSQX846I %CSQ6 CSQXRDQM TCP/IP listener INDISP=QMGR started, │ │ for port 1416 address * │ │ CSQX849I %CSQ6 CSQXRDQM LU 6.2 listener INDISP=QMGR not started │ │ CSQ9022I %CSQ6 CSQXCRPS ' DISPLAY DQM' NORMAL COMPLETION │ │ ******** End of list ******** │ │ │ │ │ │ │ │ Command ===> │ │ F1=Help F2=Split F3=Exit F7=Bkwd F8=Fwd │ │ F9=SwapNext F12=Cancel │ └───────────────────────────────────────────────────────────────────────────┘

Abbildung 18: Systemeinstellungen für CSQ6

14

Page 15: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Wir sehen uns hier vor allem einmal die in Abbildung 18 rot hervorgehobenen Ausgaben an.Um dieses Tutorial erfolgreich bearbeiten zu können, müssen der „Channel initiator“ und ein TCP/IP-Listener gestartet sein.Für uns soll der Listener auf Port 1416 lauschen. Der WebSphere MQ Standard-Port hingegen ist 1414.

Bei abweichenden Angaben sollte einer der Verantwortlichen, im Idealfall der zuständige Tutor, benachrichtigt werden.

Mit der Taste F3 gelangen wir zurück zum WebSphere QM Hauptmenü.

Bevor wir jetzt aber anfangen, neue Objekte zu erstellen, müssen wir erst sicherstellen, dass unter unserem Namen keine alten Objekte existieren.

Hierzu lassen wir uns entsprechend Abbildung 19 zunächst alle Queues, die mit unserer Praktikums-ID beginnen, ausgeben.

IBM WebSphere MQ for z/OS - Main Menu

Complete fields. Then press Enter.

Action . . . . . . . . . . 1 0. List with filter 4. Manage 1. List or Display 5. Perform 2. Define like 6. Start 3. Alter 7. Stop Object type . . . . . . . . QUEUE + Name . . . . . . . . . . . PRAK222* Disposition . . . . . . . . Q=Qmgr, C=Copy, P=Private, G=Group, S=Shared, A=All

Connect name . . . . . . . CSQ6 - local queue manager or group Target queue manager . . . CSQ6 - connected or remote queue manager for command input Action queue manager . . . CSQ6 - command scope in group Response wait time . . . . 30 5 - 999 seconds

(C) Copyright IBM Corporation 1993,2005. All rights reserved.

Command ===> F1=Help F2=Split F3=Exit F4=Prompt F9=SwapNext F10=Messages F12=Cancel

Abbildung 19: Liste aller Queues beginnend mit unserer ID ausgeben

Wie in Tutorial MQ1 beschrieben, löschen wir alle Queues, die mit PRAKxxx beginnen.

Dasselbe tun wir im Anschluss mit den Kanälen. Hierzu geben wir im Hauptmenü als Object type „CHANNEL“ ein.

Da wir jedoch auch einen Channel anlegen werden, der nicht mit unserer Praktikums-ID beginnt, müssen wir des Weiteren nach dem Channel CSQ6.TO.PRAKxxx.NACT suchen (bei Name reicht hierfür „CSQ6.TO.PRAKxxx*“).

Entsprechend den Queues löschen wir nun auch alle alten Channels.

15

Page 16: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Aufgabe: Prüfen Sie, ob der Queue-Manager MQA1 alte Objekte (Queues und Channels) enthält, deren Namen Ihre User-ID beinhalten. Wenn ja, dürfen und müssen Sie diese alten Objekte löschen.

Aufgabe: Weisen Sie anhand von Screenshots nach, dass Sie alle alten Objekte wirklich gelöscht haben. Erzeugen Sie dazu einen Screenshot ähnlich Abbildung 20, der das Fehlen alter Queues nachweist sowie Screenshots ähnlich den Abbildungen 21 und 22, der das Fehlen alter Channels nachweist.

Achten Sie darauf, dass die Screenshots nicht zu viel Speicherplatz in Anspruch nehmen. Am besten ist das JPEG-Format, das mit weniger als 90 KByte je Screenshot auskommt. Im Ausnahmefall ist auch das Bitmap-Format (< 250 KByte) möglich.

IBM WebSphere MQ for z/OS - Main Menu

Complete fields. Then press Enter.

Action . . . . . . . . . . 1 0. List with filter 4. Manage 1. List or Display 5. Perform 2. Define like 6. Start 3. Alter 7. Stop Object type . . . . . . . . QUEUE + Name . . . . . . . . . . . PRAK222* Disposition . . . . . . . . Q=Qmgr, C=Copy, P=Private, G=Group, S=Shared, A=All

Connect name . . . . . . . CSQ6 - local queue manager or group Target queue manager . . . CSQ6 - connected or remote queue manager for command input Action queue manager . . . CSQ6 - command scope in group Response wait time . . . . 30 5 - 999 seconds

(C) Copyright IBM Corporation 1993,2005. All rights reserved.

┌───────────────────────────────────────────────────────────────────┐ │ CSQO050I No objects of type QUEUE disposition ALL match PRAK222*. │ └───────────────────────────────────────────────────────────────────┘ Command ===> F1=Help F2=Split F3=Exit F4=Prompt F9=SwapNext F10=Messages F12=Cancel

Abbildung 20: Nachweis Queues gelöscht

16

Page 17: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

IBM WebSphere MQ for z/OS - Main Menu

Complete fields. Then press Enter.

Action . . . . . . . . . . 1 0. List with filter 4. Manage 1. List or Display 5. Perform 2. Define like 6. Start 3. Alter 7. Stop Object type . . . . . . . . CHANNEL + Name . . . . . . . . . . . PRAK222* Disposition . . . . . . . . Q=Qmgr, C=Copy, P=Private, G=Group, S=Shared, A=All

Connect name . . . . . . . CSQ6 - local queue manager or group Target queue manager . . . CSQ6 - connected or remote queue manager for command input Action queue manager . . . CSQ6 - command scope in group Response wait time . . . . 30 5 - 999 seconds

(C) Copyright IBM Corporation 1993,2005. All rights reserved.

┌─────────────────────────────────────────────────────────────────────┐ │ CSQO050I No objects of type CHANNEL disposition ALL match PRAK222*. │ └─────────────────────────────────────────────────────────────────────┘ Command ===> F1=Help F2=Split F3=Exit F4=Prompt F9=SwapNext F10=Messages F12=Cancel

Abbildung 21: Nachweis Channels gelöscht (1)

IBM WebSphere MQ for z/OS - Main Menu

Complete fields. Then press Enter.

Action . . . . . . . . . . 1 0. List with filter 4. Manage 1. List or Display 5. Perform 2. Define like 6. Start 3. Alter 7. Stop Object type . . . . . . . . CHANNEL + Name . . . . . . . . . . . CSQ6.To.PRAK222* Disposition . . . . . . . . Q=Qmgr, C=Copy, P=Private, G=Group, S=Shared, A=All

Connect name . . . . . . . CSQ6 - local queue manager or group Target queue manager . . . CSQ6 - connected or remote queue manager for command input Action queue manager . . . CSQ6 - command scope in group Response wait time . . . . 30 5 - 999 seconds

(C) Copyright IBM Corporation 1993,2005. All rights reserved.

┌─────────────────────────────────────────────────────────────────────────────┐│ CSQO050I No objects of type CHANNEL disposition ALL match CSQ6.To.PRAK222*. │└─────────────────────────────────────────────────────────────────────────────┘ Command ===> F1=Help F2=Split F3=Exit F4=Prompt F9=SwapNext F10=Messages F12=Cancel

Abbildung 22: Nachweis Channels gelöscht (2)

17

Page 18: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Jetzt, da alle alten Spuren beseitigt sind, können wir damit beginnen, unsere Objekte anzulegen.

Zunächst legen wir uns eine Übertragungswarteschlange (Transmission Queue) an.Hierfür geben wir im MQ-Hauptmenü für Action eine „2“ (Define like) und als Object type „QLOCAL“ (für lokale Warteschlangen) ein (Abbildung 23) und bestätigen mit der Eingabetaste.

IBM WebSphere MQ for z/OS - Main Menu

Complete fields. Then press Enter.

Action . . . . . . . . . . 2 0. List with filter 4. Manage 1. List or Display 5. Perform 2. Define like 6. Start 3. Alter 7. Stop Object type . . . . . . . . QLOCAL + Name . . . . . . . . . . . Disposition . . . . . . . . Q=Qmgr, C=Copy, P=Private, G=Group, S=Shared, A=All

Connect name . . . . . . . CSQ6 - local queue manager or group Target queue manager . . . CSQ6 - connected or remote queue manager for command input Action queue manager . . . CSQ6 - command scope in group Response wait time . . . . 30 5 - 999 seconds

(C) Copyright IBM Corporation 1993,2005. All rights reserved.

Command ===> F1=Help F2=Split F3=Exit F4=Prompt F9=SwapNext F10=Messages F12=Cancel

Abbildung23: QLOCAL erstellen

Auf dem ersten Definitions-Bildschirm (Abbildung 24) legen wir als Name der Queue PRAKxxx.NACT fest. Dies entspricht der Bezeichnung unseres lokalen Queue Managers. Eine Übertragungswarteschlange sollte immer denselben Namen tragen, wie der zugehörige entfernte Queue Manager.

Wir stellen sicher, dass PUT und GET aktiviert sind (jeweils „Y“) und stellen „Usage“ auf X (für XMITQ). XMITQ definiert die Queue als Übertragungswarteschlange.

Mit F8 gelangen wir zum nächsten Definitionsschirm (Define a Local Queue – 2), auf dem jedoch keine Änderungen erforderlich sind.

Wir betätigen nochmal F8 und befinden uns jetzt auf dem dritten Bildschirm dieser Reihe (Define a Local Queue – 3) (Abbildung 25).

18

Page 19: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Define a Local Queue - 1

Complete fields, then press F8 for further fields, or Enter to define queue.

More: + Queue name . . . . . . . . . PRAK222.NACT Disposition . . . . . . . . . Q G=Group, S=Shared, Q=Qmgr on CSQ6 Description . . . . . . . . .

Put enabled . . . . . . . . . Y Y=Yes, N=No Get enabled . . . . . . . . . Y Y=Yes, N=No Usage . . . . . . . . . . . . X N=Normal, X=XmitQ Storage class . . . . . . . . DEFAULT CF structure name . . . . . .

Command ===> F1=Help F2=Split F3=Exit F7=Bkwd F8=Fwd F9=SwapNext F10=Messages F12=Cancel

Abbildung 24: Define a Local Queue (1)

Define a Local Queue - 3

Press F7 or F8 to see other fields, or Enter to define queue.

More: - + Queue name . . . . . . . . : PRAK222.NACT Disposition . . . . . . . . : QMGR CSQ6

Default persistence . . . . . N Y=Yes, N=No Default priority . . . . . . 0 0 - 9 Message delivery sequence . . F P=Priority, F=FIFO Permit shared access . . . . Y Y=Yes, N=No Default share option . . . . S E=Exclusive, S=Shared Index type . . . . . . . . . N N=None, M=MsgId, C=CorrelId, G=GroupId, T=MsgToken

Maximum queue depth . . . . . 999999999 0 - 999999999 Maximum message length . . . 4194304 0 - 104857600

Command ===> F1=Help F2=Split F3=Exit F7=Bkwd F8=Fwd F9=SwapNext F10=Messages F12=Cancel

Abbildung 25: Define a Local Queue (3)

19

Page 20: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Wir passen die Einstellungen entsprechend der Abbildung 25 an.So wollen wir keine persistenten Nachrichten (Default persistence auf „N“), eine FIFO-Warteschlange (Message delivery sequence auf „F“), sowie gemeinsamen Zugriff erlauben (Permit shared access auf „Y“ und Default share option auf „S“).

Mit F8 gelangen wir zu den Einstellungen für die Trigger und Initialisierungswarteschlange (Abbildung 26).

Define a Local Queue - 4

Press F7 or F8 to see other fields, or Enter to define queue.

More: - + Queue name . . . . . . . . : PRAK222.NACT Disposition . . . . . . . . : QMGR CSQ6

Trigger Definition

Trigger type . . . . . . . F F=First, E=Every, D=Depth, N=None Trigger set . . . . . . . N Y=Yes, N=No

Trigger message priority 0 0 - 9 Trigger depth . . . . . . 1 1 - 999999999

Initiation queue . . . . . SYSTEM.CHANNEL.INITQ Process name . . . . . . . Trigger data . . . . . . . CSQ6.TO.PRAK222.NACT

Command ===> F1=Help F2=Split F3=Exit F7=Bkwd F8=Fwd F9=SwapNext F10=Messages F12=Cancel

Abbildung 26: Define a Local Queue (4)

Wir geben als Initiation queue (die Initialisierungswarteschlange) SYSTEM.CHANNEL.INITQ und unter Trigger data den (noch zu erstellenden) Channel CSQ6.TO.PRAKxxx.NACT ein.

Mit F8 gelangen wir zum nächsten Bildschirm (Define a Local Queue - 5), auf dem wiederum keine Eingaben erforderlich sind.

Durch erneutes Betätigen von F8 gelangen wir zum letzten Definitionsbildschirm (Define a Local Queue – 6).

Hier, zu sehen in Abbildung 27, ändern wir die Einstellung für Harden backout counter auf „Y“. Diese Einstellung ermöglicht einen Reset der Queue, sollten entsprechende Probleme auftreten.

Wir bestätigen unsere Eingaben mit der Eingabetaste und legen damit unsere Warteschlange an.Wie in Abbildung 28 sollten wir eine Meldung erhalten, die uns mitteilt, dass die Queue erfolgreich erstellt wurde.

20

Page 21: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Define a Local Queue - 6

Press F7 to see previous fields, or Enter to define queue.

More: - Queue name . . . . . . . . : PRAK222.NACT Disposition . . . . . . . . : QMGR CSQ6

Backout Reporting Backout threshold . . . . 0 0 - 999999999 Harden backout counter . . Y Y=Yes, N=No Backout requeue name . . .

Retention interval . . . . . 999999999 0 - 999999999 hours

Monitoring . . . . . . . . . Q Q=Qmgr, L=Low, M=Medium, H=High, O=Off Accounting . . . . . . . . . Q E=Enabled, D=Disabled, Q=Qmgr

Command ===> F1=Help F2=Split F3=Exit F7=Bkwd F8=Fwd F9=SwapNext F10=Messages F12=Cancel

Abbildung 27: Define a Local Queue (6)

Define a Local Queue - 1

Complete fields, then press F8 for further fields, or Enter to define queue.

More: + Queue name . . . . . . . . . PRAK222.NACT Disposition . . . . . . . . . Q G=Group, S=Shared, Q=Qmgr on CSQ6 Description . . . . . . . . .

Put enabled . . . . . . . . . Y Y=Yes, N=No Get enabled . . . . . . . . . Y Y=Yes, N=No Usage . . . . . . . . . . . . X N=Normal, X=XmitQ Storage class . . . . . . . . DEFAULT CF structure name . . . . . .

┌────────────────────────────────────────────────────────────┐ │ CSQ9022I %CSQ6 CSQMAQLC ' DEFINE QLOCAL' NORMAL COMPLETION │ └────────────────────────────────────────────────────────────┘ Command ===> F1=Help F2=Split F3=Exit F7=Bkwd F8=Fwd F9=SwapNext F10=Messages F12=Cancel

Abbildung 28: Erfolgsmeldung DEFINE QLOCAL

21

Page 22: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Mit der Taste F3 gelangen wir zurück zum MQ-Hauptmenü.Jetzt sind die Kanäle an der Reihe. Wir benötigen einen Sender- und einen Empfängerkanal.

Beginnen wir mit dem Sender.

Wir geben, wie in Abbildung 29 dargestellt, als Action „2“ und als Object type „CHANNEL“ ein und bestätigen mit der Eingabetaste.

IBM WebSphere MQ for z/OS - Main Menu

Complete fields. Then press Enter.

Action . . . . . . . . . . 2 0. List with filter 4. Manage 1. List or Display 5. Perform 2. Define like 6. Start 3. Alter 7. Stop Object type . . . . . . . . CHANNEL + Name . . . . . . . . . . . Disposition . . . . . . . . Q=Qmgr, C=Copy, P=Private, G=Group, S=Shared, A=All

Connect name . . . . . . . CSQ6 - local queue manager or group Target queue manager . . . CSQ6 - connected or remote queue manager for command input Action queue manager . . . CSQ6 - command scope in group Response wait time . . . . 30 5 - 999 seconds

(C) Copyright IBM Corporation 1993,2005. All rights reserved.

Command ===> F1=Help F2=Split F3=Exit F4=Prompt F9=SwapNext F10=Messages F12=Cancel

Abbildung 29: Channel erzeugen

Es erscheint ein Auswahlbildschirm, in dem wir die Art des Kanals auswählen können (Abbildung 30).Wir wählen hier einen Senderkanal SENDER, geben also eine „1“ ein und bestätigen wiederum mit der Eingabetaste.

Auf dem folgenden Screen, Define a Sender Channel – 1, geben wir den Namen unseres Kanals, CSQ6.TO.PRAKxxx.NACT, ein.

Bei Transport type geben wir „T“ (für TCP/IP) ein und als Connection name wird die IP unseres Rechners, also des Systems, auf dem der WebSphere MQ Explorer läuft, eingegeben. In Klammern wird der Port 1416 festgelegt. Wird die Port-Angabe weggelassen, wird der Default-Port 1414 benutzt. Wir benötigen jedoch Port 1416.

Als Transmission queue wird unsere zuvor erstellte Queue PRAKxxx.NACT angegeben, d.h. der Senderkanal wird die Nachrichten in der Queue PRAKxxx.NACT ablegen.

Wenn alle Einstellungen ähnlich wie auf Abbildung 31 angepasst wurden, bestätigen wir mit der Eingabetaste.

22

Page 23: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

IBM WebSphere MQ for z/OS - Main Menu

Complete fields. Then press Enter. ┌─────────────────────────────────────────────────────────────────┐ Action │ Select a Valid Channel Type │ │ │ │ Select one of the following. │ │ │ Object │ 1 1. SENDER . . . Sender channel │ Name . │ 2. SERVER . . . Server channel │ Disposi │ 3. RECEIVER . . Receiver channel │ │ 4. REQUESTER. . Requester channel │ │ 5. SVRCONN. . . Server-connection channel │ Connect │ 6. CLNTCONN . . Client-connection channel │ Target │ 7. CLUSRCVR . . Cluster-receiver channel │ │ 8. CLUSSDR. . . Cluster-sender channel │ Action │ │ Respons │ │ │ │ (C) Cop │ │ │ │ │ F1=Help F2=Split F9=SwapNext F12=Cancel │ └─────────────────────────────────────────────────────────────────┘ ┌──────────────────────────────────────────────────┐ │ CSQO041I Action requires a specific object type. │ └──────────────────────────────────────────────────┘

Command ===> F1=Help F2=Split F3=Exit F4=Prompt F9=SwapNext F10=Messages F12=Cancel

Abbildung 30: SENDER auswählen

Define a Sender Channel - 1

Complete fields, then press F8 for further fields, or Enter to define channel.

More: + Channel name . . . . . . . . CSQ6.TO.PRAK222.NACT Disposition . . . . . . . . . Q G=Group, Q=Qmgr on CSQ6 Description . . . . . . . . .

Transport type . . . . . . . T L=LU6.2, T=TCP/IP Connection name . . . . . . . 217.94.206.183(1416) Local address . . . . . . . . LU6.2 mode name . . . . . . . LU6.2 TP name . . . . . . . .

Transmission queue . . . . . PRAK222.NACT

Command ===> F1=Help F2=Split F3=Exit F7=Bkwd F8=Fwd F9=SwapNext F10=Messages F12=Cancel

Abbildung 31: Define a Sender Channel

23

Page 24: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Nachdem wir die Bestätigung ' DEFINE CHANNEL' NORMAL COMPLETION erhalten haben, kehren wir mit F3 zum MQ-Hauptmenü zurück.

Wir führen erneut den Schritt aus Abbildung 29 aus und wählen im Auswahlbildschirm (entsprechend Abbildung 30) eine „3“ für den Empfangskanal (RECEIVER).

Mit der Eingabetaste gelangen wir zum Screen aus Abbildung 32.

Als Channel name geben wir PRAKxxx.NACT.TO.CSQ6 ein und bestätigen mit der Eingabetaste.

Define a Receiver Channel - 1

Complete fields, then press F8 for further fields, or Enter to define channel.

More: + Channel name . . . . . . . . PRAK222.NACT.TO.CSQ6 Disposition . . . . . . . . . Q G=Group, Q=Qmgr on CSQ6 Description . . . . . . . . .

Put authority . . . . . . . . D D=Default, C=Context, O=OnlyMCA, A=AltMCA

┌─────────────────────────────────────────────────────────────┐ │ CSQ9022I %CSQ6 CSQMACHL ' DEFINE CHANNEL' NORMAL COMPLETION │ └─────────────────────────────────────────────────────────────┘ Command ===> F1=Help F2=Split F3=Exit F7=Bkwd F8=Fwd F9=SwapNext F10=Messages F12=Cancel

Abbildung 32: Define a Receiver Channel

Wir haben jetzt erfolgreich alle Objekte erstellt.

Im nächsten Schritt müssen wir die Objekte aktivieren.

Aufgabe: Erstellen Sie wie beschrieben die entsprechenden Objekte für ihre Praktikums-ID.

24

Page 25: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Starten der Objekte

Wir beginnen mit den Objekten auf unserem lokalen Rechner.

Im WebSphere MQ Explorer starten wir zunächst (falls er nicht noch aktiv ist) unseren Queue Manager PRAKxxx.NACT.

Hierzu klicken wir mit rechts auf den Queue Manager im MQ Explorer – Navigator und wählen „Starten...“ (Abbildung 33).

Im nächsten Fenster, Abbildung 34, wählen wir „Erstellt starten“ und bestätigen mit „Ok“.

Nachdem der Queue Manager erfolgreich gestartet wurde, müssen wir noch den Listener und den Serververbindungskanal aktivieren.

Hierzu rufen wir mit einem Rechtsklick auf unseren Queue Manager den Punkt „Fernverwaltung...“ auf (Abbildung 35).

25

Abbildung 33: Starten des QM

Abbildung 34: QM starten

Page 26: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Hier klicken wir bei „Kanal SYSTEM.ADMIN.SVRCONN“ und „Empfangsprogramm LISTENER.TCP“ auf „Erstellen“ und bei „Status LISTENER.TCP“ auf „Starten“.

Bei der Erstellung des Empfangsprogramms werden wir nach einem Port gefragt. Wir geben hier den Port 1416 ein und bestätigen. Wenn alles erstellt und aktiviert ist, schließen wir das Fenster.

Als Nächstes müssen wir den Sender-Kanal starten. Wir wählen hierfür im MQ Explorer - Navigator unseren Queue Manager und unter „Erweitert“ die Kanäle aus.Im Fenster MQ Explorer – Inhalt sehen wir unsere drei zuvor erstellten Kanäle.

Wir klicken mit rechts auf den Sender-Kanal (PRAKxxx.NACT.TO.CSQ6) und wählen starten (Abbildung 40).

26

Abbildung 35: Fernverwaltung PRAKxxx.NACT

Abbildung 36: Sender starten

Page 27: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Nachdem wir die Erfolgsmeldungen erhalten haben, sehen wir, dass der Kanalgesamtstatus auf „Aktiv“ gewechselt hat.

Damit läuft auf Client-Seite alles, was laufen muss und wir wenden uns wieder dem Server zu.

Falls sich in der Zwischenzeit unsere IP geändert hat, müssen wir diese vor dem Starten des Sender-Channels anpassen. Dies überprüfen wir als Erstes.

IBM WebSphere MQ for z/OS - Main Menu

Complete fields. Then press Enter.

Action . . . . . . . . . . 1 0. List with filter 4. Manage 1. List or Display 5. Perform 2. Define like 6. Start 3. Alter 7. Stop Object type . . . . . . . . CHANNEL + Name . . . . . . . . . . . CSQ6.TO.PRAK222.NACT Disposition . . . . . . . . Q=Qmgr, C=Copy, P=Private, G=Group, S=Shared, A=All

Connect name . . . . . . . CSQ6 - local queue manager or group Target queue manager . . . CSQ6 - connected or remote queue manager for command input Action queue manager . . . CSQ6 - command scope in group Response wait time . . . . 30 5 - 999 seconds

(C) Copyright IBM Corporation 1993,2005. All rights reserved.

Command ===> F1=Help F2=Split F3=Exit F4=Prompt F9=SwapNext F10=Messages F12=Cancel

Abbildung 37: Channels anzeigen

Wir lassen uns, wie in Abbildung 37, unseren Kanal anzeigen.

In der folgenden Liste können wir in der Spalte vor dem Kanalnamen durch eine Eingabe von „3“ (für Alter) die Einstellungen des Kanals im Nachhinein noch ändern (Abbildung 42).

Auf dem nächsten Bildschirm (Abbildung 39) überprüfen wir die unter Connection name eingegebene IP und passen diese gegebenenfalls an. Wichtig: den Port 1416 nicht vergessen.

Wir bestätigen mit der Eingabetaste und kehren mit F3 zum MQ-Hauptmenü zurück.

27

Page 28: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

List Channels - CSQ6 Row 1 of 1

Type action codes, then press Enter. Press F11 to display connection status. 1=Display 2=Define like 3=Alter 4=Manage 5=Perform 6=Start 7=Stop

Name Type Disposition Status <> CSQ6.TO.PRAK222.NACT CHANNEL PRIVATE CSQ6 3 CSQ6.TO.PRAK222.NACT SENDER QMGR CSQ6 INACTIVE ******** End of list ********

Command ===> F1=Help F2=Split F3=Exit F4=Filter F5=Refresh F7=Bkwd F8=Fwd F9=SwapNext F10=Messages F11=Status F12=Cancel

Abbildung 38: Channel bearbeiten

Alter a Sender Channel - 1

Complete fields, then press F8 for further fields, or Enter to alter channel.

More: + Channel name . . . . . . . : CSQ6.TO.PRAK222.NACT Disposition . . . . . . . . : QMGR CSQ6 Description . . . . . . . . .

Transport type . . . . . . . T L=LU6.2, T=TCP/IP Connection name . . . . . . . 217.94.206.183(1416) Local address . . . . . . . . LU6.2 mode name . . . . . . . LU6.2 TP name . . . . . . . .

Transmission queue . . . . . PRAK222.NACT

Command ===> F1=Help F2=Split F3=Exit F7=Bkwd F8=Fwd F9=SwapNext F10=Messages F11=Status F12=Cancel

Abbildung 39: Alter a Sender Channel

28

Page 29: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Wir rufen erneut die Liste mit unserem Kanal (Abbildung 37) auf.

Dieses Mal geben wir in die Befehlsspalte eine “6” für Start ein (Abbildung 40).Wir bestätigen zwei Mal mit der Eingabetaste und erhalten wie in Abbildung 41 die Bestätigung ' START CHANNEL' NORMAL COMPLETION.

List Channels - CSQ6 Row 1 of 1

Type action codes, then press Enter. Press F11 to display connection status. 1=Display 2=Define like 3=Alter 4=Manage 5=Perform 6=Start 7=Stop

Name Type Disposition Status <> CSQ6.TO.PRAK222.NACT CHANNEL PRIVATE CSQ6 6 CSQ6.TO.PRAK222.NACT SENDER QMGR CSQ6 INACTIVE ******** End of list ********

Command ===> F1=Help F2=Split F3=Exit F4=Filter F5=Refresh F7=Bkwd F8=Fwd F9=SwapNext F10=Messages F11=Status F12=Cancel

Abbildung 40: Channel starten

Start a Channel

Select disposition, then press Enter to start channel.

Channel name . . . . . . . : CSQ6.TO.PRAK222.NACT Channel type . . . . . . . : SENDER Description . . . . . . . . :

Disposition . . . . . . . . . P P=Private on CSQ6 S=Shared on CSQ6 A=Shared on any queue manager

┌────────────────────────────────────────────────────────────┐ │ CSQ9022I %CSQ6 CSQXCRPS ' START CHANNEL' NORMAL COMPLETION │ └────────────────────────────────────────────────────────────┘ Command ===> F1=Help F2=Split F3=Exit F9=SwapNext F10=Messages F12=Cancel

Abbildung 41: Channel gestartet

29

Page 30: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Wir gehen wieder mit F3 zurück ins Hauptmenü und rufen erneut die Channel-Liste auf.Wir sehen jetzt, dass der Status des Kanals als RUN angegeben wird (Abbildung 42).

List Channels - CSQ6 Row 1 of 1

Type action codes, then press Enter. Press F11 to display connection status. 1=Display 2=Define like 3=Alter 4=Manage 5=Perform 6=Start 7=Stop

Name Type Disposition Status <> CSQ6.TO.PRAK222.NACT CHANNEL PRIVATE CSQ6 CSQ6.TO.PRAK222.NACT SENDER QMGR CSQ6 RUN ******** End of list ********

Command ===> F1=Help F2=Split F3=Exit F4=Filter F5=Refresh F7=Bkwd F8=Fwd F9=SwapNext F10=Messages F11=Status F12=Cancel

Abbildung 42: Kanal aktiviert

Wir können auf dieselbe Art und Weise auch nach unserem Empfangskanal PRAKxxx.NACT.TO.CSQ6 suchen und werden feststellen, dass dieser jetzt auch den Status RUN hat.

Dasselbe gilt für den im WebSphere MQ Explorer angelegten Empfangskanal CSQ6.TO.PRAK222.NACT, der jetzt den Status „Aktiv“ hat.

Wir haben also erfolgreich eine Verbindung zwischen unserem Client und der z/OS-Maschine hergestellt.

Aufgabe: Starten Sie wie hier beschrieben die Objekte sowohl auf Client-, als auch auf Server-Seite.

30

Page 31: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Starten des Java-Client

In Tutorial MQ2 haben wir unseren Java-Client bereits zum Ausführen vorbereitet.

Wir starten unsere Client-Anwendung über die Kommandozeile mit dem Befehl:

java MQClient <IP­Adresse des Win2k­Rechners> <Client­Server­Connection> <Queue Manager> <Remote Queue> <Reply­To­Queue>

In unserem Beispiel würde dies wie folgt aussehen:

java MQClient  217.94.206.183 PRAK222.CLIENT PRAK222.NACT PRAK222.NACT.REMOTEQ PRAK222.NACT.REPLYQ

Nachdem wir die Anwendung gestartet haben, werden in der Eingabekonsole noch einmal die angegebenen Argumente ausgegeben (Abbildung 43).

Wenn wir uns jetzt, nachdem die Anwendung gestartet ist und die Verbindung erfolgreich hergestellt wurde, die Kanäle im WebSphere MQ Explorer anschauen, werden wir sehen, dass nun alle aktiv sind (Abbildung 44).

31

Abbildung 43: Kommandozeilenausgabe nach Start der Java-Anwendung

Page 32: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Was wir jetzt vor uns sehen, ist die graphische Oberfläche des „KanDoIT Account Enquiry Client“ (Fehler: Referenz nicht gefunden). Die Java-Anwendung holt sich aus dem serverseitigen CICS COMMAREA-Bereich eine Map. Dies ist die gleiche Information, wie sie beim Aufruf der NACT-Transaktion mit BMS in CICS erzeugt wird; das Aussehen ist anders und wird von dem Java-Programm auf dem Client gestaltet.Man spricht hierbei auch von Presentation Logic.

32

Abbildung 44: Aktivierte Kanäle

Page 33: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Wir geben eine gültige Account-Nr. ein, dann die Maus auf das Eingabesymbol bewegen (es ändert leicht seine Form) und mit der linken Maustaste klicken.

33

Abbildung 45

Abbildung 46

Page 34: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Die von uns im VSAM-Dataset gespeicherten Daten werden nun im Java-Client ausgegeben (Abbildung 47).

Dieselben Nachrichten sehen wir außerdem im noch geöffneten Konsolenfenster „unbehandelt“ in der Rohform.

Anschließend schließen wir die Java-Anwendung.

Aufgabe: Greifen Sie über MQ und die Java-Anwendung auf Ihr eigenes Konto "100xx" oder "10xxx" zu. Haben Sie beispielsweise den Account PRAK222, dann greifen Sie über MQ und die Java-Anwendung auf das Konto "10222" zu, welches Sie ja selbst angelegt oder modifiziert haben.

Erzeugen Sie von diesem Vorgang die folgenden Nachweis-Screenshots:

1) entsprechend der Fehler: Referenz nicht gefunden, der die Ausgabe der NACT-Transaktion enthält 2) entsprechend der Abbildung 44, der zeigt, dass alle Windows MQ-Kanäle aktiv sind 3) entsprechend der Abbildung 43

Alle diese Screenshots müssen natürlich statt der Accounts-Nr. "222" Ihre Account-Nr. nachweisen, und Ihr Screenshot entsprechend der Fehler: Referenz nicht gefunden muss natürlich Ihren Vor- und Zunamen sowie alle anderen Daten Ihres eigenen NACT-Kontos zeigen.

Achten Sie darauf, dass die Screenshots nicht zu viel Speicherplatz in Anspruch nehmen. Am besten ist das JPEG-Format, das mit weniger als 90 KByte auskommt. Im Ausnahmefall ist auch das Bitmap-Format (< 250 KByte) möglich.

Aufgabe: Schicken Sie alle sechs Screenshots ihrem Tutor per E-Mail zu. Und zwar soll jeder Screenshot unverpackt als Anhang an die Mail angefügt werden.

34

Abbildung 47

Page 35: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Shutdown

Zu diesem Tutorial gehört auch der korrekte Shutdown, also das Herunterfahren, der Anwendung.

Wir beginnen mit dem Sender-Kanal auf der z/OS-Maschine.

IBM WebSphere MQ for z/OS - Main Menu

Complete fields. Then press Enter.

Action . . . . . . . . . . 1 0. List with filter 4. Manage 1. List or Display 5. Perform 2. Define like 6. Start 3. Alter 7. Stop Object type . . . . . . . . CHANNEL + Name . . . . . . . . . . . CSQ6.TO.PRAK222.NACT Disposition . . . . . . . . Q=Qmgr, C=Copy, P=Private, G=Group, S=Shared, A=All

Connect name . . . . . . . CSQ6 - local queue manager or group Target queue manager . . . CSQ6 - connected or remote queue manager for command input Action queue manager . . . CSQ6 - command scope in group Response wait time . . . . 30 5 - 999 seconds

(C) Copyright IBM Corporation 1993,2005. All rights reserved.

Command ===> F1=Help F2=Split F3=Exit F4=Prompt F9=SwapNext F10=Messages F12=Cancel

Abbildung 48: Channel-Liste erzeugen

Wir rufen wieder die Channel-List auf, indem wir im WebSphere MQ – Main Menu die Option „1” und den Object type „CHANNEL” wählen und bei Name die Bezeichnung unseres Sender-Kanals eingeben (Abbildung 48).

In der Liste der Kanäle geben wir diesmal eine „7” für „Stop” ein und bestätigen mit der Eingabetaste (Abbildung 49).

35

Page 36: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

List Channels - CSQ6 Row 1 of 1

Type action codes, then press Enter. Press F11 to display connection status. 1=Display 2=Define like 3=Alter 4=Manage 5=Perform 6=Start 7=Stop

Name Type Disposition Status <> CSQ6.TO.PRAK222.NACT CHANNEL PRIVATE CSQ6 7 CSQ6.TO.PRAK222.NACT SENDER QMGR CSQ6 RUN ******** End of list ********

Command ===> F1=Help F2=Split F3=Exit F4=Filter F5=Refresh F7=Bkwd F8=Fwd F9=SwapNext F10=Messages F11=Status F12=Cancel

Abbildung 49: List Channels

Im nächsten Bildschirm vergewissern wir uns, dass als Stop mode „1“ gesetzt ist. Der „Quiesce“-Modus sorgt dafür, dass der Kanal ordnungsgemäß beendet wird, d.h. es wird gewartet, bis alle verbundenen Anwendungen getrennt wurden. Wir bestätigen wieder mit der Eingabetaste und erhalten die „STOP CHANNEL NORMAL COMPLETION“-Meldung (Abbildung 50).

Stop a Channel

Complete fields, then press Enter to stop channel.

Channel name . . . . . . . : CSQ6.TO.PRAK222.NACT Channel type . . . . . . . : SENDER Description . . . . . . . . :

Disposition . . . . . . . . . P P=Private on CSQ6 A=Shared on any queue manager

Stop mode . . . . . . . . . . 1 1. Quiesce 2. Force Stop status . . . . . . . . . 1 1. Stopped 2. Inactive

Queue manager . . . . . . . . Connection name . . . . . . .

┌───────────────────────────────────────────────────────────┐ │ CSQ9022I %CSQ6 CSQXCRPS ' STOP CHANNEL' NORMAL COMPLETION │ └───────────────────────────────────────────────────────────┘ Command ===> F1=Help F2=Split F3=Exit F9=SwapNext F10=Messages F12=Cancel

Abbildung 50: Kanal angehalten

36

Page 37: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Wir rufen zur Kontrolle noch einmal die Liste mit den Kanälen auf und sehen, dass der Status jetzt „STOP“ angibt. Der Kanal wurde also erfolgreich geschlossen.

List Channels - CSQ6 Row 1 of 1

Type action codes, then press Enter. Press F11 to display connection status. 1=Display 2=Define like 3=Alter 4=Manage 5=Perform 6=Start 7=Stop

Name Type Disposition Status <> CSQ6.TO.PRAK222.NACT CHANNEL PRIVATE CSQ6 CSQ6.TO.PRAK222.NACT SENDER QMGR CSQ6 STOP ******** End of list ********

Command ===> F1=Help F2=Split F3=Exit F4=Filter F5=Refresh F7=Bkwd F8=Fwd F9=SwapNext F10=Messages F11=Status F12=Cancel

Abbildung 51: Liste mit gestopptem Kanal

Als nächstes folgt der Sender-Kanal auf der Client-Seite.Wir gehen also zurück zum WebSphere MQ Explorer und rufen die Kanäle auf.Im Fenster MQ Explorer – Inhalt sehen wir unter anderem, dass unser Empfänger-Kanal bereits wieder den Status „Inaktiv“ hat.Wir klicken nun mit rechts auf unseren Sender-Kanal und wählen „Stoppen...“ (zu sehen in Abbildung 52).

37

Abbildung 52 MQ Explorer – Inhalt

Page 38: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Es erscheint das Fenster aus Abbildung 53, welches wir mit „Ok“ bestätigen.

Der Kanal ist jetzt gestoppt. Zur Bestätigung überprüfen wir den Status auf der Server-Seite.Wie in Abbildung 54 zu sehen, ist der Kanal nun inaktiv.

List Channels - CSQ6 Row 1 of 1

Type action codes, then press Enter. Press F11 to display connection status. 1=Display 2=Define like 3=Alter 4=Manage 5=Perform 6=Start 7=Stop

Name Type Disposition Status <> PRAK222.NACT* CHANNEL PRIVATE CSQ6 PRAK222.NACT.TO.CSQ6 RECEIVER QMGR CSQ6 INACTIVE ******** End of list ********

Command ===> F1=Help F2=Split F3=Exit F4=Filter F5=Refresh F7=Bkwd F8=Fwd F9=SwapNext F10=Messages F11=Status F12=Cancel

Abbildung 54: Liste mit gestopptem Kanal

38

Abbildung 53 Kanal stoppen

Page 39: Tutorial MQ3Tutorial MQ3 Zu diesem Tutorial Wir sehen uns zunächst noch einmal den Überblick über die WebSphere MQ-Elemente an (Abbildung 1). Wir haben in unserem Tutorial wie in

Tutorial MQ3

Als Letztes müssen wir noch unseren lokalen Queue Manager beenden.Wir tätigen hierfür einen Rechtsklick auf den Queue Manager (PRAKxxx.NACT) im MQ Explorer – Navigator und wählen „Stoppen...“.

Im folgenden Fenster (Abbildung 55) wählen wir als Beendigungsmethode „Gesteuert“ und bestätigen mit „OK“.

Wenn der Beendigungsprozess (Abbildung 56) beendet ist, können wir den WebSphere MQ Explorer schließen und uns von der z/OS-Maschine abmelden.

Aufgabe: Beenden Sie alle zuvor gestarteten MQ-Objekte.

39

Abbildung 55 QM Shutdown

Abbildung 56


Recommended