how test application messaging queue
Wat is de berichtenwachtrij?
VPN Europa
Berichtenwachtrij (MQ) , een berichtgeoriënteerde middleware-tool, is een IBM product sinds 1992. Het is erg handig om berichten (XML / tekstbestand / HTML-bestand enz.) te communiceren in SOA (service Oriented Architecture) op meer dan 80 platforms.
Het is betrouwbaar en biedt een beveiligd, verzekerd communicatiemedium en een uitstekende messaging-oplossing voor Bedrijfsarchitectuur over de wereld.
Het artikel van vandaag gaat over het testen van Messaging Queue dat het transport van berichten tussen twee applicaties / modules vergemakkelijkt. Dit helpt u bij het testen van de connectiviteit tussen applicaties / modules tijdens het transport van berichten.
Wat je leert:
- Real-time voorbeeld van Messaging Queue-systeem
- Toepassing met MQ
- Technisch voorbeeld
- Functioneel testen met MQ
- MQ in SOA
- MQ-gerelateerde problemen tijdens het testen
- Gevolgtrekking
- Aanbevolen literatuur
Realtime voorbeeld van Berichtenwachtrij systeem
Laten we nemen ICICI Bank dat omvat veel systemen die parallel draaien om een complete applicatie te maken. Stel dat het ICICI Bank toont een jaarlijkse winstmarge van $ 100 miljoen voor het jaar 2015.
Deze winst zou een totaal zijn van alle systemen, zoals spaarrekening, creditcardrekening, woningkredietrekening enzovoort.
ICICI-bank zoekt als moedersysteem communicatie van elk van zijn individuele systemen. Deze communicatie kan primair worden gedaan door Berichtenwachtrij systeem.
De moeder-ICICI-bank kan een verzoek sturen om de brutowinst van de Spaarrekening-applicatie nodig te hebben. De spaarrekeningtoepassing berekent deze informatie vervolgens, slaat deze op in de vorm van XML en plaatst deze in de wachtrij op afstand.
Het bovenliggende systeem zal vervolgens de externe wachtrij bellen om deze informatie op te halen.
Toepassing met MQ
De belangrijkste configuratie in SQM is het opzetten van de Wachtrij Manager

Een paar belangrijke details over de Queue Manager worden hieronder vermeld
- Het bezit / beheert de volledige werking van het WebSphere MQ-toepassing
- Het is niet verantwoordelijk voor het verzenden van gegevens.
- Bevat een kanaal en poort om gegevens naar een bepaalde bestemmingswachtrij te verzenden of om het bericht intern op te slaan totdat een andere wachtrij het bericht oppikt.
- Toepassingen kunnen meerdere wachtrijmanagers / kanalen hebben om berichten te communiceren.
Technisch voorbeeld
Laten we aannemen dat er toepassingen zijn APPS, APPP, APPF, APPL, APPD Ze communiceren allemaal berichten met elkaar. Sommigen van hen hebben communicatiestructuren in twee richtingen
- APPS is een verkoopapplicatie, met wachtrijmanager-APPSQM, kanaal-APPSCH, wachtrijnaam-MQS, portnum-11112
- APPP is een productverwerkingstoepassing, met wachtrijmanager-APPPQM, kanaal-APPPCH, wachtrijnaam-MQP, poortnum-1111
- APPF is een voltooide, volledig functionele applicatie, met wachtrijmanager-APPFQM, kanaal-APPFCH, wachtrijnaam-Mqf, portnum-1112
- APPL is een logistieke applicatie, met wachtrijmanager-APPLQM, kanaal-APPLCH, wachtrijnaam-MQD, portnum-1112
- APPD is een bezorgapplicatie, met wachtrijmanager-APPDQM, kanaal-APPDCH, wachtrijnaam-MQD, portnum-1112

Scenario 1 - APPS verzendt gegevens naar APPP
Elk van de bovenstaande applicaties heeft twee configuratiebestanden, applicatieconfiguratie en Berichtenwachtrij configuratie. De applicatieconfiguratie bevat details van procedures en gegevensverwerking voor het XML-bericht.
De SQM config-bestand heeft de extensie SQM gerelateerde details zoals wachtrijmanager-APPSQM, kanaal-APPSCH, wachtrijnaam-MQS, portnum-1111.
Opmerking: Klik op de afbeelding voor een vergrote weergave)

wat is een bin-bestand?
Zodra het APPS applicatie verwerkt de gegevens, genereert het XML-bericht en plaatst het in de wachtrij. APPS de klus is geklaard.
Het is tijd om het bericht bij de andere wachtrij te kiezen totdat de wachtrijbeheerder de gegevens vasthoudt.
Laten we nu zeggen de APPP de toepassing moet het XML-bericht uit de MQS-wachtrij kiezen. De APPP Het MQ-configuratiebestand is geconfigureerd om het XML-bericht op te halen uit de MQS-wachtrij.
De MQP-wachtrij haalt het XML-bericht op uit de MQS-wachtrij en stuurt het naar APPP aanvraag voor verdere verwerking.
Gelijkaardige processen worden door elke applicatie uitgevoerd om gegevens uit andere applicaties te verkrijgen.
Scenario 2 - APPP verzendt gegevens naar APPS
Deze keer zijn de configuratiebestanden aan beide kanten verschillend. Het MQ-configuratiebestand op APPP zal verschillende wachtrij-informatie hebben zoals Queue Manager-APPPQMR, kanaal-APPPCHR, wachtrijnaam-MqpR, portnum-1111.
En de APPS zal verschillende wachtrij-informatie hebben, zoals Wachtrijbeheer-APPSQMR, kanaal-APPSCHR, wachtrijnaam-MqsR, portnum-1111. Onthoud dat het poortnummer voor enkele applicaties hetzelfde kan zijn, aangezien ze als peers in hetzelfde systeem kunnen worden aangesloten.

Daarom alle applicaties zullen dienovereenkomstig moeten worden geconfigureerd om berichten onderling te communiceren.
Er is een mogelijkheid dat er communicatie kan plaatsvinden tussen lokale applicaties die zich in een huidig systeem bevinden met een externe applicatie elders. Zoals hierboven vermeld, moeten zowel lokale als externe applicaties configuratiebestanden hebben die op hun server kunnen worden ingesteld om communicatie mogelijk te maken.
Zoals hierboven vermeld, zowel lokale als externe applicaties moeten configuratiebestanden hebben om op hun server in te stellen om communicatie mogelijk te maken.
Functioneel testen met MQ
Testers zullen het volgende moeten valideren
- Applicatie configuratie
- Wachtrij configuratie
- Berichtformaat
- Correctheid en volledigheid van berichten
- Berichtoverdracht
- Berichtfouten, wanneer ze zich voordoen
MQ in SOA
SQM is een betrouwbare techniek die kan worden gebruikt in SOA architectuur om berichten tussen applicaties te communiceren. Omdat berichtcommunicatie een sleutelbegrip is voor het runnen van een ERP-systeem, SQM biedt hiervoor de juiste oplossing.
c ++ zet char * om naar int
Het is moeiteloos en veilig. Door een benadering te volgen die vergelijkbaar is met die in het technische voorbeeld,
Door een benadering te volgen die vergelijkbaar is met die in het technische voorbeeld, Berichtenwachtrij kan op meerdere applicaties worden ingesteld om gegevens uit een of meer apps op te halen.

Door de applicatiearchitectuur te bekijken, kunnen testers meer informatie verkrijgen over berichtcommunicatie-connectiviteit tussen applicaties, E2E-berichtenstroom, etc.
In ieder geval kunnen MQ-team of omgevingsteams aanvullende details verstrekken.
MG-simulator (zoals IBM WebSphere ), die de berichten van de inkomende wachtrij naar een uitgaande wachtrij kan overbrengen, kan worden gebruikt om berichten te droppen, te controleren en de ontvangst bij de uitgaande wachtrij te controleren met variabele configuraties.
Tijdens het testen van de applicaties die berichten communiceren via Berichtenwachtrij , zijn er veel scenario's waarin berichten mogelijk niet van de ene toepassing naar de andere worden overgebracht.
Enkele van de veelvoorkomende problemen worden hieronder genoemd
- Problemen met de indeling van XML-berichten, zoals onjuiste koptekst, probleem met metagegevens, problemen met de indeling, gegevensproblemen, enz.
- Onjuiste wachtrijconfiguratie zoals onjuiste wachtrijnaam, beheerdersnaam, kanaal, poort, etc.
- De berichtgrootte is mogelijk groter dan verwacht. Het bericht valt in de map met fout / dode wachtrij.
- Probleem met wachtrijserver, verbindingsprobleem, probleem met externe wachtrij, enz. Leidt tot een storing in de berichtcommunicatie.
Gevolgtrekking
Bij het testen van apps die volgen SOA , zoals ERP-systemen MQs zijn integrale elementen en als testers is het een goed idee om de basisdetails over hetzelfde te begrijpen.
We hopen dat dit artikel erin is geslaagd het concept te introduceren en wegen heeft geopend voor verdere verkenning en beheersing.
Over de auteur: Dit is een gastartikel van Asish K Mallik.
Deel uw opmerkingen, vragen en invoer hieronder.
Aanbevolen literatuur
- Diepgaande Eclipse-zelfstudies voor beginners
- AWS Elastic Beanstalk-zelfstudie voor het implementeren van .NET-webtoepassingen
- SVN naar IBM Rational Team Concert Migration Tutorial
- Zelfstudie IBM Rational Team Concert Defect Management Tool
- Bouw een applicatie met één pagina met AngularJS (zelfstudie met voorbeeld)
- Prioriteitswachtrij in STL
- Zelfstudie over reflectie in Java met voorbeelden
- JMS IBM WebSphere MQ bespotten en simuleren met Traffic Parrot (Hands on Review)