HTTP к мосту JMS - PullRequest
       68

HTTP к мосту JMS

3 голосов
/ 13 августа 2011

Обзор

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

Я не хочу показывать конечную точку jms напрямую из-за соображений безопасности.Кроме того, простой HTTP-транспорт избавил бы от необходимости распространять плагины jms среди разнородных клиентских приложений (.net, java, javascript).

Результаты исследований

ActiveMQ

I 'Мы взглянули на «встроенный» REST-интерфейс ActiveMQ:

http://activemq.apache.org/rest.html

Но в ходе тестирования я обнаружил, что демонстрационная программа ненадежна (т. е. «Откуда мои сообщения?»идти? ") .Кроме того, не было хорошо документировано, как вытащить демонстрацию в «реальную» реализацию.

ESB

Поскольку это звучит как классический паттерн «Мост» в шаблонах корпоративной интеграции.Я посмотрел, что основные механизмы интеграции ESB / SOA с открытым исходным кодом:

  • Spring Integration
  • Mule
  • ServiceMix

Изтри, самая ясная часть документации, кажется, ServiceMix , которая предлагает шаблон сообщений In-only, мне потребуются как сообщения POST, так и сообщения GET.

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

Вопросы

  • Реализовали ли вы подобную архитектуру?Что вы использовали?
  • Независимо от первого ответа, который бы вы предложили сейчас?
  • Какой самый простой?

Ответы [ 4 ]

5 голосов
/ 13 августа 2011

Вы всегда можете проверить Apache Camel Project . Это позволяет вам выставлять и перенаправлять запросы из Http, веб-сервисов и т. Д. В очередь JMS.

Хотя я голосовал за ответ Уилла. Сервлет - действительно путь сюда.

2 голосов
/ 13 августа 2011

Или вы можете написать сервлет и сделать это в виде пары десятков строк кода.

1 голос
/ 20 апреля 2012

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

  • HornetQ REST

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

  • HJB (HTTP JMS Bridge)

    Также не соответствует моим потребностям, кроме того, документация не очень хорошая для понимания,это также больше не поддерживается. Веб-сайт

Возможно, я в конечном итоге напишу свой собственный адаптер, либо используя какой-нибудь тонкий сервлет / etc.или верблюд апач.

0 голосов
/ 07 сентября 2011

WSO2 ESB предлагает готовые образцы, которые вы можете попробовать за несколько минут. Ведь это 100% бесплатный и открытый исходный код и просто вопрос загрузки дистрибутива и запуска его. (без боли иметь две версии рекламы и сообщества)

Для ваших требований wso2 предлагает готовый пример [1], который вы можете настроить ESB с внешним брокером сообщений, таким как active mq и т. Д., И выставить их как любую другую службу [2]. (Веб-сервис SOAP / сервис REST и т. Д.).

Дайте ему попытку.

[1] http://wso2.org/project/esb/java/4.0.0/docs/samples/transport_samples.html#Sample251 [2] http://techfeast -hiranya.blogspot.com / 2009/07 / integra-apache-activemq-with-wso2.html

...