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:
Everything configured to work together smoothly, and you can access them at following locations:
Business Central provides feature rich authoring and management environment. It consists of:
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:
Additional users can be created via Business Central Admin section.
KIE Server is the execution server that provides various capabilities
Its complete REST api documentation can be accessed at http://localhost:8080/kie-server/docs
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.
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 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:
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:
More about case management capabilities can be found in following articles
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:
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
docker-compose -f docker-compose-examples/jbpm-full-mysql.yml up
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
docker-compose -f docker-compose-examples/jbpm-full-postgres.yml up
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
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'
$ docker logs -f jbpm-server-full
$ 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.
$ docker stop jbpm-server-full
$ docker rm jbpm-server-full
$ docker-compose -f docker-compose-examples/jbpm-full-mysql.yml stop
or
$ docker-compose -f docker-compose-examples/jbpm-full-postgres.yml stop
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.
Want to talk to the experts? Red Hat offers certified binaries with enterprise consulting. See services for more information.