Logique personnalisée

Effectué

Microsoft Dataverse permet d’exécuter une logique personnalisée de différentes manières.

Plusieurs options sont disponibles pour appliquer une logique métier personnalisée dans Dataverse, comprenant :

  • Règles métier
  • Flux de travail classiques
  • Flux de cloud Power Automate
  • Flux de processus métier
  • Colonnes calculées
  • Colonnes Cumul
  • Plug-ins
  • Assemblages de flux de travail personnalisés
  • Actions personnalisées
  • API personnalisée
  • Scripts côté client
  • Composants de code avec Power Apps Component Framework
  • Intégration Azure Service Bus et Event Hubs
  • Webhooks

Créer une logique personnalisée

L’architecte de solution devra être en mesure de décider quel composant de Microsoft Power Platform est utilisé et où il est utilisé dans la solution. Aucune règle n’est imposée pour cette décision, car chaque option présente ses propres avantages et inconvénients.

Par exemple, les limites suivantes peuvent se présenter :

  • Vous ne pouvez pas déclencher les flux Power Automate des colonnes calculées ou de cumul.
  • Les colonnes de cumul ne sont recalculées que toutes les heures.
  • Les règles métier ne peuvent accéder aux colonnes du formulaire que pour leur propre table.
  • Les flux de travail classiques ne peuvent pas accéder aux lignes dans les relations 1 à plusieurs.
  • Les données modifiées par une règle métier ne déclenchent pas d’événement OnChange créé avec JavaScript.

Cette liste de limites n’est pas exhaustive.

Adopter une approche sans code, low-code ou code-first n’est pas la bonne tactique ; vous devez décider de chaque situation individuellement. Il est essentiel qu’un architecte de solution en devenir comprenne les possibilités qu’offrent ces options.

Traitements synchrones et asynchrones

La logique personnalisée peut être implémentée de manière synchrone ou asynchrone. Les architectes de la solution doivent déterminer si les opérations logiques personnalisées doivent être effectuées de manière synchrone ou asynchrone.

Diagramme de tâche synchrone et asynchrone.

Lorsque les opérations sont effectuées de manière synchrone, l’écran de l’utilisateur est bloqué jusqu’à ce que toutes les opérations soient terminées. Les opérations peuvent modifier les données avant ou après leur enregistrement dans la base de données. Les appels synchrones ajoutent une surcharge minimale à la gestion du traitement, mais toutes les opérations d’une transaction synchrone sont limitées à un total de deux minutes. Cette limite est fixe et ne peut pas être modifiée. Les plug-ins Dataverse et les flux de travail classiques peuvent être exécutés de manière synchrone. Les règles métier sont exécutées de manière synchrone si l’étendue est définie sur Table.

Lorsque les opérations sont effectuées de manière asynchrone, l’écran de l’utilisateur est renvoyé une fois que ses données sont enregistrées dans la base de données. L’opération sera ajoutée à une file d’attente et sera exécutée ultérieurement, ce qui peut durer quelques secondes, plusieurs minutes ou même quelques heures, selon la charge de travail. Asynchrone signifie que les utilisateurs doivent actualiser leur écran pour voir les résultats. L’exécution de tâches asynchrones engendre une surcharge supplémentaire. La plateforme crée des lignes dans les tables AsyncOperation et WorkflowLog. Ces lignes sont mises à jour lorsque l’opération démarre, au fur et à mesure de sa progression et une fois qu’elle se termine. Les lignes peuvent être définies pour être supprimées automatiquement. Les plug-ins Dataverse et les flux de travail classiques peuvent être exécutés de manière asynchrone. Les flux de cloud Power Automate sont exécutés de manière asynchrone.

Traitement client et serveur

Les architectes de solution doivent comprendre où la logique est exécutée.

Les formules d’application canevas, le script de formulaire basé sur un modèle, les règles métier et la logique Power Apps Component Framework se produisent dans l’interface utilisateur et l’utilisateur verra le résultat immédiatement. Cependant, cette logique n’est appliquée que dans l’application où elle est implémentée.

Les plug-ins, les flux de cloud Power Automate, les flux de travail classiques et les règles métier (avec une étendue définie sur Table) se produisent uniquement lorsque les données sont envoyées au serveur par une application, un flux ou un appel d’API. L’utilisateur ne voit que les résultats de la logique personnalisée du service dans son application lors de l’actualisation des données. La logique du serveur est appliquée lorsqu’une application, un flux ou une API est utilisé(e).

Microsoft Power Platform impose des limites sur le nombre d’appels pouvant être effectués. L’architecte de solution doit concevoir la solution en tenant compte de ces limites.