Qual o protocolo que devo usar para um rápido comando/resposta medicamentosas?

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

  •  06-07-2019
  •  | 
  •  

Pergunta

Eu preciso configurar um protocolo para um rápido comando/resposta medicamentosas.O meu instinto diz-me apenas para bater junto de um protocolo simples com CRLF separados de seqüências de caracteres ascii, como SMTP ou POP3 obras, e o túnel através de SSH/SSL, se eu precisar ser protegido.

Enquanto, eu só poderia fazer isso, eu prefiro construir em uma tecnologia já existente para que as pessoas pudessem usar um amigável biblioteca, ao invés de incluir a biblioteca de sockets interface do SO dá-los.

Eu preciso...

  • Comandos e respostas passar estruturado de dados e para trás.(XML, S expressões, não me importo.)
  • A capacidade para o servidor para fazer programadas notificações para o cliente, sem ser consultada.

Alguma idéia por favor?

Foi útil?

Solução

O AMQP parece promissor. Como alternativa, acho que o XMPP suporta muito do que você deseja, embora com bastante sobrecarga.

Dito isto, dependendo do que você está tentando realizar, um protocolo ad hoc simples pode ser mais fácil.

Outras dicas

Se você deseja apenas solicitação/resposta, o HTTP é muito simples. Já é um protocolo de solicitação/resposta. O lado do cliente e do servidor são amplamente implementados na maioria dos idiomas. Escalar é bem compreendido.

A maneira mais fácil de usá -lo é enviar comandos para o servidor como solicitações de postagem e para o servidor enviar de volta a resposta no corpo da resposta. Você também pode estender o HTTP com seus próprios verbos, mas isso tornaria mais trabalho aproveitar proxies de cache e outras infraestruturas que entendem o HTTP.

Se você deseja notificações assíncronas, observe os protocolos de pub/sub -protocolos (spread, XMPP, AMQP, JMS implementações ou corretores comerciais de pub/sub -mensagem como TIBCORV, TIBCO EMS ou WebSphere MQ). O protocolo ou implementação a ser escolhida depende das necessidades de confiabilidade, latência e taxa de transferência do sistema que você está construindo. Por exemplo, é bom que as notificações sejam descartadas quando a rede está congestionada? O que acontece com as notificações quando um cliente está off-line-ele é descartado ou filmado para quando o cliente se reconectar.

Que tal algo como SNMP? Não tenho certeza se ele se encaixa exatamente com o modelo que seu aplicativo usa, mas ele suporta o Async notificar e puxar (ou seja, armadilha e obter).

Essa é uma pergunta grande, com um grande número de variáveis a considerar, e a questão mencionados apenas alguns deles:o formato do pacote, assíncrona vs.mensagens sincronizadas, e de segurança.Existem muitos, muitos outros poderiam pensar sobre.Eu sugiro ir através de uma descrição do 7-protocolo de camada de pilha (OSI/ISO) e se perguntando o que você precisa a essas camadas, e se você quiser construir uma camada ou obtê-lo de outro lugar.(Você parece mais interessado em camada 6 e 7, mas também mencionou bits das camadas inferiores.)

Pense também se esta é uma crítica para a segurança do aplicativo ou parte de um sistema formal de V&V.Muito bom, confiável sistemas de comunicação não são fáceis de design;também um "underpowered" protocolo pode colocar um monte de codificação de encargos sobre o aplicativo para fazer recuperação de erros.

Finalmente, eu gostaria de sugerir olhando como outros aplicativos semelhantes ao seu, fazer o trabalho (seleção de fonte aberta, ler livros, etc.) Também é útil EUAPatentes, base de dados, etc;pode-se obter grandes idéias só de ler a descrição do problema de comunicação que eles estavam tentando resolver.

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