Business processes management subsystem
🌐 This document is available in both English and Ukrainian. Use the language toggle in the top right corner to switch between versions. |
1. Overview
The Business process management subsystem:
-
Ensures the execution of automatic and semi-automatic business processes with user participation.
-
Manages the tasks of entering data via UI forms and applies validation rules.
-
Stores data and users' digital documents until they are entered into the registry.
-
Provides the history of services provided and received by the user.
2. Subsystem functions
-
Viewing business processes available for execution.
-
Managing user-initiated business processes.
-
Managing business process tasks assigned to the user.
-
Orchestrating the execution of business processes according to digital regulations.
-
Providing schemas for data entry UI forms for user tasks.
-
Entering data and digital documents through the UI forms of business process tasks.
-
Validating data and digital signatures provided through the UI forms of business process tasks according to the configured rules.
-
Viewing the history of services provided and received by the user.
-
Viewing the history of completed user tasks.
3. Technical design
The following diagram presents the Business process management subsystem’s components and their interactions with other subsystems in the scope of the implementation of functional scenarios.
4. Subsystem components
Component name | Registry representation | Source | Repository | Function |
---|---|---|---|---|
Business process management service |
|
origin |
A service based on the Camunda BPM technology. Manages the process of executing business process models (BPMN) and business rules (DMN) of the registry. |
|
User processes management service |
|
origin |
A service that provides a REST API for managing business processes through user portals and orchestrates the execution of requests. |
|
User tasks management service |
|
origin |
A service that provides a REST API for managing the execution of tasks through the user portals and orchestrates the execution of requests. |
|
UI forms provider service |
|
origin |
A service that prepares the JSON structures of the tasks' UI forms for display in the user portal and provides a REST API for receiving them. |
|
UI form data validation service |
|
origin |
A service that validates data provided by the users through the portal’s UI forms according to registry and regulations configuration. |
|
Digital documents service |
|
origin |
A service that provides temporary storage for the user-provided files until they are saved in the registry or registry files, access to which was granted within the scope of the business process. |
|
Business process history access service |
|
origin |
A service that provides a REST API for accessing historical data about the execution of business processes and user tasks. |
|
Business process history logging service |
|
origin |
A service that logs changes in the state of execution of business processes and user tasks. |
|
|
origin |
github:/epam/edp-ddm-registry-postgres/tree/main/platform-db/changesets/camunda |
A database that stores service data of the deployed business processes, authorization settings, state of execution of business processes, state of variables, etc. |
|
|
origin |
github:/epam/edp-ddm-registry-postgres/tree/main/platform-db/changesets/process_history |
A database that stores business processes and registry tasks execution history. |
|
|
origin |
- |
Temporary storage for data provided by the users through the tasks' UI forms until it is saved in the registry. |
|
|
origin |
- |
Temporary storage for data provided as input parameters with messages for initiating business processes. |
|
|
origin |
- |
Storage for JSON structures describing registry UI forms. |
|
|
origin |
- |
Storage for JavaScript scripts used in the registry UI forms. |
|
|
origin |
- |
Temporary storage for digital document files for use during the execution of the business processes. |
5. Technological stack
The following technologies were used when designing and developing the subsystem:
6. Subsystem quality attributes
6.1. Observability
The Business processes management subsystem supports logging and collecting general performance metrics for analysis through the web interfaces of respective Platform subsystems.
Additionally, business process execution metrics are exported to facilitate diagnostics and analysis of system behavior, aiming for timely corrective actions.
For details on the subsystem design, see: |
6.2. Scalability
The Business processes management subsystem is designed to efficiently handle increased load and a growing number of business processes and users. It supports both vertical and horizontal scaling with load distribution between replicas.
For details on subsystem scaling, see: |
6.3. Security
The Business processes management subsystem is accessible only to authorized users through the External traffic management subsystem of the registry operational zone. This access is controlled by Role-Based Access Control (RBAC), ensuring protection against unauthorized access and other security threats and safeguarding critical business processes and sensitive data.
All communication between subsystem components occurs over a secure channel with mandatory identification, authentication, and traffic encryption between services (mTLS).
For details on the subsystem design, see: |
6.4. Flexibility
The Business processes management subsystem ensures the ease and speed of making changes to the business logic of digital services within the registry. This is achieved through the support of the declarative description concept of business processes (BPMN) and other components of digital regulations.
For details on the subsystems that handle modeling and updating the digital regulations, see: |
6.5. Interoperability
The Business processes management subsystem provides extensive integration capabilities for the registry, thanks to a wide range of standard integration connectors with support for REST and SOAP protocols.
For details on the subsystem design, see: |
6.6. Auditability
The Business processes management subsystem is capable of capturing all the significant changes in the state of execution of business processes and user tasks, with the ability to set the level of audit logging.
For details on the subsystem design, see: |