Appendix A. JARs and Libraries included in Red Hat JBoss BPM Suite

The following is a comprehensive list of available JARs included in Red Hat JBoss BPM Suite 6.0.3.

Table A.1. Drools JARs

JAR Name Description
org.drools:drools-compiler:jar:6.0.3-redhat-6 The Drools compiler jar provides facilities to compile various rule representations (DRL, DSL, etc.) into a corresponding internal structure. In addition, it provides the CDI extension allowing usage of @KSession and other annotations. It is the main artifact used when embedding Drools engine.
org.drools:drools-persistence-jpa:jar:6.0.3-redhat-6 Provides Drools with the ability to persist a KieSession into a DB using Java Persistence API (JPA).
org.drools:drools-core:jar:6.0.3-redhat-6 The core Drools engine jar, contains classes required for runtime execution of rules.
org.drools:drools-decisiontables:jar:6.0.3-redhat-6 Includes classes which are responsible for parsing and compiling Decision Table into the plain DRL. This jar has to be included if you are building a kjar with decision tables present in the resources.
org.drools:drools-verifier:jar:6.0.3-redhat-6 Drools Verifier analyses the quality of Drools rules and reports any issues. Internally used by business-central.
org.drools:drools-templates:jar:6.0.3-redhat-6 Includes classes which are responsible for parsing and compiling provided Data Provider and Rule Template into a final DRL. This Library is required for using decision table/score card.

Table A.2. jBPM Libraries

Library Name Description
org.jbpm:jbpm-audit:jar:6.0.3-redhat-6 This library audits history information regarding processes into the database. Among others, it includes entity classes - i.e. ProcessInstanceLog which can be found in the database, specific AuditService implementation - JPAAuditLogService - which allows user to query history tables and also Database Logger which stores audit related information into database.
org.jbpm:jbpm-bpmn2:jar:6.0.3-redhat-6 Internal representation of BPMN elements, including BPMN validator and parser. It also includes few basic WorkItemHandlers. When building a kjar which includes BPMN processes this library has to be explicitly added on the classpath. The process is understood as a static model.
org.jbpm:jbpm-executor:jar:6.0.3-redhat-6 Executor service which can be used for Asynchronous Task execution. This library is mandatory if you use Asynchronous Task execution in your project.
org.jbpm:jbpm-flow-builder:jar:6.0.3-redhat-6 Compiler of BPMN processes. When building by kie-maven-plugin, the jbpm-bpmn2 project already brings this dependency on classpath.
org.jbpm:jbpm-flow:jar:6.0.3-redhat-6 Internal representation of instantiated process / workflow / ruleflow. This is actually the core engine library that performs the workflow execution.
org.jbpm:jbpm-human-task-audit:jar:6.0.3-redhat-6 Library which audits Task related events - start, claim, complete, etc. into the database (table TaskEvent).
org.jbpm:jbpm-human-task-core:jar:6.0.3-redhat-6 Includes core Human Task Services. API, its implementation, listeners, persistence, commands and more.
org.jbpm:jbpm-human-task-workitems:jar:6.0.3-redhat-6 Implementation of Human Task Work Item handler with necessary utility and helper classes.
org.jbpm:jbpm-kie-services:jar:6.0.3-redhat-6 core implementation of services that encapsulate core engine, task service and Runtime manager APIs into service oriented components to easier pluggability into custom system. Base of execution server brought by kie-wb/business central.
org.jbpm:jbpm-persistence-jpa:jar:6.0.3-redhat-6 Provides classes which store process runtime information into the database using JPA.
org.jbpm:jbpm-runtime-manager:jar:6.0.3-redhat-6 Provides Runtime Manager API which allows developer to interact with processes and tasks.
org.jbpm:jbpm-shared-services:jar:6.0.3-redhat-6 Part of services subsystem that simplifies interaction with process engine within a dynamic environment. This library includes some classes which can be used for interactions with Business Central asynchronously. Please add this library if you use jbpm-executor.
org.jbpm:jbpm-test:jar:6.0.3-redhat-6 jBPM Test Framework for unit testing of processes. Please add this jar if you implement your test code using jBPM Test Framework.
org.jbpm:jbpm-workitems:jar:6.0.3-redhat-6 Includes every WorkItemHandlers provided by jBPM - i.e. RestWorkItemHandler, WebServiceWorkItemHandler, etc.Some of them are supported also in JBoss BPM Suite (those which has WorkItems visible by default in the Designer palette) and some are not.

Table A.3. KIE Libraries

Library Name Description
org.kie:kie-api:jar:6.0.3-redhat-6 The Drools and jBPM public API which is backwards compatible between releases.
org.kie:kie-ci:jar:6.0.3-redhat-6 Allows loading a KIE module for further usage - i.e. KieBase / KieSession can be created from Kie Module. KIE module in its essence is a standard jar project built by Maven, so kie-ci library embeds maven in order to load KIE Module. This library has to be included if you use kjar's functionality.
org.kie:kie-internal:jar:6.0.3-redhat-6 The Drools and jBPM internal API which might not be backwards compatible between releases. Any usage of classes located in this library should be consulted with Red Hat in order to determine whether the usage is supported or not.
org.kie:kie-spring:jar:6.0.3-redhat-6 This library has to be included if you want to use jBPM/Spring integration capabilities.
org.kie.remote:kie-services-client:jar:6.0.3-redhat-6 Native Java Remote Client for remote interaction with busines-central server (REST, JMS). This library has to be included if you use Native Java Remote Client for remote interaction with Business Central server (REST, JMS).
org.kie.remote:kie-services-jaxb:jar:6.0.3-redhat-6 JAXB version of various entity classes. This library is required for remote interactions with the Business Central server.
org.kie.remote:kie-services-remote:jar:6.0.3-redhat-6 Server side implementation of the REST API. This library is required for remote interaction with busines-central server.