Skip to content

Runtime Request Flow

Verified runtime/reporting anchorsFlow synthesis

Related pages:

Verified anchors behind this flow

  • NGB.PropertyManagement.Api/Program.cs
  • NGB.Runtime/Documents/DocumentService.cs
  • NGB.Runtime/Reporting/ReportEngine.cs
  • NGB.Runtime/Reporting/ReportExecutionPlanner.cs
  • NGB.PostgreSql/Reporting/PostgresReportDatasetCatalog.cs
  • NGB.PostgreSql/Reporting/IPostgresReportDatasetSource.cs
  • NGB.PostgreSql/Reporting/PostgresReportSqlBuilder.cs
  • NGB.PostgreSql/Reporting/PostgresReportDatasetExecutor.cs

Architecture flow

The platform is designed so that hosts stay thin and runtime orchestration stays central. The following diagram shows the typical business flow through NGB.

Document flow, simplified

  1. A host composes the platform with AddNgbRuntime(), PostgreSQL provider registration, and vertical module registration.
  2. HTTP enters through the host’s ASP.NET Core pipeline.
  3. Request handling resolves platform services.
  4. DocumentService performs metadata-driven CRUD/lifecycle orchestration.
  5. Runtime delegates to posting/derivation/relationship/effects services where needed.
  6. Persistence abstractions and PostgreSQL implementations perform durable reads/writes.
  7. The host returns DTOs/UI-ready payloads.

Reporting flow, simplified

  1. A report request reaches runtime.
  2. ReportEngine resolves the report definition and effective request/layout.
  3. ReportExecutionPlanner builds a ReportQueryPlan.
  4. Runtime delegates execution to the plan executor.
  5. For PostgreSQL-backed composable reporting, the dataset catalog resolves the dataset binding.
  6. SQL builder converts the logical plan into concrete SQL.
  7. Dataset executor runs SQL through the active unit of work connection/transaction.
  8. Runtime shapes the result into a sheet/response DTO.

Why this split matters

The planner is not the SQL builder.
The SQL builder is not the report engine.
The host is not the runtime.

That separation is what keeps NGB extensible without making every host/provider re-implement orchestration logic.

Released under the Apache License 2.0.