jBPM logo
  • Blog
  • Download
    • Community
    • Docker
    • Enterprise
  • Learn
    • Getting Started - Using Single Zip Distribution
    • Getting Started - Using Docker
    • Releases
    • Documentation
    • Performance
    • Videos
    • Slides
  • Apps
    • Getting Started
    • Beyond Basics
  • Get help
  • Source
  • Team
  • Services
  • KIE
    • Drools
    • Kogito
    • jBPM
    • OptaPlanner

    • kie.org
  • Star
  • T
  • YT
Fork me on GitHub

Getting started - Using Docker

Running jBPM Docker image

If you already have Docker installed on your local machine, all you need to do is run the following command:

docker run -p 8080:8080 -p 8001:8001 -d --name jbpm-server-full jboss/jbpm-server-full:latest

Once container and web applications started, you can navigate to it and login using the username "wbadmin" and password "wbadmin" or any of the users available in the Business Central listed in the section below.

http://localhost:8080/business-central

that's all that is needed to get fully configured and running jBPM distribution that includes:

  • WildFly server
  • Business Central
  • KIE Server
  • jBPM Case Management showcase
  • jBPM Service repository

Everything configured to work together smoothly, and you can access them at following locations:

  • Business Central - http://localhost:8080/business-central
  • KIE Server - http://localhost:8080/kie-server/services/rest/server
  • KIE Server Swagger docs - http://localhost:8080/kie-server/docs
  • jBPM case management - http://localhost:8080/jbpm-casemgmt

Explore your running environment

Business Central

Business Central provides feature rich authoring and management environment. It consists of:

  • Design perspectives where users can create projects and pages
  • Deploy perspectives where users can manage execution servers
  • Manage perspectives where users can take control over process and case instances
  • Track perspectives where users can access assigned tasks and reports

Business Central can be accessed (once the server was started) at http://localhost:8080/business-central

There is a set of predefined users that can be used to log directly into Business Central:

  • wbadmin/wbadmin
  • krisv/krisv
  • john/john
  • mary/mary
  • katy/katy
  • jack/jack
  • kieserver/kieserver1!

Additional users can be created via Business Central Admin section.


KIE Server Swagger documentation

KIE Server is the execution server that provides various capabilities

  • BRM (business rules)
  • BPM (business processes)
  • BRP (planning/solver)
  • Case Management
  • DMN (decisions)

Its complete REST api documentation can be accessed at http://localhost:8080/kie-server/docs


jBPM Case Management Showcase

jBPM Case Management Showcase is a web application that aims at illustrating various case management building blocks in action. These are UI components built on top of KIE Server REST api for case management. It's not intended for production usage but more for getting better understanding of the capabilities. Case management, in general should be business focused so generic UI won't provide much business context to the knowledge workers.

jBPM Case Management application can be accessed at http://localhost:8080/jbpm-casemgmt

Same users as for Business Central can be used to logon to this application.


Try examples

Once you get yourself familiar with the tools of the jBPM it's time to see something running. The easiest way is to try one of the examples shipped with the platform, it will show typical path users take to design, build and execute business logic.

Evaluation process

Evaluation process is a business process that is human centric (heavily uses human actors to perform work) that defines a complete flow of activities to perform employee evaluation. This examples shows:

  • importing example project
  • building and deploying project
  • verifying deployment to execution server
  • executing process instance and work with human tasks
  • exploring reporting capabilities

IT Orders case

IT Orders case is more advanced use of the jBPM that relies on dynamic nature of business problems. It allows to take actions based on data so it's more event/data driven than structured processes. Although it still allows users to take advantage of process fragments to express bit of workflows within the case. This examples shows:

  • importing example project
  • building and deploying project
  • verifying deployment to execution server
  • use of jBPM Case management Showcase application
  • document upload and handing
  • monitoring of case instance in Business Central

More about case management capabilities can be found in following articles

  • Introduction to jBPM Case Management
  • Working with case data
  • Working with dynamic activities

Build your project from scratch

Building new project from scratch can give you an option to have a clean start where you design your process or case to fit your needs. This example shows:

  • creating new project
  • creating new asset - business process
  • build and deploy to execution server
  • execute process instance

Technical details

By default everything runs using H2 database with file storage but this image also enables you to switch to other databases like MySQL or PostgreSQL. All dependencies and data source configurations are done automatically, you just need to specify a set of environment variables. Alternatively, you can use the provided Docker Compose examples to get started using an alternative database. When using the provided Docker Compose examples, all dependencies to get a running container and configuration for the target database is already set in place.

The Docker Compose examples are located in the following repository: https://github.com/jboss-dockerfiles/business-central/tree/master/docker-compose-examples

MySQL Example using Docker Compose

docker-compose -f docker-compose-examples/jbpm-full-mysql.yml up

MySQL Example using remote connection

docker run -p 8080:8080 -p 8001:8001 -d --name jbpm-server-full -e JBPM_DB_DRIVER=mysql -e JBPM_DB_HOST=172.17.0.1 jboss/jbpm-server-full:latest

PostgreSQL Example using Docker Compose

docker-compose -f docker-compose-examples/jbpm-full-postgres.yml up

PostgreSQL Example using remote connection

docker run -p 8080:8080 -p 8001:8001 -d --name jbpm-server-full -e JBPM_DB_DRIVER=postgres -e JBPM_DB_HOST=172.17.0.1 jboss/jbpm-server-full:latest

Environment variables

  • JBPM_DB_DRIVER = Specify which database driver to use. Allows either: 'h2', 'mysql' or 'postgres'. Default: 'h2'.

  • JBPM_DB_HOST = Specify hostname of the database. Default: 'localhost'

  • JBPM_DB_PORT = Specify port of the database. Default: '3306' if using 'mysql' driver or '5432' in case of 'postgres'.

  • JBPM_DB_NAME = Specify name of the database to use. Default: 'jbpm'

  • JBPM_DB_USER = Specify user to use to authenticate to the database. Default: 'jbpm'

  • JBPM_DB_PASSWORD = Specify user’s password to use to authenticate to the database. Default: 'jbpm'

Useful Docker commands

View container logs

$ docker logs -f jbpm-server-full

List running containers

$ docker ps
CONTAINER ID        IMAGE                           COMMAND                CREATED             STATUS              PORTS                                            NAMES
88f2e110aff5        jboss/jbpm-server-full:latest   "./start_jbpm-wb.sh"   7 minutes ago       Up 7 minutes        0.0.0.0:8001->8001/tcp, 0.0.0.0:8080->8080/tcp   jbpm-server-full

or

$ docker ps -a

In case you want to also list stopped containers.

Stopping the jBPM Server Full Distribution container

$ docker stop jbpm-server-full

Delete jBPM Server Full Distribution container and all its data

$ docker rm jbpm-server-full

Stopping the Docker Compose related containers

$ docker-compose -f docker-compose-examples/jbpm-full-mysql.yml stop

or

$ docker-compose -f docker-compose-examples/jbpm-full-postgres.yml stop

Docker volumes

When using the provided Docker Compose configurations, both database images ( MySQL and PostgreSQL ) have local volumes configured to store its data in the local file system. You can list and remove these via docker volume commands. Example:

$ docker volume ls
DRIVER              VOLUME NAME
local               dockercomposeexamples_mysql_data
$ docker volume rm dockercomposeexamples_mysql_data

For a comprehensive overview about all settings and details about the jbpm-server-full image, please visit its Docker Hub page.

Download
Try jBPM - Open Source Business Automation Toolkit
7.74.1.Final
Paid support and consulting

Want to talk to the experts? Red Hat offers certified binaries with enterprise consulting. See services for more information.

jBPM - Open Source Business Automation Toolkit is open. All dependencies of this project are available under the Apache Software License 2.0 or a compatible license.

This website was built with JBake and is completely open source.

Community

  • Blog
  • Get Help
  • Team
  • Governance
  • Academic research

Code

  • Build from source
  • Submit a bug
  • Report a security issue
  • License (Apache-2.0)
  • Release notes
  • Upgrade recipes

KIE projects

  • Drools rule engine
  • OptaPlanner constraint solver
  • jBPM workflow engine
  • Kogito Business Automation platform
CC by 3.0 | Privacy Policy
Sponsored by Red Hat