Processes

Delivering domain logic with Custom Tasks

Custom Tasks, a.k.a. custom Work Items are used when the natively provided components are not clear enough to demonstrate the required domain demands. See examples of domain-specific tasks that a business user would find useful to have available in the process designer: Enhance customer data;Validate Personal ID against Official State Service;Check customer health plan;Calculate tax… Continue reading Delivering domain logic with Custom Tasks

Processes

Consuming business assets via REST

As expected as default over any REST communication, when the integration via client and Kie Server is done via REST, there is no guarantee on the delivery or retry of this message. The initialization of Kie Services Client requires an instance of org.kie.server.client.KieServicesConfiguration. When using the REST approach, we should create the instance of KieServicesConfiguration… Continue reading Consuming business assets via REST

Processes

Mastering Transaction Boundaries

When planning usage of processes that are complex, long-running, and with possible points of failures like custom work item handlers, asynchronous tasks, timers, signals, and service tasks, it is crucial to understand how jBPM deals with transactions. This knowledge might save some troubleshooting hours if you have persistent processes. "Why?", you might ask: if the… Continue reading Mastering Transaction Boundaries

Processes

Persisting custom data: Configuring external persistence

When working with business processes, it is expected to work with persistent process data scenarios. Considering this situation, it is common for users to use a different database to store process data, apart from the database where the domain information is stored. As an example, storing critical information from customers apart from the engine database… Continue reading Persisting custom data: Configuring external persistence

Processes

Dealing with Unexpected Errors in Processes

During the development phase, it is expected that developers deal and treat unexpected behaviors, predictable and unpredicted errors that might happen during the execution of code. Consider the following situation: An online traveling company named MaTrip.com sells a whole trip experience with a discount for a single package buying: flight + hotel. But each of… Continue reading Dealing with Unexpected Errors in Processes