OSWorkflow: A guide for Java developers and architects to integrating open-source Business Process Management Table of Contents
Table of Contents
Introduction
Chapter 1: BPM and Workflow Basics
Chapter 2: OSWorkflow Introduction and Basics
Chapter 3: Adding Code to our Definitions
Chapter 4: Using OSWorkflow in your Application
Chapter 5: Integrating Business Rules with JBoss Rules
Chapter 6: Task Scheduling with Quartz
Chapter 7: Complex Event Processing
Chapter 8: Dashboards with Pentaho
Index
- Chapter 1: BPM and Workflow Basics
- Business Process Orientation
- BPR and BPM
- Business Process Improvement
- What's a BPMS?
- Traceability and Auditing
- Different Kinds of BPMS
- System Orchestration with System-Oriented BPMS
- System Orchestration
- Enabling Workgroup Collaboration with People-Oriented BPMS
- Components of a BPM Solution
- The Workflow Management Coalition
- How Components Map to the BPM Lifecycle
- Open-Source BPMS
- Summary
- Business Process Orientation
- Chapter 2: OSWorkflow Introduction and Basics
- Downloading and Installing OSWorkflow
- Getting a Taste from the Distribution
- Navigating the Sample User Interface
- OSWorkflow Basics
- XML Definition Files
- An Example Workflow
- Steps, Actions, and Results: The Workflow Building Blocks
- Testing the Workflow Definition
- Splits and Joins
- Setting Status and Old Status Values
- Sending an Email Automatically
- Visual Process Modeling
- Visually Creating the Holiday Example
- Looking at the End Result
- Ways to Implement OSWorkflow
- OSWorkflow as a Workflow Layer
- OSWorkflow as a Centralized Workflow Server
- Adding the SOAP Bindings
- Summary
- Downloading and Installing OSWorkflow
- Chapter 3: Adding Code to our Definitions
- How to Deal with Transient Data
- Variable Interpolation in the Definition
- PropertySet and Transient Variables
- Exploring PropertySet
- Using the PropertySet to Store Variable Data
- Using the PropertySet to Retrieve Stored Data
- Cleaning the PropertySet
- Configuring the PropertySet
- Adding Code to our Definition
- FunctionProviders
- Creating our first FunctionProvider
- FunctionProvider Types
- Defining a Custom Function Provider
- BeanShell Scripting
- Built-in Functions
- Conditions
- Creating our own Condition
- Registers
- Using the LogRegister
- Implementing a Register
- Validators
- Creating a Customer Identifier Validator
- BeanShell Validators
- FunctionProviders
- Other Useful Descriptor Concepts
- Finish Actions
- Auto Actions
- Summary
- How to Deal with Transient Data
- Chapter 4: Using OSWorkflow in your Application
- OSWorkflow Configuration
- Registering our Process Descriptors
- Embedding OSWorkflow into your Application
- Starting a Workflow
- Executing Actions
- What's the Status?
- What can I Do?
- The Useful Abstract States
- Querying the Workflow Store
- Querying the Workflow Factory
- Inspecting the Workflow Descriptor from Code
- Using the Workflow Configuration Object
- Workflow Interface Implementations
- Loading the Descriptors—the Workflow Factory
- Loading Descriptors from a Database
- Persisting Instance Information
- Persistence Choices
- Configuring the JDBC Store
- PropertySet Persistence
- Configuring the JDBC PropertySet
- Persistence Choices
- Unit Testing your Workflow
- What is JUnit?
- Running the Tests
- Integrating with Spring
- The Object Registry—BeanFactory
- Using our BeanFactory
- Transaction Support in Spring
- The SpringTypeResolver
- Workflow Security
- Step Permissions
- Action Restrictions
- Step Ownership
- Extending User and Group Authentication and Authorization
- Summary
- OSWorkflow Configuration
- Chapter 5: Integrating Business Rules with JBoss Rules
- Incorporating Business Logic into Business Processes
- Simple Logic with Conditional Results
- Complex Business Logic
- What is "JBoss Rules"?
- Creating a Rule
- Executing a Rule
- Integrating with OSWorkflow
- RulesCondition
- RulesFunctionProvider
- Summary
- Chapter 6: Task Scheduling with Quartz
- What is Quartz?
- Installing
- Basic Concepts
- Integration with OSWorkflow
- Creating a Custom Job
- Trigger Functions
- More about Triggers
- SimpleTrigger
- CronTrigger
- More about Triggers
- Scheduling a Job
- Scheduling from a Workflow Definition
- Transactions in Quartz
- JobStores
- Example Application—Customer Support
- Example Application—Claims Processing
- Summary
- What is Quartz?
- Chapter 7: Complex Event Processing
- Complex Event Processing (CEP)
- Patterns and Data
- CEP in BPM
- What is Esper?
- The Esper Architecture
- Downloading and Installing Esper
- Hello World from Esper
- Push and Pull Mode
- EQL Queries
- Integration with OSWorkflow
- Esper Function Provider
- Real-World Examples
- Summary
- Complex Event Processing (CEP)
- Chapter 8: Dashboards with Pentaho
- What is Pentaho?
- Pentaho Requirements
- Downloading and Installing Pentaho
- Setting up Pentaho to use the OSWorkflow Database
- Using the Design Studio to Create our First Chart
- Useful Charts for BAM Consoles
- Summary



