Information Technology Reference
In-Depth Information
Transactions and persistence
Transactions and persistence of the runtime status of the process execution engine are two
extremely important topics to cover. BPM systems usually integrate systems and people to
achieve a common goal. Deciding the next step could take milliseconds, but executing each
step could take a lot more time. Persistence and transaction mechanisms allow for resource
release in the process engine environment, load distribution, and fault recovery mechan-
isms.
Persistence is not meant, at least as provided by default, to make sessions and processes
easily searchable from external tools. It is mostly used to provide a recovery strategy for
the content that sessions and processes need in order to be able to continue them from dif-
ferent threads or even different servers. The persistence mechanisms, therefore, are simple
serializations of the minimal content that the runtime needs to carry on the execution in a
different environment.
Persistence works by wrapping the KieSession object's methods in a transactional en-
vironment where KieSession and all its internal components can be persisted after
every call that is made inside a transaction boundary defined by the application. This
provides us with a mechanism to define the following:
• How to handle long-running processes
• How and when can we store information about the status of the process and the in-
formation that the process is handling
• How and when do we need to create, commit, or roll back the process engine trans-
actions
Search WWH ::




Custom Search