2011-01-05 4 views
0

특정 유형의 애플리케이션을위한 새로운 플랫폼을 설계하고 있습니다. 이러한 애플리케이션은 주로 iOS 및 Android 기기에 모두 존재합니다. 이러한 응용 프로그램의 주요 요구 사항 중 하나는 실시간 데이터를 동기화하고 안전하다는 것입니다. 내 생각은 소켓을 사용하는 일종의 대기열 지정 프로토콜을 사용하는 것으로 직접 넘어갔습니다. 서버에 대한 제한 사항은 Java 또는 PHP로 작성되어야한다는 것입니다. 그러나 클라이언트는 제한되지 않습니다. 내가 언급 한 것처럼, 주로 iOS (Objective-C) 및 Android (Java) 장치.크로스 플랫폼 실시간 데이터

ActiveMQ 또는 Tibco와 같은 것을 구현해야합니까? 아니면 사용하기에 더 좋은 다른 솔루션이 있어야합니까?

안부,
폴 Peelen

+0

HTTPS 및 10 초 타이머를 통한 RSS? –

+0

실시간으로 무엇을 의미합니까? 수용 가능한 지연이란 무엇입니까? 10 초, 1 초, 100 초, 10 초, 1 초, 100 초? –

+0

보안을 위해 : RSS 또는 다른 HTTP 프로토콜은 바람직하지 않습니다. 내 의견으로는 소켓 연결이 더 안전합니다. 지연 시간 : 1-5 초. 질문 : 서버와 장치간에 실시간 데이터를 전송하는 최상의 솔루션은 무엇입니까 (두 가지 방법 모두)? –

답변

1

가장 좋은 방법은 HTTP를 통해 RESTful API를 사용하는 것입니다. 소켓이 HTTP보다 안전하다고 말하는 사람들은 대개 무엇을 말하고 있는지 이해하지 못합니다 (개인 전용이 아닙니다. 비즈니스는 없습니다!)

HTTP는 TCP 소켓을 통해 작동하는 전송 프로토콜입니다. 따라서 HTTP도 소켓입니다. 보안을 제공하는 것은 보내는 내용의 암호화입니다. SSL이 답입니다. 사용자 HTTPS를 사용하여 응용 프로그램의 보안을 유지합니다.

대기열에 대해 알아보십시오. 큐잉은 정보의 전달과 처리를 분리하기 위해 필요합니다. 처리하는 데 시간이 걸릴 수 있으며 서버가 데이터를 처리하는 동안 보낸 사람 (모바일 장치)을 차단하고 싶지 않으므로이 방법이 바람직합니다. 메시징 브로커 (예 : ActiveMQ, RabitQ, Qpid 등)의 오픈 소스 구현을 사용하는 것이 좋습니다. Tibco는 완벽하지만 돈이 든다. 그리고 당신이 자바 메시징 중개자를 향해 나아가고 있다면 자바로 서버를 구현하고 모든 메시징 중개인이 지원하는 사용자 JMS API를 구현하십시오.

이 정보가 도움이되기를 바랍니다.

+0

답변 해 주셔서 감사합니다. 나는 그것이 매우 유용하다는 것을 안다. 당신은 HTTP 물건에 대해 옳습니다. 내가 클라이언트 측에서 우려하고있는 유일한 생각은 클라이언트가 (이론적으로) 클라이언트가 해당 장치에서 보낸 트래픽을 수신하여 API의 모양을 알 수 있다는 것입니다. 소켓 구현은 이것을 더 잘 암호화 할 수 있습니다. 나는 옳고 그름을 믿습니다.마지막으로 내가 원하는 것은 사람들이 API가 작동하는 방식을 파악하고 허위 데이터로 이어질 더미 데이터를 전송하는 것입니다. –

+0

(1) 귀하 (와 나)는 SSL보다 데이터를 더 잘 암호화 할 수 없습니다. (2) 해커가 독점적 인 프로토콜을 포함한 모든 것을 해킹 할 수 있습니다. REST는 표준이며 구현하기 쉽습니다. 더 안전하게 비밀번호로 보호하려면 (예 : HTTPS 게시물을 사용하여 로그인 보내기) 인증 된 세션에서 API를 사용하십시오. – AlexR

+0

알았어, 그건 사실이야. 그럼에도 불구하고 한 가지만 남아 있습니다 ... REST (Soap 또는 hessian)를 사용하면 클라이언트가 데이터 수신 및 가져 오기를 담당합니다. 나는 이것도 가질 수 없다 ... 클라이언트는 새로운 정보에 대한 서버에 의해 업데이트되어야한다. 그래서 나는 그것을 사용하려고 생각하고있다. 가능한 경우 128 비트 키 암호화로 Encypt (방법을 찾아야 함). –