Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seminar Großrechneraspekte Messaging Systeme MQSeries Doreen Baum.

Ähnliche Präsentationen


Präsentation zum Thema: "Seminar Großrechneraspekte Messaging Systeme MQSeries Doreen Baum."—  Präsentation transkript:

1 Seminar Großrechneraspekte Messaging Systeme MQSeries Doreen Baum

2 Überblick MQSeries-Architektur Kommunikation zwischen Queue-Managern Aktivieren von Applikationen Kommunikation zwischen Client und Server MQI (Message-Queuing-Interface) Code Fragment Zusammenfassung

3 MQ-Series – Architektur

4 Bausteine und Gesamtarchitektur

5 Bestandteile des Queuing-Systems Queue-Manager (MQM) Listener Trigger-Monitor Channel-Initiator Message-Channel-Agent (MCA oder Mover)

6 Kommunikation zwischen Queue-Managern

7 Kommunikation zwischen 2 Queue-Manager

8 Automatischer Kommunikationsstart

9 Möglichkeiten der Aktivierung Sobald die erste Nachricht auf die Xmit-Queue gelegt wird Jedesmal, wenn eine Nachricht auf die Xmit- Queue gelegt wird Erst wenn die Queue eine bestimmte Anzahl von Nachrichten enthält Queue-Manager startet das Channel-Programm:

10 Aktivierungsablauf

11 Aktivieren von Applikationen

12 Aktivieren einer Applikation

13 Aktivierungstypen every: es wird eine Nachricht in den Ziel-Queue geschrieben first: sobald die Ziel-Queue leer wird n messages: es befinden sich n Nachrichten in der Ziel-Queue Eine Trigger-Message wird in die Initiation-Queue geschrieben, wenn:

14 Kommunikation zwischen Client und Server

15 Arten von Clients 1.Fat-Client –Verfügen über lokalen Queue-Manager 2.Slim-Client oder MQSeries-Client –Haben keinen lokalen Queue-Manager –Nur arbeitsfähig, wenn Client mit einem Server verbunden ist

16 MQI und Massage-Channels

17 Rechner-Type MQSeries-Client  Slim-Client MQSeries-Server  Zwischen-Knoten Leaf-Node  Fat-Client

18 Client/Server-Kommunikation

19 Kommunikations-Modi synchron: –Applikation wartet auf eintreffende Nachrichten –Verarbeitung fortsetzen nach Eintreffen asynchron –Verarbeitung beginnt, wenn Applikation gestartet wird und eine Nachricht vorhanden ist

20 Massage-Queuing-Interface (MQI)

21 API-Calls MQCONN: Verbindung mit Queue-Manager herstellen MQCONNX:Verbindung mit Queue-Manager über eine schnelle Verbindung herstellen MQBEGIN:startet eine Arbeitseinheit, die von einem Queue-Manager koordiniert wird

22 API-Calls MQOPEN:öffnet eine Queue MQPUT:legt eine Nachricht auf eine Queue MQCLOSE:schließt eine Queue MQPUT1:Kombination von MQOPEN, MQPUT und MQCLOSE MQINQ:fordert Informationen über den Queue-Manager oder eines seiner Objekte an

23 API-Calls MQSET:verändert einige Attribute eines Objektes MQCMIT:abgelegte Nachrichten werden verfügbar gemacht und zurück gekommenen Nachrichten werden gelöscht MQBACK:abgelegte Nachrichten werden gelöscht und zurück gekommene Nachrichten werden wieder auf Queue gelegt

24 API-Calls MQDISC:trennt die Verbindung zum Queue-Manager

25 Code Fragment MQCONN HCON;// Connection handle MQHOBJ Hobj1;// Object handle for queue 1 MQHOBJ Hobj2;// Object handle for queue 2 MQLONG CompCode, Reason;// Return Codes MQOD od1 = {MQOD_DEFAULT};// Object Descriptor queue 1 MQOD od2 = {MQOD_DEFAULT};// Object Descriptor queue 2 MQMD md = {MQMD_DEFAULT};// Message Descriptor MQPMO pmo = {MQPMO_DEFAULT};// Put message options MQGMO gmo = {MQGMO_DEFAULT};// Get message options // Verbindung zu Queue-Manager herstellen strcpy(QMName, "MYQMGR"); MQCONN(QMName, &Hcon, &CompCode, &Reason);

26 Code Fragment // Queue für die Ausgabe öffnen strcpy(od1.ObjectName, "QUEUE1"); MQOPEN(Hcon, &od1, MQOO_OUTPUT, &Hobj1, &CompCode, &Reason); // Nachricht auf den Queue legen MQPUT(Hcon, Hobj1, &md, &pmo, 100, &buffer, &CompCode, &Reason); // Queue für die Ausgabe schließen MQCLOSE(Hcon, &Hobj1, MQCO_NONE, &CompCode, &Reason);

27 Code Fragment // Queue für die Eingabe öffnen options = MQCO_INPUT_AS_Q_DEF; strcpy(od2.ObjectName, "QUEUE2"); MQOPEN(Hcon, &od2, options, &Hobj2, &CompCode, &Reason); // Get Message gmo.Options = MQGMO_NO_WAIT; buflen = sizeof (buffer-1); memcpy(md.MSGId MQMI_NONE, sizeof (md.MsgId); memset(md.CorrelId, 0x00, sizeof (MQBYTE24)); MQGET(Hcon, &Hobj2, &md, &gmo, buflen, buffer, 100, MQOPEN, &CompCode, &Reason);

28 Code Fragment // Queue für die Eingabe schließen options = 0; MQCLOSE (Hcon, &Hobj2, options, &CompCode, &Reason); // Verbindung zum Queue-Manager trennen MQDISC(Hcon, &CompCode, &Reason);

29 Zusammenfassung MQSeries-Applikationen können mit minimalem Aufwand entwickelt und getestet werden Auf vielen Plattformen lauffähig, deshalb gute Kommunikation über Netzwerk mit unterschiedlichen Komponenten Konsistentes API auf allen Plattformen

30 Literatur Einführung in z/OS und OS/390 P.Herrmann/U.Kebschull/W.G.Spruth


Herunterladen ppt "Seminar Großrechneraspekte Messaging Systeme MQSeries Doreen Baum."

Ähnliche Präsentationen


Google-Anzeigen