PacktLib: jBPM Developer Guide

jBPM Developer Guide

Credits

About the Author

About the Reviewers

Preface

Why Developers Need BPM?

Business Process, why should I know about that?

Some buzzwords that we are going to hear when people talk about BPM

Business Process Management Systems (BPMS), my tool and your tool from now on

Summary

jBPM for Developers

Graph Oriented Programming

Common development process

Decoupling processes from our applications

Graph Oriented Programming on top of OOP

Implementing Graph Oriented Programming on top of the Java language (finally Java code!)

Implementing our process definition

Testing our brand new classes

Process execution

Wait states versus automatic nodes

Homework

Creating a simple language

Nodes description

Homework solution

Quick start guide to building Maven projects

Summary

Setting Up Our Tools

Background about the jBPM project

Tools and software

Starting with jBPM

jBPM structure

Building real world applications

Maven project

Homework

Summary

jPDL Language

jPDL introduction

jPDL structure

Process structure

Nodes inside our processes

Base node

Node lifecycle (events)

Summary

Getting Your Hands Dirty with jPDL

How is this example structured?

Key points that you need to remember

Analyzing business requirements

Describing how the job position is requested

Environment possibilities

Running the recruiting example

Summary

Persistence

Why do we need persistence?

Summary

Human Tasks

Introduction

What is a task?

Task management module

Task node example

Practical example

Summary

Persistence and Human Tasks in the Real World

Adding persistence configuration

Human tasks in our Recruiting Process

Summary

Handling Information

Handling information in jBPM

Handling process variables through the API

How and where is all this contextual information stored?

Homework

Summary

Going Deeply into the Advanced Features of jPDL

Why do we need more nodes?

Advanced configurations in jPDL

Summary

Advanced Topics in Practice

Breaking our recruiting process into phases

Keeping our process goal focused with process state nodes

Asynchronous executions

Summary

Going Enterprise

jBPM configurations for Java EE environments

JBoss Application Server data source configurations

JobExecutor service

Timers and reminders

Summary

Index