Course Code: droolsjbpm
Duration: 35 hours
Prerequisites:

jBPM

  • Basic understanding of BPMN
  • Programming skills although not required, are useful (especially Java)

Drools

  • Good understanding of Java Environment, Linux operating system.
  • Git repository basics recommended, but not required.
Overview:

jBPM

This course has been created for managers, business analysts, process designers, developers and subject matter experts who want to be able to design, validate and simulate a process with jBPM. It also includes writing unit tests for the processes.

The course usually uses the newest stable version of community jBPM project. Previous versions of jBPM also may be used (approval before booking required)


Drools
This course has been prepared for people who are involved in administering corporate knowledge assets (rules, process) like system administrators, system integrators, application server administrators, etc... We are using the newest stable community version of Drools to run this course, but older versions are also possible if agreed before booking.

Course Outline:

jBPM for Process Designers

Overview

  • What is jBPM?
  • Eclipse Editor
  • Web-based Designer
  • jBPM Console

Basics

  • Creating a process
  • Details of different process constructs: Overview
  • Details: Process properties
  • Details: Events
  • Details: Activities
  • Details: Gateways
  • Using a process in your application
  • Other features

Core Engine: BPMN 2

  • Business Process Model and Notation (BPMN) 2 specification
  • Examples
  • Supported elements / attributes

Core Engine: Persistence and transactions

  • Runtime State
  • Process Definitions
  • History Log

Eclipse BPMN 2 Plugin

  • Editors available in Eclipse
  • Creating your BPMN 2 processes
  • Filtering elements and attributes

Designer

  • Support for Domain-specific service nodes
  • Configuring Designer
  • Generation of process and task forms
  • View processes as PDF and PNG
  • Viewing process BPMN2 source
  • Embedding designer in your own application
  • Visual Process Validation
  • Integration with the jBPM Service Repository
  • Generating code to share the process image, PDF, and embedded process editor
  • Importing existing BPMN2 processes
  • Viewing Process Information
  • Requirements

Console

  • Running the process management console
  • Adding new process / task forms
  • REST interface

Human Tasks

  • Human tasks inside processes
  • Human task service
  • Human task clients

Testing and debugging

  • Unit testing
  • Debugging

Process Repository

Business Activity Monitoring

  • Reporting
  • Direct Intervention

Drools Administration

Short Introduction to Rule Engines

  • Artificial Intelligence
  • Expert Systems
  • What is a Rule Engine?
  • Why use a Rule Engine?
  • Advantages of a Rule Engine
  • When should you use a Rule Engine?
  • Scripting or Process Engines
  • When you should NOT use a Rule Engine
  • Strong and Loose Coupling
  • What are rules?

Where things are

  • Managing rules in a jar file
  • Git repository
  • Executing rules from KIE
  • Managing BPMN and workflows files
  • Moving knowledge files (rules, processes, forms, work times...)

Rules Testing

  • Where to store test
  • How to execute tests
  • Testing with JUnit

Deployment Strategies

  • standalone application
  • Invoking rules from Java Code
  • integration via files (json, xml, etc...)
  • integration via web services
  • using KIE for integration

Administration of rules

  • authoring
  • Packages
  • Artifact Repository
  • Asset Editor
  • Validation
  • Data Model
  • Categories
  • versioning
  • Domain Specific Languages
  • Optimizing hardware and software for rules execution
  • Multithreading and Drools

Kie

  • Projects structures
  • Lifecycles
  • Building
  • Deploying
  • Running
  • Installation and Deployment Cheat Sheets
  • Organization Units
  • Users, Rules and Permissions
  • Authentication
  • Repositories
  • Backup and Restore
  • Logging