2012-01-19 1 views
1

나는 그 질문에 골머리를 앓고 있었다. 내 생각의 요지를 알기를 바랍니다.네트워크로 연결된 장치와 서버 간의 양방향 데이터 전송을 처리하는 방법은 무엇입니까?

답변하기로 결정하기 전에 몇 가지 사항을 말씀하십시오. 이것은 내가 학교에서하고있는 프로젝트이며 그것은 내 자신의 아이디어와 제안입니다. 나는 코드를 찾고 있지 않습니다. 나는 시스템을 설계하는 아이디어를 듣고 싶다. 이 스레드는 간단한 대답보다 더 많은 토론입니다. 따라서 모든 모든 의견을 환영합니다. 3 개월 동안이 응용 프로그램을 개발할 것이며 인터넷을 사용하여 브레인 스톰을 진행할 것입니다.

그래서 시스템은 여러 모바일 장치와 컨트롤러 장치로 구성됩니다. 제어기는 각각의 이동 장치가 수신하는 질문을 전송한다. 그들은 대답한다. 컨트롤러는 전화기 또는 데스크톱에서 실시간으로 통계를 볼 수 있습니다. 모바일 장치는 컨트롤러의 세션에 참여하여 상호 작용할 수 있습니다.

자바 EE에서는 컨트롤러 장치 데이터를 ServletContext에 저장할 수 있으며 모바일 장치 세션은 ServletContext의 컨트롤러 장치의 data_space에 자신을 추가 할 수 있습니다. 이 방법으로 컨트롤러는 로그인 한 사람을 알고 있으며 다른 모바일 장치의 응답을 검색 할 수 있습니다. 여기서 문제는 ServletContext가 threadsafe가 아니고 Session이 모두 다중 스레드이기 때문에 멀티 스레딩 문제입니다. 이것이 좋은 디자인 선택이 아니라고 생각하는 문제도 있습니다. 사실, 이것이 가장 단순하지만 잘못된 디자인 선택이라고 생각합니다. 이러한 종류의 의사 소통을 처리 할 수있는 시스템을 설계 할 수있는 가능한 아이디어를 듣고 싶습니다.

또한이 문제는 데이터베이스를 사용하여 가장 잘 해결할 수 있습니까? 그러한 데이터베이스 중심 접근 방식이 응용 프로그램의 속도에 영향을 줍니까? 또한, 직렬 파이프 라인이기 때문에 데이터베이스가 다중 스레드를 다루는 데 아무런 문제가 없을 것이라고 생각합니다. 문제의 데이터베이스 MySQL. 나는 컨트롤러 세션의 수명 동안 살아있을 유일한 VIEW를 생성하려고 생각하고있다. 모바일 장치는 ServletContext를 확인한 다음 View에 자신을 추가하고 거기에있는 데이터를 조작하여 제어기의 고유 한 VIEW를 얻을 수 있습니다. 이것은 문제에 대한 적절한 접근인가?

감사합니다. :)

답변

0

좋은 토론.

저는 데이터베이스를 사용하는 것이 가장 좋은 해결책이라고 생각합니다. MVC Model View Controller 패턴을 사용해야합니다. 이 경우 모바일 장치는 http 연결을 통해 컨트롤러 (Java EE servlet)와 comunicates하는 클라이언트가됩니다.

서블릿이 데이터베이스를 처리합니다. 데이터베이스가 Java EE 애플리케이션이 배포 된 서버와 동일한 서버에서 호스팅되는 경우 속도는 매우 좋을 것입니다.

당신이 VIEW로 무엇을 생각하고 있는지 정말로 이해하지 못합니다. 내가 더 잘 설명하면 그 점에 대한 토론을 계속할 수 있습니다.

관련 문제