jbpm-server/bin/standalone.sh (Unix / Linux)
jbpm-server/bin/standalone.bat (Windows)
First things first, download jBPM server distribution (if not already done) to start quickly with complete environment.
Just download, unzip and run
jbpm-server/bin/standalone.sh (Unix / Linux)
jbpm-server/bin/standalone.bat (Windows)
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 are set of predefined users that can be used to directly logon to 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.
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:
|
jBPM runs by default with H2 database with file storage - located under <JBOSS_HOME>/standalone/data/jbpm-db
Users can switch to another database very easily by invoking a script located in <JBOSS_HOME>/bin.
<JBOSS_HOME>/bin/jboss-cli.sh --file=jbpm-mysql-config.cli (Unix / Linux)
<JBOSS_HOME>\bin\jboss-cli.bat --file=jbpm-mysql-config.cli (Windows)
<JBOSS_HOME>/bin/jboss-cli.sh --file=jbpm-postgres-config.cli (Unix / Linux)
<JBOSS_HOME>\bin\jboss-cli.bat --file=jbpm-postgres-config.cli (Windows)
These scripts assume that database is installed and some default configuration is present:
host → localhost
port → 3306 for MySQL and 5432 for PostgreSQL
database name → jbpm
user name → jbpm
password → jbpm
in case the values are not correct, edit them in the script files jbpm-mysql-config.cli for MySQL and jbpm-postgres-config.cli for PostgreSQL - in both scripts values to be updated are on line 17.
There is H2 script as well to go back to defaults.
After running the script the only thing that is needed is to start the server.
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
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 are set of predefined users that can be used to directly logon to 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.
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.