Возможно ли реализовать следующую концепцию с WSO2 ESB:

  • прослушиватель HTTP для веб-служб с вызываемым методом (SOAP)
  • подпрограмма Java для обработки сообщения
  • та же процедура для помещения сообщения в очередь MQ Q1
  • та же процедура для получения ответного сообщения из очереди MQ Q2
  • возврат с обработанным ответным сообщением вызывающему веб-сервису

Или лучше пойти с J2EE-сервером и полностью обрабатывать часть обмена сообщениями через Java-код?

С уважением, Никола

0
Nikola 25 Ноя 2016 в 18:24

2 ответа

Лучший ответ

Что ж, теперь вариант использования стал более понятным, так что мы можем продолжить и реализовать его. Это можно сделать двумя способами.

Первый подход

  1. Напишите службу прокси (HTTP в JMS), которая принимает HTTP-запросы, и поместите ее в JMS Q1 с помощью отправителя jms.
  2. Затем напишите другой прокси-сервер (JMS в JMS), который выбирает сообщения из JMS Q1, обрабатывает их и помещает в JMS Q2.
  3. Наконец, создайте другой прокси-сервер (JMS в HTTP), чтобы получить сообщение от JMS Q2 и отправить его обратно клиенту с помощью ответного посредника.

Второй подход

  1. Создайте прокси-службу (HTTP в JMS) и используйте посредника хранилища для сохранения сообщения в JMS Q1.
  2. Создайте процессор переадресации сообщений, чтобы прослушивать Q1 и выбирать сообщение, обрабатывать его и помещать в Q2.
  3. Затем создайте другой процессор пересылки сообщений для прослушивания Q2 и отправьте его обратно клиенту, используя последовательность ответов в процессоре сообщений.

Выбирайте, что вам нравится, и дайте мне знать, как это происходит.

0
Ravindra Ranwala 29 Ноя 2016 в 04:43

Вы можете использовать ESB для реализации этого. Но ваш вариант использования мне не так понятен. Признательны, если вы можете объяснить свой вариант использования с функциональной точки зрения. В любом случае у вас есть прослушиватели и отправители HTTP (S) / JMS с ESB. Вы не можете прослушивать веб-службу SOAP с помощью ESB. Что вы можете сделать, так это прослушивать HTTP-трафик. Создайте прокси, который прослушивает HTTP-трафик и отправляет сообщение в очередь JMS Q1, используя конечную точку JMS. Затем напишите прокси слушателя JMS, чтобы слушать ответы во втором квартале. После его получения вы можете вызвать веб-службу конечной точки с помощью посредника отправки или вызова. Вот как я понял ваш вариант использования. Я не знаю, как преобразовать данные в Q1 и поместить их в Q2 из-за требований к проводной сети, указанных выше. Мне это кажется простым переключением с HTTP на JMS.

0
Ravindra Ranwala 28 Ноя 2016 в 09:44