+ All Categories
Home > Documents > Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

Date post: 06-Apr-2016
Category:
Upload: detlef-steinmann
View: 217 times
Download: 1 times
Share this document with a friend
Popular Tags:
39
Blockseminar Großrechneraspe kte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau
Transcript
Page 1: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

Blockseminar

GroßrechneraspekteMessaging Systems/

MQSeries (Grundlagen)

Steffen Goldau

Page 2: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

1.Einführung2.Messaging und Queuing3.Messages4.Queue-Manager5.Message-Queues6.Events7.Zusammenfassung

 

Page 3: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

1.1.Motivation

• Middleware ermöglicht verteilten An-wendungen miteinander zu kommunizieren

• „verteilt“ : z.B. Mainframes oder Cluster....

• Netzwerk zunächst erst einmal beliebig

Page 4: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

1.1.Motivation• Hauptkomponenten von MQSeries:

NETWORK

Applikation

MQSeries

Applikation

MQSeries

MQIMQI

Page 5: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

1.1.Motivation

(HIGHSPEED) NETWORK

PC/Workstation

Comm. SW

Net.Interface HW

PC/Workstation

Comm. SW

Net.Interface HW

Cluster Middleware (Single System Image)

Serial ProgrammingEnvironment

Parallel ProgrammingEnvironment

Serial Applications Parallel Applications

Page 6: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

1.2.Middleware

• "Off-the-shelf connectivity software that supports distributed processing at runtime and it is used BY DEVELOPERS to build distributed software."

• MQSeries ist ein proprietäres Middlewareprogramm von IBM

Page 7: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

1.2.Middleware• Host: IBM

MVS/ESA- Server and Client enabled Tandem NonStop Kernel- Server IBM VSE/ESA- Server

• Workstation:IBM AIX- Server and ClientNCR (AT&T GIS) UNIX- Server and ClientSiemens Nixdorf SINIX- Server and ClientHewlett Packard HP-UX- Server and ClientSunSolaris and SunOS- Server and ClientDigital Unix- Client - available as SupportPacLinux Client - available as SupportPac

Page 8: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

1.2.Middleware• Desktop: Windows 2000- Server and Client

Microsoft Windows (MQSeries V2.0 - 16 Bit)Microsoft Windows (MQSeries V2.1 - 32 Bit)Windows 95 (32- Bit)- ClientSCO Unixware- ServerSCO Unix- ServerSCO Unix (L2)- ClientDOS Client- available as SupportPacMacOS (OEM)- Client

Page 9: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

1.2.Middleware

• MQSeries ermöglicht die Kommunikation auf verschiedenen Abstraktionsebenen:

OSSubsystems

Kommunikations-Protokolle

Prozessoren

OSSubsystems

Kommunikations-Protokolle

Prozessoren

WINTEL Sun/Solaris

MQSeries = Cross- Network- Communication

Page 10: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

1.3.MQSeries-Grundlagen und Charakteristika

• Message- Queuing ist eine Methode der Programm-zu-Programm-Kommunikation

• VERBINDUNGSLOSES Senden und Empfangen von Nachrichten wird ermöglicht

• Nachrichten werden hinterlegt und abgefragt mit Hilfe sogenannter Message- Queues (über MQSeries-API-Calls MQI)

Page 11: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

1.3.MQSeries-Grundlagen und Charakteristika

• der Queue-Manager ist das Run-Time-Programm von MQSeries (zuständig für Verwaltungs-aufgaben der Queues)

• ein Queue-Manager arbeitet objektorientiert• MQSeries ermöglicht: -

asynchrone Kommunikation - verbindungslose Kommunikation - parallele Kommunikation

Page 12: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

1.4.Anwendungsgebiete

• Workflow-Management:Lotus Notes

• Integration prinzipiell jeglicher IT- Systeme, insbesondere aber:

- Finanzen - Herstellung - Handel & Vertrieb - Gesundheitsfürsorge- Reise- & Transportwesen

Page 13: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

1.5.Alternativen

• innerhalb des Mainframebereichs gibt‘s keine• außerhalb (z.B.Cluster):

- DCOM (distributed component oriented model) von Microsoft

- Programmiersprachen – spezifisch: RMI (Java)

MPI/PVM (C,C++)HPF (Fortran) ......

Page 14: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

1.5.Alternativen

• alternative Prinzipien zum Message- Queuing:

RPC (remote procedure call)

MOM (message oriented middleware)ORB

(object request broker)

Page 15: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

2. Messaging und Queuing2.1.Speicherkommunikation vs

Nachrichtenkommunikation• Speicherkommunikation:

Global Memory

CPU

Lok.Mem.

CPU

Lok. Mem.

Page 16: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

2.1.Speicherkommunikation vs Nachrichtenkommunikation

• Nachrichtenkommunikation:

NETWORK

CPU

Lok.Mem.

CPU

Lok.Mem.

Page 17: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

2.2.Paketkommunikation vsKanalkommunikation

• Paket: z.B.:Bussysteme, internes Internet

• Kanal: z.B.:Telephon

• in der Realität treten nat. auch Mischformen auf

Page 18: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

2.3.Grundlegende Prinzipien

• MQSeries: MOM, paketorientiert• Messaging: Nachrichtenobjekte werden

versendet und empfangen• Queuing: Postfach, Synchronisation

überflüssig• Queue: Datenstruktur, die von einem

Queuemanager verwaltet wird und in der Nachrichten gespeichert werden können

Page 19: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

2.3.Grundlegende Prinzipien

• eine Anwendung nutzt zum Senden und Empfangen einer Nachricht MQI-Calls

• der Programmiere kümmert sich nicht um Zielapplikation sondern nur um Zielqueue

• MQSeries ermöglicht sowohl synchrones als auch asynchrones messaging

Page 20: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

2.3.Grundlegende Prinzipien• durch das MQI ist MQSeries in vielen

Programmiersprachen und Plattformen nutzbar• MQSeries verwirklicht eine Client-/Server-

Struktur• Programme kommunizieren ausschließlich über

Queues und deren Managern• innerhalb von MQSeries ist eine direkte Punkt-

zu-Punkt-Kommunikation unmöglich

Page 21: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

2.3.Grundlegende Prinzipien

ApplikationA

ApplikationB

Queue-Manager

Queue-Manager

AQ(A)

EQ(A) AQ(B)

EQ(B)

MQIMQI

Page 22: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

2.3.Grundlegende Prinzipien

ApplikationA

ApplikationBQueuemanager

AQ(A)=EQ(B)

EQ(A)=AQ(B)

MQI MQI

Page 23: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

3.Messages

• Messages bestehen prinzipiell aus zwei Teilen:

- Daten (ab Version MQSeries 5 bis zu 100MB)

- Header (MessageID, Steuerattribute,...)

Page 24: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

3.1.Segmentierung

•  Messages können (automatisch) zerteilt werden, um Ressourcen (z.B. Puffergröße der Zielapplikation) besser nutzen zu können

• der Empfänger kann dann entweder die ganze Nachricht oder bestimmte, in interessierende, Segmente abfragen

• die Segmente sind prinzipiell eigenständige kleinere Nachrichten

Page 25: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

3.2.Gruppierung

•  um den Netzwerktraffic zu optimieren, können viele kleine Messages auch zu einer großen Nachricht zusammengefasst werden

• MQSeries sorgt automatisch für das Beibehalten der richtigen Reihenfolge (falls die Nachricht wieder auseinander genommen wird)

Page 26: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

3.3.Distribution Lists

• eine Message kann natürlich auch an mehrere Ziel- Queues gesendet werden

• wenn diese Queues vom selben Manager verwaltet werden, können die Nachrichten nur an diesen Manager gesendet werden

• dieser verteilt sie dann an die Queues • dynamic distribution list : welche Queue

gehört zu welchem Manager

Page 27: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

3.4.Message Types

• Datagram: konventionelle Nachricht, welche ohne Rückmeldungs- forderung einfach nur Daten transportiert

• Request: mit Rückmeldeforderung• Reply: Antwortnachricht auf Request• Report: Event- Information (z.B. bei

Fehler oder als Bestätigung

Page 28: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

3.5.Persistenz von Messages

• Messages können persistent oder nicht persistent übertragen werden:

• persistent messages: - Übertragung wird mittels eines Über- tragungsprotokolls sichergestellt - bei Systemausfällen reproduzierbar

• non persistent messages:- bei Systemausfällen nicht reproduzierbar

Page 29: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

3.6.Message Descriptor • Der Message- Descriptor enthält:

- Version Number- MessageID/CorrellationID- persistent/non persistent- Priorität- Date & Time- Lifetime of a message- Returnadress- Format- Sender application and type- report option- Backout- Counter- Segmentierung/ Gruppierung 

Page 30: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

3.Queue- Manager

• der Message- Queue- Manager (MQM) ist der Kern von MQSeries und wird durch das MQSeries-Run-Time-Program implementiert

• seine Hauptaufgabe ist (wie schon erwähnt) die Verwaltung der Queues

• zusätzlich stellt er einige Funktionen bereit, die den Traffic verringern bzw. die Arbeit des Programmierers vereinfachen

• dies geschieht durch die Bereitstellung des MQI durch den MQM

Page 31: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

4.Queue- Manager

ApplicationProgram A

PUT to Q1

ApplicationProgram B

GET from Q1

Queuemanager mit Queue Q1

Page 32: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

4.Queue- Manager

Hauptaufgaben des Queuemanagers:- verwalten der Message- Queues der Applikationen- zur Verfügung stellen des MQI's- nutzen vorhandener Netzwerk- Facilities (MQM- to-MQM)- ggf. segmentieren und gruppieren- übernehmen von Aufgaben der Kommunikations-

koordination (Distribution List)- liefern von Queue-Verwaltungs-Funktionen

Page 33: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

4.1.Queue-Manager-Cluster

• MQMs können in Clustern zusammengeschlossen werden 

• Konventionelle Verbindung: partial repository (enthält nur Informationen über interessierende Objekte)

• Cluster- Verbindung: full repository (enthält Informationen über alle Objekte im Cluster)

• den Programmierer kümmert es nicht, ob er in einem Cluster arbeitet oder nicht; die Koordination übernimmt MQSeries

Page 34: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

4.2.Queue-Manager-Objekte

es gibt folgende Objekte für den Queuemanager:

– Queuemanager

– Queues

– Channels

– Prozess- Definitionen

Page 35: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

4.2.Channels

MQClient

MQClient

MQM MQMMQI- Channels

bidirektional

Message- Channels

unidirektional

Page 36: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

5.Message- Queues

MQSeries unterscheidet je nach Zweck verschiedene Arten von Queues:

- Lokale Queues- Cluster- Queues- Remote Queues- Transmission Queues- Dynamic Queues- Alias Queues

Page 37: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

6.Events

• es gibt MQSeries-Instrumentations-Events, welche benutzt werden können, um Operationen eines Managers zu verfolgen

• Events generieren spezielle Nachrichten, wenn bestimmte Bedingungen erfüllt sind

• sie lassen sich z.B. wie folgt kategorisieren:- Queuemanager- Events- Performance- Events- Channel- Events

Page 38: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

7.Zusammenfassung

• Middleware• MQSeries• Alternativen: RPC, MOM, ORB• Queuemanagerobjekte:

-Queues-Queuemanager-Channels-Events

Page 39: Blockseminar Großrechneraspekte Messaging Systems/ MQSeries (Grundlagen) Steffen Goldau.

Quellenverzeichnis

• Herrmann/Kebschull/Spruth: Einführung in z/OS und OS/390

• Bulitz/Döhre: Seminararbeit Enterprise Middleware

• Fey: Vorlesung “Cluster Computing“


Recommended