Business Process Activities
In the previous chapters, we described states, transitions, and the different types of logic involved in executing a business process. In this chapter, we bring these ideas together and look at what actually happens when a transition is executed.
A transition is not a single action. It is a sequence of activities performed by different components, each responsible for its own concern.
The diagram below shows a transition taken from the “Person Identification” use case of a dental office information system.
The numbers in the diagram illustrate the order in which activities are performed. Let’s walk through them step by step.
The business process is waiting in the initial state, represented by the “Health Card Verification” page. This page is a state handler. The “Verify health card” button represents a trigger.
The patient enters a health card number and clicks the button. This action starts the transition.
The state handler passes the collected input to business logic, indicating that a transition has started from the current state.
Business logic delegates data-related work to data processing logic. Business logic itself does not work with raw data.
Data processing logic requests the required data from data access logic. Data access logic retrieves the health card data from the data store.
Data access logic returns the raw data. Data processing logic prepares and normalizes it and passes the result to business logic.
Business logic evaluates the outcome using business rules and determines the next state of the business process (for example, “The health card is not valid”).
State logic selects the state handler that represents the chosen state. In this example, the application displays the “Additional Charges” page.
This example demonstrates an important idea:
By keeping these responsibilities separate, business processes remain easier to understand, maintain, and evolve.
Table of Content Introduction into Business Process Previous: State Logic Next: Transition Execution Pipeline
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.