2

ユーザーがデータベースのローカル コピーを保持できるようにする CRM システムを開発する必要があります。これにより、メイン サーバー システムと同期することができます。これは、販売チームがインターネットが使用できない地域に出張しても、比較的最新の情報を使用して業務を行い、オフィスに戻ったときに情報を同期できるという考え方です。

私はこれまでにこのようなことをしたことがありません。誰かが同期ソリューションを推奨できますか?

4

6 に答える 6

1

なぜ車輪を再発明するのですか?この機能を提供する優れた CRM アプリケーションは数多くあります。一部はオープンソースであるため、拡張できます。ただし、オフライン機能と同期機能を備えたクライアント データベースが必要な場合は、多くの CRM アプリケーションがそれを提供します。クライアント データベースだけならHighriseは完璧ですが、オフライン/同期機能はないと思います。SugarCRM24SevenOfficeSalesforceを見てみましょう。

また、データ マージで解決すべき問題が山ほどあるため、同期アプリケーションの構築は困難です。それでも行う必要がある場合は、同期のオープン スタンダードであるSyncMLを参照してください。すぐにインストールできるツールがFunambolから入手できます。

于 2008-12-14T16:44:33.593 に答える
1

そのようなシステムを自分で書いたので、可能であれば避けることをお勧めします。ユーザーがそのようなシステムを台無しにする方法は数多くあります。ユーザーが営業チームである場合は特にそうです。Act!という名のCRMシステム!(おそらくご存知でしょう) は、過去にそのような同期オプションを提供してきましたが、おそらく今でも提供しています。私の会社が Act! の同期システムを使用している会社に販売するときはいつでも、その会社はデータベースの破損や同期の誤りについていつも不満を漏らしています。

そのようなことを本当に行う必要がある場合は、データベース レベルのレプリケーションをお勧めします (これは、同期アプリケーションを作成した時点では利用できませんでした)。MS-SQL Server を含む多くのデータベースがレプリケーションを提供しています。データベース レベルで変更を追跡し、それらの変更をリモート データベースに転送する責任をデータベースに持たせることで、私たちが経験した多くの問題を解消できます。

于 2008-11-25T15:59:58.727 に答える
0

MS CRM 4.0は、Outlookと組み合わせるとオフライン機能を備えています。

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

オフラインにすることには独自の奇妙な点があります(良好なネットワーク接続を終了する前に必ずオフラインにする)が、全体としてここではうまく機能しています。ただし、モバイルクライアントのものはまだ出ていません。

于 2009-01-13T23:20:59.413 に答える
0

まず最初に、CRM が販売する製品である場合は、ぜひ作成してください。社内で使用する場合は、これらの質問を解決するための苦労を他の従業員に任せて、CRM を購入してください。

すべてを解決するのに十分ではないと私が思うデータベース レベルのレプリケーションを除けば、「自分で作成する」必要があります。

システムのいくつかの CRM に似たコンポーネントを計画しているチームに参加しましたが、最初はデータベース レプリケーションを使用することを計画していました。競合が解決するまでは、簡単そうに見えたからです。

最終的に、GUID を一意の識別子として使用するように変更しました。これにより、ユーザーによって作成された新しいレコードの処理がはるかに簡単になりました。そうしないと、クライアント システムごとに、これらの厄介な数値 ID パーティション スキームになってしまいます。地獄への道。

同期間で変更が行われる競合の解決には何の役にも立ちません。これはアプリケーション レベルの問題です。データベースはボブからリプレイするトランザクションのリストを取得するかもしれませんが、ボブがアリスと同じものを編集した場合、どのバージョンを使用する必要がありますか? タイムスタンプだけでは十分ではありません。なぜなら、アリスが移動中に記入し、タイムスタンプが早いのに、ボブが昼食をとって遅いタイムスタンプを取得するまで待っている場合です。

同期と競合の解決に関するすべての記事/ブログ エントリを読むことを強くお勧めします。10,000 フィートの高さからの同期は簡単で、すべて手を振ることができますが、泥沼に落ちている場合は別の話です。 .

于 2009-01-14T00:38:38.510 に答える
0

過去に独自の同期ソリューションを展開したときの私の戦略は次のとおりです。

  1. システムがオフラインのときに発生する可能性のある変更操作の数を制限します。
  2. 自動インクリメント整数を主キーとして使用すると厄介な問題が発生するため、使用しないでください。過去に、切断されたすべてのクライアントに一意の ID を割り当て、その ID を自動生成された番号と組み合わせて使用​​して、見やすく読みやすい主キー (XXX-YYYYYYYY など) を形成しました。非同時環境では連番の作成は簡単なので、これは簡単です。
  3. オフライン中に実行するすべての DML 操作など、トランザクション ログを保持して、サーバーに対して "再生" できるようにします。後で基本的な同期のニーズが満たされたときに、このログを中心に最適化できます。
  4. オフラインになる前に、クライアント アプリケーションを準備する方法を決定する必要があります。典型的な解決策は、ユーザーにボタンを押してアプリケーションをトリガーし、「オフライン モード」にすることです。このソリューションは、特にユーザーが不注意で物忘れしている場合に、非常に問題があることがわかりました。通常、初期段階ではマネージャーから頭を叩くだけで十分ですが、後でよりインテリジェントなインテリジェントソリューションを実装することを選択できます.
  5. 最初に最も単純な操作からソリューションを構築してから、より複雑なシナリオに進みます。(単一テーブルの単一レコード操作、複数テーブルの複数レコード操作、トランザクションとして機能する一連の操作)
  6. 競合解決のシナリオを作成します。シナリオがユーザーによって承認されていることを確認してください。

言うまでもなく、それは苦痛な旅です。痛みを別の当事者にアウトソーシングできる場合 (利用可能な CRM ソリューションを購入するなど)、それが最善です。

于 2009-01-14T01:20:21.077 に答える
0

Microsoft Synch Frameworkをご覧になることをお勧めします。まだ使っていないので、個人的な意見は言えませんが。

于 2008-11-25T15:51:46.513 に答える