|
|
JBoss JBPM Training
The JBoss jBPM training course is designed for Java developers and architects
that wish to gain an understanding of workflow and business process management
concepts and how they are implemented in the open source JBoss jBPM product.
This is a 2 day course that includes both theory and hands-on labs.
Course Modules
-
Workflow and BPM
We start with explaining the goals and position of workflow management
systems in a software architecture. The general concept of a workflow
management system is explained and compared to alternatives. Briefly,
we add some pointers to academic research and specifications and standardisation
efforts in this area.
-
Workflow responsibilities
The main responsibility of a workflow management system is to manage
the state of multi step business processes executions. Process modelling
is mainly concerned with specifying the steps in a business process.
This is the primary responsibility, but each workflow management system
supports a number of additional responsibilities such as context management,
task management, persistence, exception handling, etc... We'll give
an overview of the most common responsibilities and mention the more
exotic ones. This is very valuable information for comparing workflow
management systems. Typically other tools take a subset of the responsibilities
and mix them into a monolithic block. Identifying these responsibilities
in isolation gives a powerful framework for comparing workflow management
systems.
-
Application architecture
JBoss jBPM only has a dependency on a JVM and a database. This feature
makes it extremely flexible with respect to the environment in which
JBoss jBPM needs to be deployed. With these simple dependencies in
mind, we explore how JBoss jBPM can be deployed in a standalone environment
like e.g. an ant task, in a web application and as an EJB in a clustered
environment. From these examples, students can extract the knowledge
to deploy JBoss jBPM in any other java environment.
-
Test Driven Development (TDD) applied to workflow
TDD has proven itself as a valuable instrument for developing robust
object software. But in the field of business process management,
TDD is not yet adopted. The minimal dependencies of JBoss jBPM allow
the writing of plain JUnit tests against a process. This comes down
to writing scenarios in which your process will be executed. The JBoss
jBPM project contains a process development environment with an example
process and test. In a hands-on lab session, students will learn how
to set up this environment and how to write test scenarios for their
processes. As a dessert, we will take a step back and see how this
fits into the overall software development process.
-
Graph based modelling
Current workflow management have very different process languages.
However, all of these languages are based on a simple directed graph.
We will show how JBoss jBPM uses a directed graph as the base layer
for the JPDL language. Furthermore, students will gain insight in
how this base layer can be extended to support any workflow language.
Those concepts will enable students to understand the inner workings
of the JBoss jBPM engine.
-
Process modelling with JPDL
JBoss jBPM is designed with workflow patterns in mind. Workflow patterns
describe a set of elementary workflow modelling constructs. The jBPM
process definition language (JPDL) is the set of concrete modelling
constructs in JBoss jBPM. We will teach each of the constructs, show
how these constructs are expressed as XML and explain the runtime
behaviour of the constructs.
-
Integrating customizations
JBoss jBPM has been designed from the start with the idea that a process
definition should be a combination of a declarative process description
with programming logic bound to it. To accommodate this need, JBoss
jBPM has a very clean mechanism of coupling plain java-code to the
process. The main customizations are actions, serializers and synchronization.
A hands-on lab will make students feel comfortable to add their project
specific code into their own processes.
-
Preview of new features in JBoss jBPM 3.0
Some exciting and innovative new features are on the roadmap of JBoss
jBPM. Most important is the pluggable architecture. This is a new
architecture that is defined in terms of workflow responsibilities.
For each responsibility, we will have a module. Users can select the
subset of modules they want to use. Furthermore, they will also be
able to extend the core engine capabilities by pluggin in a new module.
Another exciting improvement is the completion of the separation of
persistency.
|
|