This book provides a complete understanding of the jBPM technology stack. It starts with an introduction to the world of business process management systems, the problem domain addressed by jBPM, explores the main use cases that can be addressed by business process management systems, and illustrates the main design patterns. It takes you through the details of the architecture and available out-of-the-box provisions for customizing, extending, and integrating the features of jBPM to meet the requirements of your application. Moreover, this book will empower you with the knowledge to integrate jBPM with enterprise architecture, debug through the source code of jBPM, and utilize the flexibility provided by a heavily modular system. Finally, it introduces you to the provisions available for a jBPM-based application to put the non-functional characteristics of the system, which are of great importance when we deploy our application in production. The book helps you in putting the knowledge at work by providing you with a lot of ready to use examples, both basic and advanced ones.