2012-08-27 2 views
1

ResultSet을 GWT 서버 - 클라이언트 통신의 일부가 될 수있는 GWT-RPC를 통해 보낼 수있는 형태로 변환하는 효율적인 방법을 찾고 있습니다. JSON과 RequestFactory의 장점과 단점은 무엇입니까? 위에서 설명한대로 누군가를 사용하고 싶다면 누군가 설명해 주시겠습니까?mysql 질의 결과를 클라이언트에게 전달하기 GWT

클라이언트에서 단일 항목뿐만 아니라 데이터베이스의 많은 부분을 처리하려고한다고 할 수 있습니다. 한 번에 수백 개의 항목을 말하는 것이므로 기본적으로 데이터를 효율적으로 전송할 방법이 필요하다고 생각합니다.

한 번에 하나의 항목을 요청하지 않으면 큰 오버 헤드가 발생합니까?

비슷한 내용의 자습서는 높이 평가할 수 있습니다.

답변

3

많은 양의 데이터를 이동하는 것은 일반적으로 클라이언트 - 서버 아키텍처의 경우 일반적으로 바람직하지 않으며 일반적이지 않습니다. 그래서 나는 재 설계를 추천 할 것이다.

GWT-RPC는 서비스 지향입니다. 모든 RPC 프레임 워크가 무엇인지. 주요 목적은 메소드 호출을 직렬화/비 직렬화하는 것입니다. 즉, 통신하는 서버와 클라이언트는 잘 정의되어야하는 메시지입니다. GWT에서 기본 전송 메커니즘은 JSON이며 SOAP에서 (예를 들어) XML이지만 메커니즘은 동일합니다.

RequestFactory는 데이터 중심입니다. URL/getCustomers로 간단한 HTTP 요청에 의해 트리거되는 서블릿을 상상해보십시오. 서블릿은 단순히 데이터베이스에 액세스하여 결과를 리턴합니다. RequestFactory는 매우 비슷하지만 추가 기능을 제공합니다. 예를 들어 RequestFactory는 서버에서 엔터티 개체 Customer와 클라이언트의 프록시 개체 인 CustomerProxy를 만드는 데 의존합니다. 프레임 워크는 이러한 오브젝트 간의 데이터 전송을 처리합니다. 보다 구체적으로 RequestFactory는 개별 속성 (즉, '필드')을 업데이트 할 수 있으므로 상태의 차이 만 전송하여 효율성을 높일 수 있습니다.

중요한 아키텍처 차이점은 GWT-RPC가보다 기능적인 수준에서 작동한다는 것입니다. RequestFactory는 데이터 수준에서 작동합니다. 일반적인 구현은 RequestFactory를 사용하여 CRUD 인터페이스를 설정할 수 있습니다. 이러한 설계는 GWT-RPC를 사용하면 매우 잘못 될 수 있습니다.

결정을 내리기 전에이 두 프레임 워크에 대해 더 자세히 읽어 보는 것이 좋습니다. 그러나 RequestFactory가 문제의 최선의 해결책 인 것 같습니다.

이 경우 하나의 유스 케이스가있는 경우 사용자 고유의 서블릿을 구현하는 것이 좋습니다. GWT 코드에서 RequestBuilder를 사용하여 서블릿에서 데이터를 요청하십시오. db에 액세스하고 ResultSet을 JSON으로 변환 한 다음 클라이언트에서 응답을 다시 JavaScriptObject로 변환하면 완료됩니다. 이렇게하면 RequestFactory 및 모든 엔터티, 프록시 및 로케이터 설정 작업을 줄일 수 있습니다.

1

RequestFactory는 데이터 중심 응용 프로그램에서 JSON을 사용하고 서버 측에서 JPA를 사용해야하는 경우 JSON보다 우선합니다. (예를 들어 최대 절전 모드, 봄 모드 등). 그 이상은 전송하는 데이터의 종류에 따라 다릅니다.

모든 데이터를 한 번에 전송하는 것이 올바른 생각이 아닐 수 있습니다. 직렬화 및 비 직렬화에 많은 시간이 걸리기 때문에. 브라우저가 너무 오래 걸릴 수 있습니다 (경험상). 사용자는 모든 데이터가로드 될 때까지 기다려야합니다.

대신 블록 형식으로 클라이언트에 데이터를 전송할 수 있으므로 사용자가 첫 번째 파트를 편집 할 때 두 번째 파트를 백그라운드로로드 할 수 있습니다.