When our business processes become complex, they can be difficult to change.

And if we can’t modify our procedures quickly, we won’t be able to adapt to new requirements.

Our products will be out-of-date and our business will struggle.

But we don’t want that.

We want an easy way to manage our business processes so we can build great software quickly.

And for that, we need to use JBoss BPM Suite


Why do we use JBoss BPM Suite?

JBoss BPMS (Business Process Management Suite) helps us manage complex business processes. It allows us to easily:

  1. Visualize workflows
  2. Modify business processes and rules
  3. Respond to complex events

BPMS stores our workflow in a centralized location so that everyone in the company understands it.

How do we use JBoss BPM Suite?

We’ll create a business process for a credit card application. Our fictional credit card will be called “The Elite Card”.

Install JBoss BPM Suite

  1. Install JBoss EAP 7.0
    • Download the zip and extract it
    • We’ll refer to this extracted location (jboss-eap-7.0) as $JBOSS_HOME
  2. Install JBoss BPM Suite 6.4
    • Download JBoss BPM Suite 6 deployable for EAP 7 to the same location as EAP 7.0

    • Extract the zip. When it asks to overwrite files, say yes

    • If you’re on Mac, you’ll need to extract this in the terminal
      $ unzip
  3. Add a user
    • In a terminal, go to $JBOSS_HOME/bin and run (for Windows, add-user.bat)
      ./add-user.sh -a --user bpmsAdmin --password bpmsAdmin1! --role kie-server,admin,rest-all,analyst

Open Business Central

  1. Start JBoss Server
    • In a terminal, go to $JBOSS_HOME/bin and run (for Windows, standalone.bat)
  2. Open Business Central
  3. Login with your username and password
    Screen Shot 2017-04-18 at 11.33.12 AM

Create a Business Process

  1. Click Authoring -> Project Authoring
    Screen Shot 2017-04-18 at 11.34.38 AM
  2. Click New Item -> Business Process
    Screen Shot 2017-04-18 at 11.38.56 AM

    • Fill in the following
      Name: EliteCardApplication
      Package: default
  3. Create process variables
    • Open the properties menu
      Screen Shot 2017-04-18 at 11.41.16 AM
    • Open Variable Definitions
      Screen Shot 2017-04-18 at 11.43.22 AM
    • Add 3 variables and save your changesScreen Shot 2017-04-18 at 11.45.14 AMScreen Shot 2017-04-18 at 12.00.08 PM
      • applicantName (String)
      • ssn (String)
      • annualIncome (Integer)
  4. Create a process task named Collect Applicant Info
    • Click the start node and click the rectangular box that pops up
      Screen Shot 2017-04-18 at 11.45.57 AM
    • Double-click the task to change the name to Collect Applicant Info
      Screen Shot 2017-04-18 at 11.49.48 AM
    • Open the properties menu (<<), and change Task Type to Script
      Screen Shot 2017-04-18 at 11.55.48 AM
    • To the left of Script, click the drop down and add the following
      System.out.println("Collecting Applicant Info");
  5. Create process task named Verify Identity
    • Click the Collect Applicant Info task box and click the rectangular box that pops up
      Screen Shot 2017-04-18 at 11.53.11 AM
    • Name this task Acquire Credit Score
    • Change the task type to script and add the following script
      System.out.println("Acquiring Credit Score");
  6. Create process task named Calculate Credit Line
    • Repeat the process above to create another script task named Calculate Credit Line
    • Add the following script
      System.out.println("Calculate Credit Line");
  7. Create an End Node
    • Click the Check Ability to Pay task box and click the circle that pops up
      Screen Shot 2017-05-08 at 11.10.51 AM
    • Save your changes
      Screen Shot 2017-04-18 at 12.00.08 PM

Run a Business Process

  1. Build Your Project
    • Open the Project Editor
      Screen Shot 2017-04-18 at 12.01.50 PM
    • On the right, click Build -> Build & Deploy
      Screen Shot 2017-04-18 at 12.03.04 PM
  2. Run Your Process
    • Go to Process Management -> Process Definitions
      Screen Shot 2017-04-18 at 12.04.27 PM
    • Under Actions, click Start
    • Submit the blank form
  3. Check your server terminal. You should see three process messages

Great Work! Let’s review what we just did.

Install JBPMS

  • We installed JBoss BPM and JBoss EAP
    • JBoss BPM Suite can be deployed to EAP and other application servers
  • We created a user for JBoss BPM and assigned it to a few roles

Open Business Central

  • We logged in to business central
    • Business Central is the location for all our business processes and rules

Create a Business Process

  • We created a business process model to visualize our process. These models are also easy to modify
    • Process variable – store data during our process
    • Process task – a single action that occurs in a process
    • End Node – signifies the end of our process
  • All processes are written in BPMN notation

What’s a best practice for using BPMS?

Since BPM systems add a certain amount of overhead, you should only use them for certain types of processes.

BPMS works best for processes that have at least one of the following characteristics:

  1. Complex – multiple systems, rules, human interaction
  2. Frequently changing – due to regulations or requirements
  3. Long-running – hours, days, weeks or more

JBoss BPM is a great fit for industries like travel, finance, or insurance.


  1. BPMS helps us manage complex business processes. We can easily visualize workflows, modify processes, and respond to complex events.
  2. We use Business Central to create and manage our business processes
  3. BPMS is a great fit for complex, frequently changing, or long running processes

Useful Links

  1. How to Import a Project in JBoss BPMS
  2. JBoss BPMS Example Projects & Videos
  3. Red Hat BPM & BRMS Video

That’s all for today!

Happy Coding,


Proudly powered by WordPress | Theme: Baskerville 2 by Anders Noren.

Up ↑