JB449 - JBoss jBPM
Course Summary
The JBoss jBPM training course was created for system architects who
work closely with business analysts and are responsible for bringing
business processes into J2EE environment using jBPM as a workflow
engine. This course fills a two-day specialty training credit for the
Middleware Track, and may be applied to the required number of training
days for Certified JEMS Middleware Expert and Certified JEMS Master
Architect levels.
RHD449 - JBoss jBPM Description
Description:
JBoss jBPM training is targeted for system architects and developers
who work closely with business analysts and are responsible for
bringing business processes into J2EE environment using jBPM as a BPM
engine. In addition, The JBoss jBPM training will provide students with
a thorough understanding of the BPM landscape, types of engines and
positioning of the buzzwords.
Students will acquire practical hands on expertise and will be ready
to start developing business processes with JBoss jBPM after the
course. Another goal of the training is to provide a thorough
preparation for comparing workflow engines.
Prerequisites:
The student must have the following skills:
- The student must
have previous experience developing an Hibernate application. The
student must know how to configure a simple SessionFactory for
Hibernate, utilize a Hibernate Session and transactional demarcation
and how to perform basic queries on Hibernate objects.
- Competency with Java application development.
- Previous exposure to the concepts of workflow and business process modeling (BPM) is not required
- Experience with JBoss Eclipse or the Eclipse IDE with the JBoss plugin is recommended but not required
- Basic notions of JUnit test framework is recommended.
Training Units (TUs):
10 TUs
Duration:
3 days ( 24 Hrs.)
RHD449 Course Content
The following is an outline of the skills and knowledge represented in the training elements of the RHD449 JBoss jBPM
Course.
Note: Technical content subject to change without
notice. Significant changes in course content will generally be
available in posted outlines at least two months prior to being
implemented in scheduled courses, to allow enrolled students adequate
prep time. Reload this page regularly to insure up-to-date information.
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. All the buzzwords are
covered in depth as well as their relation. 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. JBoss jBPM has an open ended model and already supports two
process languages: JPDL and BPEL. This module covers the JPDL nodes that
are available for modeling your processes with jBPM. It also covers
process/subprocess information transfer, process/subprocess bindings,
actions and concludes with the student installing the jBPM software.
- The Graphical Process Designer
In this module the student is shown
how to define a business process using the Graphical Process Designer
(GPD). The module concludes with a lab allowing the student to create
process for web-based sales.
- 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, through
six highly-applicable use cases, the jBPM client API and the associated
jPDL. The use cases 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, creating custom
actions and using jBPM with a Stateless Session EJB wrapper.
- Advanced Process Modeling Concepts
This module will begin with a
brief high-level review of topics covered previously such as the process
definition, node execution and node types. From this point of
commonality the student will learn how to augment the process with
behaviors associated with events, actions and transitions throughout the
process graph. The student will learn how to incorporate superstates,
use exception handling, process composition, create custom node behavior
and control graph execution. The student will be introduced to
Sync/Async jBPM and how to establish transaction demarcation.
- Integration
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.
- Pluggable Architecture
The jBPM library is extremely capable "out-
of-the-box", however, jBPM´s capabilities can also be programmatically
extended. In this module the student will learn how to add custom
modules, extend the task instance and adding new events to the event
system.
- 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 of
your environment. The jBPM database updates can be combined in an
applications transactions, or alternatively, in global transactions such
as the sending of asynchronous messages. The student will learn about
the different forms of process data, the underlying data base factories,
the jBPM context and its component Hibernate Sessions. The student will
be guided through 3 use cases, each presented to show the programmatic
capabilities available via the jBPM context API. The module concludes
with addressing advanced Hibernate topics and the use of clustering with
jBPM.
- Context
Process variables contain the information that is
maintained for the lifetime of the while process execution. Since this
lifetime may span wait states, also the process variables need to be
persistable. In this module we´ll cover the API´s manipulate the process
variables and show how to customize the way that the process variables
are stored in the database.
- 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 provide the concrete pointers to integrate the JBoss jBPM task
lists with other applications.
- Web Forms
The web forms mechanism is an extension of the JBoss jBPM
web application console that allows process developers to create a web
interface for process participants in no time. This is extremely useful
for rapid prototyping and pilot projects. The process developer needs to
add minimal information about the data in each task in the process. Step
by step we´ll show what information needs to be added and how this
translates into the web application.
- Introduction to BPEL
As the name states, this module provides a
brief introduction to BPEL. The student will be provided the concept of,
motivation behind and the relationship of the BPEL standard to other
standards. The functional aspects of BPEL are covered as well as a
comparison of BPEL to jPDL and why one language may be more appropriate
than the other in specific situations. The module concludes with showing
the student how to deploy a process defined in BPEL to the jBPM engine.