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 theRead more →

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 databaseRead more →

Runtime Strategy: Choose wisely

Kie Server can be configured to deal differently with the requests it receives and the objects it stores in memory or in the database. Properly configuring how the engine deals with the objects in memory, ensures a project with fewer resource consumption and avoids unexpected behaviors. Runtime Strategy configuration affects directly how the engine dealsRead more →

5. Techniques to boost a BA Project

Previous posts of the jBPM Getting Started Series should provide a good base for the understanding of this chapter. Also, basic knowledge about application transactions should provide a better understanding of the chapter. The engine can be tuned for business automation projects to achieve better performance results are achieved. Mainly when involving business rules validation,Read more →

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 sells a whole trip experience with a discount for a single package buying: flight + hotel. But each ofRead more →

Asynchronous Execution

By default, the flow of tasks is executed in a synchronous way: all tasks will be treated one after the other, by a single thread. This being said, if a process contains, example, four service calls – where each call lasts around 30 seconds – this process execution will run – and allocate JVM, CPU,Read more →

User Tasks and Forms

User Tasks allow the interaction of humans with a set of automated tasks. In this way, a series of automatic tasks can be triggered before – providing input for – human decisions, and the output of the user task can then be used to define further actions of a flow. User tasks have a moreRead more →

Recall basic modeling concepts

In a business automation project, business process assets are described with BPMN diagram or CMMN diagrams. It’s recommended to base the creation of diagrams on specifications definition, therefore, the implementation will be executable in any software which attends to the specification. Process modeling knowledge is not restricted to specific products. Just like a Java classRead more →

Know Kie Server: let the engine work for you

During the design and development phases of an application, developers and architects should not spare valuable time around implementing a reliant and performant way to process the business rules and flows. How to scale and guarantee the proper execution of more than a hundred thousand rules? How to properly design an engine that consistently handlesRead more →

Know Business Central: Authoring, business monitoring, and more

Business Central is a Java Web-based application that supports the creation, management, and monitoring of business applications. It is not a required component, although, the usage of this tool can accelerate the development phase with proper rules and process authoring tools, form modeler components, advanced dashboard page creator with out-of-the-box components, and more. Once yourRead more →