Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Guide WMQ Guide WMQ –– WAS 14/02/2008 WAS 14/02/2008
Introduction à WebSphere MQIntroduction à WebSphere MQ
LucLuc--MichelMichel DemeyDemey
http://http://demeydemey--consulting.frconsulting.fr
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 22
WebSphere MQWebSphere MQ
•• Logiciel IBM, catégorie «Logiciel IBM, catégorie « middlewaremiddleware »»
•• Autres noms : Autres noms :
–– MQSeriesMQSeries
–– MQMMQM
–– WMQWMQ
•• Version 1 en 12/1994Version 1 en 12/1994
•• Dérivé du produit Dérivé du produit ezBridgeezBridge d’d’ApertusApertus
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 33
WebSphere MQWebSphere MQ
•• Permet aux applications d’échanger des données en Permet aux applications d’échanger des données en mode «mode « messagemessage »»
•• Communications asynchrones, platesCommunications asynchrones, plates--formes formes hétérogèneshétérogènes
•• WMQ : 85 % de part de marché dans le WMQ : 85 % de part de marché dans le messaggingmessagginginterinter--applicatifapplicatif
•• WMQ est WMQ est LELE standard de facto pour ce type de fonctionstandard de facto pour ce type de fonction
•• ConcurrenceConcurrence–– MSMQ (Microsoft)MSMQ (Microsoft)
–– Active MQ (Open Source)Active MQ (Open Source)
–– DecMessageQDecMessageQ, , TibcoTibco, …, …
�� Non Non interinter--opopéérablesrables avec WMQavec WMQ
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 44
WebSphere MQWebSphere MQ
WMQ fournit :WMQ fournit :•• Une infrastructure de transport, pour les messages MQ Une infrastructure de transport, pour les messages MQ et JMSet JMS–– (JMS Provider au sens de J2EE 1.3)(JMS Provider au sens de J2EE 1.3)
•• Moteurs de Moteurs de messagingmessaging locauxlocaux•• Clients MQClients MQ•• Fonctions de Fonctions de clusteringclustering ((LoadLoad BalancingBalancing, Haute , Haute Disponibilité)Disponibilité)
•• Interface avec les applications (API)Interface avec les applications (API)•• Interface d’administration (API, GUI, Interface d’administration (API, GUI, eventsevents))•• Support des transactions (Support des transactions (syncpointsyncpoint))
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 55
WebSphere MQWebSphere MQ
Caractéristiques :Caractéristiques :
•• Asynchrone Asynchrone
–– «« timetime independanceindependance »»
•• Très haute fiabilité (standard bancaire)Très haute fiabilité (standard bancaire)
•• Découplage des applications et des platesDécouplage des applications et des plates--formes formes
–– «« looselyloosely coupledcoupled »»
•• Disponible sur plus de 80 platesDisponible sur plus de 80 plates--formesformes
•• API communs, nombreux langageAPI communs, nombreux langage
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 66
Principe du Principe du MessagingMessaging (1)(1)
A
B
Queue
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 77
Principe du Principe du MessagingMessaging (2)(2)
A
B
Queue Queue
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 88
Principe du Principe du MessagingMessaging (3)(3)
A
B
Queue 2
Queue 1
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 99
Les API WebSphere MQLes API WebSphere MQ
Plusieurs types d’Plusieurs types d’APIAPI disponibles :disponibles :•• MQIMQI
–– CC–– C++C++–– CobolCobol–– RPG (OPM & ILE)RPG (OPM & ILE)–– MQ Java (WMQ classes for Java)MQ Java (WMQ classes for Java)
•• AMI (AMI (deprecateddeprecated))•• XMSXMS•• Dot NetDot Net•• JMSJMS•• wrapperswrappers
–– Perl, PHPPerl, PHP–– Python, Python, JythonJython–– PL/SQL (Oracle)PL/SQL (Oracle)–– Delphi / Pascal / Kylix Delphi / Pascal / Kylix –– PL1, PL1, RexxRexx, …, …
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 1010
Les API WebSphere MQLes API WebSphere MQ
Les API de baseLes API de base•• MQCONNMQCONN : connexion au QM: connexion au QM•• MQOPENMQOPEN : ouverture de la queue: ouverture de la queue•• MQPUTMQPUT : dépôt d’un message dans la queue: dépôt d’un message dans la queue•• MQGETMQGET : retrait d’un message dans le queue: retrait d’un message dans le queue•• MQCLOSEMQCLOSE : fermeture de la queue: fermeture de la queue•• MQPUT1MQPUT1 : open + put +close: open + put +close•• MQDISCMQDISC : déconnexion du QM: déconnexion du QM
Les API avancéesLes API avancées•• MQCONNXMQCONNX : connexion au QM en mode étendu: connexion au QM en mode étendu•• MQINQMQINQ : interrogation de l’état ou des paramètres d’un objet MQ: interrogation de l’état ou des paramètres d’un objet MQ•• MQSETMQSET : modification de l’état ou des paramètres d’un objet MQ: modification de l’état ou des paramètres d’un objet MQ•• MQBEGINMQBEGIN : début d’un cycle de validation si pas d’utilisation d’un gesti: début d’un cycle de validation si pas d’utilisation d’un gestionnaire de onnaire de
synchronisation externesynchronisation externe•• MQCMITMQCMIT : COMMIT si pas d’utilisation d’un gestionnaire de synchronisati: COMMIT si pas d’utilisation d’un gestionnaire de synchronisation externeon externe•• MQBACKMQBACK : ROLLBACK si pas d’utilisation d’un gestionnaire de synchronisa: ROLLBACK si pas d’utilisation d’un gestionnaire de synchronisation externetion externe
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 1111
TopologiesTopologies
•• Gestionnaire de files d’attente isoléGestionnaire de files d’attente isolé
•• Gestionnaires de files d’attente en réseau (DQM)Gestionnaires de files d’attente en réseau (DQM)
•• Gestionnaire de files d’attente et client MQGestionnaire de files d’attente et client MQ
•• Cluster de gestionnaires de files d’attente Cluster de gestionnaires de files d’attente (Cluster WMQ)(Cluster WMQ)
•• DQM avec DQM avec SiBusSiBus WAS 6.x (WAS 6.x (MessagingMessaging EngineEngine))
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 1212
Gestionnaire de files d’attente isoléGestionnaire de files d’attente isolé
QMAApplication 1
Application 2
Put
Put
Get
Serveur
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 1313
Gestionnaires de files d’attente Gestionnaires de files d’attente en réseau (DQM)en réseau (DQM)
QMA
Application 1 Put
QMB
Application 2
Get
Serveur 1 Serveur 2
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 1414
Gestionnaire de files d’attente et client MQGestionnaire de files d’attente et client MQ
QMA
Application
Q1
Serveur 2Serveur 1
Client M
Q
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 1515
Cluster WMQCluster WMQ
QMC1 QMC2
QMC3
Application
Application
Application
Put / Get
Put
PutCluster CLU01
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 1616
Cluster MQCluster MQ
QMC1 QMC2
QMC3
Application
Put
Cluster CLU01
Load Balancing
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 1717
DQM avec DQM avec SiBusSiBus WAS 6.x (WAS 6.x (MessagingMessaging EngineEngine))
Messaging Engine
Application J2EE Put
QMA
Application 1
Get
Cellule WAS Serveur
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 1818
Packaging WebSphere MQPackaging WebSphere MQ
•• WebSphere MQ « WebSphere MQ « classicclassic »»
•• WebSphere MQ WebSphere MQ ExtendedExtended SecuritySecurity EditionEdition
•• WebSphere MQ ExpressWebSphere MQ Express
•• WebSphere MQ ClientWebSphere MQ Client
•• WebSphere MQ WebSphere MQ TransactionnalTransactionnal ClientClient
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 1919
PlatesPlates--formes supportées WebSphere formes supportées WebSphere MQMQ
ServeurServeur•• AIXAIX•• AT&T GS UnixAT&T GS Unix•• Compaq NSK/NSSCompaq NSK/NSS•• Compaq Open VMS Alpha & Compaq Open VMS Alpha & VaxVax•• CompacqCompacq TruTru 64 Unix64 Unix•• DC/DC/OsxOsx•• Digital UNIXDigital UNIX•• DYNIX/DYNIX/ptxptx•• HitachiHitachi•• HP/UXHP/UX•• IRIXIRIX•• Linux Intel & Linux Intel & zSerieszSeries•• MVS/ESAMVS/ESA•• NCRNCR•• NumaNuma--QQ ((SequentSequent))•• OpenVMSOpenVMS•• OS/2OS/2•• OS/390OS/390•• OS/400OS/400•• SCO SCO OpenServerOpenServer•• SCO SCO UnixwareUnixware•• SGISGI•• Siemens Nixdorf SINIX DC/Siemens Nixdorf SINIX DC/OSxOSx•• SinixSinix•• Sun Sun SolarisSolaris Intel & SparcIntel & Sparc•• TPFTPF•• Unisys OS2000, 2200 & MCPUnisys OS2000, 2200 & MCP•• UnixWareUnixWare•• VSE/ESAVSE/ESA•• Windows NT4, 2000, XP, 2003, VistaWindows NT4, 2000, XP, 2003, Vista•• Z/OSZ/OS
ClientClient•• AIXAIX•• Apple Apple MacOSMacOS•• AT&T GS UnixAT&T GS Unix•• Compaq Compaq NonStopNonStop KernelKernel•• Compaq Open VMS Alpha & Compaq Open VMS Alpha & VaxVax•• CompacqCompacq TruTru 64 Unix64 Unix•• DC/DC/OsxOsx•• Digital Unix DG/Digital Unix DG/UxUx•• DOSDOS•• HP/UXHP/UX•• HP 3000 MPE/HP 3000 MPE/iXiX•• DG/UXDG/UX•• DYNIX/DYNIX/ptxptx -- IRIX IRIX -- SINIXSINIX•• JavaJava•• Linux Intel & Linux Intel & zSerieszSeries•• .Net.Net•• NumaNuma--QQ ((SequentSequent))•• OS/2OS/2•• SCO SCO OpenServerOpenServer -- SCO SCO UnixwareUnixware•• SGISGI•• Siemens Nixdorf SINIX DC/Siemens Nixdorf SINIX DC/OSxOSx•• Sun Sun SolarisSolaris•• Sun Sun SolarisSolaris IntelIntel•• Stratus VOSStratus VOS•• TPFTPF•• Unisys A, OS2000 & MCPUnisys A, OS2000 & MCP•• VM/ESAVM/ESA•• Windows 3.1/95/98/Me/NT/2000/XP/2003, VistaWindows 3.1/95/98/Me/NT/2000/XP/2003, Vista•• z/VMz/VM•• 46904690
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 2020
Concepts WebSphere MQConcepts WebSphere MQ
WebSphere MQ est articulé autour de quatre concepts : WebSphere MQ est articulé autour de quatre concepts :
•• Les Gestionnaires de Files d’attentes (Queue Manager)Les Gestionnaires de Files d’attentes (Queue Manager)
•• Les Files d’attentes (Queues)Les Files d’attentes (Queues)
•• Les canaux (Les canaux (channelschannels))
•• Les messagesLes messages
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 2121
Les Queue ManagersLes Queue Managers(Gestionnaires de files d’attente (Gestionnaires de files d’attente –– GFA)GFA)
•• Sont des applications Sont des applications •• S’exécutent sur les platesS’exécutent sur les plates--formes utilisant formes utilisant
les produits WebSphere MQ. les produits WebSphere MQ. •• Plusieurs instances possiblesPlusieurs instances possibles
•• Référencés par un nom.Référencés par un nom.•• Interface entre les applications utilisant les Interface entre les applications utilisant les
services WebSphere MQ et le systèmeservices WebSphere MQ et le système
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 2222
Les Files d’attente de messageLes Files d’attente de message
•• Structures de données Structures de données •• Servent au stockage des messagesServent au stockage des messages•• Une queue “Une queue “ appartientappartient ” à un Queue Manager et un ” à un Queue Manager et un
seul. seul. •• Trois types principaux de files d’attenteTrois types principaux de files d’attente ::
–– File locales : décrites localement, contiennent les messages File locales : décrites localement, contiennent les messages –– Files éloignées (Files éloignées (remoteremote) : description locale d’une file d’attente ) : description locale d’une file d’attente
située sur un Queue Manager distantsituée sur un Queue Manager distant–– Files alias : pointeurs sur une file locale ou sur une file éloiFiles alias : pointeurs sur une file locale ou sur une file éloignéegnée
•• Les applications peuvent utiliser indifféremment les files Les applications peuvent utiliser indifféremment les files locales, locales, remoteremote, ou alias, ou alias
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 2323
Les canauxLes canaux
•• Communication du Queue Manager vers l’extérieurCommunication du Queue Manager vers l’extérieur–– Autres Queue ManagersAutres Queue Managers
–– Clients WebSphere MQClients WebSphere MQ
•• Protocoles disponibles : TCP/IP, SNA, IPX, Protocoles disponibles : TCP/IP, SNA, IPX, NetbiosNetbios, …, …
•• Masquent la complexité du réseauMasquent la complexité du réseau
•• Les canaux classiques (QM à QM) sont unidirectionnelsLes canaux classiques (QM à QM) sont unidirectionnels–– Le canal « Le canal « sendersender » envoie le contenu de la XMITQ au canal » envoie le contenu de la XMITQ au canal «« receiverreceiver », qui livre les messages dans la file de destination», qui livre les messages dans la file de destination
•• Les channels vers les clients sont Les channels vers les clients sont bibi--directionnelsdirectionnels
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 2424
Les messagesLes messages
•• Message = Message = bufferbuffer de donnéesde données
•• Deux parties :Deux parties :
–– enen--tête (header) : informations dtête (header) : informations d ’enveloppe’enveloppe
–– données d’applications (data) : longueur données d’applications (data) : longueur
variable, 0 à plusieurs dizaines de Movariable, 0 à plusieurs dizaines de Mo
DataHeader
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 2525
SynthèseSynthèse
•• FondamentauxFondamentaux
–– Indépendance par rapport au tempsIndépendance par rapport au temps
–– Indépendance par rapport à la plateIndépendance par rapport à la plate--formeforme
–– Indépendance par rapport à la localisationIndépendance par rapport à la localisation
•• EcosystèmeEcosystème
WMQ est une brique de base pour :WMQ est une brique de base pour :
–– Message broker (WBIMB/MQSI), Message broker (WBIMB/MQSI), EventEvent Broker (WBIEB)Broker (WBIEB)
–– WebSphere MQ WebSphere MQ WorkflowWorkflow / WebSphere / WebSphere ProcessProcess ChoreographerChoreographer
–– ESB / SOAESB / SOA
•• La La plupartplupart des grandes applications du marché disposent de des grandes applications du marché disposent de connecteurs MQ (SAP, connecteurs MQ (SAP, SiebelSiebel, , BizztalkBizztalk, JDE, , JDE, PeopleSoftPeopleSoft, …), …)
Guide WMQ Guide WMQ -- WAS du 14/02/2008WAS du 14/02/2008 © Demey Consulting, 2001© Demey Consulting, 2001--20082008 2626
Quelques liensQuelques liens
•• InfocenterInfocenter WMQ :WMQ :http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/http://publib.boulder.ibm.com/infocenter/wmqv6/v6r0/
•• RedbooksRedbooks ((http://www.redbooks.ibm.com/http://www.redbooks.ibm.com/))MQSeriesMQSeries PrimerPrimer, REDP, REDP--00210021--00 (10/1999)00 (10/1999)WebSphere MQ V6 FundamentalsWebSphere MQ V6 Fundamentals, SG24, SG24--71287128--00 (12/2005)00 (12/2005)
•• Forums :Forums :http://mqseries.nethttp://mqseries.nethttp://forums.mqseries.frhttp://forums.mqseries.fr
•• a a HursleyHursley viewview on WebSphere MQon WebSphere MQhttp://hursleyonwmq.wordpress.com/http://hursleyonwmq.wordpress.com/
•• WebSphere MQ WebSphere MQ -- SupportPacsSupportPacshttp://wwwhttp://www--1.ibm.com/support/1.ibm.com/support/docview.wssdocview.wss??uiduid=swg27007197=swg27007197