how test application messaging queue
Was ist eine Messaging-Warteschlange?
Messaging Queue (MQ) , ein nachrichtenorientiertes Middleware-Tool, ist ein IBM Produkt seit 1992. Es ist sehr hilfreich, Nachrichten (XML / Textdatei / HTML-Datei usw.) in zu kommunizieren SOA (serviceorientierte Architektur) auf über 80 Plattformen.
Es ist zuverlässig und bietet ein sicheres, sicheres Kommunikationsmedium und eine hervorragende Messaging-Lösung Unternehmensstruktur über den Globus.
Der heutige Artikel befasst sich mit dem Testen der Messaging-Warteschlange, die den Transport von Nachrichten zwischen zwei Anwendungen / Modulen erleichtert. Auf diese Weise können Sie die Konnektivität zwischen Anwendungen / Modulen während des Nachrichtentransports testen.
Was du lernen wirst:
- Echtzeitbeispiel eines Messaging Queue-Systems
- Anwendung mit MQ
- Technisches Beispiel
- Funktionstests mit MQ
- MQ in SOA
- MQ-bezogene Probleme beim Testen
- Fazit
- Literatur-Empfehlungen
Echtzeitbeispiel von Messaging-Warteschlange System
Lass uns nehmen ICICI Bank Dazu gehören viele Systeme, die parallel ausgeführt werden, um eine vollständige Anwendung zu erstellen. Angenommen, die ICICI Bank zeigt eine jährliche Gewinnspanne von 100 Millionen US-Dollar für das Jahr 2015.
Dieser Gewinn wäre eine Summe aller Systeme wie Sparkonto, Kreditkartenkonto, Wohnungsbaudarlehenskonto usw.
Die ICICI-Bank als übergeordnetes System sucht die Kommunikation von jedem ihrer einzelnen Systeme. Diese Kommunikation kann in erster Linie von durchgeführt werden Messaging-Warteschlange System.
Die übergeordnete ICICI-Bank kann eine Anfrage senden, dass sie den Bruttogewinn des Sparkontoantrags benötigt. Die Sparkontoanwendung berechnet diese Informationen dann, speichert sie in Form von XML und stellt sie in die Remote-Warteschlange.
Das übergeordnete System ruft dann die Remote-Warteschlange auf, um diese Informationen abzurufen.
Anwendung mit MQ
Die Schlüsselkonfiguration in SQM richtet die ein Warteschlangenmanager .
Einige wichtige Details zum Warteschlangenmanager sind unten aufgeführt
- Es besitzt / verwaltet die vollständige Funktionsweise der WebSphere MQ-Anwendung .
- Es ist nicht für die Datenübertragung verantwortlich.
- Enthält einen Kanal und einen Port zum Übertragen von Daten an eine bestimmte Zielwarteschlange oder zum internen Speichern der Nachricht, bis eine andere Warteschlange die Nachricht auswählt.
- Anwendungen können mehrere Warteschlangenmanager / -kanäle haben, um Nachrichten zu kommunizieren.
Technisches Beispiel
Nehmen wir an, es gibt Anwendungen APPS, APPP, APPF, APPL, APPD . Alle kommunizieren Nachrichten untereinander. Einige von ihnen haben bidirektionale Kommunikationsstrukturen .
- APPS ist eine Verkaufsanwendung mit Warteschlangenmanager-APPSQM, Kanal-APPSCH, Warteschlangenname-MQS, Portnummer 11112
- APPP ist eine Produktverarbeitungsanwendung mit Warteschlangenmanager-APPPQM, Kanal-APPPCH, Warteschlangenname-MQP, Portnummer 1111
- APPF ist eine fertige, voll funktionsfähige Anwendung mit Warteschlangenmanager-APPFQM, Kanal-APPFCH, Warteschlangenname-Mqf, Portnummer 1112
- APPL ist eine Logistikanwendung mit Warteschlangenmanager-APPLQM, Kanal-APPLCH, Warteschlangenname-MQD, Portnummer 1112
- APPD ist eine Übermittlungsanwendung mit Warteschlangenmanager-APPDQM, Kanal-APPDCH, Warteschlangenname-MQD, Portnummer 1112
Szenario 1 - APPS sendet Daten an APPP
Jede der oben genannten Anwendungen verfügt über zwei Konfigurationsdateien: Anwendungskonfiguration und Messaging-Warteschlange Aufbau. Die Anwendungskonfiguration enthält Details zu Prozeduren und Datenverarbeitung für die XML-Nachricht.
Das SQM Konfigurationsdatei hat die SQM Verwandte Details wie Warteschlangenmanager-APPSQM, Kanal-APPSCH, Warteschlangenname-MQS, Portnummer 1111.
( Hinweis: Klicken Sie auf das Bild für eine vergrößerte Ansicht)
Sobald die APPS Die Anwendung verarbeitet die Daten, generiert die XML-Nachricht und stellt sie in die Warteschlange. APPS Auftrag ist erledigt.
Es ist Zeit, die Nachricht in der anderen Warteschlange auszuwählen, bis der Warteschlangenmanager die Daten speichert.
Sagen wir jetzt das APPP Die Anwendung sollte die XML-Nachricht aus der MQS-Warteschlange auswählen. Das APPP Die MQ-Konfigurationsdatei ist so konfiguriert, dass die XML-Nachricht aus der MQS-Warteschlange abgerufen wird.
Die MQP-Warteschlange ruft die XML-Nachricht aus der MQS-Warteschlange ab und sendet sie an APPP Antrag auf Weiterverarbeitung.
Wie finde ich den Netzwerksicherheitsschlüssel auf Android?
Ähnliche Prozesse werden von jeder Anwendung ausgeführt, um Daten von anderen Anwendungen zu erhalten.
Szenario 2 - APPP sendet Daten an APPS
Diesmal sind die Konfigurationsdateien auf beiden Seiten unterschiedlich. Die MQ-Konfigurationsdatei unter APPP Es gibt verschiedene Warteschlangeninformationen wie Warteschlangenmanager-APPPQMR, Kanal-APPPCHR, Warteschlangenname-MqpR, Portnummer 1111.
Und das APPS Es gibt verschiedene Warteschlangeninformationen wie Warteschlangenmanager-APPSQMR, Kanal-APPSCHR, Warteschlangenname-MqsR, Portnummer 1111. Denken Sie daran, dass die Portnummer für einige Anwendungen identisch sein kann, da sie als Peers im selben System verbunden werden können.
Deshalb, Alle Anwendungen müssen entsprechend konfiguriert werden, um Nachrichten untereinander zu kommunizieren.
Es besteht die Möglichkeit, dass eine Kommunikation zwischen lokalen Anwendungen, die sich in einem aktuellen System befinden, mit einer Remote-Anwendung an einer anderen Stelle stattfinden kann. Wie oben erwähnt, sollten sowohl lokale als auch Remote-Anwendungen Konfigurationsdateien auf ihrem Server einrichten müssen, um die Kommunikation zu ermöglichen.
Wie oben erwähnt, Sowohl lokale als auch Remote-Anwendungen sollten Konfigurationsdateien auf ihrem Server einrichten, um die Kommunikation zu ermöglichen.
Funktionstests mit MQ
Tester müssen Folgendes validieren
- Anwendungskonfiguration
- Warteschlangenkonfiguration
- Nachrichtenformat
- Richtigkeit und Vollständigkeit der Nachricht
- Nachrichtenübertragung
- Nachrichtenfehler, wenn sie auftreten
MQ in SOA
SQM ist eine zuverlässige Technik, die in verwendet werden kann SOA Architektur zur Kommunikation von Nachrichten zwischen Anwendungen. Da die Nachrichtenkommunikation ein Schlüsselkonzept für den Betrieb eines ERP-Systems ist, SQM bietet die richtige Lösung dafür.
Es ist mühelos und sicher. Nach einem ähnlichen Ansatz wie im technischen Beispiel:
Nach einem ähnlichen Ansatz wie im technischen Beispiel: Messaging-Warteschlange kann für mehrere Anwendungen festgelegt werden, um Daten von einer oder mehreren Apps abzurufen.
Durch einen Blick auf die Anwendungsarchitektur können Tester mehr Informationen über die Konnektivität der Nachrichtenkommunikation zwischen Anwendungen, den E2E-Nachrichtenfluss usw. erhalten.
In jedem Fall können das MQ-Team oder die Umgebungsteams zusätzliche Details bereitstellen.
MG-Simulator (sowie IBM WebSphere ), mit dem Nachrichten aus der eingehenden Warteschlange in eine ausgehende Warteschlange übertragen werden können, können Nachrichten gelöscht, überwacht und der Empfang in der ausgehenden Warteschlange mit variablen Konfigurationen überprüft werden.
Beim Testen der Anwendungen, über die Nachrichten übertragen werden Messaging-Warteschlange Es gibt viele Szenarien, in denen Nachrichten möglicherweise nicht von einer Anwendung in eine andere übertragen werden können.
Einige der häufigsten Probleme werden unten erwähnt
- Probleme mit dem Format der Eingabe von XML-Nachrichten wie falscher Header, Metadaten, Formatprobleme, Datenprobleme usw.
- Falsche Warteschlangenkonfiguration wie falscher Warteschlangenname, Managername, Kanal, Port usw.
- Die Nachrichtengröße ist möglicherweise größer als erwartet. Die Nachricht fällt in den Ordner 'Fehler / tote Warteschlange'.
- Warteschlangenserverproblem, Konnektivitätsproblem, Remotewarteschlangenproblem usw. führen zu einem Fehler bei der Nachrichtenkommunikation.
Fazit
Beim Testen folgender Apps SOA , sowie ERP-Systeme , MQs sind integrale Elemente und als Tester ist es eine gute Idee, grundlegende Details darüber zu verstehen.
Wir hoffen, dass es diesem Artikel gelungen ist, das Konzept einzuführen und Möglichkeiten für weitere Erkundungen und Meisterschaften zu eröffnen.
Über die Autor: Dies ist ein Gastartikel von Asish K Mallik.
Bitte teilen Sie Ihre Kommentare, Fragen und Eingaben unten.
Literatur-Empfehlungen
- Ausführliche Eclipse-Tutorials für Anfänger
- AWS Elastic Beanstalk-Lernprogramm zum Bereitstellen von .NET-Webanwendungen
- Lernprogramm für die Migration von SVN zu IBM Rational Team Concert
- Tutorial zum IBM Rational Team Concert-Fehlermanagement-Tool
- Erstellen einer Einzelseitenanwendung mit AngularJS (Tutorial mit Beispiel)
- Prioritätswarteschlange In STL
- Java Reflection Tutorial mit Beispielen
- Verspotten und Simulieren von JMS IBM WebSphere MQ mit Traffic Parrot (Hands on Review)