The following is an outline of the skills and knowledge
represented in the training elements of the JB449 JBoss jBPM
Course.
Course content
-
jBPM Overview
We start by explaining the BPM landscape of workflow and
orchestration. The goals of jBPM and how it fits into the
overall software development process are discussed.
We address Graph Based Execution Languages and Business
Process Management. The student is provided with a brief
introduction to Graph Oriented Programming and an overview
of the jBPM components.
-
Basic Process Modeling
A process language is usually just a set of node-types or
workflow constructs that can be used in a graphical
designer. This module covers the JPDL nodes that are
available for modeling your processes with jBPM,
and concludes with the student installing the jBPM
software.
-
The JPDL Designer
In this module the student is shown how to define a
business process using the JPDL Designer. The module
concludes with a lab allowing the student to create a
new process definition.
-
Deployment
In this module the student will learn the various ways in
which a jBPM process can be deployed and how different
versions of the same process can be concurrently deployed
and used. The student will also learn how to deploy the
jBPM run-time, deploy a Hibernate-supported database for a
jBPM application and deploy the jBPM identity component.
-
Client Programming
In this module the student will learn the jBPM client API
through several examples. These examples include a simple process
definition and execution, storing a process instance in the
jBPM database, working with process variables without
persistence, a simple task assignment, and creating custom
actions.
-
Variables and Expressions
Process variables contain the context for the process execution;
i.e., the business data associated with the process. This module
also discussed how variables can be referenced in expressions.
-
Advanced Process Modeling Concepts
In this module the student will learn how to augment the
process with behaviors associated with events and actions.
The student will learn about superstates, exception handling,
process composition, and createing custom node behavior.
The student will be learn how to establish transaction
demarcation in the process graph.
-
Task Management
Management of tasks for people is a crucial capability of
the JBoss jBPM product. First of all we take a look at the
relation between the process and the tasks: the task-node.
Second, the assignment of tasks to people will be
explained. Third, the optional jBPM organization component
will be covered that allows for support of group
assignments and runtime actor expressions. As a final
subtopic, we´ll discuss the how to create task lists using
various assignment models.
-
Web Console
This modules will introduce the jBPM Web console; it´s basic
features and how to secure it. This module will also include
a discussion on jBPM web forms. The web forms mechanism is an
allows process developers to create a web interface for process
participants. This is extremely useful for rapid prototyping.
-
Persistence
Without persistence, the execution state of a process could
not be stored and later retrieved. This module covers the
jBPM API to store, retrieve and update process executions
in the database. It covers caching and how to integrate
jBPM database into transactions.
-
Integration and Customization
This module is all about integrating a jBPM process into an
application design or, put another way, how to communicate
with jBPM. The student will learn how to program using
external triggers and action handlers. This module will
also discuss how to customize jBPM by adding new functionality
extending task instance and adding new events to the event system.