2010-02-15 2 views
1

Каковы мои возможности для получения писем от брокера сообщений IBM от встроенного безжизненного Linux-клиента C/C++, который не имеет JVM?Как я могу отправлять сообщения в/из Websphere Message Broker из встроенного клиента C (без JVM)?

В идеале мы хотим большой передачи файлов (2GB один раз в день от клиента) шифрования (SSL) надежных («гарантированного» доставка/QoS2, может быть, QoS1 бы)

данного клиента в настоящее время только имеет exes и некоторые скрипты bash, я играл с MQTTv3 и RSMB, но для этого мне пришлось бы сжать большие файлы (и снова собрать их домой), и я не хочу вникать в это, если есть транспорт, который сделает это для меня?

Я посмотрел MQTTv5 (но у нашего клиента нет JVM); JMS (без JVM) и XMS? что опять-таки похоже, что это дает мне C API, но тогда нужно JVM для установки на клиенте (или я ошибаюсь?)

любых подсказок или намеки будут оценены, ура

+0

Должен ли я искать XMPP, AMQP или STOMP? звонят ли они на звонки? Я думаю, что мой вопрос может быть просто «какой протокол транспорта я должен использовать, чтобы надежно и безопасно публиковать 2GB-файлы с одного клиента только для любого брокера сообщений, который может подключиться к WMB?» – timB33

ответ

1

Почему бы просто не использовать API-интерфейс WMQ C/C++? Установка клиента WMQ можно загрузить как SupportPac MQC7: WebSphere MQ V7.0 Clients. Как только у вас есть это, просто use the C API и compile as usual. Это базовая функциональность базового продукта WMQ.

Обратите внимание, что WMQ V7 QMGR с клиентом WMQ v7 обеспечивает много лучше Interop с JMS, WMQ Брокером и так далее, потому что все атрибуты сообщений теперь свойства сообщений и паб/суб изначально поддерживается в WMQ v7 QMgrs. Кроме того, v6 - это конец жизни по состоянию на сентябрь 2011 года, поэтому сделайте столько новых разработок по компонентам v7, насколько это возможно, чтобы избежать миграции позже.

1

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

Если это одиночные/несколько крупных объектов, то я думаю о разбивая его на две фазы подход, так что вы можете управлять входящей пропускной способностью и внутренней обработкой более легко ...

  1. толкают данные с родным (или любым другим) приложением в Linux до назначенного выпадания с использованием SCP или HTTPS или эквивалента, в основном просто проводя данные.

  2. имеют поток МБ, который может обрабатывать данные вперед.

Если много маленьких вызовов, почему вы не можете сделать это через узел HTTP [S] в качестве главы вашего потока данных МБ? Завершение и толкание данных в родном приложении с HTTP POST не должно быть таким сложным и должно быть много ранее существовавшего «искусства», чтобы дать вам ногу.

+0

Это большой файл один раз в день и множество отдельных небольших пабов во все другие времена. Привет, я слышал, что вы говорите (и я добавил +1), так как ваше решение было тем, что мы изначально планировали, однако ...есть требование о том, чтобы мы использовали брокерское сообщение до конца, мы в настоящее время собираемся с RSMB на комплекте, перебиваем большой файл, а затем снова собираем его на отдельный ПК, на котором установлена ​​JVM, а затем отправляем его за один раз Websphere. – timB33

+0

Спасибо. Я полностью «слышу вас» по этим внешним требованиям. Они, безусловно, довольно часто приводят наши реализации в странные способы. Иногда они имеют смысл, иногда они этого не делают. Надеюсь, ваша система будет просто приятной и стабильной. –

Смежные вопросы