Ibm mq создать текстовое сообщение в очередь

Обновлено: 07.07.2024

Современные корпоративные системы характеризуются как сверхсложные и гетерогенные, распределенные по различным платформам. Положение большинства предприятий в настоящее время во многом определяется тем, что логика интеграции и взаимодействия систем встроена в отдельные приложения. Технология взаимодействия приложений ограничена транспортными механизмами для передачи данных. Потребности бизнеса и набирающего силу электронного бизнеса диктуют необходимость связи и интеграции этих гетерогенных систем и платформ. Современным корпорациям требуются надежные и тотально-распределенные вычислительные инфраструктуры, интегрирующее middleware , решающее задачи интеграции различных прикладных систем между собой. Появился даже специальный термин – Enterprise Application Integration (EAI) – Интеграция Приложений.

Общепринятый в мировой практике подход к интеграции заключается в уходе от создания прямых интерфейсов приложений и в использовании интеграционного связующего программного обеспечения (ПО), которое способно обеспечить выполнение всех функций, необходимых крупной корпорации. В результате становятся возможными централизация и стандартизация подхода к интеграции , что позволит предприятиям разработать интеграционную среду, которую можно будет совершенствовать и изменять в соответствии с эволюцией бизнес среды.

Для решения задач интеграции приложений существует так называемое промежуточное программное обеспечение (middleware) , призванное решать проблемы взаимодействия между распределенными прикладными и системными программными компонентами. Промежуточное ПО позиционируется как системный слой между прикладными программами и операционными системами. Использование промежуточного программного обеспечение становится особенно важным когда идет речь о физически или логически (может быть даже на одной аппаратной платформе) распределенной системе.

Среди разнообразного промежуточного ПО принято выделять три базовых категории, представленных рис.1.1:


Рис. 1.1. Базовые категории промежуточного программного обеспечения

Помимо базового промежуточного ПО часто выделяют специализированное интеграционное промежуточное ПО , куда относятся средства позволяющие взаимодействовать программам и системам, принципиально различным друг от друга.

Примерами таких систем могут быть интеграционные брокеры, системы управления бизнес-процессами, шлюзы и адаптеры к различным системам.

Средства МОМ имеют своих предшественников в виде систем для передачи файлов типа FTP, решений типа экспорта - импорта данных с использование различных промежуточных хранителей: файлов, буферов памяти, баз данных. Находяясь долгое время в виде вспомогательных и частных средств, класс подобного программное обеспечения стал бурно развиваться и стандартизироваться в связи с выходом на первый план задач интеграции прикладных систем между собой.

Модель клиент/сервер

Асинхронное взаимодействие

Запуск программы

Параллельная и распределенная обработка

Введем следующие определения.

Прикладной программный интерфейс

Прикладные программы взаимодействуют с WebSphereMQ через программный интерфейс MQI (Message Queue Interface). MQI имеет единую структуру на всех платформах и основан на простой системе из десятка команд:

WebSphereMQ обладает своим внутренним менеджером ресурсов, который кроме того поддерживает внешний XA интерфейс, и может участвовать в распределенной транзакции под управлением таких мониторов транзакций как CICS, Encina, Tuxedo. Сами по себе сервера WebSphereMQ , начиная с версии 5, могут быть координаторами распределенных транзакций с двухфазной фиксацией.

Триггерные возможности: Как активизировать программу обработки?


Рис. 1.5. Обработка событий при помощи триггеринга


Рис. 1.6. Административные компоненты и интерфейсы WebSphereMQ

Административные команды и доступ к объектам менеджера очередей
Безопасность приложений
  • Интеграция приложений в распределенной гетерогенной среде;
  • Организация взаимодействия независимо работающих приложений или приложений, работа которых разделена во времени;
  • Сложные распределенные и/или распараллеленные процессы обработки;
  • Пересылка файлов, передача больших объемов данных;
  • Синхронизация и репликация данных ;
  • Поддержка мобильных клиентов.

Достаточно частыми являются случаи кросс-платформенной интеграции , например, серверное приложение, работающее на рабочей станции под управлением операционной системы UNIX, должно посылать данные об обновлениях базы данных и проведенных транзакциях приложению на сервер системы iSeries или мейнфрейм.

Между разными приложениями, работающими на одном мощном сервере, может быть организовано межсистемное взаимодействие, например, между подсистемами OS/390, когда другие технологии межсистемного взаимодействия оказываются более сложными.

Развитие IBM MQSeries - WebSphere MQ

Местом разработки MQSeries является лаборатория IBM, находящаяся в местечке Херсли (Hursley) на юго-западе Англии. Европейское происхождение технологии возможно определило техническую проработанность продукта с одной стороны, и некоторый недостаток активной рекламы для него на рынке с другой.

Первая версия MQSeries представляла собой сборный пакет из версий производства самой IBM для мейнфреймов, и продуктов System Strategies Inc.(SSI) для персональный компьютеров и UNIX платформ.

Менеджер очередей для целого ряда платформ поддерживается на уровне функциональности второй версии – MQSeries V2.2 для DEC OVMS VAX V2.2, DEC OVMS AXP V2.2, Tandem NSK V2.2, SINIX and DC/OSx V2.2, AT&T NCR, V2.2.

В 1997 появляется 5 версия MQSeries на новой кодовой базе Armada. В ней было ряд нововведений, в том числе:

Следующая версия 5.2 была выпущена в 2001 году. Версия имела новую кодовую базу Flotilla, была направлена на улучшения производительности, в этой версии появилась поддержка операционной системы Linux.

В настоящее время менеджеры очередей WebSphere MQ , работают на следующих основных платформах: zOs, OS/390, MVS, VSE/ESA, OS/400, OS/2, Tandem NSK, Digital OpenVMS VAX, Digital Unix, AIX, HP-UX, SunOS, Sun Solaris, Linux, SCO UNIX, UnixWare, AT&T GIS UNIX, DC/OSx, Windows XP/2000/NT, Windows 98/95. Существуют также WebSphere MQ клиенты для многочисленных платформ.

Применение WebSphere MQ Explorer

Выполните следующие действия.

Применение программы-примера для WebSphere MQ

Примечание Путь к каталогу с примерами программ для WebSphere MQ должен быть добавлен к пути поиска в переменных окружения ОС.

Выполните следующие действия.

Для толкования кодов возврата служит команда mqrc , принимающая код как параметр. Ниже показаны примеры вывода mqrc для кодов 2058, 2059 и 2085:

Другие коды возврата MQCONN , MQOPEN и MQPUT также можно расшифровать с помощью mqrc . Подробнее о кодах возврата см. в разделе "API completion and reason codes" руководства WebSphere MQ Messages, GC34-6601.

Сейчас мы воспользуемся интерфейсом WebSphere MQ Explorer либо программой-примером amqsbcg для WebSphere MQ .

Применение WebSphere MQ Explorer

Выполните следующие действия.

Применение программы-примера для WebSphere MQ

Выполните следующие действия:

Читать сведения из такого файла сложнее, чем в WebSphere MQ Explorer . Разберем значение наиболее интересных полей вывода команды amqsbcg .

Тип 8 соответствует дейтаграммам. Запросы имеют тип 1, ответы – 2, отчеты – 4.

2.1 Асинхронная обработка

(1) Последовательный режим: после создания новой регистрационной информации сначала отправьте электронное письмо с регистрацией, а затем отправьте подтверждающее SMS;



Предполагая, что время обработки вышеупомянутых трех подсистем составляет 50 мс, и сетевая задержка не учитывается, общее время обработки:

Серийный номер: 50 + 50 + 50 = 150 мс
Параллельно: 50 + 50 = 100 мс


2.2 Применение муфты

Конкретный сценарий: пользователь загружает изображение с помощью альбома QQ, и система распознавания лиц выполняет распознавание лиц на изображении. Общая практика заключается в том, что после получения изображения сервером система загрузки изображений немедленно вызывает систему распознавания лиц, а затем завершает вызов. Возврат успешен, как показано на следующем рисунке:


Этот метод имеет следующие недостатки:

  • Не удалось настроить систему распознавания лиц, что привело к невозможности загрузки изображений;
  • Задержка высока, и она должна быть обработана системой распознавания лиц, прежде чем вернуться к клиенту, даже если пользователю не нужно знать результат немедленно;
  • Система загрузки изображений и система распознавания лиц вызывают друг друга и должны быть связаны;


2.3 Ограничение тока и ограничение пиков


Этот метод имеет следующие преимущества:


Этот метод имеет следующие преимущества:

3.1 Режим точка-точка


Особенности режима точка-точка:

3.2 Модель публикации / подписки

В модели публикации / подписки есть три роли:

  • Тема персонажа (Тема)
  • издатель
  • подписчик


Особенности модели публикации / подписки:

4.1 RabbitMQ

Использование RabbitMQ требует:

  • ErLang Language Pack
  • Установочный пакет RabbitMQ

RabbitMQ может работать на платформах, поддерживаемых языком Erlang:

Solaris
BSD
Linux
MacOSX
TRU64
Windows NT/2000/XP/Vista/Windows 7/Windows 8
Windows Server 2003/2008/2012
Windows 95, 98
VxWorks

4.2 ActiveMQ

ActiveMQActiveMQ, разработанный Apache, представляет собой реализацию JMS-провайдера, полностью поддерживающую спецификации JMS1.1 и J2EE 1.4. Он очень быстрый, поддерживает клиенты и протоколы на нескольких языках и может быть легко встроен в среду корпоративных приложений и имеет множество расширенных функций.

Использование ActiveMQ требует:

  • Java JDK
  • Установочный пакет ActiveMQ

ActiveMQ может работать на платформах, поддерживаемых языком Java.

Дружественный интерфейс: предоставляемая веб-консоль может соответствовать большинству ситуаций, и доступно множество сторонних компонентов, таких как hawtio;
Недостатки:

Активность сообщества не так высока, как RabbitMQ;

4.3 RocketMQ

Использование RocketMQ требует:

  • Java JDK
  • Установите Git, Maven
  • Установочный пакет RocketMQ

RocketMQ может работать на платформах, поддерживаемых языком Java.

Поддерживается не так много клиентских языков, в настоящее время java и c ++, из которых c ++ является незрелым;
Внимание и зрелость сообщества RocketMQ не так хороши, как у первых двух;
Интерфейс веб-управления отсутствует, и для управления запросами, управлением и диагностикой различных проблем предоставляется инструмент управления CLI (интерфейс командной строки);
не реализовал JMS и другие интерфейсы в ядре mq;

4.4 Kafka

Использование Kafka требует:

4.5 Сравнение RabbitMQ / ActiveMQ / RocketMQ / Kafka


Kafka лежит в распределенной архитектуре. RabbitMQ реализован на основе протокола AMQP. RocketMQ / idea происходит от kafka, который заменен структурой ведущий-ведомый и оптимизирован с точки зрения надежности транзакций. Вообще говоря, электронная коммерция и финансы предъявляют высокие транзакционные требования, можно рассмотреть RabbitMQ и RocketMQ, а для высоких требований к производительности - Kafka.

5. Справочные материалы:

5.2 RabbitMQ

5.3 ActiveMQ

5.4 RocketMQ

5.5 Kafka

5.6 Сравнение RabbitMQ / ActiveMQ / RocketMQ / Kafka

подводить итоги:

Интеллектуальная рекомендация


Отвратительно искаженный графический интерфейс Centos

Китайский не распознается, картинки не распознаются Это вопрос набора символов Если проблема связана с китайским языком, необходимо сделать две вещи: 1 установить пакет китайских шрифтов; 2 изменить н.

Maven wave (5) - как развернуть веб-проект Maven

фон В предыдущей статье был успешно создан веб-проект maven, но как его запустить. В соответствии с предыдущими идеями, веб-проект должен быть развернут на сервере tomcat, а затем запущен tomcat. Прое.


Понимание изменчивого и синхронизированного.

Сначала давайте посмотрим на модель каждого потока, соответствующего нашей памяти. Каждый поток имеет частную локальную память, в которой хранятся копии общих переменных и извлекаются данные из.

Python, Pandas Оптимизация памяти


Подробные сведения о протоколе TCP / IP

TCP / IP - это не протокол, а общий термин для семейства протоколов. Включает протокол IP, протокол IMCP, протокол TCP. Вот несколько пунктов знаний, которые требуют внимания: Интернет-адрес: IP-адрес.

Вам также может понравиться

Oracle восстановить базу данных dmp

Oracle восстановить базу данных dmp 1.CMD логин sqlplus 2 Запросите место хранения табличного пространства базы данных через sql; 3. Создайте временное табличное пространство базы данных (обратите вни.


Python использует ввод с клавиатуры для преобразования в форму списка

После Python3.0 для ввода с клавиатуры используется функция ввода 1. input () строковая форма ввода input (‘Пожалуйста, введите несколько чисел:’) Возврат - это строковая ф.


Обработка исключений

Рис.: Определите метод обработки исключений в контроллере Рис.: Информация об исключении, отображаемая в error.jsp Рис.: Собственный интерфейс, который вызывает исключение Рис.: Класс исключения с доб.

[Чтение заметок] Шаблон дизайна Java-шаблон

=> АннотацияЗаводская роль: Ядро, независимо от приложения, любой фабричный класс, который создает объекты в шаблоне, должен реализовывать этот интерфейс => Конкретная фабричная роль: Конкр.

Java Doc / DOCX в HTML

DOC и DOCX немного отличаются, для DOC, вы можете использовать следующий путь: Нужно импортировать следующие классы: Поскольку я делаю DOC включить HTML онлайн-превью, поэтому для удобства изображения.

Задача: обеспечить интеграцию программного обеспечения на платформе J2EE с IBM WebSphere MQ, для межсистемного взаимодействия в гетерогенной среде. Схема следующая:

  • Есть наш софт — 1 шт.
  • Есть софт, с которым нам надо взаимодействовать (внешние системы) — N шт.
  • Для информационного обмена с каждой из внешних систем, на нашей стороне создаётся одна входящая очередь и одна исходящая очередь (стандартная схема асинхронного взаимодействия).

Чтобы было с чем работать, сначала создаём объекты менеджера MQ. Кто не знает, что это и зачем нужно может сходить, например, сюда, либо поискать любые другие ресурсы. Советую вначале разобраться с объектами MQ, т.к. без этого моя статья будет трудна для понимания (см. выше — описываю не сам продукт, а его интеграцию с J2EE). В результате создаётся несколько объектов, из которых нас как программистов интересуют: менеджер MQ, входящая(-ие) очередь(-и), исходящая(-ие) очередь(-и). Для того, чтобы использовать стандартный API взаимодействия с WebSphere MQ — MQI, этого достаточно. Но мы используем технологии J2EE, поэтому работа администратора MQ продолжается.

Создание менеджера в JNDI-хранилище:

def qcf(имя) qmgr(имя) host(адрес) port(порт) ccs(кодировка) tran(CLIENT)

qcf — имя фабрики подключений JMS. Это имя будет использоваться в софте.

qmgr — имя установленного менеджера WebSphere MQ,

host — сетевой адрес менеджера WebSphere MQ,

port — порт службы Listener менеджера WebSphere MQ, по умолчанию 1414,

ccs — кодировка, значение этого параметра должно соответствовать установленному для менеджера WebSphere MQ,

tran — тип связи, установить значение CLIENT

Чтобы не путаться, лучше указывать одно и то же значение для qcf и qmgr. Обычно создаётся только один менеджер.

Создание очередей в JNDI-хранилище:

(выполнить команду для каждой очереди, используемой в софте)

def q(имя) qmgr(имя) qu(имя) tc(MQ)

qmgr — имя установленного менеджера WebSphere MQ,

Чтобы не путаться, лучше указывать одно и то же значение для q и qu.

На этом этапе задача администрирования MQ выполнена. Созданное JNDI-хранилище можно перенести в любое удобное место (например, на машину, с которой запускается ваш софт) путем простого копирования папки и её содержимого. Библиотеки MQ, подключенные к вашему проекту, обеспечат соединение с сервером, находящимся по указанному в первой команде (def qcf) сетевому адресу с любой машины, имеющей доступ к этому адресу.

Архитектура такова: софт должен знать только о настройках JNDI-хранилища (его местоположению) и иметь к нему доступ. Данные, которые мы вводили на этапе администрирования (а также автоматически добавляла в хранилище утилита JMSAdmin), в софте не нужны (за исключением имён объектов).

Двигаемся далее: непосредственно разработка ПО. На данном этапе у нас уже имеется установленный и настроенный сервер IBM WebSphere MQ, и JNDI-хранилище с JMS-объектами. Нам требуется:

  1. Объявить у себя в коде поля JMS-объектов, соответствующие интерфейсам JMS;
  2. Создать экземпляры JMS-объектов, считав их из JNDI-хранилища;
  3. При помощи созданных объектов соединиться с менеджером MQ, и начать непосредственно асинхронный информационный обмен.

2. Считывание JMS-объектов:

На этом, собственно, и всё, что хотелось рассказать об основах взаимодействия с IBM WebSphere MQ через JMS API.

Список литературы и полезных ссылок:

Маєте важливу новину про українське ІТ? Розкажіть спільноті. Це анонімно. І підписуйтеся на Telegram-канал редакції DOU

Читайте также: