2010-07-05 1 views
1

저는 아이폰 앱 프로젝트의 클라이언트 - 서버 데이터 싱크 단계에 들어가기 시작했습니다. 아이폰 클라이언트와 TurboGears 서버 모두에서 CoreData 데이터 모델을로드 할 수있었습니다 (좋은 방법입니다). 이제는 서버와 여러 클라이언트간에 데이터를 동기화하는 문제를 해결하기 시작했으며, 내 자신을 롤업 할 수는 있지만 매우 일반적인 문제 중 하나처럼 보입니다. 따라서 프레임 워크 나 라이브러리가 있어야합니다. 이는 많은 기능을 제공합니다.좋은 클라이언트 - 서버 데이터 동기화 프레임 워크는 iPhone에서 사용할 수 있습니까?

누구든지이 환경에 적용 할 수있는 기능을 알고 있습니까 (예 : iPhone의 Objective-C, 서버의 pyobjc/Python). 그렇지 않다면 누구나 자기가 구현할 수있는 좋은 길인이 물건에 대한 디자인 패턴이나 일반적으로 동의 한 접근법을 알고 있습니까? "데이터 동기화"또는 "원격 객체 지속성"을 넘어이 문제에 대해 일반적으로 받아 들여지는 용어를 찾을 수 없었습니다. 어느 것도 Google에서 유용하지 않았습니다.

Funambol 프레임 워크는이 정확한 유형의 기능을 제공하는 것처럼 보였지만 C++/Java 기반이므로 내 프로젝트의 특정 언어에 적합하지 않은 것처럼 보입니다.

도움을 주시면 감사하겠습니다.

답변

1

이미 TurboGears를 사용하고 있으므로 RestController 설명서를 살펴보십시오. RESTful 서비스를 사용하면 클라이언트와 서버 모두에 대해 많은 구현이있는 널리 채택 된 아키텍처가되었습니다. Matt Gemmell의 MGTwitterEngine은 특정 API 인 Twitter 클라이언트 구현의 좋은 예입니다.

+0

답장을 보내 주셔서 감사합니다.하지만 클라이언트 - 서버 통신 프로토콜 (저는 이미 cli/srv 통신에 대해 RESTful 접근 방식을 사용하고 있습니다)을 찾고 있지는 않지만 문제를 해결하는 더 높은 수준의 아키텍처 서로 다른 클라이언트에서 전송 된 동일한 객체의 여러 버전 간의 충돌 해결과 같이 클라이언트 - 서버 데이터 동기화와 관련된 문제입니다. 이 시스템에 필요한 비즈니스 관련 로직이 많다는 것을 알고 있지만 기본 프레임 워크의 종류조차도 아무것도 아닌 것보다 낫습니다. Funambol은 이렇게하는 것처럼 보이지만 플랫폼은 내 프로젝트에 잘못되었습니다. – glenc

+0

REST는 아키텍처입니다. 그것은 하나의 프로토콜 이상입니다. 핵심 개념은 "리소스"입니다 (링크 된 위키 참조). 그러나 가능한 경우 원격 클라이언트가 업데이트를 폴링하도록 요구하는 경향이 있습니다. 가능한 경우 "관심있는"변경이 발생했을 때 클라이언트에 알리기 위해 푸시 알림으로 REST를 계층화합니다. – falconcreek

관련 문제