2010-02-28 2 views
1

원격 서버에 데이터를 저장해야하는 클라이언트 응용 프로그램을 고려하십시오. 이 데이터를 "즉석에서"액세스하지 않고 로컬 데이터베이스에이 데이터의 사본을 갖고 싶습니다. 따라서 응용 프로그램을 사용하기 위해 원격 서버와 연결할 필요가 없습니다. 결국 로컬 데이터베이스를 원격 서버와 동기화하려고합니다. 내가 말하는 것에 대한 좋은 예는 Evernote 서비스입니다. 이러한 유형의 응용 프로그램은 사용자가 영구적 인 인터넷 연결을 보장하지 못하고 대역폭이 제한되어 있고 트래픽이 비쌀 수있는 모바일 개발과 같이 매우 일반적입니다.ORM (자동 클라이언트 - 서버 데이터 동기화). 사용할 준비가 된 솔루션이 있습니까?

ORM (객체 관계 매핑) 솔루션을 사용하면 일반적으로 개발자가 비즈니스 로직 데이터에 대한 중간 "모델"을 정의 할 수 있습니다. 그런 다음 관계형 데이터베이스를 저장할 수있는 프로그래밍 언어의 객체 계층 구조로 작업하십시오.

ORM 시스템에 동일한 데이터 모델을 공유하는 두 데이터베이스 (클라이언트 및 서버)의 자동 동기화를 허용하는 기능을 추가하지 않는 이유는 무엇입니까? 이것은 위에서 설명한 유형 I의 응용 프로그램을 간단하게 개발할 수 있습니다. 이 기능이나 유사한 기능이 구현 된 플랫폼이나 언어 용 시스템이 있습니까?

답변

1

AFAIK, 이러한 ORM 도구가 없기를 제공 할 수 있습니다.

우리 팀 (DataObjects.Net 개발자 중 한 명)의 원래 목표 중 하나 였지만이 기능은 still not implemented입니다. 아마도 올 봄에 데이터베이스 동기화 작업을 시작할 것이지만, 아직 거의 완료되지 않았기 때문에 이에 대한 정확한 마감일은 없습니다.

0

필요에 맞는 하나 이상의 오픈 소스 ORM이 있지만 델파이 ORM입니다.

mORMot이라고하며, stateless/RESTless 아키텍처에서 JSON을 사용하여 GDI 메시지, 명명 된 파이프 또는 HTTP/1.1을 통해 통신합니다. any database engine에 연결할 수 있으며 최적화 된 SQlite3 엔진을 내장 할 수 있습니다.

사실 클라이언트 - 서버 ORM입니다. 즉, ORM은 객체의 데이터 지속성 (다른 구현에서와 같이)을 위해서가 아니라 전역 n- 티어의 서비스 지향 아키텍처의 일부로 사용됩니다. 이것은 실제로 차이를 만듭니다.

관련 문제