2013-05-05 87 views
0

我們希望開始使用salesforce來管理銷售聯繫人,但也有一些關於我們想要保留在當前系統中的聯繫人的業務功能。與salesforce的雙向同步(java)

據我所知,這意味着我們需要雙向同步?也就是說,當銷售人員發生任何變化時,我們需要在系統上更新它,反之亦然。

我在暗示某種消息產品可以坐在中間並重試失敗的消息,因爲我有一種感覺,如果沒有這種感覺,事情會變得非常混亂?例如,當一個或其他服務停止時。

該項目的經理希望保持簡單,並認爲使用消息而不是實時的點對點呼叫是矯枉過正的,但我覺得沒有它,我們將會遇到一個痛苦的世界。

有沒有人有試圖做雙向同步(居然連單程距離,我認爲同樣的風險遭受?)

您的見解非常感謝任何經驗..

+0

沒有什麼可補充的:是的,無論是用消息還是其他方式,你都會遇到麻煩。您正在砂基礎上建立一個系統。 – 2013-05-05 19:26:07

+0

感謝您的評論。你的意思是我們遇到了麻煩,因爲我們試圖進行雙向同步,或者因爲試圖同步數據總是很麻煩? – user1471465 2013-05-05 19:35:57

+0

它總是很麻煩,而且雙向同步無助於事情:)當你的系統不同步並且假設它們同步工作時會發生什麼?然後所有的衝突和解問題... – 2013-05-05 19:39:37

回答

1

我們使用Jitterbit實現Salesforce與計費系統之間的雙向同步。 Salesforce具有最後修改的字段,我們的綁定系統也是如此(如果不是,則系統應該具有此功能,將時間戳字段添加到其SQL存儲中的表中)。唯一重要的是選擇其中一個密鑰作爲主密鑰(SF_ID或其他系統密鑰),並在另一個系統中創建該密鑰字段,因爲它將用於衝突解決。該過程非常簡單,可以將所有已修改的SF數據加載到平面文件中,將所有已修改的輔助系統數據加載到另一個平面文件中,通過比較公共密鑰字段中的兩個文件查找衝突,通知管理員衝突(如果有)並傳播所有與另一個系統無衝突的更改。我們每10分鐘運行一次這個過程,我們在兩次循環之間的兩個系統上存儲最後的時間戳記,這樣我們只會記錄兩個週期之間修改的記錄。

如果兩個用戶同時編輯,您會遇到一個信息並手動解決,否則您將得到「最後保存的勝利」結果。

你也必須迎合新的規定,在SF方面使用upsert而不是更新(使用外部或SF密鑰,取決於你在上面選擇的),在另一方面它取決於系統。