Solution Development richt zich op het structureren, beheren en onderhouden van Power Platform solutions gedurende de volledige lifecycle.
Het doel is om oplossingen schaalbaar, beheersbaar en deployment-vriendelijk op te bouwen zodat meerdere teams effectief kunnen samenwerken en wijzigingen gecontroleerd kunnen worden uitgerold.
Een goede solutionstructuur ondersteunt ALM, OTAP, hergebruik, eigenaarschap en onderhoudbaarheid.
A well-structured solution is easier to build, deploy and maintain.
Het doel van Solution Development is om:
Solution Development beschrijft hoe Power Platform-oplossingen worden opgebouwd, opgesplitst en beheerd.
Hierbij wordt gekeken naar:
Hoe organiseren we oplossingen zodat ontwikkeling, beheer en deployment beheersbaar blijven?
Het opdelen van solutions biedt zowel functionele als technische voordelen.
Iedere oplossing moet gekoppeld zijn aan een Publisher.
De Publisher bepaalt onder andere:
| Publisher | Prefix |
|---|---|
| BRENKE | brn |
| Microsoft | msft |
Kunnen alle maatwerkcomponenten eenvoudig worden herleid naar de juiste oplossing en eigenaar?
De voorkeursaanpak is het opdelen van solutions op basis van technische verantwoordelijkheid.
Configuration
β
Programming UI
β
Core
β
Programming Logic
β
Automation
Verantwoordelijkheden scheiden en afhankelijkheden beheersbaar houden.
Bevat configuratie en omgevingsspecifieke instellingen.
{prefix}_configuration
Bevat de functionele inrichting van de oplossing.
{prefix}_core
Core bevat alleen structuur en configuratie.
Gedrag wordt altijd buiten Core geplaatst.
Bevat server-side businesslogica.
{prefix}_programming_logic
Bevat procesautomatisering.
{prefix}_automation
Dependencies moeten beheersbaar blijven.
Toegestane afhankelijkheden:
Configuration
β
Core
β
Programming UI
β
Programming Logic
β
Automation
β Alleen afhankelijkheden naar lager gelegen solutions
β Houd componenten binnen hun verantwoordelijkheid
β Beperk cross-solution afhankelijkheden
π« Circular Dependencies
π« Componenten dupliceren
π« Verantwoordelijkheden vermengen
Componenten worden toegewezen aan de solution die verantwoordelijk is voor het betreffende componenttype.
| Component | Solution |
|---|---|
| Environment Variables | Configuration |
| Security Roles | Configuration |
| Tables | Core |
| Columns | Core |
| Forms | Core |
| Views | Core |
| Apps | Core |
| JavaScript | Programming UI |
| Ribbon Customizations | Programming UI |
| Plugins | Programming Logic |
| Custom APIs | Programming Logic |
| Cloud Flows | Automation |
| Business Rules | Automation |
| AI Builder | Automation |
In sommige situaties kunnen solutions worden opgesplitst per functioneel domein.
Sales
Service
Marketing
Integration
Iedere solution bevat daarbij:
β Logisch vanuit businessperspectief
β Duidelijke domeinen
β Herkenbare structuur
β οΈ Meer afhankelijkheden
β οΈ Meer deploymentrisico's
β οΈ Componentduplicatie
β οΈ Onduidelijk eigenaarschap
Gebruik deze aanpak alleen wanneer daar een duidelijke functionele reden voor bestaat.
| Rol | Verantwoordelijkheid |
|---|---|
| Functioneel Consultant | Core configuratie |
| Solution Architect | Solutionstructuur |
| Technisch Consultant | Programming UI & Logic |
| Developer | Implementatie |
| DevOps Engineer | Deployments |
| Product Owner | Prioritering en eigenaarschap |
Typische resultaten van Solution Development zijn:
Solution Development helpt teams vast te stellen:
π Een goede solutionstructuur vormt de basis voor schaalbare, onderhoudbare en professioneel beheerde Power Platform-oplossingen.