Correct Answers: B and D
Microsoft Dataverse provides two ways of defining and applying the business logic: a declarative process or by the code. The Dataverse declarative options for the business logic include the use of business rules, Real-time workflows, actions, and Power Automate flows for your business requirements. Power Automate helps to achieve business requirements in a no-code or low-code approach.
The application of the business logic by code includes the creation of a plug-in or a workflow extension. Before creating the business logic using a code (the Dataverse plug-in), you should evaluate the declarative options. It would be best to use the Dataverse plug-ins only when the Power Platform products` declarative process does not meet your business requirements. The plug-in sits between the Web API call and the Dataverse database. It enforces the business logic independently from the source of the API call during the Dataverse database transaction. The plug-ins must be self-contained.
The extension of the business logic by a code depends on detecting the Dataverse`s events. The Event Framework provides this information to the declarative tools and registered extensions.
The Dataverse can offload the execution of the business logic to Azure Functions. Using the webhooks, you can execute the data operations synchronously using Azure Functions. You need to register the webhook using the Dataverse Plug-in Registration Tool and then register the step that triggers the execution of the business logic in the Azure Function on the occurrence of the Dataverse`s event. If the business logic requires stateful long-running, complex workflows, you can use the Durable Function. The Durable Function is an extension of the Azure Functions. Option B is correct because you can use the Azure Function to offload the Dataverse business logic.
Option D is correct because the Power Automate provides the declarative application of the business logic in Dataverse.
Option A is incorrect because the best is to use the Durable Function to execute the long-running tasks, but not the Dataverse plug-in.
Option C is incorrect because the Dataverse plug-in can modify the data during the Dataverse database transaction, but not the Azure Function.
For more information about serverless computing, plug-ins, or Power Automate, please visit the below URLs:
https://docs.microsoft.com/en-us/powerapps/maker/data-platform/processes
https://docs.microsoft.com/en-us/azure/azure-functions/functions-overview
https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview?tabs=csharp
https://docs.microsoft.com/en-us/powerapps/developer/data-platform/plug-ins