Plataforma cruzada em tempo real-dados
-
25-09-2019 - |
Pergunta
Eu estou trabalhando no desenvolvimento de uma nova plataforma para um determinado tipo de aplicação.Estas aplicações, principalmente, existe em ambos os dispositivos iOS e Android.Um dos principais requisitos destas aplicações é que é sincroniza dados em tempo real e é seguro.Meu pensamento foi diretamente para utilizar algum tipo de enfileiramento de protocolo utilizando sockets.As restrições no servidor é que ele teria de ser escrito em Java ou PHP.No entanto, os clientes são irrestritas.Como eu mencionei, principalmente iOS (Objective-C) e Android (Java) dispositivos.
Devo implementar algo como ActiveMQ ou Tibco, ou deveria existem outras soluções que podem ser melhor usar?
Melhores cumprimentos,
Paulo Peelen
Solução
A melhor maneira é usar a API RESTful sobre HTTP. As pessoas que dizem que os soquetes são mais seguros do que o HTTP geralmente não entendem sobre o que estão falando (nada privado, homem. Apenas negócios!)
O HTTP é um protocolo de transporte que funciona com soquetes TCP. Portanto, o HTTP também é soquetes. O que lhe dá segurança é a criptografia do que você está enviando. SSL é a resposta. Usuário HTTPS para tornar seu aplicativo seguro.
Agora sobre fila. É necessário enfileirar para dissipar a entrega de informações e seu processamento. Isso é preferível no seu caso, porque o processamento pode levar tempo e você não deseja bloquear o remetente (dispositivo móvel) enquanto o servidor está processando os dados. Eu sugiro que você use a implementação de código aberto do corretor de mensagens (como ActiveMQ, Rabitq, QPID etc). A Tibco é perfeita, mas custa algum dinheiro. E se você estiver indo para o Java Messaging Broker, implemente seu servidor no Java e na API JMS do usuário, suportada por todos os corretores de mensagens.
Eu espero que isso ajude.
Outras dicas
Opção 1:
RSS formato de mensagem via HTTPS e T segundo temporizador.
HTTPS é de criptografia transfer protocol over SSL sockets (também usada por e-banking).
Opção 2:
O RESTO via HTTPS e T segundo temporizador.
É uma coisa boa para um personalizado resto protocolo binário baseado em vez de baseado em texto, como Http?
Opção 3:
Chutando o servidor HTTP, php e usando SSL de sockets em Java.
http://stilius.net/java/java_ssl.php