how test application messaging queue
Che cos'è la coda di messaggistica?
Coda di messaggistica (MQ) , uno strumento middleware orientato ai messaggi, è un file IBM prodotto dal 1992. È molto utile comunicare messaggi (XML / file di testo / file HTML ecc.) in formato SOA (Service Oriented Architecture) su oltre 80 piattaforme.
È affidabile e fornisce un mezzo di comunicazione protetto e garantito e un'eccellente soluzione di messaggistica Architettura d'impresa attraverso il globo.
L'articolo di oggi riguarda il test della coda di messaggistica che facilita il trasporto di messaggi tra due applicazioni / moduli. Questo ti aiuterà a testare la connettività tra applicazioni / moduli durante il trasporto dei messaggi.
Cosa imparerai:
- Esempio in tempo reale del sistema Messaging Queue
- Applicazione con MQ
- Esempio tecnico
- Collaudo Funzionale con MQ
- MQ in SOA
- Problemi relativi a MQ durante il test
- Conclusione
- Lettura consigliata
Esempio in tempo reale di Coda di messaggistica sistema
Prendiamo Banca ICICI che include molti sistemi in esecuzione in parallelo per creare un'applicazione completa. Supponiamo che il file Banca ICICI mostra un margine di profitto annuale di $ 100 milioni per l'anno 2015.
Questo profitto sarebbe un aggregato di tutti i sistemi come Conto di risparmio, Conto della carta di credito, Conto del prestito domestico e così via.
La banca ICICI come sistema genitore cerca la comunicazione da ciascuno dei suoi sistemi individuali. Questa comunicazione può essere eseguita principalmente da Coda di messaggistica sistema.
La banca capogruppo ICICI può inviare una richiesta che necessita dell'utile lordo della domanda di conto di risparmio. L'applicazione del conto di risparmio calcola quindi queste informazioni, le memorizza sotto forma di XML e le inserisce nella coda remota.
Il sistema padre chiamerà quindi la coda remota per recuperare queste informazioni.
Applicazione con MQ
La configurazione della chiave in MQ sta configurando il Queue Manager .

Di seguito sono riportati alcuni dettagli importanti sul gestore code
- Possiede / gestisce il completo funzionamento del Applicazione WebSphere MQ .
- Non è responsabile della trasmissione dei dati.
- Contiene un canale e una porta per trasmettere i dati a una particolare coda di destinazione o per memorizzare il messaggio internamente fino a quando un'altra coda non sceglie il messaggio.
- Le applicazioni possono avere più gestori code / canali per comunicare i messaggi.
Esempio tecnico
Supponiamo che ci siano applicazioni APP, APPP, APPF, APPL, APPD . Tutti stanno comunicando messaggi tra loro. Alcuni di loro lo hanno fatto strutture di comunicazione a due vie .
il gateway predefinito non è disponibile
- APPS è un'applicazione di vendita, con gestore code-APPSQM, canale-APPSCH, nome coda-MQS, portnum-11112
- APPP è un'applicazione di elaborazione del prodotto, con gestore code-APPPQM, canale-APPPCH, nome coda-MQP, portnum-1111
- APPF è un'applicazione completa e completamente funzionante, con gestore code-APPFQM, canale-APPFCH, nome coda-Mqf, portnum-1112
- APPL è un'applicazione logistica, con gestore code-APPLQM, canale-APPLCH, nome coda-MQD, portnum-1112
- APPD è un'applicazione di consegna, con gestore code-APPDQM, canale-APPDCH, nome coda-MQD, portnum-1112

Scenario 1: APPS invia i dati a APPP
Ciascuna delle applicazioni di cui sopra avrà due file di configurazione, la configurazione dell'applicazione e Coda di messaggistica configurazione. La configurazione dell'applicazione contiene i dettagli delle procedure e dell'elaborazione dei dati per il messaggio XML.
Il MQ config avrà l'estensione MQ dettagli correlati come gestore code-APPSQM, canale-APPSCH, nome coda-MQS, portnum-1111.
( Nota: Clicca sull'immagine per ingrandirla)

Una volta che il file APPS l'applicazione elabora i dati, genera il messaggio XML e lo inserisce nella coda. APPS il lavoro è fatto.
È ora di scegliere il messaggio dall'altra coda fino a quel momento il Queue Manager manterrà i dati.
Ora diciamo il APPP l'applicazione dovrebbe prelevare il messaggio XML dalla coda MQS. Il APPP Il file di configurazione MQ è configurato per recuperare il messaggio XML dalla coda MQS.
La coda MQP recupererà il messaggio XML dalla coda MQS e lo invierà a APPP domanda di ulteriore elaborazione.
Processi simili vengono eseguiti da ciascuna applicazione per ottenere dati da altre applicazioni.
Scenario 2: APPP invia i dati ad APPS
Questa volta i file di configurazione saranno diversi su entrambi i lati. Il file di configurazione MQ in APPP avrà diverse informazioni sulla coda come Queue Manager-APPPQMR, canale-APPPCHR, nome coda-MqpR, portnum-1111.
E il APPS avrà diverse informazioni sulla coda come Queue manager-APPSQMR, channel-APPSCHR, queue name-MqsR, portnum-1111. Ricorda che il numero di porta può essere lo stesso per poche applicazioni in quanto potrebbero essere collegate come peer nello stesso sistema.

Perciò, tutte le applicazioni dovranno essere configurate di conseguenza per comunicare messaggi tra di loro.
Esiste la possibilità che possa avvenire una comunicazione tra applicazioni locali che si trovano in un sistema corrente con un'applicazione remota altrove. Come accennato in precedenza, sia le applicazioni locali che quelle remote dovrebbero avere file di configurazione da configurare nel proprio server per abilitare la comunicazione.
Come menzionato sopra, sia le applicazioni locali che quelle remote dovrebbero avere file di configurazione da impostare nel loro server per abilitare la comunicazione.
Collaudo Funzionale con MQ
I tester dovranno convalidare quanto segue
- Configurazione dell'applicazione
- Configurazione della coda
- Formato del messaggio
- Correttezza e completezza del messaggio
- Trasmissione di messaggi
- Errori di messaggio, quando si verificano
MQ in SOA
MQ è una tecnica affidabile che può essere utilizzata in SOA architettura per comunicare messaggi tra le applicazioni. Poiché la comunicazione dei messaggi è un concetto chiave per l'esecuzione di un sistema ERP, MQ fornisce la soluzione giusta per questo.
È facile e sicuro. Seguendo un approccio simile a quello mostrato nell'esempio tecnico,
Seguendo un approccio simile a quello mostrato nell'esempio tecnico, Coda di messaggistica può essere impostato su più applicazioni per recuperare i dati da una o più app.

Dando uno sguardo all'architettura dell'applicazione, i tester possono ottenere maggiori informazioni sulla connettività della comunicazione dei messaggi tra le applicazioni, il flusso dei messaggi E2E, ecc.
In ogni caso, il team MQ oi team ambientali possono fornire ulteriori dettagli.
Simulatore MG (ad esempio IBM WebSphere ), che può trasferire i messaggi dalla coda in entrata a una coda in uscita può essere utilizzato per rilasciare i messaggi, monitorarli e controllare la ricezione nella coda in uscita con configurazioni variabili.
Durante il test delle applicazioni che comunicano messaggi tramite Coda di messaggistica , esistono molti scenari in cui i messaggi possono non essere trasferiti da un'applicazione a un'altra.
Alcuni dei problemi comuni sono menzionati di seguito
- Input problemi di formato del messaggio XML come intestazione errata, problema di metadati, problemi di formato, problemi di dati, ecc.
- Configurazione della coda errata come nome della coda, nome del gestore, canale, porta e così via errati.
- La dimensione del messaggio potrebbe essere superiore a quella prevista.
- Problema del server di coda, problema di connettività, problema di coda remota, ecc. Portano a un errore di comunicazione del messaggio.
Conclusione
Durante il test delle app che seguono SOA , ad esempio Sistemi ERP , MQ sono elementi integranti e come tester, è una buona idea comprendere i dettagli di base sullo stesso.
Ci auguriamo che questo articolo sia riuscito a introdurre il concetto e ad aprire strade per ulteriori esplorazioni e padronanza.
Riguardo a autore: Questo è un articolo ospite di Asish K Mallik.
Per favore condividi i tuoi commenti, domande e input di seguito.
Lettura consigliata
- Tutorial approfonditi su Eclipse per principianti
- Tutorial AWS Elastic Beanstalk per la distribuzione di applicazioni Web .NET
- Tutorial sulla migrazione da SVN a IBM Rational Team Concert
- Tutorial di IBM Rational Team Concert Defect Management Tool
- Crea un'applicazione a pagina singola utilizzando AngularJS (tutorial con esempio)
- Coda prioritaria in AWL
- Tutorial Java Reflection con esempi
- Come simulare e simulare JMS IBM WebSphere MQ con Traffic Parrot (Hands on Review)