BPUAPlatformBootstrapper
BPUAPlatformBootstrapper is the class that initializes the BPUA runtime.
It is intentionally small, but it performs one of the most important responsibilities in the platform:
it assembles the runtime prerequisites in the correct order.
The class exposes a single public method:
public void BootBPUAPlatform(string pathToFolderWithExecutableFile, bool isDevelopmentEnvironment)
This method accepts the host path and the environment mode and then executes the full boot sequence.
In the current code base, the method calls the following internal steps:
InitializeComponentLoadApplicationConfigurationCalculatePathToFolderWithDynamicAssembliesLoadStaticAssembliesLoadDynamicAssembliesInitializeApplicationInitializeUseCaseActivatorReleaseResourcesThe bootstrapper currently adds the assemblies of the built-in Business Logic, Data Processing Logic, Data Access Logic, and Orchestration projects to the list of loaded assemblies. This gives the boot pipeline a baseline set of platform assemblies before any business-specific plugin assemblies are scanned.
After application initialization, the bootstrapper creates a UseCaseActivator,
transfers the currently known assembly processors and loaded assemblies into it,
and registers it in the service registry under the key IUseCaseActivator.
This is a key design point: initial boot makes on-demand activation part of the runtime itself.
The bootstrapper should orchestrate boot, not become the owner of every boot detail. Path calculation belongs to configuration helpers. Assembly loading belongs to dedicated loaders and processors. Registration rules belong to registrars and scanners.
The current implementation already reflects that direction: the bootstrapper coordinates the process rather than implementing the low-level details itself.
BPUAPlatformBootstrapper is the runtime assembly point of the platform.
It prepares configuration, discovers the initial assemblies, initializes the application singleton,
and ensures that future use cases can be activated without static coupling to the host.
Business Process Programming in .Net
© 2004-2026 Laskarzhevsky Software Inc.
Unless otherwise noted, the content of this website is licensed under the
Creative Commons Attribution 4.0 International License (CC BY 4.0).
Code examples are provided under the MIT License.
You are free to share and adapt the material provided that appropriate
credit is given and any modifications are clearly indicated.
The information provided on this website is for educational purposes only.
The author and publisher make no warranties regarding the completeness
or suitability of the information and are not responsible for any damages
resulting from its use.