カスタム IoT プロバイダーを使用する

Dynamics 365 Field Service IoT プロバイダー機能を使用すると、あらゆる IoT ベンダーの IoT (モノのインターネット) 対応デバイスとシームレスに統合できるようになります。 さまざまなベンダーからの IoT アラートを、発信元に関係なく統合リストに統合します。 ユーザーが IoT デバイスと対話すると、Field Service はデバイスのプロバイダーを識別し、コマンドを対応する IoT システムにルーティングします。

Field Service では、すぐに使用できる導入エクスペリエンスをAzure IoT Hub と統合しています。 開発者、パートナー、独立系ソフトウェア ベンダー (ISV) は、このフレームワーク上でカスタム IoT ソリューションを構築するだけでなく、それらを Microsoft AppSource 市場 に公開することでさえ可能です。

この記事では、IoT プロバイダーのデータ モデルと、使用できる接続方法の概要について説明します。

前提条件

  • Dynamics 365 と Microsoft Dataverse に接続する モデル駆動型アプリ 開発の経験
  • C#、.NET、Visual Studio を使用したプログラミングの経験
  • REST/OData API に関する知識

Field Service データ モデル

外部の IoT サービスを Field Service と統合するあらゆる方法は、Field Service IoT プロバイダーのデータ モデルに適している必要があります。このデータ モデルは、3 つの関連テーブル (IoT プロバイダー、IoT プロバイダー インスタンス、IoT デバイス) と IoT 設定のテーブルで構成されます。

Field Service IoT プロバイダーのデータ モデル図。

IoT プロバイダー テーブル

IoT Provider テーブルは、組織の IoT プロバイダーと プロバイダーがサポートする行動を識別します。

IoT プロバイダー レコードのスクリーンショット。

IoT プロバイダー インスタンスのテーブル

一対多の関係が、IoT Provider テーブルと IoT Provider Instance テーブルの間に存在します。 たとえば、組織が 2 つの異なる Azure IoT Hub に接続されている場合、Azure IoT Hub に 1 つの IoT プロバイダー、2 つの IoT プロバイダー インスタンス レコード、各 IoT Hub に 1 つの IoT プロバイダー インスタンス レコードがあります。 Field Service 設定>IoT>プロバイダーの IoT プロバイダ インスタンスのリストを表示できます。

IoT プロバイダー インスタンス レコードのスクリーンショット。

  • プロバイダー インスタンス ID は、ソース IoT システム内のインスタンスを識別します。
  • URL は、プロバイダー コードやユーザー エクスペリエンスで使用されているものでも可能です。たとえば、API エンドポイントか展開のAzure リソース グループへのリンクです。

IoT デバイス テーブル

一対多の関係が IoT Provider Instance テーブルと IoT Device テーブルの間に存在しは、各デバイスを IoT プロバイダー インスタンスにマップします。

  • アカウント は、デバイスに関連付けられている Field Service の顧客アカウントを識別します。
  • カテゴリ はデバイスのカテゴリです。
  • タイム ゾーン は、デバイスがあるタイム ゾーンです。
  • デバイス ID は、デバイスを IoT プロバイダーに登録するときに使用します。
  • シミュレート は、開発とテストで使用されます。

接続方法と開発ツール

カスタム IoT ソリューションを接続する方法には、メリットとリスクの両方が伴います。 次のテーブルは、それらの要素について説明しています。

メソッド 利点 リスク
Dataverse API - Connected Field Service と外部サービス間の直接通信を可能にします。
- ソフトウェア アプリケーションを構築するための安定したプロトコルです。

- 外部サービスは API と統合できる必要があります。
- Connected Field Service API 機能についての深い理解が必要です。
ウェブフックs Connected Field Service で特定のアクションが実行されたときに、リアルタイムの更新を外部サービスに送信します。 外部サービスは、Webhook メッセージを受信して​​処理できる必要があります。
コネクタ シームレスな統合エクスペリエンスを提供し、Connected Field Service と外部サービスの間のブリッジとして機能します。 より堅牢な技術知識と開発リソースが必要です。
カスタム コード 高度にカスタマイズされた効果的な統合。 高度な技術的専門知識が必要であり、他の方法よりも高いリスクを伴う可能性があります。

Connected Field Service のカスタム ソリューションを構築するために一般的に使用される開発ツール:

  • Microsoft Power Apps は、作成者とプロの開発者がカスタム ビジネス アプリケーションを迅速かつ簡単に作成できるようにするローコード開発プラットフォームです。

  • Microsoft Azure Functions は、開発者が専用サーバーを使用せずにコードをオンデマンドで実行できるようにするサービスです。

  • Microsoft .NET Framework は、Windows でアプリケーションを構築および実行するためのソフトウェア開発フレームワークです。

  • Microsoft Visual Studio は、.NET、JavaScript、Python などの幅広いプログラミング言語とフレームワークをサポートする人気の統合開発環境です。

  • JavaScript は、広く使用されているプログラミング言語であり、Node.js や React などの他のツールやフレームワークと一緒によく使用されます。

  • REST API は、アプリケーションが Web 上で相互に通信するための標準化された方法を提供します。 Connected Field Service は、外部サービスとの統合やカスタム ソリューションの構築に使用できる多くの REST API を提供します。

次の手順