Dynamics 365のオンプレミスからクラウドへの移行で、必要な統合が破壊されないようにする。

Dynamics 365のオンプレミスからクラウドへの移行で、必要な統合を破壊しないために

Ana NetoConnectors, Products and Solutions, Technical 6 Comments

記事の最終更新日2022年3月28日

以下を見てみよう。 シナリオ:

Microsoft Dynamics CRMをオンプレミスで利用し、ERP(Dynamics NAV)、SharePoint、会計システムと連携している繁盛企業があります。

その結果、Dynamics 365オンラインとAzureクラウドに移行することのメリットを認識しました。しかし、Dynamics CRMからDynamics 365 Onlineにデータベースやその他の既存の統合機能を移行するための実用的なソリューションがMicrosoft社から提供されていないこともわかりました。

もし、作り手がこの問いに答えられないとしたら、この会社はどうやって願いを叶えるのだろう。

我々は、実際にデータベースに接続することなく、Dynamics 365データベースに接続するための彼らのソリューションを紹介できることを誇りに思う!

Dynamics CRMのオンプレミスからD365オンラインへの移行

を行うことは可能ですが Dynamics 365のオンプレミス展開, Dynamics 365をオンラインで使用することは、現在、ほぼすべての企業にとって最も魅力的な選択肢であると言ってもよい。.

Dynamics 365のオンラインモデルとオンプレミスモデルを比較検討する中で、Dynamics 365オンラインのSaaS(Software as a Service)版には次のようなメリットがあるという結論にすぐに到達したそうです。

  • ストレスが少ない - ハードウェアやインフラを購入する必要がなく、メンテナンスも不要です。
  • コミットメント - ソフトウェアは通常、1回限りのシートごとの購入ではなく、継続的な従量課金モデルでライセンスされます。
  • 多用途 - SaaSは多くの場合、ユニバーサルアクセスを提供しており、ユーザーがインターネットに接続していれば、どのデバイス(デスクトップ、ノートパソコン、携帯電話)からもソフトウェアに接続することができます。
  • アフォーダブル - 初期投資額は、通常、オンプレミスで機器やソフトウェアを購入するよりもかなり低く抑えることができます。
  • 信頼できる - クラウド・ソリューションには、高可用性SLAが付属している。.

では、オンプレミスのデータベースをDynamics 365 Onlineに同期させるのは、どのくらい簡単なのだろうか。

完璧な世界ではオンプレミスのMicrosoft Dynamics CRMからDynamics 365オンラインへの移行は、オンプレミスのMicrosoft Dynamics CRMとの既存の連携も含めて簡単に行うことができます。すでにD365を導入しており、Dynamics 365のオンプレミスからクラウドへの移行を希望している場合は、さらにシンプルになるはずです。

しかし、私たちは完璧な世界に住んでいるわけではありません。それでも、たとえ クラウドへの移行は、期待するほど簡単ではない♪そこで 役立つヒントとコツ その道のりをさあ、始めよう!

Dynamics 365オンラインへの移行に際してマイクロソフトが提供するもの

FastTrackページというものがある。マイクロソフトはこのページを通じて、ユーザーがマイクロソフトのクラウド・ソリューションをデプロイするためのサポートを提供している。Microsoft 365、Dynamics 365、またはAzureの対象サブスクリプションを持つ顧客は、サブスクリプションの全期間中、追加費用なしでアクセスできる(記事末尾のリンク)。したがって、これを使用するつもりなら、移行しようとしているものについて、更新された適格基準を確認することをお勧めする。マイクロソフトは通常、シート数または収益に基づいてこれらを決定する。.

2019年4月、マイクロソフトは「最近まで、顧客がオンプレミスの展開をDynamics 365(オンライン)に簡単に移行できる仕組みがなかった」ことを認めた。これは「Microsoft Dynamics CRM on-premises to Dynamics 365 Online Migration」と題された45ページのPDF文書で告白されており、その手順が記載されている(ダウンロードリンクも記事の最後にある)。.

Dynamicsのデータベースにアクセスできますか?

その場合、Dynamics 365のデータベースにアクセスし、オンプレミスのDynamics CRMと同期させる方法が考えられます。しかし、マイクロソフトはバックエンドのDynamicsデータベースへのアクセスを提供していません。

SaaSサービスのバックエンドデータベースを外部に公開することは、セキュリティ違反やデータの完全性の問題につながる可能性があるため、これは完全に理にかなっています。その代わり、マイクロソフトはD365オンラインとのデータインタラクションを実行するための公式APIを提供している。

APIサービスが利用される主な理由は、内部のビジネスルールや制約を破らないため、クライアントアプリケーションがパフォーマンスを阻害することがないことです。また、バックエンド・データベースのデータの整合性と一貫性を維持するのにも役立ちます。かなり有益でしょう?

唯一の欠点は、APIを通じてデータを操作するプロセスの開発には、多くのスキルと時間が必要だということだ。さらに、正しいパラメーターを発見し、関連するインターフェースが提供するメソッドや関数を適切に呼び出すために、大量のドキュメントを読み込まなければならない。残念なことに、それが現実なのだ。.

これをもっとシンプルにできるとしたらどうだろう?SQLに精通しているのであれば、SQLのスキルを活用し、通常のDBMS(データベース管理システム)と同じようにD365 APIとやり取りすることができれば素晴らしいと思いませんか?もっと良いのは、Microsoft SQL Server Management Studioを使ってDynamics 365にデータベースを同期させることができれば...。

さて、そんなあなたに素敵なお知らせがあります。

ローカルDBMSや任意のクライアントアプリケーションからD365 Onlineに接続する。

へのご来場をお待ちしております。 D365 Database Sync Solution!完全にConnecting Softwareの統合プラットフォームに基づいていること Connect BridgeオンプレミスのデータベースをD365のクラウドと同期させるためにカスタムメイドされています。すごいでしょう?

どういう仕組みになっているのか、不思議に思っている人もいるだろう、, Connect Bridge は、ANSI 標準の SQL 構文を適切な API 呼び出しに変換します。

データへのアクセスがAPIコールで行われるようにすることで、(それを心配する必要はないが)このソリューションはターゲット・システムの完全性を安全に保つ。その上、どのターゲット・システムとも 標準的なSELECT、INSERT、UPDATE、DELETE の文言があります。

この意味がわかりますか?あなたは ローカルDBMSやクライアントアプリケーションからD365オンラインにデータを接続し、挿入することができます。!

特に、オンプレミスのDynamics CRMからD365オンラインに移行する企業で、オンプレミスのSQLデータベースやアプリケーションがDynamicsに接続されている場合、この機能は便利です。幸いなことに、Connect Bridgeを導入することで、これらの接続を維持することができます。これは、イタリアのスーパーマーケットチェーンが行ったことであり、次の記事で紹介されています。 ケーススタディ.

Dynamics 365 Business CentralやFinanceのような他のDynamics 365ソリューションに接続したい場合、これも機能することに注意してください!私たちがサポートします記事末尾に.

では、実際にどのように機能するのか見てみましょう。無料トライアルを利用してご自身で試すこともできますし、私たちの専門家に無料デモの案内を依頼することもできます!

任意のデータベースからDynamics 365オンラインへ

マイクロソフトの有名なAdventure Works DW (Datawarehouse)データベース(最後にダウンロード可能)が、このデモのベースとなります。Connect Bridgeプラットフォームを使用して、既存のプロセスをMicrosoft Dynamics 365 Onlineといかにシームレスに統合できるかを紹介します。.

以下の手順では、SSMS(エスエルサーバーマネジメントスタジオ) を使用して、SQL Server データベースを管理します。

1 - AdventureWorksデータベースをセットアップすると、以下の画像のようにObject Explorerウィンドウにデータベースのスキーマが表示されます。

SSMS AdventureWorks

2 - リンク・サーバーを作成します。そのために、次の手順に従ってください。 ビデオチュートリアル.

 コネクタを使用して、任意のターゲットシステムへのLinked Server接続を作成できることに注意してください。 Connect Bridgeプラットフォーム. .世界中のユーザーがすぐに利用できる400以上のコネクタがあります。この例では、特にDynamics 365コネクタを使用します。.

Connect Bridgeコネクタのロゴマーク(一部

Connecting SoftwareのCRM、ERP、会計分野でのコネクタの選択について

3 - Linked Serverがセットアップされると、SSMSでDynamicsのバックエンドデータベースにアクセスしているように見えます。下の画像では、“D365_CRM」。.

画像

TreeViewのcatalogsノードを展開すると、通常のデータベースにアクセスしたときと同じように、Dynamics 365が提供するスキーマの全体像を確認することができます。しかし、これは実際には、フロントエンドでこのようにシンプルにするために、バックグラウンドでAPIコールが実行されている抽象化されたものなのです。

この3ステップの手順を使うことで、あらゆる種類の統合を作成したり、既存のプロセスをカスタマイズしたりすることができる。では、世界中のユーザーがどのような用途でこれを使用しているのか見てみよう。.

オンプレミスとD365のクラウド同期ソリューションの適用性

そもそもなぜこんなことが必要なのかと思われる方のために、身近にありそうな2つのシナリオをご紹介します。

シナリオ1

あなたの勤める会社では、現在もオンプレミスでMicrosoft Dynamics CRMを使用しており、Microsoft Dynamics 365 Onlineへの移行を進めているところです。SQLサーバーのデータベースとオンプレミスのMicrosoft Dynamics CRMの間にいくつかの統合があります。

問題は Microsoft Dynamics 365 Onlineのデータベースに直接接続できない。という疑問が湧いてきます。

  • マイクロソフト社のDynamics CRM SDKを使用して、すべてのプロセスを一から作成する必要があります。
  • Web APIを利用した処理を全て一から作成する必要があります。
  • これらを行うためには、C#を習得する必要があります。

シナリオ2

あなたの勤める会社は、SQL ServerデータベースをバックエンドとするカスタムメイドのERPシステムを持っています。彼らは、独自の顧客関係管理システムとしてMicrosoft Dynamics 365 CRMを使用することを決定しました。

そして、ERPシステムからCRMに既存のデータを自動入力し、両者の整合性を保つことを希望しています。

アカウント、コンタクト、製品など、双方で同一にする必要があるレコードは数万件に及ぶため、この作業を手作業で行うのは現実的に不可能である。

しかし。 自社のIT部門が、必要なプログラミング言語やフレームワークの使用経験が少ない。C#、RESTサービス、CRM APIなど。SQLの経験もあるが、それが役に立つのか?と、マネージャーは考えています。

  • このサービスを行うには、コンサルタント会社に依頼する必要があります。
  • 事業拡大に伴う新機能の保守・追加については、当該コンサルタント会社に依存することになる。

ありがたいことに、これらすべての仮説的な質問に対する答えは ノーと、この時点で、上の例の使い方がピンときたと思います。

と一緒に Connect Bridge。 既存のスキルを効率的に活用し、既存のソフトウェア、データベース、プロセスを維持することができます。

しかし、私たちの言葉を鵜呑みにする必要はありません。以下のステップバイステップの例を見てください。 フリートライアル を、ご自身で試してみてください。

アドベンチャーワークスのデータベーステーブルDimCustomerからDynamics 365オンラインアカウントに入力する

準備

  1. 以下のトリガーを作成します。

    --*****************************************************************************

    CREATE TRIGGER [ディーボ].[OnDimCustomerInsert] オン [ディーボ].[DimCustomer] アフター INSERT

    エーエス

    ビギン

           セット                               ノーカウント オン

     

           DECLARE エスキューエル                      VARCHAR(255)

           DECLARE @AccountId                VARCHAR(255)

           DECLARE 名前                VARCHAR(255)

           DECLARE @ラストネーム                 VARCHAR(255)

           DECLARE @ミドルネーム               VARCHAR(255)

          

           セレクト 名前       = [FirstName】(ファーストネーム],

                  @ラストネーム        = [ラストネーム],

                  @ミドルネーム      = [ミドルネーム]

           フロム インサート;

           セレクト エスキューエル = フォーマット・メッセージ('INSERT INTO ACCOUNT (Name) VALUES(''%s''); SELECT SCOPE_IDENTITY();',

           名前 + '-' + '-' + @ラストネーム)

          

           CREATE テーブル #AccountId(ID VARCHAR(255))

           INSERT #AccountId

           エグゼック(エスキューエル) エーティー D365_CRM

     

           セレクト @AccountId = ID から #AccountId

           アップデイト DimCustomer セット CustomerAlternateKey = @AccountId 孰れ ファーストネーム = 名前 そして ミドルネーム = @ミドルネーム そして ラストネーム = @ラストネーム

     

           PRINT 名前 + ' ' + @ミドルネーム + ' ' + @ラストネーム;

    終了

    --*****************************************************************************

    CREATE TRIGGER [ディーボ].[OnDimCustomerUpdate] オン [ディーボ].[DimCustomer] アフター アップデイト

    エーエス

    ビギン

           セット                               ノーカウント オン

     

           DECLARE エスキューエル                      VARCHAR(255)

           DECLARE @AccountId                VARCHAR(255)

           DECLARE 名前                VARCHAR(255)

           DECLARE @ラストネーム                 VARCHAR(255)

           DECLARE @ミドルネーム               VARCHAR(255)

          

           セレクト アカウントID       = [CustomerAlternateKey]です。,

                  @ファーストネーム       = [ファーストネーム],

                  @ラストネーム        = [ラストネーム],

                  @ミドルネーム      = [ミドルネーム]

           フロム インサート;

     

           セレクト エスキューエル = フォーマット・メッセージ('UPDATE ACCOUNT SET Name=''%s'' WHERE ACCOUNTID=''%s'''です。, 名前 + '-' + '-' + @ラストネーム, @AccountId)

           エグゼック(エスキューエル) エーティー D365_CRM;

           PRINT 名前 + ' ' + @ミドルネーム + ' ' + @ラストネーム;

     

    終了

    2.SSMSオブジェクトエクスプローラーウィンドウに2つの新しいトリガーが含まれ、以下のように表示されるはずです。
    Image
    3 -Dynamics 365 Onlineインスタンスを開き、Accountsに移動します。次のステップで、‘ABC Technology’、‘Billy Charity’、‘Tom Cat'の3つの新しいレコードを挿入します。この時点では、これらはまだ Accounts にありません。.
    画像(3)

    テスト

     1 - SSMSで新しいクエリウィンドウを開き、以下を貼り付けます。

    INSERT イントゥ [アドベンチャーワークスDW].[ディーボ].[DimCustomer] (ファーストネーム, ミドルネーム, ラストネーム, CustomerAlternateKey) 価値観 ('ABCテクノロジー', '' ,'GMB', 'CT0001');

    INSERT イントゥ [アドベンチャーワークスDW].[ディーボ].[DimCustomer] (ファーストネーム, ミドルネーム, ラストネーム, CustomerAlternateKey) 価値観 (ビリー・チャリティー」。, '' ,'SA', 'CT0002');

    INSERT イントゥ [アドベンチャーワークスDW].[ディーボ].[DimCustomer] (ファーストネーム, ミドルネーム, ラストネーム, CustomerAlternateKey) 価値観 ('トムキャット', '' ,'ORG'です。, 'CT0003');

     

    セレクト * フロム DimCustomer WHERE ファーストネーム = 'ABCテクノロジー';

    セレクト * フロム DimCustomer WHERE ファーストネーム = ビリー・チャリティー」。;

    セレクト * フロム DimCustomer WHERE ファーストネーム = 'トムキャット';

    2 - F5キーを押すか、SSMSの実行ボタンでスクリプトを実行します。
    SSMS-アドベンチャーワークス-実行
    DimCustomerテーブルに3つの追加レコードが挿入されているはずです。
    コード
    3 - Dynamics 365のアカウントに戻り、更新してください。ビンゴ!
    Image

    Dynamics 365を触ることなく、3つの新しいアカウントが追加されました。クールでしょう?

    しかし、ちょっと待ってください。DimCustomerテーブルのCustomerAlternateKeyフィールドに奇妙な数字があります。最初に挿入した値ではありません。代わりに、Dynamics 365で生成されたアカウントの一意のIDがあります。そんなことが可能なのでしょうか?

    OnDimCustomerInsert トリガーをよく見ると、SELECT SCOPE_IDENTITY(); が DimCustomer テーブルを更新するために使用されるアカウント ID を返す役割を担っていることに気づかれるかと思います。これは、DimCustomer テーブルのレコードが変更されたときに、Dynamics 365 の既存のアカウントに対して更新を実行するために非常に重要です。

    ポイントを証明するために、SSMSで以下のコードを実行して作成されたレコードを更新してください。

    アップデイト [アドベンチャーワークスDW].[ディーボ].[DimCustomer] セット ラストネーム = 'LTD' WHERE CustomerAlternateKey = 'account(9a1bc5cb-6ad7-e811-a96f-000d3a2cb90b)';

    note: 文字列を置き換える account(9a1bc5cb-6ad7-e811-a96f-000d3a2cb90b) を、あなたの環境で生成された値で上書きしてください。

    3つのアカウントに対してアップデートを実行した結果、Dynamics 365では以下のようになりました。
    Image

    いいね!

    おわりに

    これらは簡単な例ですが、これが実際にどのように機能するかを示しています。これは拡張性のある強力なソリューションで、次のようなことが可能です。 シームレス:

    • オンプレミスのDynamicsに接続されていたものをすべて一元管理します。
    • Dynamicsのオンライン版に移行しても、既存の統合機能は正常に動作します。

    そして、何より重要なのは

    • 新しい技術やプログラミング言語を学ぶ必要はない!それは いとも簡単に.
    • トリガーを変更することで、処理を強化することができます。

    また Connect Bridgeを使用して簡単に接続できる他のDynamics 365ソリューションがどれなのか、すぐにスクロールダウンした方は、この部分をご覧ください。

    それらは

    こんなご褒美があるんですね。

    ご意見、ご感想がございましたら、下記の欄にご記入ください。.

    Connect Bridgeをご利用いただく理由

    短い動画を見てみましょう。
    コネクトブリッジ

    リソースリンク

    記事の最終更新日2022年3月28日


    著者について

    アナ・ネト

    記入例 アナ・ネト, テクニカルアドバイザー Connecting Softwareにて。

    "私は1997年からソフトウェア・エンジニアであり、最近は書くことと人前で話すことが好きです。この記事について質問やコメントはありますか?ご意見・ご感想をお待ちしております!"


    投稿者 ジェファーソン高橋健司、ディオゴ・グーヴェイア

    Comments 6

    1. chamelijassiのアバター
    2. Paul Wiebeのアバター

      面白そうだ - ビジネスルールの施行についてはどうですか? 例えば、我々はビジネスセントラルに私たちのPOS(SQLテーブルのデータ)からトランザクションを取得する必要があります - 販売はD365に存在しない顧客や製品が含まれていますので、どのような使用例についてはどうですか?

    3. Ana Netoのアバター Post
      Author

      やあ ポール

      POSから取得したデータをSQLテーブルで取得し、それが理解できる構造に従っている場合は Connect Bridge をクリックして、すべてをBusiness Centralに取り込むことができます。販売にD365に存在しない顧客や製品が含まれている場合、何をすべきかを決める必要があります。

      このオプションをご希望の方は、ご指定のメールでご連絡いたします。

      アナ・ネト

    4. shoviv用アバター
    5. MG用アバター

      オンプレミスのCRM 2016からクラウドのDyn365にCaseを移行しても、オンプレミスのContactsに接続させることができますか?連絡先検索はオンプレミスのバージョンに戻りますが、Casesはクラウド上で更新されます。

    6. Ana Netoのアバター Post
      Author

      はい、Connect Bridgeでは、オンプレミスのCRM2016からクラウド上のDynamics 365にCaseを移行することが可能です。詳細については、弊社担当者よりメールにてご連絡させていただきます。

    コメントを残す

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です

    For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.