Virtual Entities

in

Dynamics 365

Ashish Vishwakarma

Virtual Entity At a Glance

  • Introduced in D365 V9.0 July 2017 Update
  • Access External Data as Native
  • Simplified Integration with External Systems

Need of Virtual Entities

  • Configuraton over code
  • Eliminate need of replicating data
  • Realtime data access

Limitations

  • External systems should know D365 lingo
  • If not get them an Interpreter
  • GUID should be used as primary key
  • Performance relies on external system
  • Read only as of now
  • Organization owned only
  • No auditing support
  • No processes support (BPF, Workflow etc)
  • No duplicate detection
  • No rollup/calculated fields

Components Involved

  • Data Provider
  • Data Source
  • Virtual Entity

Data Provider Example

Virtual Entity Data Sources

Creating New Data Source

Creating New Virtual Entity

OData V4 Data Provider

  • Shipped out of the box
  • Supports OData Types 
  • Requires external API to support OData

Demo

OData V4 Data Provider

Azure CosmosDB Data Provider

  • Preview feature as of Aug, 2018
  • Available free at AppSource          (https://appsource.microsoft.com/en-us/product/dynamics-365/mscrm.documentdb_data_provider)
  • Requires Azure subscription with Cosmos DB
  • Azure Cosmos DB database type should be SQL.

Demo

 

Azure CosmosDB Data Provider

Custom Data Provider

  • Coding required
  • Plugins on Retrieve & RetrieveMultiple
  • Must Implement QueryExpression or LINQ

Demo

Custom Data Provider

Conclusion

  • Hope CRUD feature arrives soon
  • Performance may affect from external systems
  • OData V4 Data Provider is recommended 
  • CosmosDB Provider looks promising
  • Custom Data Provider is good for 3rd party vendors
  • ...
  • Any points from audience?

Dynamics
365
India

Thank You!