🧭 Logic Implementation Guidelines

← Terug naar Develop

Richtlijnen voor het kiezen van de juiste implementatietechniek binnen Power Platform en Dataverse.

Onderwerpen


Doel

Binnen Power Platform zijn meerdere technieken beschikbaar om functionaliteit te implementeren.

De keuze voor de juiste techniek heeft direct invloed op:

Deze pagina helpt bij het maken van consistente architectuur- en ontwerpkeuzes.


Basisprincipes

Bij het ontwerpen van oplossingen geldt ÊÊn belangrijk uitgangspunt:

👉 Gebruik de eenvoudigste techniek die het scenario ondersteunt.

Voeg alleen complexiteit toe wanneer dit functioneel of technisch noodzakelijk is.


Architectuurlagen

Iedere techniek heeft een eigen rol binnen de architectuur.

🎨 UI Layer

Verantwoordelijk voor gebruikerservaring en interactie.

Technieken:

Doel:


âš™ī¸ Process Layer

Verantwoordelijk voor processturing en orchestratie.

Technieken:

Doel:


đŸ›ī¸ Domain Layer

Verantwoordelijk voor bedrijfsregels en dataconsistentie.

Technieken:

Doel:


🔌 API Layer

Verantwoordelijk voor herbruikbare services.

Technieken:

Doel:


Decision Hierarchy

Gebruik onderstaande volgorde als algemene beslisroute.

1. Business Rules

Kan het worden opgelost met standaard configuratie?

➡ Gebruik Business Rules.


2. JavaScript

Is interactieve UI-logica nodig?

➡ Gebruik JavaScript.


3. PCF Controls

Is maatwerk gebruikersinterface nodig die verder gaat dan standaard controls?

➡ Gebruik een PCF Control.


4. CloudFlows

Moet een proces worden geautomatiseerd of georkestreerd?

➡ Gebruik een CloudFlow.


5. Plugins

Moet logica transactioneel worden afgedwongen binnen Dataverse?

➡ Gebruik een Plugin.


6. Custom API's

Moet functionaliteit expliciet en herbruikbaar kunnen worden aangeroepen?

➡ Gebruik een Custom API.


Wanneer gebruik je welke techniek?

⚡ Business Rules

Gebruik wanneer

Vermijd wanneer

Samenvatting

👉 Declaratieve UI-logica zonder code.


📜 JavaScript

Gebruik wanneer

Vermijd wanneer

Samenvatting

👉 Client-side gedrag en gebruikersinteractie.


🧩 PCF Controls

Gebruik wanneer

Vermijd wanneer

Samenvatting

👉 Geavanceerde en herbruikbare gebruikersinterfacecomponenten.


🔄 CloudFlows

Gebruik wanneer

Vermijd wanneer

Samenvatting

👉 Procesautomatisering en orchestratie.


âš™ī¸ Plugins

Gebruik wanneer

Vermijd wanneer

Samenvatting

👉 Transactionele business logica binnen Dataverse.


🔌 Custom API's

Gebruik wanneer

Vermijd wanneer

Samenvatting

👉 Herbruikbare business operaties als service.


Snelle Keuzehulp

Vraag Voorkeur
Is het eenvoudige UI-logica? Business Rules
Is interactieve UI-logica nodig? JavaScript
Is een maatwerk UI-component nodig? PCF Control
Is procesautomatisering nodig? CloudFlow
Moet logica transactioneel worden afgedwongen? Plugin
Moet functionaliteit herbruikbaar beschikbaar worden gesteld? Custom API

Conflicterende Keuzes

Business Rules versus JavaScript

Gebruik Business Rules tenzij interactieve UI-functionaliteit vereist is.


JavaScript versus PCF

Gebruik JavaScript voor gedrag.

Gebruik PCF voor maatwerk gebruikersinterface.


CloudFlow versus Plugin

Gebruik een Plugin wanneer:

Gebruik een CloudFlow wanneer:


Plugin versus Custom API

Gebruik een Plugin wanneer logica automatisch moet reageren op platformevents.

Gebruik een Custom API wanneer logica expliciet moet kunnen worden aangeroepen.


Anti-Patterns

Vermijd:

✘ Business logica verspreiden over meerdere lagen

✘ JavaScript gebruiken als business enforcement

✘ CloudFlows gebruiken voor transactionele kernlogica

✘ Plugins gebruiken voor UI-gedrag

✘ Duplicatie van dezelfde logica in meerdere technieken

✘ Complexe maatwerkoplossingen wanneer standaardfunctionaliteit voldoende is


Best Practices

✔ Start met standaardfunctionaliteit

✔ Gebruik de eenvoudigste techniek die voldoet

✔ Houd business logica centraal

✔ Scheid UI, Process, Domain en API verantwoordelijkheden

✔ Ontwerp herbruikbare componenten

✔ Voorkom duplicatie van regels

✔ Maak architectuurkeuzes bewust en consistent


Architectuurmodel

UI Layer
├─ Business Rules
├─ JavaScript
└─ PCF Controls

        ↓

Process Layer
└─ CloudFlows

        ↓

API Layer
└─ Custom API's

        ↓

Domain Layer
└─ Plugins

Verantwoordelijkheden

UI       = Presentatie & Interactie
Process  = Orchestratie
API      = Hergebruik
Domain   = Enforcement

Relatie met andere onderwerpen

Onderwerp Relatie
Business Rules Declaratieve UI-logica
JavaScript Client-side interactie
PCF Controls Maatwerk gebruikersinterface
CloudFlows Procesautomatisering
Plugin & Custom API Development Server-side ontwikkeling
Integration Patterns Richtlijnen voor koppelingen en integraties

Samenvatting

De keuze van een implementatietechniek bepaalt in belangrijke mate de kwaliteit van een oplossing.

Gebruik:

👉 Plaats functionaliteit niet zo laag mogelijk, maar op de laag die verantwoordelijk is voor het gewenste gedrag. Hierdoor ontstaan oplossingen die onderhoudbaar, schaalbaar en consistent zijn binnen het Power Platform.