videoAL Developmentcommunity - not Microsoftreviewed - checked by Opus

20260209 - Chaos to Clarity - Visualizing AL architecture for scalable Business Central solutions

Applying the C4 model (software system, container, component, code levels) to visualize AL architecture in Business Central, using a bridge app and interface/enum integration provider example. Also covers Structurizr DSL and Copilot checks against SOLID principles.

  1. 0:00 Introduction and Housekeeping
  2. 2:42 Presenter Background and Journey
  3. 4:09 Evolution from NAV to Modern Architecture
  4. 6:03 The Challenge - Interfaces and Bridge Apps
  5. 7:47 Searching for Clarity through Diagrams
  6. 9:25 Exploring Architecture Diagram Types
  7. 11:20 Introduction to the C4 Model
  8. 14:55 C4 Model Levels and Mapping to AL Architecture
  9. 17:18 System Context View and Diagram Principles
  10. 19:33 Container and Component Views with Design Decisions
  11. 24:00 Communicating Architecture to Stakeholders
  12. 26:31 Practical Application to Business Central Solution
  13. 31:16 Detailed Solution Hub Design Patterns and Testing
  14. 34:30 AI and Architecture Design Integration
  15. 36:56 Tooling Recommendations and AI-Assisted Validation
video Areopa webinars · 2026-02-12Watch on YouTube

Overview

A Business Central developer with a NAV background describes how interfaces and the bridge app pattern left him with unclear architecture, and how the C4 model gave him a way to organize it. He maps the four C4 levels to Business Central concepts: extensions, PTEs and AL namespaces.

He applies this to a solution hub PTE with an EROC connector bridge app and a projects integration module that uses an enum and interfaces to support different project providers. He then covers communicating at the right level to stakeholders, Structurizr DSL for architecture as code, and using Copilot to review diagrams against SOLID principles.

Key points

  • The C4 model uses four levels: software system, container, component and code. C4 containers are not Docker containers.
  • Mapping used in the session: Business Central as the software system, PTEs and AppSource apps as containers, namespaces inside extensions as components, and AL files grouped in folders or namespaces as the code level.
  • Enum-based integration provider pattern: an enum defines providers and interfaces supply the implementations, so new providers can be added without changing existing code. A test app can mock a provider.
  • The bridge app pattern lets external systems connect through interchangeable connector apps, so a connector can be removed while the data stays in Business Central. The presenter found the architectural work not easy.
  • Write design decisions into diagrams, for example whether systems exchange JSON or XML.
  • Use system context and container views for business executives, and deeper levels for developers.
  • Structurizr DSL keeps the model and its views in one file, so a model change updates every view, though diagrams must be exported again. Copilot generated a DSL file from a draw.io diagram screenshot, and it can be rendered in the Structurizr web playground.

Features

Feature Status At
C4 Model for Architecture Visualization status not stated, demoed 12:33
Bridge App Pattern for System Integration status not stated, demoed 6:47
AL Interfaces status not stated, demoed 5:48
Architecture Diagram Documentation status not stated, demoed 22:08
Code Architecture Reflection status not stated 23:15
Stakeholder Architecture Communication status not stated, demoed 25:20
Solution hub module status not stated 28:17
EROC connector status not stated, demoed 30:32
Projects integration module status not stated, demoed 31:28
Enum-based integration provider pattern status not stated, demoed 33:16
Architecture clarity improves AI prompts status not stated 34:30
Structurizr DSL for architecture as code status not stated, demoed 37:41
Copilot architecture validation status not stated, demoed 39:22
Structurizer playground status not stated, demoed 41:37

AL objects mentioned

As heard in the captions. A name that matches one object page by exact type and name links to it; the others stay as named.

  • other “EROC” at 6:47
  • other “solution component” at 16:52
  • other “solution hub” at 28:17
  • other “EROC connector” at 30:32
  • other “projects integration module” at 31:39
  • enum “integration provider” at 33:16
  • interface “integration interface” at 33:16
  • other “C4 model” at 41:48
  • other “Structurizer” at 41:48

Not found in BC28-30: enum “integration provider”, interface “integration interface”.

Quotes

  • 4:19 “I would consider myself as a NAV dinosaur. I started in consulting with the finance consulting”
  • 6:03 “there was a large comet uh hitting me and that was interfaces”
  • 7:27 “this concept of a bridge app uh sounded very very intriguing”
  • 8:08 “too much design up front is dump. No design up front is even dumber.”
  • 13:44 “The definition that Simon is doing the C4 model is a defined set of abstractions and a defined set of diagrams”

Presenters (as heard): Christian Lind, Ted Johnston, Alex, Simon, Espen, Camille, Jeremy.