You need to determine when to use serverless computing, plug-ins, or Power Automate.
Please select all correct statements.
Click on the arrows to vote for the correct answer
A. B. C. D.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:
Sure, I'd be happy to provide a detailed explanation for each of the answer options.
A. The best use of the Dataverse plug-in is for the execution of the long-running tasks: This statement is partially correct. Dataverse plug-ins can be used for executing long-running tasks, but they are not necessarily the best option. Plug-ins are typically used for synchronous business logic that needs to execute during the execution of a database operation, such as create, update, or delete. Plug-ins can execute custom business logic, validate data, and perform other tasks. However, plug-ins have some limitations, such as limited debugging capabilities, dependency on the Dataverse platform, and difficulty in implementing complex logic. Therefore, while plug-ins can be used for long-running tasks, they may not always be the best option.
B. You can offload the Dataverse's business logic to Azure Function: This statement is correct. Azure Functions provide serverless computing capabilities, which can be used to offload Dataverse business logic to external functions. Azure Functions can be used for both synchronous and asynchronous business logic and can be triggered by various events, such as changes to Dataverse data or a schedule. By offloading business logic to Azure Functions, you can reduce the load on the Dataverse platform, increase scalability, and leverage other Azure services.
C. The Azure function can modify the data during the Dataverse database transaction: This statement is partially correct. While Azure Functions can modify Dataverse data, they cannot modify data during a database transaction. Dataverse transactions are atomic and are committed or rolled back as a single unit of work. If an Azure Function modifies data during a transaction, it will not be committed until the end of the transaction. Therefore, if you need to modify data during a transaction, you should use a Dataverse plug-in.
D. The Power Automate provides the declarative application of the business logic in Dataverse: This statement is correct. Power Automate (formerly known as Microsoft Flow) is a cloud-based service that provides a no-code approach to automating workflows across various applications and services, including Dataverse. Power Automate can be used to declaratively apply business logic to Dataverse data by creating flows that respond to events, such as data changes or a schedule. Power Automate can be used for simple to moderate complexity workflows, but it may not be suitable for complex workflows that require custom code or integration with other systems.