how test application messaging queue
Hvad er meddelelseskø?
Beskedkø (MQ) , et meddelelsesorienteret middleware-værktøj, er et IBM produkt siden 1992. Det er meget nyttigt at kommunikere meddelelser (XML / tekstfil / HTML-fil osv.) i SOA (serviceorienteret arkitektur) på over 80 platforme.
Det er pålideligt og giver et sikret, sikret kommunikationsmedium og en fremragende messaging-løsning til Virksomhedsarkitektur verden over.
Dagens artikel handler om at teste Messaging Queue, der letter transport af meddelelser mellem to applikationer / moduler. Dette hjælper dig med at teste forbindelsen mellem applikationer / moduler under transport af beskeder.
Hvad du vil lære:
- Eksempel i realtid på Messaging Queue-systemet
- Ansøgning med MQ
- Teknisk eksempel
- Funktionel test med MQ
- MQ i SOA
- MQ-relaterede problemer under testning
- Konklusion
- Anbefalet læsning
Eksempel på realtid Beskedkø system
Lad os tage ICICI Bank der inkluderer mange systemer, der kører parallelt for at gøre en komplet applikation. Antag, at ICICI Bank viser en årlig fortjenstmargen på $ 100 millioner for året 2015.
Denne fortjeneste ville være et samlet antal af alle systemer såsom sparekonto, kreditkortkonto, boliglånskonto og så videre.
ICICI-bank som modersystem søger kommunikation fra hvert af sine individuelle systemer. Denne kommunikation kan primært udføres af Beskedkø system.
Forældrenes ICICI-bank kan sende en anmodning om, at den har brug for bruttofortjenesten i sparekontoansøgningen. Gemningskontoprogrammet beregner derefter disse oplysninger, gemmer dem i form af XML og placerer dem i fjernkøen.
Forældresystemet kalder derefter fjernkøen for at hente disse oplysninger.
Ansøgning med MQ
Nøglekonfigurationen i SQM opretter Kø Manager .
Et par vigtige detaljer om køadministratoren er nævnt nedenfor
- Det ejer / administrerer den komplette funktion af WebSphere MQ-applikation .
- Det er ikke ansvarligt for transmission af data.
- Indeholder en kanal og port til at overføre data til en bestemt destinationskø eller til at gemme meddelelsen internt, indtil anden kø vælger beskeden.
- Applikationer kan have flere køadministratorer / kanaler til at kommunikere beskeder.
Teknisk eksempel
Lad os antage, at der er applikationer APPS, APPP, APPF, APPL, APPD . Alle kommunikerer meddelelser indbyrdes. Nogle af dem har det tovejskommunikationsstrukturer .
- APPS er en salgsapplikation med kømanager-APPSQM, kanal-APPSCH, kønavn-MQS, portnum-11112
- APPP er en applikation til produktbehandling, med kømanager-APPPQM, kanal-APPPCH, kønavn-MQP, portnum-1111
- APPF er en færdig, fuldt funktionel applikation med kømanager-APPFQM, kanal-APPFCH, kønavn-Mqf, portnum-1112
- APPL er en logistikapplikation med kømanager-APPLQM, kanal-APPLCH, kønavn-MQD, portnum-1112
- APPD er en leveringsapplikation med kømanager-APPDQM, kanal-APPDCH, kønavn-MQD, portnum-1112
Scenarie 1 - APPS sender data til APPP
Hver af ovenstående applikationer har to konfigurationsfiler, applikationskonfiguration og Beskedkø konfiguration. Applikationskonfigurationen indeholder detaljer om procedurer og databehandling for XML-meddelelsen.
Det SQM konfigurationsfilen har SQM relaterede detaljer som kømanager-APPSQM, kanal-APPSCH, kønavn-MQS, portnum-1111.
( Bemærk: Klik på billedet for at se det større)
En gang APPS applikationen behandler dataene, genererer den XML-beskeden og sætter den i køen. APPS job er udført.
Det er på tide at vælge meddelelsen ved den anden kø, indtil købeholderen opbevarer dataene.
Lad os nu sige APPP applikationen skal vælge XML-beskeden fra MQS-køen. Det APPP MQ-konfigurationsfil er konfigureret til at hente XML-beskeden fra MQS-køen.
MQP-køen henter XML-beskeden fra MQS-køen og sender den til APPP ansøgning om videre behandling.
Lignende processer udføres af hver applikation for at opnå data fra andre applikationer.
Scenarie 2 - APPP sender data til APPS
Denne gang vil konfigurationsfilerne være forskellige på begge sider. MQ-konfigurationsfilen på APPP vil have forskellige køinfo som kømanager-APPPQMR, kanal-APPPCHR, kønavn-MqpR, portnum-1111.
Og APPS vil have forskellige køoplysninger som køadministrator-APPSQMR, kanal-APPSCHR, kønavn-MqsR, portnum-1111. Husk at portnummeret kan være det samme for få applikationer, da de kunne forbindes som jævnaldrende i det samme system.
Derfor, alle applikationer skal konfigureres i overensstemmelse hermed for at kommunikere meddelelser indbyrdes.
Der er en mulighed for, at en kommunikation kan ske mellem lokale applikationer, der er i et aktuelt system med en fjernapplikation andetsteds. Som nævnt ovenfor skal både lokale og eksterne applikationer have konfigurationsfiler, der skal konfigureres på deres server for at muliggøre kommunikation.
Som nævnt ovenfor, både lokale og eksterne applikationer skal have konfigurationsfiler, der skal konfigureres på deres server for at muliggøre kommunikation.
Funktionel test med MQ
Testere skal validere følgende
- Applikationskonfiguration
- Køkonfiguration
- Beskedformat
- Besked korrekthed og fuldstændighed
- Meddelelse transmission
- Beskedfejl, når de opstår
MQ i SOA
SQM er en pålidelig teknik, der kan bruges i SOA arkitektur til at kommunikere meddelelser mellem applikationer. Da meddelelseskommunikation er et nøglekoncept til at køre et ERP-system, SQM giver den rigtige løsning til det.
Det er ubesværet og sikkert. Efter en tilgang svarende til den, der er vist i det tekniske eksempel,
Efter en tilgang svarende til den, der er vist i det tekniske eksempel, Beskedkø kan indstilles på flere applikationer til at hente data fra en eller flere apps.
hvordan man åbner en swf-fil
Ved at kigge på applikationsarkitekturen kan mere information opnås af testere om meddelelseskommunikationsforbindelse mellem applikationer, E2E-meddelelsesflow osv.
Under alle omstændigheder kan MQ-team eller miljøteam give yderligere oplysninger.
MG-simulator (såsom IBM WebSphere ), som kan overføre meddelelserne fra indgående kø til en udgående kø, kan bruges til at slippe beskeder, overvåge dem og kontrollere kvitteringen i den udgående kø med variable konfigurationer.
Mens du tester de applikationer, der kommunikerer meddelelser igennem Beskedkø , der er mange scenarier, hvor beskeder ikke kan overføres fra en applikation til en anden.
Nogle af de almindelige problemer er nævnt nedenfor
- Indtast XML-beskedformatproblemer som forkert overskrift, metadata-problem, formatproblemer, dataproblemer osv.
- Forkert køkonfiguration såsom forkert kønavn, managernavn, kanal, port osv.
- Beskedstørrelse kan være mere end forventet meddelelse falder i mappe med fejl / død kø.
- Problem med køserver, forbindelse med forbindelse, problem med fjernkø osv. Fører til fejl i meddelelseskommunikation.
Konklusion
Når du tester apps, der følger SOA , såsom ERP-systemer , MQ'er er integrerede elementer, og som testere er det en god ide at forstå grundlæggende detaljer om det samme.
Vi håber, at denne artikel er lykkedes at introducere konceptet og åbnede veje til yderligere udforskning og mestring.
Omkring forfatter: Dette er en gæsteartikel af Asish K Mallik.
Del venligst dine kommentarer, spørgsmål og input nedenfor.
Anbefalet læsning
- Dybdegående formørkelsesvejledninger til begyndere
- AWS Elastic Beanstalk Tutorial til implementering af .NET webapplikation
- SVN til IBM Rational Team Concert Migration Tutorial
- IBM Rational Team Concert Defect Management Tool Tutorial
- Byg applikation til en enkelt side ved hjælp af AngularJS (vejledning med eksempel)
- Prioritetskø i STL
- Java Reflection Tutorial med eksempler
- Sådan bespottes og simuleres JMS IBM WebSphere MQ med Traffic Papegøje (Hands on Review)