how test application messaging queue
Що таке Черга обміну повідомленнями?
Черга обміну повідомленнями (MQ) , інструмент проміжного програмного забезпечення, орієнтований на повідомлення, є IBM продукт з 1992 року. Дуже корисно обмінюватися повідомленнями (XML / текстовий файл / HTML-файл тощо) у SOA (сервісно-орієнтована архітектура) на понад 80 платформах.
Він надійний і забезпечує захищений, надійний носій зв'язку та відмінне рішення для обміну повідомленнями Архітектура підприємства по всьому світу.
Сьогоднішня стаття стосується тестування черги повідомлень, яка полегшує транспортування повідомлень між двома програмами / модулями. Це допоможе вам перевірити зв'язок між програмами / модулями під час транспортування повідомлень.
Що ви дізнаєтесь:
- Приклад у режимі реального часу системи черги обміну повідомленнями
- Застосування з MQ
- Технічний приклад
- Функціональне тестування за допомогою MQ
- MQ в SOA
- Проблеми, пов’язані з MQ під час тестування
- Висновок
- Рекомендована література
Приклад у реальному часі Черга обміну повідомленнями система
Давай візьмемо Банк ICICI що включає багато систем, що працюють паралельно, щоб зробити одне повне додаток. Припустимо, що Банк ICICI показує річну норму прибутку в розмірі 100 мільйонів доларів за 2015 рік.
Цей прибуток був би сукупним для всіх систем, таких як Ощадний рахунок, Рахунок кредитної картки, Рахунок домашньої позики тощо.
Банк ICICI як материнська система прагне спілкуватися з кожною з його окремих систем. Це спілкування в першу чергу може здійснюватися Черга обміну повідомленнями система.
Батьківський банк ICICI може надіслати запит про необхідність валового прибутку від програми Ощадного рахунку. Потім програма збереження рахунку обчислює цю інформацію, зберігає її у вигляді XML і розміщує у віддаленій черзі.
Тоді батьківська система викличе віддалену чергу для отримання цієї інформації.
Застосування з MQ
Конфігурація ключа в SQM встановлює Диспетчер черг .
Нижче наведено кілька важливих деталей про менеджер черг
- Він володіє / управляє повним функціонуванням Додаток WebSphere MQ .
- Він не несе відповідальності за передачу даних.
- Містить канал і порт для передачі даних до певної черги призначення або для внутрішнього зберігання повідомлення, поки інша черга не вибере повідомлення.
- Додатки можуть мати декілька диспетчерів черг / каналів для обміну повідомленнями.
Технічний приклад
Припустимо, що є додатки APPS, APPP, APPF, APPL, APPD . Всі вони передають повідомлення між собою. Деякі з них мають двосторонні комунікаційні структури .
- ДОДАТКИ це програми продажу, з менеджером черг-APPSQM, каналом-APPSCH, ім'ям черги-MQS, portnum-11112
- APPP є додатком для обробки продуктів, з менеджером черг-APPPQM, каналом-APPPCH, ім'ям черги-MQP, portnum-1111
- APPF є готовим, повністю функціональним додатком, з менеджером черг-APPFQM, каналом-APPFCH, ім'ям черги-Mqf, portnum-1112
- ЗАСТОСУВАННЯ є логістичним додатком, з менеджером черг-APPLQM, каналом-APPLCH, іменем черги-MQD, portnum-1112
- APPD - це програма доставки, з менеджером черг-APPDQM, каналом-APPDCH, іменем черги-MQD, portnum-1112
Сценарій 1 - APPS надсилає дані до APPP
Кожна з вищевказаних програм матиме два файли конфігурації, конфігурацію програми та Черга обміну повідомленнями конфігурації. Конфігурація програми містить деталі процедур та обробки даних для XML-повідомлення.
SQM конфігураційний файл матиме файл SQM пов'язані деталі, такі як менеджер черг-APPSQM, канал-APPSCH, назва черги-MQS, portnum-1111.
( Примітка: Клацніть на зображення для збільшення
Одного разу ДОДАТКИ додаток обробляє дані, воно генерує повідомлення XML і поміщає його в чергу. ДОДАТКИ робота виконана.
код сортування міхурів c ++
Настав час вибрати повідомлення в іншій черзі, доки Менеджер черг зберігатиме дані.
найкращі компанії для відеоігор, які працюватимуть на 2018 рік
Тепер скажімо APPP додаток повинен вибрати повідомлення XML із черги MQS. APPP Файл конфігурації MQ налаштований на отримання повідомлення XML із черги MQS.
Черга MQP отримає повідомлення XML із черги MQS і надішле його на APPP заявка на подальшу обробку.
Подібні процеси виконує кожна програма для отримання даних з інших програм.
Сценарій 2 - APPP надсилає дані до APPS
Цього разу конфігураційні файли будуть різними з обох сторін. Файл конфігурації MQ за адресою APPP матиме різну інформацію про чергу, наприклад, Queue Manager-APPPQMR, channel-APPPCHR, ім'я черги-MqpR, portnum-1111.
І ДОДАТКИ матиме іншу інформацію про чергу, наприклад, менеджер черг-APPSQMR, канал-APPSCHR, ім'я черги-MqsR, portnum-1111. Пам'ятайте, що номер порту може бути однаковим для кількох програм, оскільки їх можна підключити як однорангові мережі в одній системі.
Отже, всі програми повинні бути налаштовані відповідно для обміну повідомленнями між собою.
Існує ймовірність того, що може відбутися зв’язок між локальними програмами, які перебувають у поточній системі з віддаленою програмою в іншому місці. Як уже згадувалося вище, як локальні, так і віддалені програми повинні мати конфігураційні файли, які можна встановити на своєму сервері, щоб забезпечити зв’язок.
Як зазначено вище, як локальні, так і віддалені програми повинні мати на своєму сервері файли конфігурації, щоб забезпечити зв’язок.
Функціональне тестування за допомогою MQ
Тестери повинні перевірити наступне
- Конфігурація програми
- Конфігурація черги
- Формат повідомлення
- Правильність та повнота повідомлення
- Передача повідомлення
- Помилки повідомлень, коли вони трапляються
MQ в SOA
SQM - це надійна техніка, яку можна використовувати в SOA архітектура для обміну повідомленнями між програмами. Оскільки обмін повідомленнями є ключовим поняттям для роботи ERP-системи, SQM забезпечує правильне рішення для нього.
Це легко і надійно. Слідуючи підходу, подібному до наведеного в технічному прикладі,
Слідуючи підходу, подібному до наведеного в технічному прикладі, Черга обміну повідомленнями може бути встановлений у кількох програмах для отримання даних з однієї або декількох програм.
Подивившись на архітектуру додатків, тестувальники можуть отримати більше інформації про зв'язок між повідомленнями між програмами, потік повідомлень E2E тощо.
У будь-якому випадку, команда MQ або команда з питань навколишнього середовища можуть надати додаткові деталі.
MG тренажер (як от IBM WebSphere ), який може передавати повідомлення з вхідної черги у вихідну чергу, може використовуватися для скидання повідомлень, моніторингу їх та перевірки надходження в вихідну чергу із змінними конфігураціями.
Під час тестування програм, які передають повідомлення через Черга обміну повідомленнями , існує багато сценаріїв, коли повідомлення не можуть передаватися з однієї програми в іншу.
Деякі загальні проблеми згадані нижче
- Введіть проблеми формату повідомлення XML, такі як неправильний заголовок, проблема метаданих, проблеми форматування, проблеми з даними тощо.
- Неправильна конфігурація черги, така як неправильна назва черги, ім’я менеджера, канал, порт тощо.
- Розмір повідомлення може бути більше, ніж очікувалося, повідомлення потраплятиме в папку з помилкою / мертвою чергою.
- Проблема з сервером черг, проблема з підключенням, проблема з віддаленою чергою тощо призводить до збою зв'язку з повідомленнями.
Висновок
Під час тестування наступних додатків SOA , як от ERP-системи , MQ є невід’ємними елементами, і як тестери, непогано зрозуміти основні деталі про те саме.
Ми сподіваємось, що цій статті вдалося ввести цю концепцію та відкрити шляхи для подальших досліджень та освоєння.
Про автор: Це гостьова стаття Асіша К Малліка.
Будь ласка, поділіться своїми коментарями, запитаннями та матеріалами нижче.
Рекомендована література
- Поглиблені підручники Eclipse для початківців
- Підручник AWS Elastic Beanstalk для розгортання веб-додатків .NET
- Підручник з SVN до IBM Rational Team Concert Migration
- Підручник із інструментарію управління дефектами IBM Rational Team Concert
- Створення односторінкової програми за допомогою AngularJS (Підручник із прикладом)
- Черга пріоритетів у STL
- Підручник з роздумів про Java з прикладами
- Як знущатись та моделювати JMS IBM WebSphere MQ за допомогою папуги Traffic (Практичний огляд)