how test application messaging queue
Ce este coada de mesagerie?
Coada de mesagerie (MQ) , un instrument middleware orientat către mesaje, este un IBM produs din 1992. Este foarte util să comunicați mesaje (fișier XML / text / fișier HTML etc.) în SOA (service Oriented Architecture) pe peste 80 de platforme.
Este fiabil și oferă un mediu de comunicare securizat, asigurat și o soluție excelentă de mesagerie pentru Arhitectura întreprinderii pe tot globul.
Articolul de astăzi este despre testarea cozii de mesagerie care facilitează transportul mesajelor între două aplicații / module. Acest lucru vă va ajuta să testați conectivitatea dintre aplicații / module în timpul transportului mesajelor.
Ce veți învăța:
- Exemplu în timp real al sistemului de coadă de mesagerie
- Aplicare cu MQ
- Exemplu tehnic
- Testarea funcțională cu MQ
- MQ în SOA
- Probleme legate de MQ în timpul testării
- Concluzie
- Lectură recomandată
Exemplu în timp real de Coadă de mesaje sistem
Hai sa luam Banca ICICI care include multe sisteme care rulează în paralel pentru a crea o aplicație completă. Să presupunem că Banca ICICI arată o marjă de profit anuală de 100 de milioane de dolari pentru anul 2015.
Acest profit ar fi un agregat al tuturor sistemelor, cum ar fi Cont de economii, Cont de card de credit, Cont de împrumut la domiciliu și așa mai departe.
Banca ICICI ca sistem părinte caută comunicarea de la fiecare dintre sistemele sale individuale. Această comunicare poate fi realizată în primul rând de Coadă de mesaje sistem.
Banca mamă ICICI poate trimite o cerere că are nevoie de profitul brut al aplicației pentru contul de economii. Aplicația contului de economisire calculează apoi aceste informații, le stochează sub formă de XML și le plasează în coada de la distanță.
Apoi, sistemul părinte va apela la coada de la distanță pentru a prelua aceste informații.
Aplicare cu MQ
Configurarea cheii din SQM configurează Manager coadă .

Câteva detalii importante despre Managerul de cozi sunt menționate mai jos
- Deține / gestionează funcționarea completă a Aplicația WebSphere MQ .
- Nu este responsabil pentru transmiterea datelor.
- Conține un canal și un port pentru a transmite date către o anumită coadă de destinație sau pentru a stoca mesajul intern până când o altă coadă alege mesajul.
- Aplicațiile ar putea avea mai mulți manageri de coadă / canale pentru a comunica mesaje.
Exemplu tehnic
Să presupunem că există aplicații APPS, APPP, APPF, APPL, APPD . Toate comunică mesaje între ele. Unii dintre ei au structuri de comunicare bidirecționale .
- APLICĂRI este o aplicație de vânzare, cu manager de coadă-APPSQM, canal-APPSCH, coadă-MQS, portnum-11112
- APPP este o aplicație de procesare a produsului, cu manager de coadă-APPPQM, canal-APPPCH, coadă-MQP, portnum-1111
- APPF este o aplicație completă, complet funcțională, cu manager de cozi-APPFQM, canal-APPFCH, coadă-Mqf, portnum-1112
- APPL este o aplicație logistică, cu manager de coadă-APPLQM, canal-APPLCH, coadă-MQD, portnum-1112
- APPD este o aplicație de livrare, cu manager de coadă-APPDQM, canal-APPDCH, coadă-MQD, portnum-1112

Scenariul 1 - APPS trimite date către APPP
Fiecare dintre aplicațiile de mai sus va avea două fișiere de configurare, configurația aplicației și Coadă de mesaje configurare. Configurația aplicației conține detalii despre proceduri și procesarea datelor pentru mesajul XML.
SQM config va avea fișierul SQM detalii conexe, cum ar fi managerul de coadă-APPSQM, canal-APPSCH, numele cozii-MQS, portnum-1111.
( Notă: Faceți clic pe imagine pentru vizualizare mărită)

Odata ce APLICĂRI aplicația procesează datele, generează mesajul XML și le introduce în coadă. APLICĂRI treaba este gata.
Este timpul să alegeți mesajul de cealaltă coadă până atunci Managerul de cozi va păstra datele.
Să spunem acum APPP aplicația ar trebui să aleagă mesajul XML din coada MQS. APPP Fișierul de configurare MQ este configurat pentru a prelua mesajul XML din coada MQS.
Coada MQP va prelua mesajul XML din coada MQS și îl va trimite către APPP cerere pentru prelucrare ulterioară.
Procese similare sunt efectuate de fiecare aplicație pentru a obține date de la alte aplicații.
Scenariul 2 - APPP trimite date către APPS
De data aceasta fișierele de configurare vor fi diferite de ambele părți. Fișierul de configurare MQ la APPP va avea diferite informații despre coadă, cum ar fi Managerul de coadă-APPPQMR, canal-APPPCHR, numele cozii-MqpR, portnum-1111.
Si APLICĂRI va avea informații diferite despre coadă, cum ar fi Managerul de coadă-APPSQMR, canal-APPSCHR, numele cozii-MqsR, portnum-1111. Amintiți-vă că numărul portului poate fi același pentru puține aplicații, deoarece acestea ar putea fi conectate ca peeri în același sistem.

Prin urmare, toate aplicațiile vor trebui configurate corespunzător pentru a comunica mesaje între ele.
Există posibilitatea ca o comunicație să poată avea loc între aplicațiile locale care se află într-un sistem curent cu o aplicație la distanță în altă parte. După cum sa menționat mai sus, atât aplicațiile locale, cât și cele la distanță ar trebui să aibă fișiere de configurare pentru a le configura pe serverul lor pentru a permite comunicarea.
Așa cum sa menționat mai sus, atât aplicațiile locale, cât și cele la distanță ar trebui să aibă fișiere de configurare pentru a le configura pe serverul lor pentru a permite comunicarea.
Testarea funcțională cu MQ
Testatorii vor trebui să valideze următoarele
- Configurarea aplicației
- Configurarea cozii
- Format mesaj
- Corectitudinea și completitudinea mesajelor
- Transmiterea mesajului
- Eșecurile mesajului, atunci când apar
MQ în SOA
SQM este o tehnică de încredere care poate fi utilizată în SOA arhitectură pentru a comunica mesaje între aplicații. Deoarece comunicarea prin mesaje este un concept cheie pentru rularea unui sistem ERP, SQM oferă soluția potrivită pentru aceasta.
Este fără efort și sigur. Urmând o abordare similară cu cea prezentată în exemplul tehnic,
Urmând o abordare similară cu cea prezentată în exemplul tehnic, Coadă de mesaje poate fi setat pe mai multe aplicații pentru a prelua date de la una sau mai multe aplicații.

Aruncând o privire asupra arhitecturii aplicației, testerii pot obține mai multe informații despre conectivitatea comunicării mesajelor între aplicații, fluxul de mesaje E2E etc.
În orice caz, echipa MQ sau echipele de mediu pot oferi detalii suplimentare.
Simulator MG (ca IBM WebSphere ), care poate transfera mesajele din coada de intrare într-o coadă de ieșire poate fi folosit pentru a renunța la mesaje, a le monitoriza și a verifica chitanța la coada de ieșire cu configurații variabile.
În timp ce testați aplicațiile care comunică mesaje prin Coadă de mesaje , există multe scenarii în care mesajele nu pot transfera de la o aplicație la alta.
Unele dintre problemele comune sunt menționate mai jos
- Introduceți probleme legate de formatul mesajului XML, cum ar fi antetul incorect, problema metadatelor, problemele de format, problemele de date etc.
- Configurarea incorectă a cozii, cum ar fi numele incorect al cozii, numele managerului, canalul, portul etc.
- Dimensiunea mesajului poate fi mai mare decât cea așteptată mesajul va intra în dosarul de eroare / coadă moartă.
- Problema serverului cozii, conectivitatea, coada la distanță etc. duce la eșecul comunicării mesajelor.
Concluzie
Când testați aplicațiile care urmează SOA , ca Sisteme ERP , MQ-uri sunt elemente integrale și, ca testeri, este o idee bună să înțelegeți detalii de bază despre aceleași.
care este cel mai bun sistem de operare Windows
Sperăm că acest articol a reușit să introducă conceptul și să deschidă căi pentru explorare și stăpânire ulterioară.
Despre autor: Acesta este un articol invitat de Asish K Mallik.
Vă rugăm să împărtășiți comentariile, întrebările și datele de mai jos.
Lectură recomandată
- Tutoriale detaliate pentru eclipsă pentru începători
- Tutorial AWS Elastic Beanstalk pentru implementarea aplicației web .NET
- Tutorial SVN către IBM Rational Team Concert Migration
- Tutorial IBM Rational Team Concert Defect Management Tool
- Construiți o aplicație cu o singură pagină utilizând AngularJS (Tutorial cu exemplu)
- Coadă prioritară în STL
- Tutorial de reflecție Java cu exemple
- Cum să batjocorească și să simuleze JMS IBM WebSphere MQ cu Traffic Parrot (Hands on Review)