Business Process Unit Architecture
Introduction
This chapter is intentionally different from the earlier chapters
"Implementing Business Processes in Software and
"Introduction into Business Process Unit Architecture".
The earlier chapters answer questions such as:
- What is a business process?
- How does a process evolve through states and transitions?
- Why must context be explicit and bounded?
- How can transition context be delivered safely to humans and AI tools?
This chapter answers a different set of questions:
- What does a BPUA application actually look like in code?
- Which projects belong to the runtime platform?
- How is a use case discovered and activated?
- How does the platform route a transition request through its layers?
- Where are services and handlers registered at runtime?
What This Chapter Covers
The pages in this chapter focus on the platform structure visible in the current code base:
the boot project, the orchestration project, the request handlers, the service registry,
and the dynamic assembly loading pipeline.
- Overview of the Architecture
Explains the runtime shape of a BPUA-based system and the main responsibilities of its core components.
- BPUA State Machine Profile
Defines a small set of BPUA-specific notation conventions on top of standard UML.
- BPUA Application Definition
Defines a BPUA application as a composition of business process units (use cases) connected by orchestration rules.
- Structure of a BPUA Application
Describes how the solution is partitioned into functional and non-functional projects and why that separation matters.
- Platform Boot Process
Shows how a BPUA application starts, how configuration is loaded, and how dynamic assemblies become available.
- BPUAPlatformBootstrapper
Documents the bootstrapper class that initializes the platform, calculates the plugin path, and registers the use case activator.
- Service Registry
Explains the central runtime registry that stores both service types and process-local service objects.
- Transition Routing
Describes how TransitionContextRouter advances a request from one application layer to the next.
- Use Case Assemblies
Explains how use cases are packaged as independent units and loaded without static references from the host.
- Dynamic Assembly Loading
Describes the assembly loading pipeline, service assembly processing, and service registration rules.
- UseCaseActivator
Documents on-demand activation of a use case folder and the single-flight activation behavior.
- Validation Subsystem
Responsible for ensuring that transition data satisfies structural expectations before it is processed by business logic.
- Execution Lifecycle
Walks through the end-to-end flow from a transition request to a response transition context.
- Exit States
Explains how use cases complete through exit states and how those states act as handoff points for application-level continuation.
- Relationship with POCO DataSet
Clarifies how BPUA and POCO DataSet complement each other without overlapping responsibilities.
- Deterministic Business Process Runtime
Explains what happens When Finite State Machine, BPUA, and POCO DataSet converge.
Table of Content
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.