組み込み C クライアント (JVM なし) から Websphere Message Broker との間でメッセージを送受信するにはどうすればよいですか?
-
20-09-2019 - |
質問
JVM を持たない組み込みのヘッドレス C/C++ Linux クライアントから IBM メッセージ ブローカーとの間でメッセージを pubsubing (またはポイント ツー ポイントですが、pubsub の方が優れています) するためのオプションは何ですか?
理想的には、大きなファイル転送(クライアントの1日1回2GB)暗号化(SSL)信頼性(「保証」配信 / QOS2、QOS1が行うかもしれません)が必要です。
問題のクライアントには現在、exe といくつかの bash スクリプトしかありません。MQTTv3 と RSMB で遊んでいますが、そのためには大きなファイルをむしゃむしゃにしなければならず (そして家に戻って再組み立てしなければなりません)、これを行ってくれる交通機関があれば、それに参加できますか?
MQTTv5 について調べてみました (ただし、クライアントには JVM がありません)。JMS (JVM なし) と XMS?これも C API を提供しているように見えますが、クライアントに JVM をインストールする必要があります (それとも私が間違っているでしょうか?)
手がかりやヒントをいただければ幸いです、乾杯
解決
WMQ C/C++ API を使用しないのはなぜでしょうか?WMQ クライアントのインストールは次のようにダウンロードできます。 サポートパック MQC7:WebSphere MQ V7.0 クライアント. 。それを手に入れたら、あとは C APIを使用する そして いつものようにコンパイルする. 。これはすべてネイティブの WMQ ベース製品の機能です。
WMQ v7 クライアントを備えた WMQ V7 QMgr は、次の機能を提供することに注意してください。 多くの すべてのメッセージ属性がメッセージ プロパティになり、パブリッシュ/サブスクライブが WMQ v7 QMgr でネイティブにサポートされるため、JMS、WMQ ブローカーなどとの相互運用性が向上します。また、v6 は 2011 年 9 月にサポートが終了しているため、後で移行することを避けるために、v7 コンポーネントでできるだけ新しい開発を行ってください。
他のヒント
単一または少数の大規模な転送について話しているのか、それとも多数の小規模な転送だけについて話しているのでしょうか?これは、実際の接続の種類以上に、ソリューションのニーズを物語っています。
単一または少数の大きなオブジェクトの場合は、受信帯域幅と内部処理をより簡単に管理できるように、2 フェーズのアプローチに分割することを検討します。
Linux のネイティブ (またはその他の) アプリを使用して、SCP または HTTPS または同等のものを使用して指定されたドロップオフにデータをプッシュします。基本的にはデータをポストするだけです。
データを以降に処理できる MB フローがあること。
小規模な呼び出しが多数ある場合、MB データ フローの先頭として HTTP[S] ノード経由で実行できないのはなぜでしょうか。HTTP POST を使用してネイティブ アプリにデータをまとめてプッシュすることはそれほど難しいことではなく、優位性を与える既存の「技術」がたくさんあるはずです。