Process Engine
📄️ Process Engine
The tSM Process Engine is a universal tool for designing and executing processes and activities within the platform. It provides a comprehensive set of tools for process management, including a graphical process/activity designer, execution control, and the ability to modify process instances dynamically. Activities can be mapped to either automated actions (interface integration) or manual tasks assigned to users or groups.
📄️ User Task
User tasks represent manual activities that require interaction from a user or a group of users. Each user task can be configured with various attributes, conditions, and privileges, making it adaptable for diverse operational scenarios. User tasks can be linked to forms, enriched with skill requirements, and have complex status management options.
📄️ Service Task
Service tasks in tSM form the backbone of automated workflows, enabling robust integration and efficient process execution. By leveraging scripting, connectors, and tSM services, service tasks ensure that complex operations are handled seamlessly, improving overall operational productivity.
📄️ External Task
External Tasks in tSM delegate execution to an external worker instead of running logic inside the process engine. This enables clean separation of responsibility, independent scaling, and integration with systems outside tSM.
📄️ Kafka Task
A Kafka Task enables asynchronous communication between the tSM Process Engine and external systems via Apache Kafka. Unlike External Tasks, which use synchronous REST-based polling, a Kafka Task sends a message to a Kafka topic and waits asynchronously for a response — the process instance is suspended until a correlated response message arrives.
📄️ Task Templates
Task Templates help you configure BPMN tasks quickly and consistently in tSM Process Designer. Instead of setting
📄️ Gateways
Gateways in BPMN are used to control the divergence and convergence of the process flow. They provide a mechanism to split or merge multiple paths, controlling the flow logic. In tSM, the following gateway types are supported, each with its own unique semantics:
📄️ Starting a Process
In tSM, the most common method to initiate a business process is by using a none start event and associating the process with a primary business entity—such as an order or a ticket. This approach ensures that when a new entity is created, the corresponding process instance starts automatically and is directly linked to that entity’s lifecycle.
📄️ Process messaging
This chapter focuses on using message and signal events for process communication within the tSM Process Engine, which is based on the BPMN 2.0 standard. It provides an in-depth look at how messages and signals can be used to orchestrate and continue process executions, both within a single process instance and across multiple processes or external systems.
📄️ Process Transactions
This page covers how the tSM Process Engine manages transactions — wait states, transaction boundaries, external tasks, concurrency, and the SAGA pattern. For general transaction concepts, see the Transactions overview. For SpEL-specific transaction behaviour (the {async: true} flag, #businessException pitfalls), see SpEL and Transactions.
📄️ Process Versioning
The tSM Process Engine supports the deployment and management of multiple versions of a single process definition. Versioning ensures that you can continue to evolve and improve your processes over time, while still supporting currently running instances. It also enables controlled rollouts, hotfixes, and major or minor updates.
📄️ Process Engine Internals
The tSM Process Engine is an integral component of the tSM platform, providing robust and extensible process management capabilities. It is fully aligned with the BPMN 2.0 standard, ensuring compatibility with industry tools such as Enterprise Architect and other modeling solutions. By adhering to BPMN XML standards, with carefully designed custom extensions under the tsm namespace, the tSM Process Engine delivers both flexibility and interoperability.
📄️ BPMN XML Reference
Overview
📄️ Persistence
The tSM Process Engine primarily uses a relational database to store runtime and historical information about process definitions, instances, tasks, variables, and more.