Connected Field Service architecture

Dynamics CRM 2016
 

Updated: November 29, 2016

Applies To: Dynamics 365 (online)

    Connected Field Service for Microsoft Dynamics 365 is a distributed solution that depends upon multiple components within both Dynamics 365 and Microsoft Azure services.

The following diagram illustrates the high-level components and services found in the standard installation of Connected Field Service for Microsoft Dynamics 365 and its supporting Azure resources. In this initial release, the IoT functionality in Dynamics 365 is tied directly into Field Service.

Connected Field Service Component Architecture Diagram

The following table describes the components in this diagram.

Component or service

Description/Purpose

Dynamics 365

Includes the CRM Service and Field Service. The Connected Field Service feature is only available in the online version of Microsoft Dynamics 365. Dynamics 365 provides support for popular mobile clients, which can be used to register and monitor assets in the field.

Azure Service Bus

Provides a channel for both inbound and outbound messages flowing between Dynamics 365 (CRM) and Azure: IoT Hub alerts sent to CRM, and CRM commands sent to the IoT Hub.

Azure Logic Apps 

Custom Azure applications that provide orchestration logic that uses the CRM Connector and the Queue Connector. The CRM Connector is used construct CRM-specific entities, whereas the Queue Connectors for polling the Azure Service Bus queue.

Azure IoT Hub

Enables applications and administrators to connect, monitor, and manage IoT devices at scale. All the inbound messages received from and outbound messages sent to devices are routed through this service.

Azure Storage

Provides persistence using a set of standard structures that include Blob storage (object storage), Table storage, and File storage. Stream Analytics queries use Blob storage.

Databases

For longer-term storage and querying of raw data, events, and analytical data: commonly Azure SQL for relational data and DocumentDB for semi-structured data. Connected Field Service uses SQL Azure to store device heartbeat messages for later use by PowerBI to display the status of devices in Dynamics 365.

Azure Stream Analytics

Provides self-managed, real-time event processing and analysis on streaming data, such as IoT data feeds. Supports comparing different streams or with historical values and models. It can detect anomalies, shape incoming data, trigger alerts and provide real-time metrics. Ad-hoc queries are supported through an SQL-based language. Stream Analytics is configured to pump filtered alerts into an Azure Service Bus queue, which then delivers these to Dynamics 365.

Thermostat Simulator

A test web app that provides sample temperature and humidity device data and responds to a small set of device-specific commands.

Power BI service 

[Optional] Provides advanced analysis and 360-degree visualization of data sets, with rich interaction models and natural search features.

Note that this list is not exhaustive when considering your customized solution, as there are other Azure services or custom components that could be used. For example, Azure Machine Learning could be employed to discern patterns in the incoming device data in order to predict likely device malfunctions.

The red components in the diagram represent likely areas for developer customization when creating solutions for your organization. For example, your solution will probably have its own simulator for your device type(s) and a custom workflow to handle device alerts. Source code for the standard CRM and Queue Connectors will be publicly released; the source for the Thermostat Simulator will not be released.

A data flow between the Azure IoT Hub and Connected Field Services components is detailed in this downloadable diagram. It details each information flow, its flow direction and relative order for a standard installation of Connected Field Service for Microsoft Dynamics 365.

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. Copyright

Show: