문제

사용자가 DB의 로컬 복사본을 갖고 이를 메인 서버 시스템과 동기화할 수 있는 CRM 시스템을 개발해야 합니다.영업팀이 인터넷이 지원되지 않는 지역으로 이동하면서 상대적으로 최신 정보를 가지고 작업을 수행하고 사무실에 돌아와서 동기화할 수 있다는 아이디어입니다.

저는 이전에 이런 일을 해본 적이 없습니다. 누구든지 동기화 솔루션을 추천할 수 있습니까?

도움이 되었습니까?

해결책

그러한 시스템을 직접 작성한 후에는 가능한 경우 피하는 것이 좋습니다. 사용자가 그러한 시스템을 엉망으로 만들 수있는 방법은 특히 사용자가 영업 팀 일 때 군단입니다. ACT라는 CRM 시스템! (당신은 아마도 친숙 할 것입니다) 과거에는 그러한 동기화 옵션을 제공했지만 여전히 그렇습니다. 회사가 ACT!의 동기화 시스템을 사용하고있는 회사에 판매 할 때마다 회사는 항상 손상되고 잘못 상싱 된 데이터베이스를 불평합니다.

실제로 그런 일을해야한다면 데이터베이스 레벨 복제 (동기화 응용 프로그램을 작성할 때 사용할 수 없었 음)를 권장합니다. 많은 데이터베이스는 MS-SQL 서버를 포함한 복제를 제공합니다. 데이터베이스 수준에서 변경 사항을 추적하여 경험 한 많은 문제를 제거하고 해당 변경 사항을 원격 데이터베이스로 전송할 책임이있는 데이터베이스를 만들 수 있습니다.

다른 팁

왜 바퀴를 재창조합니까? 이 기능을 제공하는 많은 우수한 CRM 응용 프로그램이 있습니다. 일부는 오픈 소스이므로 확장 할 수 있습니다. 그러나 오프라인 기능이있는 클라이언트 데이터베이스가 필요한 경우 많은 CRM 응용 프로그램이이를 제공합니다. 클라이언트 데이터베이스 만 고층 건물 완벽하지만 오프라인/동기화 기능이 없다고 생각합니다. 어쩌면 볼 수도 있습니다 Sugarcrm, 24 번가 또는 영업?

데이터 병합으로 해결해야 할 문제가 많기 때문에 동기화 응용 프로그램을 구축하는 것은 어렵습니다. 아직도해야한다면 syncml 동기화를위한 개방형 표준입니다. 일부 설치 도구를 사용할 수 있습니다 funambol.

당신은 그것을보고 싶을 것입니다 Microsoft Synch Framework. 아직 사용하지 않았으므로 개인적인 의견을 제시 할 수는 없습니다.

MS CRM 4.0은 Outlook과 결합 시 오프라인 기능을 제공합니다.

http://www.microsoft.com/dynamics/crm/product/overview.mspx

오프라인으로 전환하는 것에는 고유한 이상한 점이 있습니다. 오프라인으로 전환해야 합니다. ~ 전에 좋은 네트워크 연결을 그대로 두었지만 전체적으로 여기에서는 잘 작동합니다.하지만 모바일 클라이언트 관련 내용은 아직 나오지 않았습니다.

우선 - CRM이 당신이 판매하는 제품이 될 경우, 모든 측정 값을 구축 할 수 있습니다. 내부 사용이라면 Soemone이 이러한 질문을 해결하는 고통을 견뎌내고 CRM을 구입하도록하자.

모든 것을 해결하기에 충분하지 않다고 생각하는 데이터베이스 레벨 복제 외에는 실제로 '자신의 롤'이 필요합니다.

시스템의 일부 CRM 유사 구성 요소를 계획했으며 처음에는 데이터베이스 복제를 사용하여 갈등 해결에 부딪 칠 때까지 쉽게 보이기 때문에 데이터베이스 복제를 사용할 계획이었습니다.

결국 우리는 사용자가 만든 새 레코드를 훨씬 간단하게 만들었 기 때문에 Guids를 고유 식별자로 사용하여 변경했습니다. 그렇지 않으면 각 클라이언트 시스템에 대한 어색한 숫자 ID 파티셔닝 체계가 있습니다. 지옥으로의 길.

신청 수준 문제인 동기화간에 변경이 이루어지는 갈등 해결에 도움이되는 것은 없습니다. 데이터베이스는 Bob에서 재생할 트랜잭션 목록을 얻을 수 있지만 Alice와 동일한 내용을 편집 한 경우 어떤 버전을 사용해야합니까? 타임 스탬프는 충분하지 않기 때문에 Alice가 그녀가 가면서 그녀를 채우고 초기 타임 스탬프를 가지고 있으면 밥이 점심을 먹을 때까지 기다립니다.

동기화 및 충돌 해상도에 대해 할 수있는 모든 기사/블로그 항목을 읽는 것이 좋습니다. 동기화는 손으로 물결 모양이 될 수있는 10,000 피트 높이에서 간단하지만, 당신이 쓰러지면 다른 이야기입니다. .

과거에 내 자신의 동기화 솔루션을 굴릴 때의 전략은 다음과 같습니다.

  1. 시스템이 오프라인 상태 일 때 발생할 수있는 변경 작업 횟수를 제한합니다.
  2. 자동 증분 정수를 기본 키로 사용하지 않으면 불쾌한 문제가 발생할 수 있습니다. 과거에는 고유 한 ID로 연결이 끊긴 클라이언트를 할당했으며 해당 ID를 자동 생성 숫자와 함께 사용하여 XXX-YYYYYYYY와 같은 멋진 기본 키를 형성합니다. 순차적 숫자를 만드는 것은 비 동시 환경에서 사소한 것이기 때문에 쉽게 수행 할 수 있습니다.
  3. 오프라인에서 수행하는 모든 DML 작업과 같은 트랜잭션 로그를 서버로 "재생"할 수 있습니다. 기본 동기화 요구가 충족되었을 때 나중에이 로그를 최적화 할 수 있습니다.
  4. 오프라인으로 가기 전에 고객 신청을 준비하는 방법에 대한 결정을 내려야합니다. 일반적인 솔루션은 사용자가 버튼을 눌러 응용 프로그램을 트리거하여 "오프라인 모드"를 입력하도록 강요하는 것입니다. 이 솔루션은 특히 사용자가 부주의하고 잊혀 질 때 매우 문제가된다는 것을 알았습니다. 관리자의 머리를 빠르게 때리는 것은 일반적으로 초기 단계에서 충분하지만 나중에 더 많은 지능적인 솔루션을 구현할 수 있습니다.
  5. 가장 간단한 작업에서 솔루션을 구축 한 다음 더 복잡한 시나리오까지 작업하십시오. (단일 테이블 단일 레코드 작업, 다중 테이블 다중 레코드 작업, 트랜잭션 역할을 해야하는 일련의 작업)
  6. 충돌 해결 시나리오를 만듭니다. 시나리오가 사용자가 승인해야합니다.

말할 것도없이, 그것은 고통스러운 여행입니다. 사용 가능한 CRM 솔루션 구매와 같은 다른 당사자에게 고통을 아웃소싱 할 수 있다면 이것이 최고가 될 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top