Information Technology Reference
In-Depth Information
Components inside jBPM6
In order to be able to use jBPM6, we need to create a specific runtime in which it can ex-
ecute processes. Since Version 6, this runtime configuration has changed from being simple
programmatic components to add BPMN files to a knowledge runtime to a complete API to
create, interpret, and monitor Maven-based projects that contain BPMN resources in their
structures. Maven is a Java-based tool for project integration, that is, from compilation to
deployment time. It's widely supported by many different products that need to connect
with specific deployments of objects, and this is why jBPM6 has embraced Maven as an in-
ternal representation of its modules. In order to provide ourselves with a runtime, we now
need to obtain BPMN process definitions, rule definitions, and a full umbrella of different
knowledge definitions from established structures.
There are enough components that surround jBPM6; it would take multiple topics to cover
each one of them in detail. There are planning frameworks for planning problems, probab-
ilistic components, integrations with persistence frameworks, and many more that appear
every day. We obviously won't be able to cover all of them, but we'll try to cover the ones
that are most related to BPM systems in the following sections of this chapter.
A specific runtime allows you to have a wide variety of knowledge definitions to work to-
gether in a single environment. The following diagram shows how the runtime is construc-
ted in an abstract way to allow us to understand how this is possible:
As you may notice, the rule engine (Drools, www.drools.org ), the process engine , and
complex event processing ( CEP ) features are merged to work together. This is very useful
when it comes to defining processes; it's because the decision points that would make a
very complex process definition are sometimes complemented by other knowledge repres-
Search WWH ::




Custom Search