πŸ“¦ Solution Development

← Terug naar Develop

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.


🎯 Doel

Het doel van Solution Development is om:


🧠 Wat is Solution Development?

Solution Development beschrijft hoe Power Platform-oplossingen worden opgebouwd, opgesplitst en beheerd.

Hierbij wordt gekeken naar:

Belangrijke vraag

Hoe organiseren we oplossingen zodat ontwikkeling, beheer en deployment beheersbaar blijven?


πŸ“¦ Waarom solutions opsplitsen?

Het opdelen van solutions biedt zowel functionele als technische voordelen.

Functionele voordelen

Technische voordelen


🏒 Publishers

Iedere oplossing moet gekoppeld zijn aan een Publisher.

De Publisher bepaalt onder andere:

Richtlijnen

Voorbeelden

Publisher Prefix
BRENKE brn
Microsoft msft

Belangrijke vraag

Kunnen alle maatwerkcomponenten eenvoudig worden herleid naar de juiste oplossing en eigenaar?


πŸ“¦ Standaard Solution Structuur

De voorkeursaanpak is het opdelen van solutions op basis van technische verantwoordelijkheid.

Configuration
      ↓
Programming UI
      ↓
Core
      ↓
Programming Logic
      ↓
Automation

Doel

Verantwoordelijkheden scheiden en afhankelijkheden beheersbaar houden.


βš™οΈ Configuration Solution

Bevat configuratie en omgevingsspecifieke instellingen.

Voorbeelden

  • Environment Variables
  • Connection References
  • Security Roles
  • SLA-instellingen
  • Feature Settings

Naming

{prefix}_configuration

🧱 Core Solution

Bevat de functionele inrichting van de oplossing.

Voorbeelden

  • Tables
  • Columns
  • Forms
  • Views
  • Charts
  • Relationships
  • Model-Driven Apps
  • Canvas Apps
  • Reports

Naming

{prefix}_core

Richtlijn

Core bevat alleen structuur en configuratie.

Gedrag wordt altijd buiten Core geplaatst.


βš™οΈ Programming Logic Solution

Bevat server-side businesslogica.

Voorbeelden

  • Plugins
  • Custom APIs
  • SDK Message Processing Steps
  • Custom Code

Naming

{prefix}_programming_logic

πŸ”„ Automation Solution

Bevat procesautomatisering.

Voorbeelden

  • Cloud Flows
  • Desktop Flows
  • Business Rules
  • AI Builder
  • Workflows

Naming

{prefix}_automation

πŸ”— Dependency Management

Dependencies moeten beheersbaar blijven.

Toegestane afhankelijkheden:

Configuration
      ↓
Core
      ↓
Programming UI
      ↓
Programming Logic
      ↓
Automation

Richtlijnen

βœ… Alleen afhankelijkheden naar lager gelegen solutions

βœ… Houd componenten binnen hun verantwoordelijkheid

βœ… Beperk cross-solution afhankelijkheden

Vermijd

🚫 Circular Dependencies

🚫 Componenten dupliceren

🚫 Verantwoordelijkheden vermengen


πŸ“Š Component Mapping

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

πŸ“¦ Alternatief: Solution per Focusgebied

In sommige situaties kunnen solutions worden opgesplitst per functioneel domein.

Voorbeelden

Sales
Service
Marketing
Integration

Iedere solution bevat daarbij:

  • Data
  • UI
  • Logica
  • Automatisering

Voordelen

βœ… Logisch vanuit businessperspectief

βœ… Duidelijke domeinen

βœ… Herkenbare structuur

Nadelen

⚠️ Meer afhankelijkheden

⚠️ Meer deploymentrisico's

⚠️ Componentduplicatie

⚠️ Onduidelijk eigenaarschap

Richtlijn

Gebruik deze aanpak alleen wanneer daar een duidelijke functionele reden voor bestaat.


πŸ‘₯ Rollen & Verantwoordelijkheden

Rol Verantwoordelijkheid
Functioneel Consultant Core configuratie
Solution Architect Solutionstructuur
Technisch Consultant Programming UI & Logic
Developer Implementatie
DevOps Engineer Deployments
Product Owner Prioritering en eigenaarschap

πŸ“¦ Deliverables

Typische resultaten van Solution Development zijn:

  • Solution Structure
  • Publisher Strategy
  • Dependency Model
  • Component Mapping
  • Naming Standards
  • Solution Guidelines
  • Solution Register

βœ… Best Practices

Doe

  • Gebruik een vaste solutionstructuur
  • Gebruik altijd een eigen Publisher
  • Beheer dependencies actief
  • Houd configuratie en logica gescheiden
  • Gebruik managed solutions voor deployments
  • Wijs eigenaarschap toe

Vermijd

  • Alles in één solution plaatsen
  • De standaard Publisher gebruiken
  • Circular dependencies creΓ«ren
  • Componenten dupliceren
  • Businesslogica in Core plaatsen
  • Onduidelijke ownership

πŸ“Œ Samenvatting

Solution Development helpt teams vast te stellen:

  • hoe solutions worden opgebouwd
  • welke Publisher wordt gebruikt
  • hoe componenten worden verdeeld
  • hoe afhankelijkheden worden beheerd
  • hoe deployments beheersbaar blijven

πŸ‘‰ Een goede solutionstructuur vormt de basis voor schaalbare, onderhoudbare en professioneel beheerde Power Platform-oplossingen.