Common Data Service for Apps has been launched and this is what XRM developers have been waiting for since xRM 2011. With these new capabilities, PowerApps (v2) and the Common Data Service for Apps now power Dynamics 365 for Sales, Marketing, Customer Service and Talent. PowerApps P2 officially becomes the new platform SKU, and will be called Canvas Apps, moving away from being a admin and maker focused plan to becoming THE plan for users of stand-alone model driven apps.
If you’re already a Dynamics 365 user, this means as soon as your Dynamics 365 apps are upgraded to 9.0, your data will be available in Common Data Service for Apps. Existing Dynamics 365 environments will show up in PowerApps, assuming you have the right access permissions. Dynamics 365 customizers will start using PowerApps to customize Dynamics 365 (no worries: Solution Explorer and other familiar editors remain available), and if you already know how to customize Dynamics 365 then you already know how to build model-driven apps!
By using the concept of XRM of 2011, this makes Common Data Service for Apps instantly Enterprise Ready — server-side logic and here are several types that are supported:
Declarative logic, that does not require writing any code. In this category Common Data Service for Apps provides:
- Business Process Flows – BPFs are a way to describe business processes as a sequence of stages with specific steps in each stage. Use a business process flow when you want users to move through the same stages and follow the same steps to interact with a customer for example. BPF allows modelling of sophisticated processes through capabilities like enforcing certain conditions are met before advancing to the next stage, or dynamically switching stages depending on input from prior stages.
- Workflows – CDS for Apps support synchronous (“real-time”) and asynchronous workflows. Custom workflows can be triggered on a wide range of events such as creation of a new record, changes to a record, deletion, etc. The workflow itself can then take one or multiple actions like modifying fields, creating new records or even preventing the operation that triggered the workflow from completing.
- Business rules – Ensuring accurate data, regardless of the app that created or edit it is important to maintain data consistency, and ensure apps and analytics continue to operate as expected. Business Rules provide a nice graphical UI for defining these rules and actions that will be executed sychronously when a record is created/updated.
- Calculated and roll up fields – entities can now include calculations and roll ups of related records to allow you to create Excel like formulas on both number and text-based fields. This enables calculations to be defined once, ensuring a consistent value is used across all your apps.
In addition to the graphical, declarative editors, CDS for Apps now also supports pro-dev extensibility:
- Code plugins – Plugins define custom business logic through .NET that can be triggered by a wide range of events in the platform. They provide the ultimate in fine-grain extensibility for pro-devs.
- Custom Workflow activities – Similar to plugins, these can be written in C# and allow definition of custom activities that can be triggered as part of a workflow to execute custom business logic not easily expressed declaratively.
What do these changes mean for your existing canvas apps (Power Apps v1) and any new canvas apps (Power Apps v1) that you can build on the Common Data Service for Apps?
New canvas apps (Power Apps v1) will continue to be able to use the Common Data Service for Apps as a data source and will also gain some new and much requested capabilities. The most exciting being the ability to use the above mentioned server-side logic in your canvas apps. Business Process Flows are not yet supported in Canvas apps (Power Apps v1), but all the other types of entity scoped server side logic can be used with Canvas apps (Power Apps v1).
For existing canvas apps (Power Apps v1) currently using the Common Data Service there will be some manual upgrade work required to enable the new functionality for those instances, you will begin receiving notifications starting in April with details. No worries, your existing CDS instances will continue to work, new CDS for Apps instances will already have all the new capabilities enabled.