La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Introduction IBM – WebSphere MQ WMQ

Présentations similaires


Présentation au sujet: "Introduction IBM – WebSphere MQ WMQ"— Transcription de la présentation:

1 Introduction IBM – WebSphere MQ WMQ
05/2009 EQITP - MIDDLEWARE Assimilés : MQSeries, WebSphere MQ , MQ ou WMQ

2 WMQ - Sommaire Présentation Historique Versions Architectures
Bonnes pratiques Sécurité Performances Administration / Monitoring Haute Disponibilité

3 Une domination sans partage d'IBM
WMQ - Présentation Pourquoi utiliser IBM- MQSeries / WMQ ? IBM WebSphere MQ est une famille de logiciels d'intégration et de messagerie interapplicative qui simplifient la connexion dynamique des applications en environnement hétérogène. WebSphere MQ permet l'échange d'informations et l'exécution de transactions entre les plates-formes d'exploitation différentes, facilitant la tâche des programmeurs chargés du développement et de la mise en œuvre dans le cadre de projets d'intégration. Une domination sans partage d'IBM Websphere MQ représentait 80 % du marché de la messagerie critique en % en Le besoin en MOM continue de s'accroître rapidement. Estimé à 718 M$ en 2006, il dépassera 1 Md$ en 2009 et 2,24 Md$ en 2013. Concurrence : MSMQ (Microsoft) Active MQ (Open Source) DecMessageQ, Tibco RdV, … => Non inter-opérables avec WMQ

4 Caractéristiques : WMQ - Présentation WebSphere MQ fournit :
Une infrastructure de transport, pour les messages MQ et JMS Moteurs de messaging locaux Clients MQ Fonctions de clustering (Load Balancing, Haute Disponibilité) Interface avec les applications (API) Interface d’administration (API, GUI, events) Support des transactions (syncpoint) Caractéristiques : Asynchrone « time independance » Très haute fiabilité (standard bancaire) Découplage des applications et des platesformes « loosely coupled » Disponible sur plus de 80 plates-formes API communs, nombreux langage

5 WMQ - Historique 15 ans d'initiatives des acteurs du MOM
Mars 1992 : IBM lance MQSeries. Décembre 1994 : Tibco Software commercialise son MOM, Rendezvous. Septembre 1998 : lancement de Message Queue Server 1.0 par Microsoft. Fin 1999 : Progress Software lance SonicMQ, premier ESB sur le marché. Mars 2002 : MQSeries devient Websphere MQ.2003 : début du développement d'un système de messagerie interne par JPMorgan. 2001 : publication des spécifications JMS 1.0 par Sun Microsystems. 2006 : premières spécifications AMQP. Fin 2008 : version 1.0 d'AMQP.

6 Version BNP Paribas utilisé
WMQ - Versions Version BNP Paribas utilisé EQITP MIDDLEWARE recommande l’utilisation de la : v Depuis fin 2008, la nouvelle version V7 est sortie mais ne possède qu'un seul fixPAck auj. trop jeune.    Warning : Fin du support IBM de la Version 5.3 depuis 09/2008.

7 Plusieurs types d’API disponibles :
WMQ – API Plusieurs types d’API disponibles : MQI ( C, C++, Cobol, RPG (OPM & ILE), MQ Java (WMQ classes for Java),..) AMI (deprecated) XMS (IBM advanced) Dot Net (C#,…) JMS Wrappers ( Perl, PHP, Python, Jython, PL/SQL (Oracle), Delphi / Pascal / Kylix, PL1, Rexx, …)

8 WMQ - Plates-formes supportées
Serveur AIX, AT&T GS Unix, Compaq NSK/NSS, Compaq Open VMS Alpha & Vax, Compacq, Tru 64 Unix, DC/Osx, Digital UNIX, DYNIX/ptx, Hitachi, HP/UX, IRIX, Linux Intel & zSeries, MVS/ESA, NCR, Numa-Q (Sequent), OpenVMS, OS/2, OS/390, OS/400, SCO OpenServer, SCO Unixware, SGI, Siemens Nixdorf SINIX DC/Osx, Sinix, Sun Solaris Intel & Sparc, TPF, Unisys OS2000, 2200 & MCP, UnixWare, VSE/ESA, Windows NT4, 2000, XP, 2003, Vista, Z/OS Client AIX, Apple MacOS, AT&T GS Unix, Compaq NonStop Kernel, Compaq Open VMS Alpha & Vax, Compacq Tru 64 Unix, DC/Osx, Digital Unix DG/Ux, DOS, HP/UX , HP 3000 MPE/iX, DG/UX, DYNIX/ptx - IRIX - SINIX, Java, Linux Intel & zSeries, .Net, Numa-Q (Sequent), OS/2, SCO OpenServer - SCO Unixware, SGI, Siemens Nixdorf SINIX DC/OSx, Sun Solaris, Sun Solaris Intel, Stratus VOS, TPF, Unisys A, OS2000 & MCP, VM/ESA, Windows 3.1/95/98/Me/NT/2000/XP/2003, Vista, z/VM

9 WMQ - Terminologie Queue Manager (ou QM ou GFA: Gestionnaire de files d’attente) Un queue manager est un composant qui porte un ensemble de files d'attentes et gère leur utilisation par les applications Listener Le composant listener a pour rôle d’écouter les différents réseaux (TCP/IP, IPC, etc) et de router les demandes de connexion vers une instance cible Canal message On appelle canal message un lien entre deux Queue Manager qui communiquent et s’échangent des messages Canal client MQI (Message Queue Interface) On appelle canal client un canal de connexion entre une application et un Queue Manager MCA (Message Channel Agent) Le MCA est l’agent qui établit la communication entre deux Queue Managers

10 Terminologie : Les Files d’attente
Structures de données Servent au stockage des messages Une queue “ appartient ” à un Queue Manager et un seul. Trois types principaux de files d’attente : File locales : décrites localement, contiennent les messages Files éloignées (remote) : description locale d’une file d’attente située sur un Queue Manager distant Files alias : pointeurs sur une file locale ou sur une file éloignée Les applications peuvent utiliser indifféremment les files locales, remote, ou alias.

11 Terminologie : Le message
Message = buffer de données Deux parties : en-tête (header) : informations d ’enveloppe données d’applications (data) : longueur variable, 0 à plusieurs dizaines de Mo (100 Mo max sinon le message est découpé) Header data

12 WMQ – Typologies Applicatives
Application 1 Application 2 Application 3 1 Queue Manager Queue Manager 2 3 Typologies de communication possibles Communication locale (binding) Communication distante serveur-serveur Communication distante client-serveur Problématiques liées Hébergement des Queue Managers Organisation des Queue Managers par application Connexion au Queue Manager Sécurisation des échanges 1 Client MQ 2 Application 4 3 Toutes ces typologies sont mises en œuvre actuellement à la Banque.

13 Client-Serveur Serveur-Serveur WMQ - Architectures Queue Manager : QMZ
Serveur Z QL.A.B.TEST QMZ.CX.APPA01  Application A Client Q.A.B.TEST.PUT QMZ.CX.APPB01  MQPUT MQGET Q.A.B.TEST. GET QMZ_LSTR Application B Client-Serveur Queue Manager QMB QMA Server A Server B Q.A.B.TEST.PUT QR.A.B.TEST QL.A.B.TEST Q.A.B.TEST.GET QMA.CH.QMB QMB_LSTR QMA_LSTR Application A Application B MQGET MQPUT Serveur-Serveur

14 Client-Serveur Serveur-Serveur WMQ - Architectures
define channel(APPLINAME) chltype(SVRCONN) MCAUSER(‘appliUID’) MAXMSGL(sizeOctets) replace ou alter channel(APPLINAME) chltype(SVRCONN) MCAUSER(‘appliUID’) MAXMSGL(sizeOctets) replace Serveur-Serveur def chl(APPLIA.APPLIA) chltype(SDR) conname(‘IP(port)’) locladdr(‘IPHOME’) replace def chl(APPLIA.APPLIA) chltype(RCVR) replace Il s’agit des paramètres minimales pour leur création, il existe plus d’une trentaine d’options du canal à configurer!

15 WMQ - Architectures Standalone Point-to-Point  Hub and Spoke Cluster MQ Which ONE ?

16 L’administration MQ : Installation, Configuration, Sécurité, Support,…
WMQ - Administration L’administration MQ : Installation, Configuration, Sécurité, Support,… Solution dite locale Solution dite distante ssh machine login/password su – geneqdml su – mqm runmqsc QMGRName Utilisation du client MQ : MO71 - QManagerName XXX.XXX.XXX.XXX(port) Un channel SVRCONN doit exister : « MIDDLEWARE » ++ Sécurité forte -- Admin complète mais complexe ++ Admin rapide et limité -- Mise en place de sécurité

17 WMQ – Administration / MO71
L’administration DISTANTE via GUI IBM : SupportPack MO71 1/ création d'un groupe gmqmadm 2/ création du user mqmadm appartenant au groupe gmqmadm 3/ setmqaut pour le groupe 4/ mcauser = 'mqmadm' dans le channel svrconn QM=QMNAME GRP1=gmqmadm echo Affectation des droits MQ pour le groupe $GRP1 sur le QM $QM ... # minimum pour se connecter avec un outil d'admin : setmqaut -m $QM -t qmgr -g $GRP1 +connect +inq +dsp setmqaut -m $QM -t q -n SYSTEM.DEFAULT.MODEL.QUEUE -g $GRP1 +get +put +set +dsp +browse +inq setmqaut -m $QM -t q -n SYSTEM.ADMIN.COMMAND.QUEUE -g $GRP1 +put +dsp +inq setmqaut -m $QM -t q -n SYSTEM.AUTH.DATA.QUEUE -g $GRP1 -all # accès en dsp (display) à l'ensemble des objets du QM $QM setmqaut -m $QM -t q -n \** -g $GRP1 +dsp +browse setmqaut -m $QM -t prcs -n \** -g $GRP1 +dsp setmqaut -m $QM -t chl -n \** -g $GRP1 +dsp setmqaut -m $QM -t lstr -n \** -g $GRP1 +dsp DEFINE CHANNEL(MIDDLEWARE) + CHLTYPE(SVRCONN) + TRPTYPE(TCP) + DESCR('Channel EQITP MIDDLEWARE') + MCAUSER(‘mqmadm') + REPLACE

18 WMQ – Administration / MO71
L’administration LOCALE via : runmqsc QMGR dis chl(SYSTEM.DEF.SENDER) ALL AMQ8414: Affichage des détails relatifs au canal. CHANNEL(SYSTEM.DEF.SENDER) CHLTYPE(SDR) ALTDATE( ) ALTTIME( ) BATCHHB(0) BATCHINT(0) BATCHSZ(50) COMPHDR(NONE) COMPMSG(NONE) CONNAME( ) CONVERT(NO) DESCR( ) DISCINT(6000) HBINT(300) KAINT(AUTO) LOCLADDR( ) LONGRTY( ) LONGTMR(1200) MAXMSGL( ) MCANAME( ) MCATYPE(PROCESS) MCAUSER( ) MODENAME( ) MONCHL(QMGR) MSGDATA( ) MSGEXIT( ) NPMSPEED(FAST) PASSWORD( ) PROPCTL(COMPAT) RCVDATA( ) RCVEXIT( ) SCYDATA( ) SCYEXIT( ) SENDDATA( ) SENDEXIT( ) SEQWRAP( ) SHORTRTY(10) SHORTTMR(60) SSLCIPH( ) SSLPEER( ) STATCHL(QMGR) TPNAME( ) TRPTYPE(TCP) USERID( ) XMITQ( ) dspmq QMNAME(qmgrx) STATUS(‘etat’) runmqsc QMGR1 display objet(*) all ….. …. dis ql(‘ql.name’) curdepth … end Exemple => runmqsc QMGR1 –v < modifQMGR1.mqs > modifQMGR1.mqs.log “-v” pour tester le script sans execution

19 WMQ – Administration / LOG
File System des logs messages: cd /var/mqm/log/QMNAME/active File System des logs errors : cd /var/mqm/qmgrs/QMNAME/errors => 3 fichiers rotatifs : AMQERR01.LOG, AMQERR02.LOG, AMQERR03.LOG Une fois l’erreur identifié : mqrc renvoit le descriptif de l’erreur et permet d’apporter une solution mqrc code Exemple : C:\>mqrc 2035 x000007f3 MQRC_NOT_AUTHORIZED => Problème de droits utilisateur

20 WMQ – Monitoring / Alerts
Solutions divers Patroll Sysload Nagios Shell Introscope MQ : MQMonitor QPasa MO71 ETC

21 WMQ – Monitoring / Alerts
Surveillance globale Surveillance détaillée Alertes : Warning -> Console EM Incident -> Tetracall Danger -> Push mail

22 WMQ - Sécurité Droits des objets MQ : setmqaut et dspmqaut => Habilitations par user ou group sur les objets MQ droits PUT ou GET par user.. Mise en place du SSL -> voir procédure (certificats, CA, validité, magasin, etc) Suppression de certains objets par défaut -> faille de sécurité. Mise en place Firewall / DMZ

23 NPMSPEED(FAST) Channels but no commit Persistence message ou pas
WMQ - Performances Mode Client VS Local NPMSPEED(FAST) Channels but no commit Persistence message ou pas Log circulaire ou linéaire Quid MQ version SSL Algorithms Size message Machine/OS/HARDWARE

24 WMQ - Haute Disponibilité
SOLUTION 1: Serveur de secours Opérations Déplacement de l’ IP avec IFCONFIG –a ou F5 Points forts Facilité de mise en oeuvre Rapidité de la bascule Pas ou peu de coopération nécessaire du QM partenaire Points faibles Messages prisonniers Pas de service pendant la bascule sauf si F5

25 WMQ - Haute Disponibilité
SOLUTION 2 : Serveur de secours + disque partagé Opérations Detach/Attach du disque externe Déplacement de l’ IP l’ Démarrage de QMA sur serveur 2 Points forts Pas de messages prisonniers Pas de RESET CHANNEL Pas de coopération nécessaire du QM partenaire Points faibles Le redémarrage de QMA sur S2 peut être long si beaucoup de messa ges en instance messages Pas de service pendant la bascule

26 WMQ - Haute Disponibilité
SOLUTION 3 : solution 2 + cluster MQ si partenaire MQServer et non client MQ Opérations Detach/Attach du disque externe Déplacement de l’ IP l’ Démarrage de QMA sur serveur 2 Points forts Pas de messages prisonniers Pas de RESET CHANNEL Pas de coopération nécessaire du QM partenaire Points faibles Mise en place et administration plus complexe Coopération nécessaire du QM partenaire (même cluster MQ)

27 WMQ - Questions Questions ?

28 Autres sujets : WMQ – Sujets divers Mise en place DLQ
Mise en place de l’agent Wily Gestion des ‘poison message’ Failover avec F5, avec Cluster MQ Nomenclature JMSAdmin ( Annuaire JNDI) QMName alias Listener.TCP Installation / Migration Mise en place SSL Exits etc

29 Déposer un message dans la file ‘QL.TEST’
WMQ – TP 1 Travaux pratiques : Créer un Qmgr : QM1 l’auditer avec MO71 Déposer un message dans la file ‘QL.TEST’ Vider la file ‘QL.TEST’ Chaque étape est validée par la suivante

30 Travaux pratiques : WMQ – TP 2 Créer deux Qmgrs : QM1 & QM2
Vous devez envoyer un message de QM1 vers la File QL.QM2 sur QM2 : Via Point à Point (Qremote) Via un Cluster MQ (Qcluster) Chaque étape est validée par la réception du message sur QM2


Télécharger ppt "Introduction IBM – WebSphere MQ WMQ"

Présentations similaires


Annonces Google