Como posso enviar mensagens para/para um corretor de mensagens do WebSphere de um cliente C incorporado (sem JVM)?

StackOverflow https://stackoverflow.com/questions/2265650

Pergunta

Quais são as minhas opções para o pubSubing (ou apontar a ponto, mas o pubsub é melhor) mensagens de e para um corretor de mensagens da IBM de um cliente C ++ Linux incorporado que não possui uma JVM?

Idealmente, queremos transferência de arquivos grande (2 GB uma vez por dia de folga do cliente) Criptografia (SSL) confiável (entrega 'garantida' / QOS2, talvez o QOS1 ficasse)

Atualmente, o cliente em questão possui apenas ex e alguns scripts bash, eu tenho jogado com MQTTV3 e RSMB, mas por isso eu teria que acertar os grandes arquivos (e remontar de volta para casa) e não quero obter nisso se houver um transporte que fará isso por mim?

Eu olhei para o MQTTV5 (mas nosso cliente não tem JVM); JMS (sem JVM) e XMS? O que parece novamente que me dá uma API C, mas depois precisa que a JVM seja instalada no cliente (ou estou errado?)

Quaisquer pistas ou dicas seriam apreciadas, aplausos

Foi útil?

Solução

Por que não usar apenas a API WMQ C/C ++? A instalação do cliente WMQ é download como SupportPac MQC7: WebSphere MQ V7.0 Clientes. Depois de ter isso, apenas Use a API C e compilar como sempre. Isso é tudo funcionalidade nativa do produto da base WMQ.

Observe que o WMQ V7 QMGR com o cliente WMQ V7 fornece Muito de Melhor interopar com JMS, WMQ Broker e assim por diante, porque todos os atributos de mensagem agora são propriedades de mensagens e o pub/sub é suportado nativamente no WMQ V7 QMGRS. Além disso, o V6 é o fim da vida a partir de setembro de 2011, assim como o máximo de desenvolvimento dos componentes do V7 para evitar a migração posteriormente.

Outras dicas

Você está falando de transferências únicas/poucas ou grandes transferências menores? Isso fala das necessidades da sua solução ainda mais do que o tipo de conectividade bruta.

Se forem alguns objetos únicos/grandes, então eu pensaria em dividi -lo em uma abordagem de duas fases, para que você possa gerenciar a largura de banda de entrada e o processamento interno mais facilmente ...

  1. Empurre os dados com um aplicativo nativo (ou qualquer outra coisa) no Linux para uma queda designada usando SCP ou HTTPS ou o equivalente, basicamente apenas postando os dados.

  2. Tenha um fluxo MB que possa processar os dados em diante.

Se são muitas chamadas pequenas, por que você não pode fazer isso por meio de um nó HTTP [s] como cabeça do seu fluxo de dados MB? Encontrar e empurrar dados em um aplicativo nativo com uma postagem HTTP não deve ser tão difícil e deve haver muitas "arte" pré-existente para lhe dar uma vantagem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top