powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Очередь XML-сообщений (Message Queue)
5 сообщений из 5, страница 1 из 1
Очередь XML-сообщений (Message Queue)
    #38991081
Фотография Станислав Клевцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

Хотелось бы понять основной архитектурный принцип реализации ( например : источник - шлюз (очередь) - приложение - бд - ... (возможно, пример некорректный и если есть какие - нибудь замечания, то поделитесь ими )

Допустим источник отправляет XML-сообщения, а вот куда они должны попадать ( какую роль выполняет шлюз ? по какому принципу организуется и как взаимодействует с приложением, которое обрабатывает входящие сообщения ?

Заранее спасибо.
...
Рейтинг: 0 / 0
Очередь XML-сообщений (Message Queue)
    #38991233
Обмен сообщениями реализуется с помощью отдельного ПО (Message Oriented Middleware) - это и есть "шлюз" в Вашей терминологии.
Клиентское приложение подключается к нему с помощью библиотек предоставляющих соответствующий api.
По входящим сообщениям - режим либо синхронный - подключаетесь и считываете сообщения из очереди, либо асинхронный запускается слушатель (listener) в отдельном потоке и при появлении сообщения в очереди срабатывает, дальше обработка сообщения за Вами.
Вопрос у Вас слишком общий. Если есть конкретика, то лучше её озвучить.
...
Рейтинг: 0 / 0
Очередь XML-сообщений (Message Queue)
    #38991237
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав КлевцовВсем привет.

Хотелось бы понять основной архитектурный принцип реализации ( например : источник - шлюз (очередь) - приложение - бд - ... (возможно, пример некорректный и если есть какие - нибудь замечания, то поделитесь ими )

Допустим источник отправляет XML-сообщения, а вот куда они должны попадать ( какую роль выполняет шлюз ? по какому принципу организуется и как взаимодействует с приложением, которое обрабатывает входящие сообщения ?

Заранее спасибо.

Ближайшая аналогия это e-mail.

Грубо говоря источник кладет сообщение в очередь сообщений.
А приемник это сообщение забирает из очереди.
В рамках шлюза различные сообщения можно перекладывать в другие очереди, по правилам седланным "в ручную".
...
Рейтинг: 0 / 0
Очередь XML-сообщений (Message Queue)
    #38991961
Фотография Станислав Клевцов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgulСтанислав КлевцовВсем привет.

Хотелось бы понять основной архитектурный принцип реализации ( например : источник - шлюз (очередь) - приложение - бд - ... (возможно, пример некорректный и если есть какие - нибудь замечания, то поделитесь ими )

Допустим источник отправляет XML-сообщения, а вот куда они должны попадать ( какую роль выполняет шлюз ? по какому принципу организуется и как взаимодействует с приложением, которое обрабатывает входящие сообщения ?

Заранее спасибо.

Ближайшая аналогия это e-mail.

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

Спасибо большое, разбираюсь...
...
Рейтинг: 0 / 0
Очередь XML-сообщений (Message Queue)
    #38994187
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав КлевцовХотелось бы понять основной архитектурный принцип реализации ( например : источник - шлюз (очередь) - приложение - бд - ... (возможно, пример некорректный и если есть какие - нибудь замечания, то поделитесь ими )

Что за шлюз? В переводе на русский язык очередь называется... очередь называется... сюрприз... называется очередью (messaging queue). Значит, надо отбросить безграмотный документ со словом "шлюз" и найти документ по лучше, которых много.

Наиболее распространённые системы передачи сообщений основаны на спецификациях JMS, Oracle Streams AQ и AMQP. В документации по каждой из этих тем есть описания специфических для них очередей. Очередь - это набор сообщений, которые надо передать. Исторически первой была JMS для Java, остальные перечисленные позаимствовали идеи из неё. Кто программирует на Java, тому можно ознакомиться JMS и для примера установить Apache ActiveMQ - сервер JMS сообщений, простой в использовании и с хорошей документацией. Oracle Strems AQ может быть полезно в организации, где есть специалисты по Oracle, поскольку оно допускает программирование на PL/SQL (но можно и на Java). Впрочем, там есть и конвертирование сообщений из AQ в JMS и обратно. AMQP - новый программный интерфейс и протокол передачи данных, не зависящий от языка программирования. Можно ознакомиться с сервером AMQP - RabbitMQ - он простой в использовании и с хорошей документацией. ActiveMQ, RabbitMQ (и много подобных) - это службы доставки сообщений (messaging service или message bus). В некоторых из них, но не во всех, реализована надёжная доставка сообщений - сообщение сохраняется в очереди, пока не будет передано (о чём клиент подаёт сигнал). Для этого обычно используется долговременное хранение сообщений в базе или в файлах. Перечисленные программы относятся к таким. Они часто снабжаются адаптерами (компонентами для ввода и вывода сообщений разных форматов) и библиотеками для связи с ними из разных языков. Так что если служба использует JMS, то всё же может оказаться возможность обратиться к ней не из Java (только при этом будет использоваться нестандартный интерфейс). Ещё бывают программы типа ESB (пример MuleESB) - они всегда включают в себя и службу доставки сообщений и ETL (программы интеграции, допускают использование служб доставки сообщений, когда надо), для ознакомления подойдут Pentaho Data Integration и Talend Open Studio, но в ESB и ETL использование очередей не так очевидно.

JMS, AQ, AMPQ допускают различные форматы содержимого сообщений, в том числе и XML, который для них просто текст.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Очередь XML-сообщений (Message Queue)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]